Xavier 的 dota2 自定义游戏开发模板
如果你要使用这个模板,除了掌握 V 社的开发工具以外,你还需要额外学会
typescript,javascript的语法react的基础知识node.js的基础知识- 学习一下react-panorama
- 学习一下TypeScriptToLua
- 了解一下
DOTA2 Typescript API,完成npm install后你可以查看node_modules/dota-lua-types和node_modules/panorama-types
- 当然,使用强类型语言需要你有更好的代码规范和写声明的觉悟 😉
- 不过也能提升你的代码效率就是了
- 将
excels文件夹的内容变成 kv 文件并放到game/scripts/npc文件夹 - 将
localization文件夹的内容生成对应的语言文件并放到game/resources文件夹 - 将
game/scripts/npc文件夹的内容同步到content/panorama/scripts/keyvalues.js
npm run launch [--a addon_name] [--m map_name]启动 dota2,如果提供了addon_name那么会载入指定的 addon(默认该项目),提供了map_name则会自动载入对应的地图名npm run dev进入 dev 模式,将会执行同步KV到js,生成localization,Excel转KV等操作npm run prod执行发布操作,将会自动生成publish文件夹并自动 link 到dota_addons/you_addon_name_publish文件夹,之后你可以选择这个文件夹发布
- 点击使用本项目作为模板生成你自己的项目或者 fork 本项目
- 安装
node.js,要求是 above Node v14.10.1因为低于这个版本的没有测试过 - clone 生成或者 fork 的项目
- 打开
package.json,将name修改为你自己喜欢的名字 - 执行
npm install安装依赖,他应该会自动 linkcontent,game文件夹到你的dota 2 beta/dota_addons,(如果碰到权限问题,请尝试重启) npm run dev,开始你的开发
- content 会和
dota 2 beta/content/dota_addons/your_addon_name同步更新 - game 会和
dota 2 beta/game/dota_addons/your_addon_name同步更新 - declaration 用来写
panorama ts和tstl公用的声明,如custom_net_tables等 - excels 用来写 KV 表
- localization 用来写各种本地化文本
- scripts 各种 node 脚本,用来完成各种辅助功能
- 如果你需要加密,请自行修改
scripts/publish.js - 欢迎提
issues - 欢迎贡献代码
- ModDota Community
- https://github.com/ark120202 开发的
react-panorama和对 API 的维护 - 有部分代码来自 https://github.com/MODDOTA/TypeScriptAddonTemplate