This article relates to the game "Dota 2". Click here for more information.
This article relates to the SDK/Workshop Tools for "Dota 2 Workshop Tools". Click here for more information.
This article's documentation is for Source 2. Click here for more information.

Dota 2 Workshop Tools/Scripting: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
 
(29 intermediate revisions by 20 users not shown)
Line 1: Line 1:
{{otherlang2
{{Dota 2Tools topicons}}
|zh-cn = Dota 2 Workshop Tools:zh_cn/Scripting:zh_cn
{{Lang|title = Scripting}}
|ru= Dota 2 Workshop Tools:ru/Scripting:ru
[[Category:Dota 2 Workshop Tools]] [[Category:Scripting]]
}}
在DOTA2的编程使用的是LUA[http://www.lua.org Lua]编程语言。LUA将会在DOTA2载入你的插件的时候运行,并且能完成游戏各方面的工作。程序能够控制游戏中的游戏事件、游戏规则、技能、英雄野怪等等许多东西。
== 编程简介 ==
* [[Dota 2 Workshop Tools/Scripting/Getting Started|简介]]


== 技能编写 ==
Scripting in Dota 2 is handled by the [[VScript]] virtual machine using the [http://www.lua.org Lua] programming language. Lua will be launched at run time when Dota 2 loads your add-on and can manipulate most facets of the game. Scripts can control the events that happen in game modes, game rules, abilities, hero interactions, neutrals , AI, and many more.
* [[Dota 2 Workshop Tools/Scripting/Abilities Data Driven|数据驱动类技能]]
== Getting Started ==
* [[Dota 2 Workshop Tools/Scripting/Abilities Scripted|程序类技能]]
The documentation presented here assumes basic knowledge of Lua.  If you're new to programming and Lua it's worth spending some time at the [http://www.lua.org/ official Lua website] learning some of the basic concepts.  Additional resources are available at the bottom of the page for new users.


== 常用技术 ==
* [[Dota 2 Workshop Tools/Scripting/Getting Started|Getting Started]]
* [[Dota 2 Workshop Tools/Scripting/ThinkerFunctions|计时器函数]]
* [[Dota 2 Workshop Tools/Scripting/Debugging Lua scripts|Debugging Lua scripts]]
* [[Dota 2 Workshop Tools/Scripting/Console Commands|控制台命令]]
* [[Dota 2 Workshop Tools/Scripting/Dedicated VConsole Log Viewer|VC控制台]]


== 参考 ==
== Scripting Abilities ==
* [[Dota 2 Workshop Tools/Scripting/API|API]]
* [[Dota 2 Workshop Tools/Scripting/Abilities Data Driven|Data Driven Abilities]]
* [[Dota 2 Workshop Tools/Scripting/Constants|常量]]
* [[Dota 2 Workshop Tools/Scripting/Abilities Data Driven Examples|Data Driven Ability Examples]]
* [[Dota 2 Workshop Tools/Scripting/Built-In Engine Events|引擎内置的游戏事件(很多不可用)]]
* [[Dota_2_Workshop_Tools/Lua_Abilities_and_Modifiers|Lua Abilities and Modifiers]]
* [[Dota 2 Workshop Tools/Scripting/Built-In Ability Names|引擎内置的技能名称]]
* [[Dota 2 Workshop Tools/Scripting/Built-In Modifier Names|引擎内置的Modifier(修改器)名称]]
* [[Dota 2 Workshop Tools/Scripting/Heroes_internal_names|英雄名称]]
* [[Dota 2 Workshop Tools/Scripting/Built-In Unit Names|单位名称]]


== 示例 ==
== Common Techniques ==
* [[Dota 2 Workshop Tools/Scripting/Simple Trigger that calls Lua| 使用Trigger调用LUA的例子]]
* [[Entity_Scripts|Entity Scripts]]
* [[Dota 2 Workshop Tools/Scripting/Abilities Scripted Example| 在单位死亡时掉落物品的例子]]
* [[Dota 2 Workshop Tools/Scripting/ThinkerFunctions|Thinker Functions]]
* [[Dota 2 Workshop Tools/Scripting/Data Driven Motion Controller Example | 移动位置的例子]]
* [[Dota 2 Workshop Tools/Scripting/Console Commands|Console Commands]]
* [[Dota 2 Workshop Tools/Scripting/Creating a Tower Example | 创造一座塔的例子]]
* [[Dota 2 Workshop Tools/Scripting/Dedicated VConsole Log Viewer|Dedicated VConsole Log Viewer]]
* [[Dota_2_Workshop_Tools/Scripting/Listening_to_game_events|Listening to Game Events]]
* [[Dota_2_Workshop_Tools/Script_Filters|Script Filters]]
* [[Dota_2_Workshop_Tools/Custom_Game_Events|Custom Game Events]]
* [[Dota_2_Workshop_Tools/Custom_Nettables|Custom Nettables]]


== LUA资源 ==
== Reference ==
* [http://www.lua.org/ 官方LUA站点]
* [[Dota 2 Workshop Tools/Scripting/API|Scripting API]]
* [https://github.com/bhargavrpatel/Dota-2-Sublime-Packages 供Sublime Text 2/3 软件使用的自动补全插件包]
* [[Source_2_Animation_System_VScript_API|Animation System API (deprecated)]]
* [[Dota 2 Workshop Tools/Scripting/Built-In Engine Events|Built-In Engine Events (warning: many broken)]]
* [[Dota 2 Workshop Tools/Scripting/Built-In Ability Names|Built-In Ability Names]]
* [[Dota 2 Workshop Tools/Scripting/Built-In Modifier Names|Built-In Modifier Names]]
* [[Dota 2 Workshop Tools/Scripting/Built-In Item Names|Built-In Item Names]]
* [[Dota 2 Workshop Tools/Scripting/Heroes_internal_names|Heroes Internal Names]]
* [[Dota 2 Workshop Tools/Scripting/Built-In Unit Names|Built-In Unit Names]]
* [[Dota 2 Workshop Tools/Scripting/BoundsHullName Size Reference|BoundsHullName Size Reference]]


== Examples ==
* [[Dota 2 Workshop Tools/Scripting/Simple Trigger that calls Lua| Simple trigger that calls Lua]]
* [[Dota 2 Workshop Tools/Scripting/Abilities Scripted Example| Data driven item that drops upon death]]
* [[Dota 2 Workshop Tools/Scripting/Data Driven Motion Controller Example | Motion Controller Example]]
* [[Dota 2 Workshop Tools/Scripting/Creating a Tower Example | Creating a Tower Example]]
* [[Dota 2 Workshop Tools/Scripting/Detecting If Player Clicked Inside An Area | Detecting If Player Clicked Inside A Given Area When Using Items or Spells]]
* [[Dota 2 Workshop Tools/Scripting/Using Bitfields To Adjust Stat Value Bonuses | Using Bitfields To Adjust Stat Value Bonuses]]
* [[Dota 2 Workshop Tools/Scripting/Using CreateHTTPRequest | Using CreateHTTPRequest]]


== Lua Resources ==
* [http://www.lua.org/ Official Lua Website]
* [http://www.lua.org/pil/ Programming in Lua] - Good resource for learning Lua.  If you're new to Lua or programming this is a good reference point to start from.
* [http://www.lua.org/pil/contents.html Programming In Lua - Online] - First edition of the above book is available online for free.
* [https://github.com/bhargavrpatel/Dota-2-Sublime-Packages Sublime Text 2/3 Snippets for all functions]


{{shortpagetitle}}
== See also ==
[[Category:DOTA 2创意工坊工具]]
[[VScript]]

Latest revision as of 01:47, 20 March 2024

English (en)Русский (ru)中文 (zh)Translate (Translate)

Scripting in Dota 2 is handled by the VScript virtual machine using the Lua programming language. Lua will be launched at run time when Dota 2 loads your add-on and can manipulate most facets of the game. Scripts can control the events that happen in game modes, game rules, abilities, hero interactions, neutrals , AI, and many more.

Getting Started

The documentation presented here assumes basic knowledge of Lua. If you're new to programming and Lua it's worth spending some time at the official Lua website learning some of the basic concepts. Additional resources are available at the bottom of the page for new users.

Scripting Abilities

Common Techniques

Reference

Examples

Lua Resources

See also

VScript