Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Мод "Просто демон" Версия 730. Пред.  1, 2, 3, 4, 5  След.
   Список разделов - Модификации - Мод "Просто демон" Версия 730.Ответить

Как вы думаете, насколько мод в целом меняет сложность карт, для которых он предназначен (т.е. ваниль - бум)?
Сильно усложняет
15%
 15% [ 3 ]
Усложняет
40%
 40% [ 8 ]
Сохраняет оригинальную сложность карты
5%
 5% [ 1 ]
Упрощает
5%
 5% [ 1 ]
Сильно упрощает
5%
 5% [ 1 ]
Сказать сложно, т.к. зависит от оригинальной карты
30%
 30% [ 6 ]
Проголосовало думеров : 20
Всего оставлено голосов : 20
Голосование без ограничения по времени

АвторСообщение
Arsenikum
- Major -
Next rank: = Major = after 284 points
2656

Doom Rate: 1.49
Ссылка на пост №41 Отправлено: 17.05.11 23:20:41
Только что прошел МАР09 Plutonia 2 без сейвов. Почти всех убил, остались лютейшие бароны, вдаряющие самонаводкой, и кучка чейнганнеров, портнувшихся на синий ключ, о которых я забыл. Оружие использовал всё: основа, конечно, меч - против зомбей, пинки, одиночных ревенантов и какодемонов. Им хорошо расчищать толпу мелочи, но против импов не катит - загрызут быстрее, против чейнов вблизи и то лучше. Какоману - как ssg против толпы и медленных монстров типа манкубов, ибо они успевают убежать прежде, чем снаряд наберет полную скорость. Зеленая мана очень непослушна, норовит улететь в зомбя, когда под носом хеллнайт, однако против особо заныкавшихся какодемонов и особенно хеллнайтов и баронов - незаменима. Если монстр близко на высоком уступе, тоже не катит - убивается об уступ. Красную ману - ее было мало - для кемперящих импов и чейнганнеров, иногда против манкубов, когда мало хп и рисковать с розовой маной не хочется. Дает постоянный болевой шок у монстров. Ну и совсем было мало желтой маны. Ее я слил на дальнюю толпу ревенантов, когда зеленая мана кончилась. Все душекубы использовал, два против арча, один против толпы. Осталось 200 душ с БФГи. Надо все-таки вводить unmaker.

Круговую атаку мечом ослабил, теперь барон валится с двух ударов.
Исправил досадный баг, когда ловец душ выскакивает впереди меча, когда патроны кончились.
5 1
Plutonium
= Sergeant Major =
Next rank: UAC Sergeant Major after 77 points
603

Doom Rate: 1.4
Ссылка на пост №42 Отправлено: 18.05.11 09:24:08
Arsenikum :
досадный баг, когда ловец душ выскакивает впереди меча, когда патроны кончились.

Даааа...этот досадный момент меня тож убивал иногда.
Сделай ещё чтоб зелёная мана кидалась и без наводки тоже. (альт. атака)
Кстати, я тож ся прохожу ПЛ2 (впервые), на уровне где-то 7-8, могу демок написать)))
PS: Ссылочку на обновление?..
ещё PS: Очень прикольно получается, когда кинуть зелёную ману в постоянно телепортирующегося монстра)))) снаряд то в ту сторону, то в эту... (плутониа, левел...блин, не помню номер, но тебя ещё телепортируют в окружение 2 арчей, которые по 4 сторонам телепортируются..)
Идея про ловец душ: Может сделать, чтоб при использовании магии игрок смотрел наверх, ловец душ давал небольшой дамаг, души прилетают в точку над игроком, "убиваются" и кидают "патроны" на игрока...
Скрытый текст:

Чет мне кажется, что этот мод только мне и автору нравится... что не есть хорошо... А мод классный! :rules: .

1
Maxman
= Master Corporal =
Next rank: - Sergeant - after 39 points
251

