Простой триггер, вызывающий скрипт Lua
< Ru | Dota 2 Workshop Tools | Scripting
Jump to navigation
Jump to search
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
This article has no links to other VDC articles. Please help improve this article by adding links that are relevant to the context within the existing text.
January 2024
January 2024
This article is an orphan, meaning that few or no articles link to it.
You can help by adding links to this article from other relevant articles.
January 2024
You can help by adding links to this article from other relevant articles.
January 2024
- Шаг 1: Создайте box(коробку) с помощью инструмента block tool (Shift+B). Наложите на созданный объект материал "toolstrigger.vmat" для того, чтобы он стал триггером в игре. Таким образом он не будет взаимодействовать с другими объектами.
- Шаг 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 и убедитесь, что выводятся сообщения.