Надеюсь туда написал, если нет то не кидайтесь тапками.
У меня вопрос тем, кто прошарен в декорейт коде. Есть ли флаг который запрещает воскрешение монстра арчем? (ну чтобы определённый монстр не мог быть воскрешён арчем) или как это реализовать можно по другому? (только не копированием частей кода оригенального монстра)
Вот декор монстра на всякий случай:
Скрытый текст:
Actor NightmareArachnotron : Arachnotron 3023 { health 1000 Bloodcolor 0 0 192 renderstyle translucent Alpha 0.7 +BOSSDEATH -COUNTKILL seesound "NightmareArachnotron/sight" painsound "baby/pain" deathsound "NightmareArachnotron/death" activesound "NightmareImp/active" obituary "%o let an NightmareArachnotron." Dropitem "Cell" 256 MissileType NightmareArachnotronPlasma States { Spawn: BSP2 AB 10 A_Look loop See: BSP2 A 20 BSP2 A 3 A_BabyMetal BSP2 ABBCC 3 A_Chase BSP2 D 3 A_BabyMetal BSP2 DEEFF 3 A_Chase goto See+1 Missile: BSP2 A 20 bright A_FaceTarget BSP2 G 4 bright A_MissileAttack // See NightmareArachnotronPlasma BSP2 H 4 bright BSP2 H 1 bright A_SpidRefire goto Missile+1 Pain: BSP2 I 3 BSP2 I 3 A_Pain goto See+1 Death: BSP2 J 20 bright A_Scream BSP2 K 7 bright A_NoBlocking BSP2 LMNO 7 bright BSP2 P -1 A_PainAttack ("NightmareLostSoul") // See NightmareLostSoul stop Crush: PON1 A -1 A_PlaySound ("Misc/Gibbed") stop } } монстр скопировал Raise: от оригенального, а мне ненужно чтобы арчи мог воскрешать моего монстра.
Что с гайдом? Кто-то обещался на 2-3стр. допилить гайдик, он уже готов?) Перезалейте пожалуйста у кого он остался, не могу вспомнить, я его читал или нет...
SSV_Victoryan Да, если все еще актуально В стейтах Death и Crush убери -1 Тоесть : Death: BSP2 P 1 A_ChangeFlag(ISMONSTER,FALSE) //Или так.. должно сработать, тогда -1 можно не убирать BSP2 P 1 Stop Труп монстра пропадет и некого будет воскрешать.
Я и сам не знаю, спасибо, по моему не читал.. или уже забыл.
По поводу гайда, есть не большая осечка, в CustomInventory можно использовать JumpIfххх, но там куча нюансов которые автор гайда не написал(возможно на момент написания гайда таки jumpIf не работало.., хотя сомневаюсь) Если кому интересно :
Класс CustomInventory такой же как и класс Inventory, только имеет свои 3 стейта
PickUp:
Use:
Drop:
В стейте PickUp, функцию типа JumpIf работает не совсем корректно, для нормальной ее работы надо прописать примерно так:
PickUp:
TNT1 A 1 A_JumpIf(Health>30,"HealMore")
TNT1 A 1 HealThing(20)
Stop
HealMore:
TNT1 A 1 HealThing(50)
TNT1 A 1 A_RailWait//такая функция в конце стейта в который попали с помощью JumpIf решает проблему.
Stop
Если A_RailWait или подобную ей функцию не прописать в конце стейта, итем customInventory после прыжка в стейт healMore просто не положится в инвентарь игрока. Флаг ALWAYSPICKUP должен быть отключен.
Еще обязательно для того что бы итем поместилась в инвентарь игрока, должен быть прописан стейт Use:, если его не прописать, любой актор поднявшый такой итем не получит его в инвентарь, но стейт PickUp выполнится.
Кстати как я думаю еще важный момент в стейте Use: (может оно и везде так..) В начале срабатывают все кадры и функции прописанные в стейте use, а после удаляется итем customInventory из инвентаря По логике, оно правильно, но мне например надо что бы сначала итем удалилась, а потом выполнила действия.
То што хотел сделать SSV_Victoryan, делается вообще-то так
actor NewActor : OldActor
{
states
{
raise: goto death+6 // 6 — для примера. подразумевается смещение до последнего кадра монстра, там где в оригинале написано -1.
}
}
Хотя вообще я вспоминаю добрыми, хорошими словами ренди. За то, что нет способа удалять стейты, а возможность воскрешения определяется наличием или отсутствием Raise.
То што хотел сделать SSV_Victoryan, делается вообще-то так
Какая разница? Убрать флаг монстра и он уже не воскресится. Или просто stop без -1 труп пропадет, он один фиг не нужен, трупы в думе даже смешно смотрятся
Да, если все еще актуально В стейтах Death и Crush убери -1 Тоесть : Death: BSP2 P 1 A_ChangeFlag(ISMONSTER,FALSE) //Или так.. должно сработать, тогда -1 можно не убирать BSP2 P 1 Stop Труп монстра пропадет и некого будет воскрешать.
Я уже давно решил проблему, создав монстра не через копирование свойств, а заново с нуля. Просто воскрешение у него не прописал и всё. Просто и быстро
ZZYZX:
Какая разница? Убрать флаг монстра и он уже не воскресится. Или просто stop без -1 труп пропадет, он один фиг не нужен, трупы в думе даже смешно смотрятся