Doom Rate: 1.29
Ссылка на пост №43 Отправлено: 18.05.11 14:44:42
Arsenikum
а autoaim чтоли можно отключить ?
Arsenikum
- Major -
Next rank: = Major = after 284 points
2656

Doom Rate: 1.49
Ссылка на пост №44 Отправлено: 18.05.11 22:41:22
Да, можно, в настройках игрока. Поставить Autoaim -> Never.
Кстати, самонаводку понерфлю немного, а то действительно вбок снаряды улетают.
Мод еще нравится моему другу, только он не переваривает быстрых снарядов импов. Говорит, в Generator of Evil они за мгновение пролетают всю арену.
Скрытый текст:

Блин, ну и спрайты мне дали. Под стол чуть не грохнулся. Демон показывает фигурки из театра теней, четырьмя пальцами кастовать такую магию... Лан, попробую))).

5 1
Maxman
= Master Corporal =
Next rank: - Sergeant - after 39 points
251

Doom Rate: 1.29
Ссылка на пост №45 Отправлено: 18.05.11 23:04:32
Arsenikum
Как раз тики он у меня never ,а всё равно наводится
ЗЫ,а что за спрайты? зачем ?
Arsenikum
- Major -
Next rank: = Major = after 284 points
2656

Doom Rate: 1.49
Ссылка на пост №46 Отправлено: 18.05.11 23:56:17
Сделаю я прайм атаку обычную, а альт атаку самонаводкой.

Maxman :
ЗЫ,а что за спрайты? зачем ?

Помогают мне товарищи ;-) спрайтами для мода. Только тс-сс :P. Я ничего не говорил.
5 1
Maxman
= Master Corporal =
Next rank: - Sergeant - after 39 points
251

Doom Rate: 1.29
Ссылка на пост №47 Отправлено: 21.05.11 12:18:10
Arsenikum
Что самое странное меч рубит спектра и пинка а импа еле еле
Arsenikum
- Major -
Next rank: = Major = after 284 points
2656

Doom Rate: 1.49
Ссылка на пост №48 Отправлено: 21.05.11 12:27:46
Maxman
Они маленькие, ты просто не слишком близко к ним подошел. Хотя не советую )
5 1
Maxman
= Master Corporal =
Next rank: - Sergeant - after 39 points
251

Doom Rate: 1.29
Ссылка на пост №49 Отправлено: 22.05.11 11:56:11
Arsenikum
По моему имп выше пинки
А куда testsoul будешь девать,для подпитка нового оружия ?
Arsenikum
- Major -
Next rank: = Major = after 284 points
2656

Doom Rate: 1.49
Ссылка на пост №50 Отправлено: 22.05.11 22:52:47
Plutonium :
души прилетают в точку над игроком

А если игрок упирается башкой в потолок?

testsoul останется. Если он и soulreaper будет работать как надо - то все души перейдут на эту систему.
5 1
Plutonium
= Sergeant Major =
Next rank: UAC Sergeant Major after 77 points
603

Doom Rate: 1.4
Ссылка на пост №51 Отправлено: 23.05.11 13:19:40
Блин, точно...чёт не подумал.
А если сделать так, чтоб игрок при использовании магии дергался не хаотично в разные стороны, а только вперёд? У меня (GZdDooM последний) душа сама в героя не влетает, но берётся за счёт этих дерганий. И заодно легче управлять, чтоб с обрывов не падать...
1
Arsenikum
- Major -
Next rank: = Major = after 284 points
2656

Doom Rate: 1.49
Ссылка на пост №52 Отправлено: 24.05.11 22:37:38
Сдаюсь. Не знаю, как сделать оживающую душу-монстр-патрон.

Вот тестовая душа
Скрытый текст:



