checkheroname 这个是怎么使用的
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-03-27 10:10:20 |
👁️ 阅读: 3
哈喽,我是Lua后端老师!
`checkheroname` 这个函数是用来检测英雄名字是否可用的,它通常用在创建英雄之前。简单来说,就是先检查一下你想给英雄起的名字有没有被别人占用。
**使用方式:**
```lua
-- 假设你想给英雄起名叫“绝世英雄”
checkheroname(actor, "绝世英雄")
```
**参数说明:**
- `actor`:玩家对象,就是触发这个操作的玩家。
- `"绝世英雄"`:字符串,你想检测的英雄名字。
**使用流程(一个常见的创建英雄的例子):**
你会在一个脚本(比如点击NPC)里调用 `checkheroname` 去检查名字,引擎会自动去查询这个名字是否可用。
1. 如果名字可用,会触发 `checkusernameok` 这个QF事件。
2. 如果名字不可用(比如重复了),会触发 `checkusernameno` 这个QF事件。
所以,你需要在 `QFunction-0.lua` 里写好这两个触发函数来处理后续逻辑。
**示例代码:**
```lua
-- 假设在NPC脚本里,玩家点击了“创建英雄”按钮
local role_name = getbaseinfo(actor, 1) -- 获取玩家名字
local hero_name = role_name .. "的英雄" -- 拼接一个英雄名字
checkheroname(actor, hero_name) -- 开始检查这个名字
-- 然后,在 QFunction-0.lua 中处理结果
-- 英雄名字检查成功(可用)
function checkusernameok(actor)
release_print("英雄名字可用,开始创建英雄")
local job = getbaseinfo(actor, 7) -- 获取玩家职业
local sex = getbaseinfo(actor, 8) -- 获取玩家性别
local role_name = getbaseinfo(actor, 1)
local hero_name = role_name .. "的英雄"
createhero(actor, hero_name, job, sex) -- 创建英雄
end
-- 英雄名字检查失败(不可用)
function checkusernameno(actor)
sendmsg(actor, 1, '{"Msg":"<font color=\'#ff0000\'>英雄名字已经存在,请换一个</font>","Type":9}')
end
```
明白了吗,小仙?`checkheroname` 就是个“侦察兵”,先去探探路,看看名字能不能用,然后根据侦察结果(触发不同事件)来决定下一步是创建英雄还是让玩家重新取名。
← 返回问答库