Простой триггер, вызывающий скрипт Lua
< Ru | Dota 2 Workshop Tools | Scripting
This translated page needs to be updated.
You can help by updating the translation.
Also, please make sure the article tries to comply with the alternate languages guide.- Шаг 1: Создайте box(коробку) с помощью инструмента block tool (⇧ Shift+B). Наложите на созданный объект материал "toolstrigger.vmat" для того, чтобы он стал триггером в игре. Таким образом он не будет взаимодействовать с другими объектами в игре, т.е. модель не будет иметь collision и блокировать других юнитов в игре.
- Шаг 2: Выберете box(коробку), нажмите в меню "Tools > Tie To Entity" (Ctrl+T). Таким образом вы привяжете ваш box(коробку) к сущности или объекту, поведение которого уже можно настроить.
- Шаг 3: Выберете созданный триггер и измените его класс на "trigger_hero". Этот триггер запустится когда герой войдет в регион триггера, который мы создали.
- Шаг 4: Задайте имя триггера в поле Name, допустим это будет trigger_example.
- Шаг 5: Задайте путь к файлу скрипта Lua в поле Entity Scripts. Обычно файл находится в папке .../dota_ugc/game/dota_addons/myaddon/scripts/vscripts. Путь к файлу в данном случае будет просто название скрипта example.lua.
Пример кода на Lua:
function OnStartTouch(trigger)
print(trigger.activator)
print(trigger.caller)
end
function OnEndTouch(trigger)
print(trigger.activator)
print(trigger.caller)
end
- Шаг 6: Два раза щелкните на триггере или нажмите Alt+↵ Enter, чтобы открыть свойства нашего объекта. Выберете вкладку Outputs.
- Шаг 7: Добавьте событие output с именем "OnStartTouch". В поле "Target entities named" выберете, созданный нами триггер trigger_example. В поле "Via this input" выберет событие "CallScriptFunction". В поле "With a parameter override of" введите имя функции, которое будет вызываться, когда запустится наш триггер.
- Шаг 8: Создайте еще одно событие с такими же параметрами как и в шаге 7. В поле "With a parameter override of" введите имя функции "OnEndTouch". После выполненных действий во вкладке Outputs вы должны получить следующее:
Готово, теперь запустите игру с помощью F9 и попробуйте зайти в ваш триггер героем. Откройте консоль VConsole и убедитесь, что выводятся сообщения.