This article relates to the game "Dota 2". Click here for more information.
This article relates to the SDK/Workshop Tools for "Инструменты мастерской Dota 2". Click here for more information.
This article's documentation is for Source 2. Click here for more information.

Простой триггер, вызывающий скрипт Lua

Материал из Valve Developer Community
Перейти к: навигация, поиск

English (en)Русский (ru)
Править
Info content.png
This translated page needs to be updated.

Эта переведённая страница нуждается в обновлении.

Вы можете помочь, обновив перевод.

Кроме того, не забудьте использовать русский статье об альтернативных языках.


Кроме того, не забудьте использовать русский словарь переводчика.
  • Шаг 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 вы должны получить следующее:
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouch trigger_example CallScriptFunction OnStartTouch 0.00 No
Io11.png OnEndTouch trigger_example CallScriptFunction OnStartTouch 0.00 No

Готово, теперь запустите игру с помощью F9 и попробуйте зайти в ваш триггер героем. Откройте консоль VConsole и убедитесь, что выводятся сообщения.