Lua演示图:创建单位

查看: 450|回复: 21
[复制链接]

皇家骑士 发表于 2018-5-25 17:19:42 | 显示全部楼层

欢迎访问本论坛,注册你的账号并登录,来与我们交流吧!

欢迎 登录 与我们交流!没有帐号?立即注册

x
一张使用Lua创建单位的演示图。

需要说明的是,YDWE官方Blog中关于单位ID的教程现在已经过时了,目前YDWE的Lua53引擎中不存在string.unpackint函数,因此不能直接使用那个教程进行单位创建。

本演示图中的字符转ID函数提取自MoeHero,参考如下。

function id(a)
        local n1 = string.byte(a, 1) or 0
        local n2 = string.byte(a, 2) or 0
        local n3 = string.byte(a, 3) or 0
        local n4 = string.byte(a, 4) or 0
        local r = n1*256*256*256+n2*256*256+n3*256+n4
        return r
end

YDWE版本:1.32.4,1.32.10
魔兽版本:1.24E(官方1.27降回1.26/1.24目前有不明原因造成在读条35%时崩溃)
Lua引擎:5.3
链接:https://pan.baidu.com/s/1fbC8PzBT95_JY9A82CwlqA
密码:5cc5

如果你的魔兽不是1.24E,或者通过官方下载后降回1.24E仍然无法正常运行,请考虑下载剑心1.24E补丁并应用:

链接:https://pan.baidu.com/s/1dJ3YvZl7CsWXKtmTsajBzw 密码:eryu
回复

使用道具 举报

0x0 发表于 2018-8-10 00:26:07 | 显示全部楼层
并不能用
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-10 00:26:42 | 显示全部楼层

cheat似乎没有加载lua脚本
回复 支持 反对

使用道具 举报

 楼主| 皇家骑士 发表于 2018-8-10 00:38:21 | 显示全部楼层

你需要说明你的使用方式和启动游戏的方式,也需要说明YDWE的版本或者别的UI版本以及你的魔兽版本。
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-10 00:44:03 | 显示全部楼层
皇家骑士 发表于 2018-8-10 00:38
你需要说明你的使用方式和启动游戏的方式,也需要说明YDWE的版本或者别的UI版本以及你的魔兽版本。 ...

魔兽版本1.26
ydwe版本1.32.10
用ydwe保存地图后点测试地图
进入游戏后lua脚本没有运行
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-10 00:47:46 | 显示全部楼层
0x0 发表于 2018-8-10 00:44
魔兽版本1.26
ydwe版本1.32.10
用ydwe保存地图后点测试地图

魔兽来自网易平台
覆盖http://www.ydwe.net/download.html上的1.26补丁
回复 支持 反对

使用道具 举报

 楼主| 皇家骑士 发表于 2018-8-10 08:51:11 | 显示全部楼层
0x0 发表于 2018-8-10 00:47
魔兽来自网易平台
覆盖http://www.ydwe.net/download.html上的1.26补丁

测试了一下,如果是1.27转换回到旧版本会有载入地图直接崩溃的问题。
在1.24E版本中测试正常。
YDWE 1.32.4和1.32.10 可以正常运行,但需要正常的魔兽客户端,目前官方的版本原因不明。

回复 支持 反对

使用道具 举报

 楼主| 皇家骑士 发表于 2018-8-10 09:50:19 | 显示全部楼层
0x0 发表于 2018-8-10 00:47
魔兽来自网易平台
覆盖http://www.ydwe.net/download.html上的1.26补丁

剑心 1.24E 补丁:https://bbs.wow8.org/thread-363-1-1.html

你可以试试打个这个补丁看看。
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-10 23:13:45 | 显示全部楼层
重新下载了网易版 打了剑心1.24E补丁 使用YDWE1.32.10仍没有运行脚本
另外 不是加载崩溃 而是正常进入游戏 但lua脚本没有运行,控制台也没有打开
回复 支持 反对

使用道具 举报

 楼主| 皇家骑士 发表于 2018-8-10 23:18:06 | 显示全部楼层
0x0 发表于 2018-8-10 23:13
重新下载了网易版 打了剑心1.24E补丁 使用YDWE1.32.10仍没有运行脚本
另外 不是加载崩溃 而是正常进入游戏  ...

