Getting Started:ru

From Valve Developer Community
Jump to: navigation, search
Все скрипты для аддонов, создаваемых с помощью Dota 2 Workshop Tools пишутся на скриптовом языке Lua. Если вы знакомы с написанием скрипт кодов на каком-либо другом языке, то основные понятия в Lua будут даваться вам очень быстро.
Совет:
Вы можете перезапустить файлы сценариев во время выполнения с помощью консольной команды script_reload.


Требуемые файлы

Следующий файл должен присутствовать, чтобы начать выполнение сценария. Этот файл находится в каталоге аддона и выполняется во время его загрузки.

../game/dota_addons/your_addon/scripts/vscripts/addon_game_mode.lua

Этот файл является обязательным и может иметь только такое имя. Также вы можете создать дополнительные файлы в /vscripts, и ссылаться на них при выполнении кода. Это позволить существенно упростить разработку аддона.

Совет:
При создании аддона очень простой скрипт файл будет помещен в аддон в соответствующем месте, вы можете использовать его в качестве отправной точки для новых аддонов


Подгрузка скрипт файлов

Скрипт файл addon_game_mode.lua будет загружен сразу же при запуске аддона. Дополнительные скрипт файлы могут быть загружены, если в файл addon_game_mode.lua включить следующие команды

require( "lua_filename_here" )

Обязательные Функции

Есть зарезервированные функции, их наличие для правильной работы аддона обязательно.

Precache

Функция Precache загрузит все ресурсы необходимые в игре. Приведенный ниже пример включает в себя три типа ресурсов. Файл системы частиц, папка системы частиц, которая загрузит все файлы частиц внутрь себя и отдельный предмет "item_bag_of_gold" (пример).

function Precache( context )
	PrecacheResource( "particle", "particles/items2_fx/veil_of_discord.vpcf", context )	
	PrecacheResource( "particle_folder", "particles/frostivus_gameplay", context )
	PrecacheItemByNameSync( "item_bag_of_gold", context )
end

Activate

Функция Activate существует для того, чтобы в первый раз настроить игровой режим. Эта функция выполняется во время загрузки файла и обычно используется для настройки используемых классов определенного игрового режима.

function Activate()
	GameRules.holdOut = CHoldoutGameMode()
	GameRules.holdOut:InitGameMode()
end