actor Soul : Ammo
{
 radius 6
 height 8
 inventory.pickupmessage "Picked up a soul."
 inventory.PickupSound  "soul/pick"
 inventory.amount 1
 inventory.maxamount 500
 inventory.icon "SOULS"
 ammo.backpackamount 1
 ammo.backpackmaxamount 1000
 +FLOATBOB
 +DONTGIB
}

actor TestSoul : Soul
{
 obituary "Hello, soul!"
 health 1000
 radius 9
 height 9
 xscale 0.5
 yscale 0.5
 mass 50
 speed 10
 painchance 256
 damage 0
 attacksound "skull/melee"
 
 inventory.pickupmessage "Picked up imp's soul."
 inventory.amount 2

 MONSTER
 -SHOOTABLE
 +FLOAT
 +NOGRAVITY
 +MISSILEMORE
 +NOBLOCKMONST
 +DROPOFF
 -PUSHABLE
 +LOOKALLAROUND
 +CANNOTPUSH
 +NOTELEPORT
 -CANPUSHWALLS
 -CANUSEWALLS
 -ACTIVATEMCROSS
 +NOBLOCKMONST
 +BRIGHT
 -SOLID
 +NOCLIP
 states
 {
  Spawn:
    IMSL A 2 bright
    IMSL B 2 bright ACS_Execute(701,0,0,0,0)
    IMSL C 2 bright ACS_Execute(704,0,0,0,0)
    goto Idle
  Idle:
    IMSL ABCB 10 bright
    loop
  Active:
    IMSL ABCB 10 bright A_Look
    loop
  See:
    IMSL A 0 bright A_ChangeFlag("NOCLIP",0)
    /*IMSL A 0 bright A_JumpIf(velx==35 || vely==35 || velz==35,2)
    IMSL A 0 bright A_ScaleVelocity(3)*/
    IMSL ABCB 2 bright A_Chase
    IMSL A 2 bright ACS_ExecuteAlways(708,0,20,0,0)
    IMSL A 0 A_JumpIfInventory("PickedUp",1,"Death")
    loop
  Missile:
    IMSL A 0 bright A_ChangeFlag("NOCLIP",1)
    IMSL A 10 bright A_FaceTarget
    IMSL B 4  bright A_SkullAttack
    IMSL CA 4 bright
    IMSL A 2 bright ACS_ExecuteAlways(708,0,20,0,0)
    IMSL A 0 A_JumpIfInventory("PickedUp",1,"Death")
    goto Missile+2
  Death:
    TNT1 A 1 bright A_NoBlocking
    stop
  }

}



Вот скрипт последней версии:
Скрытый текст:



#library "Demonic"
#include "zcommon.acs"

int PLAYER_TID      =   666;
int SOULS_TID      =   667;
int MANA_TID         =   668;

function int fdistance (int tid1, int tid2)
{
   int len;
   int y = getactory(tid1) - getactory(tid2);
   int x = getactorx(tid1) - getactorx(tid2);
   int z = getactorz(tid1) - getactorz(tid2);

   int ang = vectorangle(x,y);
   if(((ang+0.125)%0.5) > 0.25) len = fixeddiv(y, sin(ang));
   else len = fixeddiv(x, cos(ang));

   ang = vectorangle(len, z);
   if(((ang+0.125)%0.5) > 0.25) len = fixeddiv(z, sin(ang));
   else len = fixeddiv(len, cos(ang));

   return len;
}

Script 700 ENTER
{
   Thing_ChangeTID(0, PLAYER_TID);
}

Script 701 (void)
{
   Thing_ChangeTID(0, SOULS_TID);
}

Script 702 (void)
{
   Thing_ChangeTID(0, MANA_TID);
}

Script 703 (int Amount)
{
   SetActorProperty(SOULS_TID, APROP_Speed, Amount);
            SetActorState (SOULS_TID, "Active");
}

Script 704 (void)
{
   SetActorProperty(SOULS_TID, APROP_Speed, 0);
            SetActorState (SOULS_TID, "Idle");
}

