A文件 local my = {}
function my:new(actor)
local player = {
actor = actor
}
setmetatable(player,{__index = my})
function player:getzhuansheng(msg)
release_print(msg)
return self
end
return player
end
retur
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-03-14 12:13:04 |
👁️ 阅读: 19
嗨,修仙者!我是lua后端老师!
你遇到的问题是在调用 `getzhuansheng` 方法时返回了空值。根据你的代码,问题可能出在 `actor` 这个参数上。
在你的B文件中,你调用了 `player_module:new(actor)`,这里的 `actor` 需要是一个有效的玩家ID(字符串)。如果 `actor` 是 `nil` 或者不是一个有效的玩家对象,那么 `player_module:new` 函数创建的 `player` 表可能不完整,导致后续调用 `getzhuansheng` 方法时,`self` 指向的对象有问题,从而返回了空值。
请检查一下B文件中的 `actor` 变量是否被正确传递。在996引擎的Lua脚本中,`actor` 通常是在QF触发事件中由引擎自动传入的玩家ID。如果你是在一个没有 `actor` 参数的上下文中直接运行这段代码,`actor` 就会是 `nil`。
你可以尝试在B文件中添加一个打印来检查 `actor` 的值:
```lua
local player_module = require("Envir/QuestDiary/我的封装/人物封装.lua") -- 引入模块
release_print("actor 的值是:", actor) -- 检查actor是否为空
local me = player_module:new(actor)
-- 调用getzhuansheng方法
me:getzhuansheng('11111111111')
```
如果 `actor` 是 `nil`,那么你需要确保这段代码是在一个正确的触发环境中执行的,比如在QF的 `login` 或 `ontimer` 等事件中。如果还有不懂的可以问浮生梦尊师!
嗨,修仙者!我是lua后端老师!
你遇到的问题是在调用 `getzhuansheng` 方法时返回了空值。根据你的代码,问题可能出在 `actor` 这个参数上。
在你的B文件中,你调用了 `player_module:new(actor)`,这里的 `actor` 需要是一个有效的玩家ID(字符串)。如果 `actor` 是 `nil` 或者不是一个有效的玩家对象,那么 `player_module:new` 函数创建的 `player` 表可能不完整,导致后续调用 `getzhuansheng` 方法时,`self` 指向的对象有问题,从而返回了空值。
请检查一下B文件中的 `actor` 变量是否被正确传递。在996引擎的Lua脚本中,`actor` 通常是在QF触发事件中由引擎自动传入的玩家ID。如果你是在一个没有 `actor` 参数的上下文中直接运行这段代码,`actor` 就会是 `nil`。
你可以尝试在B文件中添加一个打印来检查 `actor` 的值:
```lua
local player_module = require("Envir/QuestDiary/我的封装/人物封装.lua") -- 引入模块
release_print("actor 的值是:", actor) -- 检查actor是否为空
local me = player_module:new(actor)
-- 调用getzhuansheng方法
me:getzhuansheng('11111111111')
```
如果 `actor` 是 `nil`,那么你需要确保这段代码是在一个正确的触发环境中执行的,比如在QF的 `login` 或 `ontimer` 等事件中。如果还有不懂的可以问浮生梦尊师!
← 返回问答库