前面都是枯燥的概念,终于到了动手环节了。
一、软件下载(略)
请准备好以下软件或程序:
- 魔兽争霸III客户端
- 魔兽地图编辑器(KKWE、雪月编辑器、YDWE等任意一款,推荐雪月编辑器,QQ群号:659453611)
- VS Code(https://code.visualstudio.com/)
- W3x2Lni(推荐YDWE官方博客下载,百度网盘下载:https://pan.baidu.com/s/1Fdr-rTZXWUQVMOIV1hS50Q,提取码:ya54)
二、VS Code插件安装(略)
- Chinese (Simplified) (可以把VS Code界面文本显示改成简体中文)
- Lua(发布者:sumneko)
- Lua Debug(发布者:actboy168)
- Tasks(发布者:actboy168)
- jass(发布者:家貓hoo)
三、第一次环境配置
1、新建环境变量(已经优化了bat文件,所以这步可以省略了)
[hide]
(1)右键点击我的电脑——属性——高级系统设置
(2)在系统属性窗口点击环境变量...
(3)在系统变量分组框——双击变量名为Path的数据行
(4)在编辑环境变量窗口点击新建,复制粘贴W3x2Lni文件夹的路径
例如我的W3x2Lni文件夹的路径是:F:\DarkSheep_War3_Tools\DarkSheep_常用\w3x2lni_zhCN_v2.7.3
(5)在编辑环境变量窗口点击新建,复制粘贴魔兽地图编辑器根目录下bin文件夹的路径
例如我目前用的雪月编辑器的bin文件夹路径是:F:\1.9.0k3_雪月编辑器\bin

(5)确认——确认——确认,关闭所有环境变量的窗口
wl2.exe version,出现版本号即w2l环境配置正常——输入ydweconfig.exe -launchwar3,能够窗口化运行魔兽说明ydwe环境配置正常

[/hide]
2、新建地图
用魔兽地图编辑器新建一张空白地图

3、新建触发
在触发编辑器(F4)里清空默认的触发,然后新建一个触发,并设置如下:
初始化
事件
地图初始化
条件
动作
游戏 - 输入作弊码: exec-lua:main
4、保存地图
将地图保存至一个空白文件夹里,然后可以关闭地图了

5、解包地图
(1)打开W3x2Lni

(2)将地图w3x文件转为Lni
a.将 新建的地图文件 拖入 W3x2Lni,点击 转为Lni

b.使用默认设置,点击 开始

提示1条告警不用理会

c.在地图w3x文件所在文件夹下会得到一个同名的文件夹

6、配置任务
(1)用VS Code打开文件夹
把解包地图得到的文件夹 拖入 VS Code

拖入后再VScode左边 可以看到 文件列表

(2)新建runmap.bat文件
a.在W3x2Lni文件夹根目录新建一个runmap.txt文件,将.txt的文本后缀修改为.bat的批处理后缀

b.鼠标右键点击runmap.bat文件,选择编辑

C.将以下内容复制粘贴进去
@echo off
:: 关闭命令回显,使脚本运行时不显示每条命令
chcp 65001
:: 为了能够显示echo的中文信息
:: 增加 w2l.exe 和 ydweconfig.exe 所在的目录作为临时的系统 PATH 环境变量
set PATH=%PATH%;F:\DarkSheep_War3_Tools\DarkSheep_常用\w3x2lni_zhCN_v2.7.3
set PATH=%PATH%;F:\1.9.0k3_雪月编辑器\bin
echo [调试信息]临时修改 PATH 环境变量
:: 设置你的WE编辑器目录
set YourwePath=F:\1.9.0k3_雪月编辑器
echo [调试信息]你设置的WE编辑器的目录是:%YourwePath%
cd /d %~dp0
echo [调试信息]切换到当前bat脚本所在的目录: %cd%
set mapPath=%~dpn1
echo [调试信息]需要使用w2l工具obj打包的地图目录:%mapPath%
set mapName=%~n1
echo [调试信息]地图名字(不包括路径和扩展名): %mapName%
echo [调试信息]开始使用w2l工具将地图文件转换为obj格式
w2l.exe obj "%mapPath%"
echo [调试信息]转换完毕!
set generatedW3xPath=%mapPath%.w3x
echo [调试信息]获取生成的 .w3x 文件的完整路径: %generatedW3xPath%
for %%I in ("%YourwePath%") do set ydweDrive=%%~dI
echo [调试信息]你的WE编辑器驱动器(盘符): %ydweDrive%
%ydweDrive%
cd "%YourwePath%"
echo [调试信息]切换到你的WE编辑器目录: %cd%
ydweconfig.exe -launchwar3 -loadfile "%generatedW3xPath%"
echo [调试信息]使用ydweconfig工具启动魔兽争霸III并加载指定的地图文件: "%generatedW3xPath%"d.将set YourwePath=后面的路径修改为你使用的魔兽地图编辑器所在文件夹的路径
例如我使用的是雪月编辑器,那么,我就修改为:
set YourwePath=D:\Program Files\War3 工具3.2\1.9.0k3_雪月编辑器
1、路径允许使用中文,避免运行时提示“文件名、目录名或卷标语法不正确”
2、修改了切换进入WE编辑器文件夹的方式,避免因bat文件和WE编辑器文件不在同一个盘,造成后续无法执行ydweconfig.exe
3、删除了将生成后的w3x文件移动到WE编辑器文件夹的命令,采用了直接获取生成后的w3x文件路径,然后直接使用ydweconfig.exe加载
4、每一步增加了echo显示,方便出错时知道是哪个步骤的问题
(3)配置默认生成任务
a.点击VS Code菜单栏终端,再点击配置默认生成任务

b.点击最后一个任意模板
c.将以下内容复制粘贴到打开的json文件里
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "运行",
"type": "shell",
"command": "D:\\w3x2lni_v2.4.1\\runmap.bat",
"args": [
"${workspaceRoot}"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
d.将"command"的runmap.bat文件路径D:\\w3x2lni_v2.4.1\\runmap.bat修改为你自己runmap.bat文件所在路径
例如我的是:
"command": "D:\\Program Files\\War3 工具3.2\\w3x2lni_zhCN_v2.5.2\\runmap.bat",
e.点击VS Code右边栏的管理,再点击键盘快捷方式,修改快捷键为F5,敲Enter键确认
运行、或者直接使用默认快键键Ctrl+Shift+B(当然这个快捷键很有可能和你的其他软件冲突,比如QQ拼音的手写功能)


7、测试效果
(1)在左侧文件列表map文件夹下新建一个main.lua文件
(2)复制粘贴以下内容,保存
local console = require 'jass.console'
console.enable = true
print = console.write
print("hello world")
(3)点击运行,查看效果,成功!

8、常见错误
1、运行时提示'w2l.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。
问题原因:在Windows系统的w2l.exe的环境变量未新建或路径不正确。例如你中途修改了w2l程序所在的文件夹名字。
2、运行时提示'ydweconfig.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。
问题原因:在Windows系统的ydweconfig.exe的环境变量未新建或路径不正确。例如你中途修改了we编辑器所在的文件夹名字。
1
看看吧
6666666666学习ing
学习一下