Script 705 (int Amount)
{
   SetActorProperty(MANA_TID, APROP_Speed, Amount);
            SetActorState (MANA_TID, "Active");

}

Script 706 (void)
{
   SetActorProperty(MANA_TID, APROP_Speed, 0);
            SetActorState (SOULS_TID, "Idle");
}

Script 707 (void)
{
        SetActorVelocity(PLAYER_TID, Random(-1.0, 1.0), Random(-1.0, 1.0), Random(-1.0, 1.0), FALSE, FALSE);
        delay(random(1, 7) * 5);
}

Script 708 (int distance)
{
       int dist = fdistance (0, PLAYER_TID);
       SetFont("BIGFONT");
       print(d:dist);
       if (dist < distance)
       {
   GiveActorInventory(0,"PickedUp",1);
            ActivatorSound("soul/pick",127);
       }
}



А вот оружие:
Скрытый текст:


ACTOR SoulReaper : Weapon 20701
{
   Weapon.SelectionOrder 7
   Weapon.YAdjust 10
   States
   {
   Select:
      CFLM A 1 A_Raise
      Loop
   Deselect:
      CFLM A 1 A_Lower
      Loop   
        Ready:   CFLM AAAABBBBCCCC 1 A_WeaponReady
      Loop
   Fire:
                CFLM A 0 SetPlayerProperty (0, 1, 0)
                CFLM A 3 Offset (0, 40) A_PlayWeaponSound("Prepare/SoulReeper")
      CFLM D 3 Offset (0, 50) A_SetBlend ("BLACK",0.6,15)
      CFLM D 3 Offset (0, 36) A_SetBlend ("BLACK",0.7,15)
                CFLM EFEFEFEFEFEFEFEFEFEF 1 A_SetBlend ("BLACK",0.8,15)
                CFLM EFEFEFEFEFEFEFEFEFEF 1 A_SetBlend ("BLACK",0.9,15)
                CFLM EFEFEFEFEFEFEFEFEFEF 1 A_SetBlend ("BLACK",1.0,300)
                CFLM A 0 ACS_Execute(703,0,10,0,0)
                CFLM A 0 A_GiveInventory(ColorReplacer,1)
                CFLM E 3 A_Refire
                CFLM A 0 SetPlayerProperty (0, 0, 0)
                CFLM A 0 A_TakeInventory(ColorReplacer,1)
                CFLM A 0 ACS_Execute(704,0,0,0,0)
                Goto Ready
        Hold:
                CFLM E 4 A_PlayWeaponSound("Loop/SoulReeper")
      CFLM FEFEFEFEE 4
                CFLM FEFEFEEFEF 4
      CFLM E 4 A_Refire
                CFLM A 0 SetPlayerProperty (0, 0, 0)
                CFLM A 0 A_SetBlend ("BLACK",1.0,300)
                CFLM A 0 A_TakeInventory(ColorReplacer,1)
                CFLM G 2 Offset (0, 40)
      CFLM G 2 A_PlayWeaponSound("End/SoulReeper")
                CFLM A 0 ACS_Execute(704,0,0,0,0)
                Goto Ready
   }
}



Теперь как это должно работать.
1) С самого начала игроку присваивается номер 666 (скрипт 700).
2) Как только появляется душа, ей сразу же присваивается номер 667 (701 скрипт), она стопориться и ставится в состоянии Idle (704 скрипт).
3) Оружие при активации вызывает 703 скрипт, который должен пробудить душу и дать возможность ей двигаться. Первое работает, второе - никак. Соответственно, по окончании каста срабатывает 704 скрипт, и все души "засыпают".
4) Душа постоянно проверяет расстояние до игрока, если оно меньше заданного, она должна исчезнуть, у игрока должно сложиться полное впечатление, что он ее взял. Скрипт 708 не работает вообще, хотя должен.

