前面都是枯燥的概念,终于到了动手环节了。

一、软件下载(略)

请准备好以下软件或程序:

二、VS Code插件安装(略)

  • Chinese (Simplified) (可以把VS Code界面文本显示改成简体中文)
  • Lua(发布者:sumneko)
  • Lua Debug(发布者:actboy168)
  • Tasks(发布者:actboy168)
  • jass(发布者:家貓hoo)

三、第一次环境配置

1、新建环境变量(已经优化了bat文件,所以这步可以省略了)

此处内容已隐藏,回复后(需要填写邮箱)可见


2、新建地图

用魔兽地图编辑器新建一张空白地图

1、新建空白地图.webp

3、新建触发

在触发编辑器(F4)里清空默认的触发,然后新建一个触发,并设置如下:

初始化
    事件
        地图初始化
    条件
    动作
        游戏 - 输入作弊码: exec-lua:main

2、新建触发.webp

4、保存地图

将地图保存至一个空白文件夹里,然后可以关闭地图了

3、保存地图.webp


5、解包地图

(1)打开W3x2Lni

4-1、打开W3x2Lni.jpg

(2)将地图w3x文件转为Lni

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

4-2、将 新建的地图文件 拖入 W3x2Lni,点击 转为Lni.webp

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

4-3、使用默认设置,点击 开始.webp

提示1条告警不用理会

4-4、提示1条告警不用理会.webp

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

4-5、得到同名文件夹.webp


6、配置任务

(1)用VS Code打开文件夹

把解包地图得到的文件夹 拖入 VS Code

5、用VScode打开文件夹.webp

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

6、可以看见文件列表.jpg

(2)新建runmap.bat文件

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

5-2、新建runmap.bat文件.webp

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

5-2、右键点击编辑runmap.webp

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_雪月编辑器

(3)配置默认生成任务

a.点击VS Code菜单栏终端,再点击配置默认生成任务

5-3、配置默认生成任务.webp

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键确认

5-3、键盘快捷方式.webp

5-3、修改快捷键为F5.webp


7、测试效果

(1)在左侧文件列表map文件夹下新建一个main.lua文件

(2)复制粘贴以下内容,保存

local console = require 'jass.console'
console.enable = true
print = console.write

print("hello world")

(3)点击运行,查看效果,成功!

7、测试效果.webp

8、常见错误

1、运行时提示'w2l.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。

问题原因:在Windows系统的w2l.exe的环境变量未新建或路径不正确。例如你中途修改了w2l程序所在的文件夹名字。

2、运行时提示'ydweconfig.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。

问题原因:在Windows系统的ydweconfig.exe的环境变量未新建或路径不正确。例如你中途修改了we编辑器所在的文件夹名字。