Решено Триггер

Statham

Пользователь
9 Ноя 2018
29
0
Проект
The story of one knight
В общем, есть у меня триггер, при касании которого, он должен спавнить одного скелета. И он работает, и все замечательно, кроме одного НО...
До того момента, как ты коснешься триггера, на карте уже имеется шесть заспавненных скелетов как раз-таки на той самой точке, где должен спавниться один скелет. Так вот, у меня возникает вопрос, как избавиться от тех скелетов, что спавнятся вне зависимости от касания триггера?
Вот, сам код триггера:
Код:
function Spawn( trigger )
        local hHero = trigger.activator
        local vPoint = Entities:FindByName( nil, "spawner_skeletons"):GetAbsOrigin() 
        local hUnit = CreateUnitByName("npc_dota_creature_custom_skeleton", vPoint, true, nil, nil, DOTA_TEAM_NEUTRALS)
        Say(nil,"Sample text", false)    
end
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
в хамере есть галочка в настройках триггера: "fire once only" влючи он сработает только 1 раз, вдруг тебе поможет....
 

Statham

Пользователь
9 Ноя 2018
29
0
Проект
The story of one knight
в хамере есть галочка в настройках триггера: "fire once only" влючи он сработает только 1 раз, вдруг тебе поможет....
Да, галочка есть. Дело-то и не в ней вовсе, а в том, что мобы появляются ДО активации триггера. При том, что триггер может активировать только герой, либо подконтрольное ему существо.
 

HappyFeedFriends

Друзья CG
14 Авг 2017
540
32
Проект
Battle Heroes Arena
Да, галочка есть. Дело-то и не в ней вовсе, а в том, что мобы появляются ДО активации триггера. При том, что триггер может активировать только герой, либо подконтрольное ему существо.
Либо у тебя они спавняться через код луа тобой, либо ты спрашиваешь триггер. На крайняк принтуй функцию которая июзается при затрагивает триггера.
 

Statham

Пользователь
9 Ноя 2018
29
0
Проект
The story of one knight
Либо у тебя они спавняться через код луа тобой, либо ты спрашиваешь триггер. На крайняк принтуй функцию которая июзается при затрагивает триггера.
Они как раз и спавнятся через файл triggers.lua (Используемый код я оставлял в самом начале). Только эта функция до того "простая", что я никак не могу понять, почему их спавнится именно 6 и почему это происходит ДО затрагивания триггера. Хотя, на самом деле, все должно быть элементарно: персонаж вступает в зону триггера => срабатывает скрипт => спавнятся скелеты. У меня уже есть мысль, что тут как-то замешан info_target, который служит точкой, где они должны заспавнится, но это как-то слишком...глупо, поскольку в скрипте он и выполняет роль этой самой точки для спавна :rolleyes:
На всякий случай, для более отчетливого понимания проблемы:
Без213ымянный.png
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
Они как раз и спавнятся через файл triggers.lua (Используемый код я оставлял в самом начале). Только эта функция до того "простая", что я никак не могу понять, почему их спавнится именно 6 и почему это происходит ДО затрагивания триггера. Хотя, на самом деле, все должно быть элементарно: персонаж вступает в зону триггера => срабатывает скрипт => спавнятся скелеты. У меня уже есть мысль, что тут как-то замешан info_target, который служит точкой, где они должны заспавнится, но это как-то слишком...глупо, поскольку в скрипте он и выполняет роль этой самой точки для спавна :rolleyes:
На всякий случай, для более отчетливого понимания проблемы:
Посмотреть вложение 385
Тебе же сказали, напиши в функции print('spawn') и посмотри в консоли, сколько раз этот spawn туда выводится, а потом возвращайся сюда
 

Statham

Пользователь
9 Ноя 2018
29
0
Проект
The story of one knight
Тебе же сказали, напиши в функции print('spawn') и посмотри в консоли, сколько раз этот spawn туда выводится, а потом возвращайся сюда
В общем, до того, как загружается аддон, скрипт сам по себе создает таймер и спавнит npc 6 раз (Ну и принтует, соответственно, столько же), после чего, благополучно, перестает это делать. А мне НЕ нужно, чтобы он ДО момента активации срабатывал, я об этом и спрашивал изначально.
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
В общем, до того, как загружается аддон, скрипт сам по себе создает таймер и спавнит npc 6 раз (Ну и принтует, соответственно, столько же), после чего, благополучно, перестает это делать. А мне НЕ нужно, чтобы он ДО момента активации срабатывал, я об этом и спрашивал изначально.
Попробуй функцию переименовать и посмотреть остальные ентити, мб какое ентити вызвает функцию в триггере
 

Statham

Пользователь
9 Ноя 2018
29
0
Проект
The story of one knight
Попробуй функцию переименовать и посмотреть остальные ентити, мб какое ентити вызвает функцию в триггере
Да, оказалось, ты был прав. Стоило переименовать функцию и все заработало так, как нужно, поэтому вопрос исчерпан)
 
Реклама: