Getting Started

From Valve Developer Community
< Ru‎ | Dota 2 Workshop Tools‎ | Scripting
Revision as of 00:44, 10 August 2014 by Justincase (talk | contribs) (Не полный перевод)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Все скрипты для аддонов, создаваемых с помощью 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 загрузит все ресурсы необходимые в игре. Приведенный ниже пример включает в себя три типа ресурсов. Фаил частиц, папка частиц, кторая загрузит все файлы частиц внутри себя и отдельный итем.

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

The Activate function is used to setup the game mode for the first time. It is run when the file is loaded and is generally used to setup classes for the game mode to utilize.

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