local shangguzhanchang = {}
function shangguzhanchang.link(actor, msgid, arg1, arg2, arg3, sMsg)
if not cfg_shangguzhanchang or not next(cfg_shangguzhanchang) then
return
end
local rlv = getbaseinfo(actor, 39)
if rlv >= 5 then
map(a
这个错误是因为 `lib:msg()` 函数中拼接的字符串 `str` 变量为 nil。根据浮生梦老师前端课程内容,建议使用引擎提供的 `SL:print()` 函数来输出调试信息。
修改你的代码,将 `lib:msg()` 替换为 `SL:print()`,并确保字符串拼接正确:
```lua
local shangguzhanchang = {}
function shangguzhanchang.link(actor, msgid, arg1, arg2, arg3, sMsg)
if not cfg_shangguzhanchang or not next(cfg_shangguzhanchang) then
return
end
local rlv = getbaseinfo(actor, 39)
if rlv >= 5 then
map(actor, "上古战场")
else
SL:print("您的转生等级是" .. tostring(rlv) .. ",请提升你的转生等级!!!")
end
end
return shangguzhanchang
```
主要修改点:
1. 使用 `SL:print()` 替代 `lib:msg()`
2. 使用 `tostring(rlv)` 确保数值转换为字符串
3. 修正了字符串拼接的语法
这样修改后就不会出现 `attempt to concatenate local 'str' (a nil value)` 的错误了。