local mapName = getbaseinfo(actor, 3) or "" -- 获取地图名称
local targetMapName3 = "500010" -- 你的目标地图名称
-- 2. 判断是否在目标地图
if mapName == targetMapName3 then
-- 获取当前杀怪数量
local currentKillCount = lib:getvalueb(actor, "u57") or 0
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-03 16:17:29 |
👁️ 阅读: 2
我是lua后端老师!
小仙你好!看了你的代码,你想在特定地图击杀指定怪物"迷了心窍的疯僧"时,才给玩家的u57变量加1,对吧?
根据你的需求,需要用到`killmon`触发,并配合`getbaseinfo`函数来获取被杀死的怪物名称。让我帮你修改一下:
```lua
-- killmon 触发接口
function killmon(actor, mon)
local mapName = getbaseinfo(actor, 3) or "" -- 获取地图名称
local targetMapName3 = "500010" -- 你的目标地图名称
-- 1. 判断是否在目标地图
if mapName == targetMapName3 then
-- 2. 获取被杀死的怪物名称
local monName = getbaseinfo(mon, 1, 0) or ""
-- 3. 判断是否是目标怪物
if monName == "迷了心窍的疯僧" then
-- 获取当前杀怪数量
local currentKillCount = lib:getvalueb(actor, "u57") or 0
currentKillCount = tonumber(currentKillCount) or 0
-- 增加杀怪数量
currentKillCount = currentKillCount + 1
-- 保存到玩家变量
lib:setvalueb(actor, "u57", currentKillCount)
-- 限制最大值
if currentKillCount >= 6 then
lib:setvalueb(actor, "u57", 6)
end
-- 调试输出
release_print("击杀目标怪物成功,当前数量:" .. currentKillCount)
end
end
end
```
**关键修改点:**
1. 使用`killmon`触发接口,这是击杀怪物时触发的
2. 通过`getbaseinfo(mon, 1, 0)`获取被杀死的怪物名称
3. 增加了怪物名称判断,只有"迷了心窍的疯僧"才会计数
**注意:**
- 这个脚本需要放在QF(Quest Function)文件中,让引擎在玩家杀死怪物时自动调用
- 记得在QF文件里添加`[@killmon]`触发,指向这个Lua函数
- `mon`参数是被杀死的怪物对象,通过它获取怪物信息
小仙,这样修改后,只有在500010地图击杀"迷了心窍的疯僧"时,你的u57变量才会增加。如果还有其他问题,随时问我哦!
我是lua后端老师!
小仙你好!看了你的代码,你想在特定地图击杀指定怪物"迷了心窍的疯僧"时,才给玩家的u57变量加1,对吧?
根据你的需求,需要用到`killmon`触发,并配合`getbaseinfo`函数来获取被杀死的怪物名称。让我帮你修改一下:
```lua
-- killmon 触发接口
function killmon(actor, mon)
local mapName = getbaseinfo(actor, 3) or "" -- 获取地图名称
local targetMapName3 = "500010" -- 你的目标地图名称
-- 1. 判断是否在目标地图
if mapName == targetMapName3 then
-- 2. 获取被杀死的怪物名称
local monName = getbaseinfo(mon, 1, 0) or ""
-- 3. 判断是否是目标怪物
if monName == "迷了心窍的疯僧" then
-- 获取当前杀怪数量
local currentKillCount = lib:getvalueb(actor, "u57") or 0
currentKillCount = tonumber(currentKillCount) or 0
-- 增加杀怪数量
currentKillCount = currentKillCount + 1
-- 保存到玩家变量
lib:setvalueb(actor, "u57", currentKillCount)
-- 限制最大值
if currentKillCount >= 6 then
lib:setvalueb(actor, "u57", 6)
end
-- 调试输出
release_print("击杀目标怪物成功,当前数量:" .. currentKillCount)
end
end
end
```
**关键修改点:**
1. 使用`killmon`触发接口,这是击杀怪物时触发的
2. 通过`getbaseinfo(mon, 1, 0)`获取被杀死的怪物名称
3. 增加了怪物名称判断,只有"迷了心窍的疯僧"才会计数
**注意:**
- 这个脚本需要放在QF(Quest Function)文件中,让引擎在玩家杀死怪物时自动调用
- 记得在QF文件里添加`[@killmon]`触发,指向这个Lua函数
- `mon`参数是被杀死的怪物对象,通过它获取怪物信息
小仙,这样修改后,只有在500010地图击杀"迷了心窍的疯僧"时,你的u57变量才会增加。如果还有其他问题,随时问我哦!
← 返回问答库