YDWE右上角“配置”中是否勾选了启用了Lua引擎?
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-10 23:40:24 | 显示全部楼层
测试了一下
call Cheat("ISeeDeadPeople")是有效的
call Cheat("exec-lua: main")无效
回复 支持 反对

使用道具 举报

 楼主| 皇家骑士 发表于 2018-8-10 23:45:32 | 显示全部楼层
0x0 发表于 2018-8-10 23:40
测试了一下
call Cheat("ISeeDeadPeople")是有效的
call Cheat("exec-lua: main")无效

因为那是Cheat函数本身的用法。
不过exec-lua无效,原因可能是Lua引擎没有打开。

如果是已经打开了的,那我就无能为力了,贴吧 @actboy168 提问吧。
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-10 23:46:33 | 显示全部楼层
本帖最后由 0x0 于 2018-8-10 23:51 编辑

YDWE 1.31.8 无此bug
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-10 23:52:50 | 显示全部楼层
lua引擎已开
YDWE 1.32.0 无bug
YDWE 1.32.4 有bug
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-10 23:53:08 | 显示全部楼层
正在测试其他版本
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-11 00:02:37 | 显示全部楼层
YDWE 1.31.8 无bug
YDWE 1.32.0 无bug
YDWE 1.32.1 无bug
YDWE 1.32.2 有bug
YDWE 1.32.3 有bug
YDWE 1.32.4 有bug
YDWE 1.32.10 有bug
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-11 00:04:59 | 显示全部楼层
YDWEv1.32.2测试版更新说明:

[New]测试地图时,支持自动将地图slk化
[New]支持Lni格式地图的测试
[New]物编生成现在会自动刷新,不再需要重启
[New]物编生成增加更易用的语法
[New]重写了`新建物体指定ID`的UI
[Chg]调整了UI目录和Jass目录
[Chg]重新整理了物编读写的演示
[Chg]优化了`lua预处理`的速度(约提升10%)
[Chg]`移除地图大小限制`不再是一个插件(总是开启,不能关闭)
[Chg]删除了`触发器自动转码`的配置(总是开启,不能关闭)
[Chg]删除了`显示物体属性内部ID`的功能
[Chg]移除对`Detours`库的依赖
[Chg]移除了几个不常用的菜单
[Chg]StormLib从9.21升级为9.22

猜测是优化lua预处理速度导致的
回复 支持 反对

使用道具 举报

 楼主| 皇家骑士 发表于 2018-8-11 00:10:49 | 显示全部楼层
0x0 发表于 2018-8-11 00:02
YDWE 1.31.8 无bug
YDWE 1.32.0 无bug
YDWE 1.32.1 无bug

与我这边测试结果不太符合,我这边1.32.4正常,1.32.10也正常。
具体原因目前不能确定,YDWE的内核开发基本上只有actboy一个人能清楚。
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-11 00:34:05 | 显示全部楼层
皇家骑士 发表于 2018-8-11 00:10
与我这边测试结果不太符合,我这边1.32.4正常,1.32.10也正常。
具体原因目前不能确定,YDWE的内核开发基 ...

应该我电脑或者war3文件跟你不一样导致的
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-11 01:00:59 | 显示全部楼层
将1.32.10中除了bin文件夹和plugin文件夹中的文件覆盖到1.32.1中,bug未出现
所以bug来自bin文件夹和plugin文件夹
回复 支持 反对

使用道具 举报

0x0 发表于 2018-8-11 01:19:03 | 显示全部楼层
本帖最后由 0x0 于 2018-8-11 01:30 编辑

将1.32.10中bin文件夹中的LuaEngine.dll替换1.32.1中的LuaEngine.dll会产生bug
将1.32.1中bin文件夹中的LuaEngine.dll替换1.32.10中的LuaEngine.dll不会解决bug
回复 支持 反对

使用道具 举报

 楼主| 皇家骑士 发表于 2018-8-11 06:10:47 | 显示全部楼层
0x0 发表于 2018-8-11 01:19
将1.32.10中bin文件夹中的LuaEngine.dll替换1.32.1中的LuaEngine.dll会产生bug
将1.32.1中bin文件夹中的Lua ...

修好之后继续研究吧,如果目的是研究Lua的话确定一个可以用的版本就持续用就行,因为WE+WAR3的组合目前并没有一个统一标准,要使用这类黑科技问题会挺多。

不过目前弄下来,适合研究,但实际使用在地图里的例子还是比较少。
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表