Сам мод: http://webfile.ru/5343794.
Вопрос, почему не работает скрипт 708? Или какое существует другое решение проблемы, изложенной в п.4?
5 1
bed.intruder]ASTS[
Chief Petty Officer
Next rank: - Warrant Officer - after 34 points
1006

Doom Rate: 1.67
Ссылка на пост №53 Отправлено: 25.05.11 08:06:24
Arsenikum
Зачем все усложнять? Пусть душа будет враждебным монстром (фактически) (параметр MONSTER). Тогда при просыпании она полетит к игроку, при попытке атаковать (Melee) дает инвентарь (A_GiveToTarget) и исчезает.
Ну и соответствующие флаги (я уже не помню их, так что ищи).
1 1 1
cybermind
- Warrant Officer -
Next rank: = Warrant Officer = after 63 points
1077

Doom Rate: 1.87
Ссылка на пост №54 Отправлено: 25.05.11 08:20:11
Делается просто - у души делаем в цикле FaceTarget и Recoil который основывается на скорости актора. Скорость меняем через оружие-призывалку. При приближении как сказал bed.intruder пусть предмет идет в стейт Melee и дает предмет причем это должно занимать 0 тиков
1
bed.intruder]ASTS[
Chief Petty Officer
Next rank: - Warrant Officer - after 34 points
1006

Doom Rate: 1.67
Ссылка на пост №55 Отправлено: 25.05.11 09:14:19
cybermind [B0S] :
дает предмет причем это должно занимать 0 тиков

Сделать это также можно проверкой A_JumpIfCloser, например
A_JumpIfCloser(3,"Death")
1 1 1
Nil
= Major =
Next rank: Lieutenant Colonel after 312 points
2978

Doom Rate: 2.34
Ссылка на пост №56 Отправлено: 25.05.11 09:34:55
Просмотрел код, сейчас он излишне сложен. Во первых, надо переносить всё взаимодействие в один скрипт и что делать, выбирать по параметрам вызова этого скрипта, так будет удобнее и компактнее, да и отладка сведётся к print(s:"script 703, params",i:param1,s:", ",i:param2...)
Вообщем, тут надо просто отладивать, выводить при помощи a_logint, print как можно больше информации и смотреть, где именно скрипт не вызывается, или вызывается, но работает некорректно. И естейственно, везде где только можно, надо использовать в качестве TID 0 как указатель на текущую душу, которая вызвала скрипт, ведь их по идее может быть несколько.
1 2 1
Plutonium
= Sergeant Major =
Next rank: UAC Sergeant Major after 77 points
603

Doom Rate: 1.4
Ссылка на пост №57 Отправлено: 25.05.11 11:53:56
Страница, которую Вы искали, не существует.
Перезалей.
1
Arsenikum
- Major -
Next rank: = Major = after 284 points
2656

Doom Rate: 1.49
Ссылка на пост №58 Отправлено: 25.05.11 23:51:53
Перезалил.
http://webfile.ru/5346199

A_JumpIfCloser выглядит предпочтительней использования скрипта. Только вот скрипт все равно будет - GiveInventory работает только для активатора, в данном случае для души, а надо - для игрока.
5 1
bed.intruder]ASTS[
Chief Petty Officer
Next rank: - Warrant Officer - after 34 points
1006

Doom Rate: 1.67
Ссылка на пост №59 Отправлено: 26.05.11 09:40:01
Arsenikum
Юзай GiveActorInventory (tid, inventory, count)
1 1 1
Arsenikum
- Major -
Next rank: = Major = after 284 points
2656

Doom Rate: 1.49
Ссылка на пост №60 Отправлено: 04.06.11 14:10:13
ОБНОВИЛ ВЕРСИЮ. Теперь доступен Жнец Душ.

Ждите Unmaker.
5 1
Страница 3 из 5Перейти наверх Пред.  1, 2, 3, 4, 5  След.
   Список разделов - Модификации - Мод "Просто демон" Версия 730.