入门指南

From Valve Developer Community
Jump to: navigation, search
English (en)
... Icon-Important.png

DOTA2创意工坊工具 的程序使用的是LUA编程语言,如果你对于编写其他语言比较熟悉的话,那么编写LUA也会是一件很容易的事。

Tip.pngTip:在游戏运行的时候,你能够使用script_reload命令来重新载入你的代码。

所需要的文件

如果你想要运行一些程序,以下的文件将会是必须的,这些文件必须放置在/game目录内对应的插件文件夹,这样在插件被载入的时候,他们就能被执行。

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

这个文件并不是可选的,而且必须使用这个名字,其他文件能够在/vscripts文件夹里面创建,你能够在你任何想要引用他们的地方来引用。

Tip.pngTip:当你第一次创建一个插件的时候,一个非常简单的程序文件会被自动生成在对应的位置,你可以使用它来快速开始你程序的编写。

运行程序文本

当插件被载入的时候,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