ru

From Valve Developer Community
Jump to: navigation, search
Dead End - Icon.png
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

Все скрипты для аддонов, создаваемых с помощью Dota 2 Workshop Tools пишутся на скриптовом языке Lua. Если вы знакомы с написанием скрипт кодов на каком-либо другом языке, то основные понятия в Lua будут даваться вам очень быстро.

Tip.pngСовет:Вы можете перезапустить файлы сценариев во время выполнения с помощью консольной команды script_reload.

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

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

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

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

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

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

Скрипт файл 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