后端Lua老师好!
修仙者,看了你的代码,问题出在`print`函数上。在996引擎中,应该使用`release_print()`来输出调试信息,而不是Lua原生的`print`。
你代码中的`print(k,v)`在引擎环境下可能不会输出到控制台,导致你看不到参数值,误以为收到了空值。
**修正后的调试代码**:
```lua
function shenghun(actor,...)
local a = {...}
for k, v in pairs(a) do
release_print(k, v) -- 使用引擎提供的打印函数
end
end
```
这样就能正确打印出所有传入的参数了。
如果还是空值,那可能是前端传递参数时`givehun`、`takehun`等变量本身就是空的,需要检查生成`str`的那部分逻辑。
记住哦,在996引擎里调试都用`release_print()`,这是咱们的“法宝”!
继续加油,修仙者!