Мы можем одно и тоже разными словами называть. Оно изначально так и было, но если ты начнешь экспериментировать, то там начнется самое интересное, ну вот не так просто как ты пишешь. Первое, перестает работать обработчик индекса смерти, а в хендлеры я ранее не лазил. Короче, это все нюансы и сейчас конечно я решил эту задачку.
Вопрос более сложный, ты будешь тестировать?
![]()
Последний раз редактировалось yuriy; 22.05.2016 в 22:06.
Буду) Вроде работает) Но реально протестировать могут только те, кто ухитрился за тролля пройти в прошлый раз.
А на счет кода - я бы так не делал) Зачем размещать в общий обработчик коллизий убавление энергии тролля, если ее можно разместить в CollideObject_5501_1()?
Но раз сделал уже, пускай будет)
Без разницы.
А ты сделай
1. Если просто перенести PlayerHurt() без указания class=hurt, не будет обрабатываться код смерти от кого, но все работать будет.
2. Если указать class=hurt, что перенос PlayerHurt() делает бессмысленным, то не будет обрабатываться бросок назад в CollideObject_5501_1, что в свою очередь делает бессмысленным перенос прыжка в общий обработчик коллизий class=hurt, поскольку общий класс для всего.
Это практические сливки. И еще практически я наигрался в разные варианты. Не спорю, что вариантов решений может быть несколько, как и простых, так и велосипедных. Но поступил проще, что показалось на первый взгляд - впилял уникальный обработчик только для тролля в func HandlerCollision():
Меня хватило потрахаться на 5 минут.// for troll index death on bridge
if(ObjGet(idx,32)==12 && mode!=0) // troll collider objects
Это оргазм перфекционизма, с меня хватит и я до сих пор не уверен 100% ли это гарантированный результат от этого "сифилиса".
- - - Добавлено - - -
Вот сборка для троллинга.
- сделал нормальное убавление энергии от тролля;
- добавил звук прыжка, когда тролль его отталкивает.
И? Погибая от кого ни попадя, все время будет смерть от тролля?
Если ты выставляешь class=hurt он же для всех будет обрабатываться.
Да разобрался я как работает HandlerCollision и что куда можно перенести. Но поскольку запилял по-другому, не вижу смысла в перестановке слагаемых. Твое решение более оптимально по копипасту и переходах туда-сюда, что скорее важнее.
Практически нужно троллить.
- - - Добавлено - - -
Titus, если кто-то пролезет через это:
то тогда хз как это разрулить еще оптимальнееfunc CollideObject_5501_1() // троль
{
PlayerEnterJump (-1,DIZ_POW);
PlayerHurt(10);
FX_Play(FX_TROLL_GROWL);
SamplePlay(FX_JUMP);
if(PlayerGet(P_LIFE)==0)
PlayerSet(P_DEATH, 12);
}![]()
Последний раз редактировалось yuriy; 23.05.2016 в 00:30.
Совсем забыл, есть еще одна особенность: когда берешь верхнюю часть карты, то нет никакого звука, меня это так смутило сперва. Выкладывается со звуком, а берется без. Версии 1.03 и 1.04.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)