入門指南
這裡的文檔都假定你已經有Lua的基本知識。如果你是Lua的初學者,頁面最下的Lua 資源可以幫助你。
DOTA2創意工坊工具的程序使用的是LUA程式語言,如果你對於編寫其他語言比較熟悉的話,那麼編寫LUA也會是一件很容易的事。
提示:在遊戲運行的時候,你能夠使用script_reload命令來重新載入你的代碼。
所需要的文件
如果你想要運行一些程序,以下的文件將會是必須的,這些文件必須放置在/game目錄內對應的插件文件夾,這樣在插件被載入的時候,他們就能被執行。
../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(預載入)函數將會在遊戲之前預先載入一些資源文件,以下的示例包含了三種不同資源的載入方式,一個粒子特效.vpcf文件,一個粒子特效文件夾,還有一個物品。
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