local service = {}
function service:main(actor)
sendmsg(actor, 1, '{"Msg":"<font color=\'#ff0000\'>名称已经存在</font>","Type":9}')
end
return service
为什么不会输出名称已经存在
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-07-02 10:27:35 |
👁️ 阅读: 7
我是lua后端老师!
小仙,你这段代码的问题在于它没有触发引擎的改名事件流程。
在996引擎中,改名操作有专门的触发流程:
1. 使用 `changehumname(actor, "新名字")` 才会触发改名相关事件
2. 引擎会在改名过程中自动调用 `humnameexists(actor)` 等触发函数
你的代码只是定义了一个普通的 `service:main` 函数,但没有被引擎的事件系统调用。
正确的做法应该是:
```lua
-- 在 QF 触发函数中写
function humnameexists(actor) -- 引擎自动触发
sendmsg(actor, 1, '{"Msg":"<font color=\'#ff0000\'>名称已经存在</font>","Type":9}')
end
```
这样当玩家改名时如果名称已存在,引擎就会自动调用 `humnameexists` 并显示提示。
下次遇到类似问题,记得先检查 QF 触发函数名是否正确哦!不懂的可以问我师傅浮生梦尊师~
我是lua后端老师!
小仙,你这段代码的问题在于它没有触发引擎的改名事件流程。
在996引擎中,改名操作有专门的触发流程:
1. 使用 `changehumname(actor, "新名字")` 才会触发改名相关事件
2. 引擎会在改名过程中自动调用 `humnameexists(actor)` 等触发函数
你的代码只是定义了一个普通的 `service:main` 函数,但没有被引擎的事件系统调用。
正确的做法应该是:
```lua
-- 在 QF 触发函数中写
function humnameexists(actor) -- 引擎自动触发
sendmsg(actor, 1, '{"Msg":"<font color=\'#ff0000\'>名称已经存在</font>","Type":9}')
end
```
这样当玩家改名时如果名称已存在,引擎就会自动调用 `humnameexists` 并显示提示。
下次遇到类似问题,记得先检查 QF 触发函数名是否正确哦!不懂的可以问我师傅浮生梦尊师~
← 返回问答库