sumneko / w3x2lni

魔兽地图格式转换工具
GNU General Public License v3.0
115 stars 44 forks source link

lni转换到obj格式失败 #55

Closed luciouskami closed 4 years ago

luciouskami commented 4 years ago

如题,首先将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已经发送到邮箱。

sumneko commented 4 years ago

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

luciouskami commented 4 years ago

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

2360871791 commented 4 years ago

%@YX~ VG5R}JU6QGQK3NK4V

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

2360871791 commented 4 years ago

类似=类型

luciouskami commented 4 years ago

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

sumneko commented 4 years ago

@2360871791 推个PR呗

sumneko commented 4 years ago

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

ghost commented 4 years ago

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