sumneko/w3x2lni

lni转换到obj格式失败

Closed this issue · 8 comments

如题,首先将obj转换为lni,然后将lni转回obj的时候失败了。
使用的版本是master分支的最新提交
log如下:
保存触发器失败 - bad argument #2 to 'pack' (string expected, got nil)
stack traceback:
[C]: in function 'string.pack'
.\core\slk/backend_wtg.lua:43: in upvalue 'pack'
.\core\slk/backend_wtg.lua:112: in upvalue 'pack_var'
.\core\slk/backend_wtg.lua:133: in upvalue 'pack_vars'
.\core\slk/backend_wtg.lua:350: in method 'backend_wtg'
.\core\slk/backend.lua:106: in function <.\core\slk/backend.lua:105>
[C]: in function 'xpcall'
.\core\slk/backend.lua:105: in upvalue 'convert_wtg'
.\core\slk/backend.lua:388: in method 'backend'
.\backend\convert.lua:141: in function 'backend.convert'
.\backend\cli\obj.lua:4: in function 'backend.cli.obj'
backend\init.lua:12: in main chunk
[C]: in ?
地图以及log已经发送到邮箱。

我测试没有发现问题,你试试把YDWE目录里的 unknownui 删掉看看

我删除了unknowui以后依然报错,原obj转换到lni没有报错,但是lni转换到obj依然报错。期间我尝试删除了不属于原版ydwe提供的ui,依然不行。

%@YX~ VG5R}JU6QGQK3NK4V

以上问题是 全局变量未初始化, w2l也没有对这个未初始化的变量进行过滤
Lead是未初始化的变量, lni的时候没有转换这个变量的类似,导致obj保存触发器失败

类似=类型

按照@2360871791步骤,删除这个未使用的全局变量,转换为obj成功。

@2360871791 推个PR呗

不知道为什么,Lead这个变量名后面有2个换行符,而保存lml时没有对变量名做转换,导致换行符转义了lml信息

obj转为lni是把地图解到本地文件夹么