生活技能升级脚本批量修复教程
1. 这次修的不是单点,而是一批老模板问题
前面修“生活技能升级没反应 / 包号错误 / 界面不刷新 / 熟练度显示放大”之后,又继续往下排,发现 services/scripts/event/liveabilityevent/ 目录里一批 elevelup_*.lua 还带着老模板遗留问题。
这类问题有个特点:
- 单个文件看起来只是小拼写错误。
- 但它们都处在 NPC 升级入口链路上。
- 一旦按钮参数、脚本号、技能号有一个错,表现出来就不是“报一个错”,而是“点这个 NPC,跑到别的升级脚本”。
这次最终处理的文件有:
/home/ubuntu/Game2/services/scripts/event/liveabilityevent/elevelup_zhiyao.lua
/home/ubuntu/Game2/services/scripts/event/liveabilityevent/elevelup_pengren.lua
/home/ubuntu/Game2/services/scripts/event/liveabilityevent/elevelup_xiangqian.lua
/home/ubuntu/Game2/services/scripts/event/liveabilityevent/elevelup_fengren.lua
/home/ubuntu/Game2/services/scripts/event/liveabilityevent/elevelup_gongyi.lua
/home/ubuntu/Game2/services/scripts/event/liveabilityevent/elevelup_zhuzao.lua
/home/ubuntu/Game2/services/scripts/event/liveabilityevent/elevelup_yaoli.lua
/home/ubuntu/Game2/services/scripts/event/liveabilityevent/elevelup_yangshengfa.lua
/home/ubuntu/Game2/services/scripts/event/liveabilityevent/elevelup_caiyao.lua
/home/ubuntu/Game2/services/scripts/event/liveabilityevent/elevelup_caikuang.lua
/home/ubuntu/Game2/services/scripts/event/liveabilityevent/elevelup_diaoyu.lua
2. 先说明这类脚本的入口关系
生活技能导师 NPC 基本都走同一套模式:
- NPC 脚本维护一个
g_eventList
- 菜单枚举时调用升级脚本的
OnEnumerate
- 客户端点按钮后,再根据
arg == findId 调升级脚本的 OnDefaultEvent
以工艺导师为例:
/home/ubuntu/Game2/services/scripts/obj/luoyang/oluoyang_longsanshao.lua
oluoyang_longsanshao.g_eventList = {713507, 713566}
for i, eventId in pairs(self.g_eventList) do
self:CallScriptFunction(eventId, "OnEnumerate", self, selfId, targetId)
end
for i, findId in pairs(self.g_eventList) do
if arg == findId then
self:CallScriptFunction(arg, "OnDefaultEvent", selfId, targetId,
index, self.script_id)
return
end
end
***付费内容***
剩余 80% 内容需要支付 88.00
金币 后可完整阅读
支持付费阅读,激励作者创作更好的作品。
|