前端触发
<p>[TOC]</p>
<p><strong>PanelName</strong> 改为你的模块名称</p>
<h2>新增触发</h2>
<h3>红点事件</h3>
<pre><code>function PanelName.onRedPoint(name,isRedPoint,npcId)
-- 红点事件,参数(name,isRedPoint,npcId可空),onClickStrong事件会的第二个参数会抛出npcId
-- 单功能需要分大陆npc展示并且变强提升按钮也有弹出提示,可以通过这个事件和onClickStrong来处理要展示的数据
end</code></pre>
<h3>点击变强提升按钮</h3>
<pre><code>function PanelName.onClickStrong(panelName,npcId)
-- 点击变强提升按钮,参数(模块名称,npcId),npcId需要推送红点事件时第三个参数有值
-- 单功能需要分大陆npc展示并且变强提升按钮也有弹出提示,可以通过这个事件和onRedPoint来处理要展示的数据
end
</code></pre>
<h3>攻击状态改变触发</h3>
<pre><code>function PanelName.onAttackState(state)
-- state=1.进入攻击状态; 2.退出攻击状态
end</code></pre>
<h3>查看他人数据更新</h3>
<pre><code>function PanelName.OnLookPlayerDataUpdate()
-- 查看他人数据更新 table 此时table内Items为服务端未解析过的装备信息数据
end</code></pre>
<h3>加入/退出行会触发</h3>
<pre><code>function PanelName.OnJoinOrExitGuild(param)
-- 加入/退出行会触发 {type = type, guildName = guildName}
-- type 类型: 1加入 2退出 [主玩家]
-- guildName: 加入时行会名称
end</code></pre>
<h2>服务端登录逻辑处理完后触发</h2>
<h3>客户端初始化完成</h3>
<pre><code>function PanelName.onClientInitDone()
-- 客户端初始化完成
end</code></pre>
<h3>登录事件</h3>
<pre><code>function PanelName.onLogin()
-- 登录事件
end</code></pre>
<h3>登录事件,可在该事件触发后推送红点</h3>
<pre><code>function PanelName.onLoginRedPoint()
-- 登录事件,可在该事件触发后推送红点
end</code></pre>
<h3>新角色触发</h3>
<pre><code>function PanelName.onNewRole()
-- 新角色触发
end</code></pre>
<h3>背包进入物品</h3>
<pre><code>function PanelName.onBagInItem(table)
-- 背包进入物品,参数 (table{type 0:初始化;1:增加;2:删除;3:改变,item物品数据})
end</code></pre>
<h3>背包进入物品</h3>
<pre><code>function PanelName.onBagInItemSchedule()
-- 背包进入物品,1秒内不管背包进入多少物品或删除多少物品,都只触发1次,参数(type 0:初始化;1:增加;2:删除;3:改变)
end</code></pre>
<h3>按钮点击事件</h3>
<pre><code>function PanelName.onClickButton(table)
-- 按钮点击事件,参数(table{按钮数据}) ,只针对cfg_ManageButton表里的按钮
end</code></pre>
<h3>按钮开启条件改变触发</h3>
<pre><code>function PanelName.onButtonChangeOpen(flag,t)
-- 按钮开启条件改变触发,参数(bool[true开放,false关闭],table{按钮数据})
end</code></pre>
<h3>按钮收起隐藏或展示触发</h3>
<pre><code>function PanelName.onButtonShow(boll)
-- 按钮收起隐藏或展示触发,参数(boll[true展示,false隐藏])
end</code></pre>
<h3>移动到指定坐标点触发</h3>
<pre><code>function PanelName.onMovePosition(flag,x,y)
-- 移动到指定坐标点触发,参数(flag[标记],x,y)
end</code></pre>
<h3>变量值改变触发,关联cfg_ManageVal表isUpdate字段</h3>
<pre><code>function PanelName.onChangeParam()
-- 变量值改变触发,关联cfg_ManageVal表isUpdate字段
end</code></pre>
<h3>转生等级发生改变,参数(reinLevel)</h3>
<pre><code>function PanelName.onReinLevel(reinLevel)
-- 转生等级发生改变,参数(reinLevel)
end</code></pre>
<h3>红点事件,参数(name,isRedPoint)</h3>
<pre><code>function PanelName.onRedPoint(name,isRedPoint)
-- 红点事件,参数(name,isRedPoint)
end</code></pre>
<h3>组别红点事件</h3>
<pre><code>function PanelName.onGroupRedPoint()
-- 组别红点事件
end</code></pre>
<h3>服务端下发变量初始化完毕</h3>
<pre><code>function PanelName.onInitParam()
-- 服务端下发变量初始化完毕
end</code></pre>
<h3>新任务开始触发</h3>
<pre><code>function PanelName.onNewTask(param)
-- 新任务开始触发,参数({type = 任务类型, id = 任务ID})
end</code></pre>
<h3>任务完成后触发</h3>
<pre><code>function PanelName.onEndTask(param)
-- 任务完成后触发,参数({type = 任务类型, id = 任务ID})
end</code></pre>
<h3>充值触发</h3>
<pre><code>function PanelName.onRecharge(param)
-- 充值触发({count = 充值金额,id = 产品ID, moneyId = 充值货币ID})
end</code></pre>
<h3>条件改变</h3>
<pre><code>function PanelName.onChangeCondi(param)
-- 条件改变({type = 条件类型,id = 条件id,state = true达成条件}),cfg_ManageCondi表isEvent的有值会触发该事件
end</code></pre>
<h3>跨天触发</h3>
<pre><code>function PanelName.onResetDay()
-- 跨天触发(每天12点初始化变量后触发)
end</code></pre>
<h3>活动状态改变触发</h3>
<pre><code>function PanelName.onActivityChange(param)
-- 活动状态改变触发,({id = 唯一ID,state = 0关闭,1预告,2开启,data = 活动配置数据})
end</code></pre>
<h3>角色战斗力改变</h3>
<pre><code>function PanelName.onChangeAttrCount(value)
-- 角色战斗力改变,参数(value)
end</code></pre>
<h3>创建itemShow触发</h3>
<pre><code>function PanelName.onCreateItemShow(t,itemshow)
-- 创建itemShow触发,参数(table(itemShow属性),itemShow) 只有调用框架内封装的创建itemShow方法才会触发
end</code></pre>
<h3>任务富文本herf点击事件</h3>
<pre><code>function PanelName.onClickTaskHerf()
-- 任务富文本herf点击事件
end</code></pre>
<h3>点击变强提升按钮</h3>
<pre><code>function PanelName.onClickStrong(panelName)
-- 点击变强提升按钮,参数(模块名称)
end</code></pre>
<h3>与npc对话前</h3>
<pre><code>function PanelName.onClickNpc(npcData)
-- 与npc对话前,参数(npcData)
end</code></pre>
<h3>大陆解锁</h3>
<pre><code>function PanelName.onChangeDalu(dalu)
-- 大陆解锁,(参数当前解锁大陆)
end</code></pre>
<h3>客户端重载前触发</h3>
<pre><code>function PanelName.onBeforeReload()
-- 客户端重载前触发
end</code></pre>
<h3>多页签界面</h3>
<pre><code>function PanelName.onJumpToPanel()
-- 多页签界面,跳转页签触发
end</code></pre>
<h3>检查道具不足时触发,关联player:check_items方法</h3>
<pre><code>function PanelName.onCheckItem(itemId)
-- 检查道具不足时触发,关联player:check_items方法 参数(itemId)
end</code></pre>
<h3>关联cfg_ManageGlobal表ID100100,字段param任意值后开启此事件</h3>
<pre><code>function PanelName.onGlobalTimer()
-- 关联cfg_ManageGlobal表ID100100,字段param任意值后开启此事件
end</code></pre>
<h3>BOSS复活触发</h3>
<pre><code>function PanelName.onBossRevive(param)
-- BOSS复活触发,参数({name,monId,mapId}),关联cfg_ManageBoss表
end</code></pre>
<h3>BOSS死亡触发</h3>
<pre><code>function PanelName.onBossDie(param)
-- BOSS复活触发,参数({name,monId,mapId}),关联cfg_ManageBoss表
end</code></pre>
<h3>客户端重载事件</h3>
<pre><code>function PanelName.onReload()
-- 客户端重载事件
end</code></pre>
<h3>断线重连</h3>
<pre><code>function PanelName.onRoleDisconnect()
-- 断线重连
end</code></pre>
<h3>选中目标改变</h3>
<pre><code>function PanelName.onTargetChange(param)
-- 选中目标改变 {actorID = actorID, actorName = actorName, curHP = curHP, maxHP = maxHP, level = level, type = type, masterID = masterID, typeID = typeID } type: 类型 1玩家 2怪 masterID: 主人ID typeID: 怪物表配置IDX
end</code></pre>
<h3>已选中的目标血量变化</h3>
<pre><code>function PanelName.onRefreshTargetHP(param)
-- 已选中的目标血量变化 {userID = userID, curHP = curHP, maxHP = maxHP}
end</code></pre>
<h3>创建按钮触发,关联cfg_ManageButton表</h3>
<pre><code>function PanelName.onCreateButton()
-- 创建按钮触发,关联cfg_ManageButton表
end</code></pre>
<h2>界面事件</h2>
<h3>打开界面前触发事件</h3>
<pre><code>function PanelName.onOpenPanelBefore(name)
-- 打开界面前触发事件,参数(name)
end</code></pre>
<h3>关闭界面前触发事件</h3>
<pre><code>function PanelName.onClosePanelBefore()
-- 关闭界面前触发事件,参数(name)
end</code></pre>
<h3>打开界面后触发事件</h3>
<pre><code>function PanelName.onOpenPanel(param)
-- 打开界面后触发事件,参数({name = 模块名称,parent = 父节点,ccui = 界面组件})
end</code></pre>
<h3>关闭界面后触发事件,参数(name)</h3>
<pre><code>function PanelName.onClosePanel()
-- 关闭界面后触发事件,参数(name)
end</code></pre>
<h3>开启功能触发</h3>
<pre><code>function PanelName.onOpenModel(id,name)
-- 开启功能触发,参数(id,name) [id界面唯一ID; name界面名称]
end</code></pre>
<h3>关闭功能触发</h3>
<pre><code>function PanelName.onCloseModel(id,name)
-- 关闭功能触发,参数(id,name) [id界面唯一ID; name界面名称]
end</code></pre>
<h2>BOSS事件(cfg_ManageBossFresh表配置的BOSS数据)</h2>
<h3>角色登录后,BOSS刷新时间初始化完毕</h3>
<pre><code>function PanelName.onInitBoss()
-- 角色登录后,BOSS刷新时间初始化完毕
end</code></pre>
<h3>BOSS复活或死亡触发</h3>
<pre><code>function PanelName.onChangeBoss(param)
-- BOSS复活或死亡触发,参数({monId,type}) type(0.初始化;1.复活;2.死亡)
end</code></pre>
<h3>BOSS提醒状态改变触发</h3>
<pre><code>function PanelName.onChangeBossTips(monId,state)
-- BOSS提醒状态改变触发,参数(monId,state) state(true开启,false关闭)
end</code></pre>
<h2>任务事件,关联cfg_ManageTask表</h2>
<h3>初始化任务</h3>
<pre><code>function PanelName.onTaskInit(param)
-- 初始化任务,角色登录时触发,参数({id,type})
end</code></pre>
<h3>开始任务触发</h3>
<pre><code>function PanelName.onTaskBegin(param)
-- 开始任务触发,参数({id,type})
end</code></pre>
<h3>更新任务触发</h3>
<pre><code>function PanelName.onTaskUpdate(param)
-- 更新任务触发,参数({id,type}),完成任务后不会在触发
end</code></pre>
<h3>更新任务触发</h3>
<pre><code>function PanelName.onTaskUpdateEx(param)
-- 更新任务触发,参数({id,type}),完成任务后也会触发,一直到领取完奖励后不在触发
end</code></pre>
<h3>完成任务触发</h3>
<pre><code>function PanelName.onTaskDone(param)
-- 完成任务触发,参数({id,type})
end</code></pre>
<h3>任务结束触发</h3>
<pre><code>function PanelName.onTaskEnded(param)
-- 任务结束触发,参数({id,type})
end</code></pre>
<h3>完成一组任务触发(此刻可领取组别奖励)</h3>
<pre><code>function PanelName.onTaskGroupDone(group)
-- 完成一组任务触发(此刻可领取组别奖励),参数(group)
end</code></pre>
<h3>结束一组任务触发(此刻已领取组别奖励)</h3>
<pre><code>function PanelName.onTaskGroupEnded(group)
-- 结束一组任务触发(此刻已领取组别奖励),参数(group)
end</code></pre>
<h3>跳到下一个任务触发</h3>
<pre><code>function PanelName.onJumpToNextOneTask(param)
-- 跳到下一个任务触发,参数({id,type})
end</code></pre>
<h3>跳到下一组任务触发</h3>
<pre><code>function PanelName.onJumpToNextGroupTask(param)
-- 跳到下一组任务触发,参数({id,type,group})
end</code></pre>
<h3>任务需要隐藏和显示触发</h3>
<pre><code>function PanelName.onTaskVisible(bool)
-- 任务需要隐藏和显示触发,参数(bool) true需要显示任务,false需要隐藏任务
end</code></pre>
<h3>npc需要任务对话</h3>
<pre><code>function PanelName.onNpcTaskTalk(npcId,taskId,taskType)
-- npc需要任务对话,参数(npcId,taskId,taskType)
end</code></pre>
<h3>需要引导任务事件,参数({id,param})</h3>
<pre><code>function PanelName.onTaskGuide(param)
-- 需要引导任务事件,参数({id,param})
end</code></pre>
<h2>装扮相关</h2>
<h3>激活装扮触发</h3>
<pre><code>function PanelName.onFashionActivate(itemid)
-- 激活装扮触发,参数(itemid)
end</code></pre>
<h3>穿戴装扮触发</h3>
<pre><code>function PanelName.onFashionWear(itemid)
-- 穿戴装扮触发,参数(itemid)
end</code></pre>
<h3>卸下装扮触发</h3>
<pre><code>function PanelName.onFashionTake(itemid)
-- 卸下装扮触发,参数(itemid)
end</code></pre>
<h3>移除装扮触发</h3>
<pre><code>function PanelName.onFashionRemove(itemid)
-- 移除装扮触发,参数(itemid)
end</code></pre>
<h3>升级装扮触发</h3>
<pre><code>function PanelName.onFashionUpdate(param)
-- 升级装扮触发,参数({itemid,level})
end</code></pre>
<h2>需要返回值的事件</h2>
<h3>点击道具tips事件</h3>
<pre><code>function PanelName.onItemTips(itemData)
-- 点击道具tips事件,参数(itemData) 返回值:widget
end</code></pre>
<h3>点击背包选中物品事件</h3>
<pre><code>function PanelName.onBagItemChooseEx(makeId)
-- 点击背包选中物品事件,参数(makeId) 返回值:true阻止弹tips
end</code></pre>
<h3>增加组件到tips界面底版上</h3>
<pre><code>function PanelName.onAddWidgetToTipsPanel(itemData,tipsPanel)
-- 增加组件到tips界面底版上,参数(itemData,tipsPanel)
end</code></pre>
<h3>角色货币数据改变</h3>
<pre><code>function PanelName.OnPlayerMoneyChange(param)
-- 角色货币数据改变 {id = id, count = count} 发生改变的货币id和数量
end</code></pre>
<h3>引导事件</h3>
<pre><code>function PanelName.onGuide(param)
-- 引导事件({id = 引导ID,state = 状态(1.开始,2.结束)})
end</code></pre>
<h1>3.40.xx事件</h1>
<h3>地图初始化</h3>
<p><code>onInitMap</code></p>
<pre><code class="language-lua">function PanelName.onInitMap(t)
-- 地图初始化,参数table — {mapID = mapID}
end</code></pre>
<h3>地图状态改变</h3>
<p><code>onChangeMapState</code></p>
<pre><code class="language-lua">function PanelName.onChangeMapState(bool)
-- 地图状态改变,参数boolen — 是否在安全区域
end</code></pre>
<h3>地图改变(不同地图)</h3>
<p><code>onMapInfoChange</code></p>
<pre><code class="language-lua">function PanelName.onMapInfoChange(param)
-- 地图改变(不同地图) {mapID = mapID, lastMapID = lastMapID}
end</code></pre>
<h3>切换地图(包含同地图)</h3>
<p><code>onChangeScene</code></p>
<pre><code class="language-lua">function PanelName.onChangeScene(param)
-- 切换地图(包含同地图) {mapID = mapID}
end</code></pre>
<h3>玩家角色属性初始化完毕</h3>
<p><code>onPlayerPropertyInited</code></p>
<pre><code class="language-lua">function PanelName.onPlayerPropertyInited()
-- 玩家角色属性初始化完毕
end</code></pre>
<h3>角色等级发生改变</h3>
<p><code>onPlayerLevelChange</code></p>
<pre><code class="language-lua">function PanelName.onPlayerLevelChange(param)
-- 角色等级发生改变 {currlevel = currlevel, lastlevel = lastlevel}
end</code></pre>
<h3>角色属性发生改变</h3>
<p><code>onPlayerPropertyChange</code></p>
<pre><code class="language-lua">function PanelName.onPlayerPropertyChange()
-- 角色属性发生改变
end</code></pre>
<h3>角色hp/mp发生改变</h3>
<p><code>OnPlayerManaChange</code></p>
<pre><code class="language-lua">function PanelName.OnPlayerManaChange(param)
-- 角色hp/mp发生改变 {curHP = curHP, maxHP = maxHP, curMP = curMP, maxMP = maxMP, roleName = roleName}
end</code></pre>
<h3>货币改变</h3>
<p><code>OnPlayerMoneyChangeOld</code></p>
<pre><code class="language-lua">function PanelName.OnPlayerMoneyChangeOld(param)
-- 货币改变 table — {id = 货币ID, count = 货币值}
end</code></pre>
<h3>穿戴装备</h3>
<p><code>OnTakeOnEquip</code></p>
<pre><code class="language-lua">function PanelName.OnTakeOnEquip(param)
-- 穿戴装备 {isSuccess = isSuccess} isSuccess: boolean 成功/失败 pos: 成功时返回装备位id
end</code></pre>
<h3>脱掉装备</h3>
<p><code>OnTakeOffEquip</code></p>
<pre><code class="language-lua">function PanelName.OnTakeOffEquip(param)
-- 脱掉装备 {isSuccess = isSuccess} isSuccess: boolean 成功/失败 pos: 成功时返回装备位id
end</code></pre>
<h3>电量改变</h3>
<p><code>OnBatteryValueChange</code></p>
<pre><code class="language-lua">function PanelName.OnBatteryValueChange(value)
-- 电量改变 value 电量百分比值
end</code></pre>
<h3>玩家经验值改变</h3>
<p><code>OnPlayerExpChange</code></p>
<pre><code class="language-lua">function PanelName.OnPlayerExpChange(param)
-- 玩家经验值改变 table — {currexp = 当前经验值, changed = 改变值}
end</code></pre>
<h3>网络状态改变</h3>
<p><code>OnNetStateChange</code></p>
<pre><code class="language-lua">function PanelName.OnNetStateChange(type)
-- 网络状态改变 参数(类型) -1:未知 0:wifi 1:2G 2:3G 3:4G
end</code></pre>
<h3>背包数据操作</h3>
<p><code>OnBagOperData</code></p>
<pre><code class="language-lua">function PanelName.OnBagOperData(param)
-- 背包数据操作 {opera = opera, operID = operID} -- opera类型: 0:初始化 1:增加 2:删除 3:改变 operID 物品数据: table
end</code></pre>
<h3>自动战斗开始</h3>
<p><code>OnAutoFightBegin</code></p>
<pre><code class="language-lua">function PanelName.OnAutoFightBegin()
-- 自动战斗开始
end</code></pre>
<h3>自动战斗结束</h3>
<p><code>OnAutoFightEnd</code></p>
<pre><code class="language-lua">function PanelName.OnAutoFightEnd()
-- 自动战斗结束
end</code></pre>
<h3>角色装备数据操作</h3>
<p><code>OnPlayerEquipInit</code></p>
<pre><code class="language-lua">function PanelName.OnPlayerEquipInit(param)
-- 角色装备数据操作table — {MakeIndex = 唯一ID, Where = 装备位置, opera = 操作类型 ( 0:初始化 1:增加 2:删除 3:改变), ItemData = 装备数据}
end</code></pre>
<h3>富文本超链(href)点击触发</h3>
<p><code>OnRichTextOpenUrl</code></p>
<pre><code class="language-lua">function PanelName.OnRichTextOpenUrl()
-- 富文本超链(href)点击触发
end</code></pre>
<h3>玩家行会信息改变</h3>
<p><code>onChangePlayerGuildInfo</code></p>
<pre><code class="language-lua">function PanelName.onChangePlayerGuildInfo()
-- 玩家行会信息改变
end</code></pre>
<h3>跨服状态改变</h3>
<p><code>onChangeStateKF</code></p>
<pre><code class="language-lua">function PanelName.onChangeStateKF(bool)
-- 跨服状态改变,参数boolean — true:进入跨服false: 退出跨服
end</code></pre>
<h3>主玩家死亡</h3>
<p><code>OnMainPlayerDie</code></p>
<pre><code class="language-lua">function PanelName.OnMainPlayerDie()
-- 主玩家死亡
end</code></pre>
<h3>主玩家复活</h3>
<p><code>OnMainPlayerRevive</code></p>
<pre><code class="language-lua">function PanelName.OnMainPlayerRevive()
-- 主玩家复活
end</code></pre>
<h3>主玩家buff变动</h3>
<p><code>OnMainPlayerBuffChange</code></p>
<pre><code class="language-lua">function PanelName.OnMainPlayerBuffChange(param)
-- 主玩家buff变动 table — {actorID = 玩家id, buffID = buffID, type = 类型(0: 删除 1: 新增 2: 刷新)}
end</code></pre>
<h3>快捷栏物品数据操作</h3>
<p><code>OnQuickUseOperData</code></p>
<pre><code class="language-lua">function PanelName.OnQuickUseOperData(param)
-- 快捷栏物品数据操作 table — {opera = 操作类型 ( 0:初始化 1:增加 2:删除 3:改变), param = 具体数据(table)}
end</code></pre>
<h3>离开游戏世界</h3>
<p><code>onLeaveWorld</code></p>
<pre><code class="language-lua">function PanelName.onLeaveWorld()
-- 离开游戏世界 小退触发
end</code></pre>
<h3>自动寻路开始</h3>
<p><code>OnAutoMoveBegin</code></p>
<pre><code class="language-lua">function PanelName.OnAutoMoveBegin(param)
-- 自动寻路开始 table — {mapID = 目标地图ID, x = 目标坐标X, y = 目标坐标Y}
end</code></pre>
<h3>自动寻路结束</h3>
<p><code>OnAutoMoveEnd</code></p>
<pre><code class="language-lua">function PanelName.OnAutoMoveEnd()
-- 自动寻路结束
end</code></pre>
<h3>原有界面关闭触发</h3>
<p><code>onCloseServerPanel</code></p>
<pre><code class="language-lua">function PanelName.onCloseServerPanel(id)
-- 原有界面关闭触发,参数string — GUI界面ID
end</code></pre>
<h3>不确定</h3>
<p><code>onOpenServerPanel</code></p>
<pre><code class="language-lua">function PanelName.onOpenServerPanel()
--
end</code></pre>
<h3>窗体尺寸改变</h3>
<p><code>onChangeWindow</code></p>
<pre><code class="language-lua">function PanelName.onChangeWindow()
-- 窗体尺寸改变
end</code></pre>
<h3>设备方向改变</h3>
<p><code>onChangeDeviceDir</code></p>
<pre><code class="language-lua">function PanelName.onChangeDeviceDir()
-- 设备方向改变
end</code></pre>
<h3>行会信息刷新</h3>
<p><code>onUpdateGuildInfo</code></p>
<pre><code class="language-lua">function PanelName.onUpdateGuildInfo()
-- 行会信息刷新
end</code></pre>
<h3>行会创建消耗</h3>
<p><code>onCreateGuildConsume</code></p>
<pre><code class="language-lua">function PanelName.onCreateGuildConsume()
-- 行会创建消耗
end</code></pre>
<h3>世界行会列表刷新</h3>
<p><code>onUpdateAllGuildList</code></p>
<pre><code class="language-lua">function PanelName.onUpdateAllGuildList()
-- 世界行会列表刷新
end</code></pre>
<h3>入会申请列表刷新</h3>
<p><code>onUpdateGuildList</code></p>
<pre><code class="language-lua">function PanelName.onUpdateGuildList()
-- 入会申请列表刷新
end</code></pre>
<h3>结盟申请列表刷新</h3>
<p><code>onUpdateAllyGuildList</code></p>
<pre><code class="language-lua">function PanelName.onUpdateAllyGuildList()
-- 结盟申请列表刷新
end</code></pre>
<h3>对方交易货币改变</h3>
<p><code>onTargetChangeTradeMoney</code></p>
<pre><code class="language-lua">function PanelName.onTargetChangeTradeMoney(param)
-- 对方交易货币改变,参数table — {count = 货币数量}
end</code></pre>
<h3>自己交易货币改变</h3>
<p><code>onMyChangeTradeMoney</code></p>
<pre><code class="language-lua">function PanelName.onMyChangeTradeMoney(param)
-- 自己交易货币改变,参数table — {count = 货币数量}
end</code></pre>
<h3>对方交易状态改变</h3>
<p><code>onTargetChangeTradeState</code></p>
<pre><code class="language-lua">function PanelName.onTargetChangeTradeState()
-- 对方交易状态改变
end</code></pre>
<h3>自己交易状态改变</h3>
<p><code>onMyChangeTradeState</code></p>
<pre><code class="language-lua">function PanelName.onMyChangeTradeState()
-- 自己交易状态改变
end</code></pre>
<h3>添加好友</h3>
<p><code>onAddFirend</code></p>
<pre><code class="language-lua">function PanelName.onAddFirend(name)
-- 添加好友,参数string — 好友名
end</code></pre>
<h3>删除好友</h3>
<p><code>onRemoveFirend</code></p>
<pre><code class="language-lua">function PanelName.onRemoveFirend(name)
-- 删除好友,参数string — 好友名
end</code></pre>
<h3>加入队伍</h3>
<p><code>onJoinTeam</code></p>
<pre><code class="language-lua">function PanelName.onJoinTeam(name)
-- 加入队伍,参数string — 成员名
end</code></pre>
<h3>离开队伍</h3>
<p><code>onLeaveTeam</code></p>
<pre><code class="language-lua">function PanelName.onLeaveTeam(name)
-- 离开队伍,参数string — 成员名
end</code></pre>
<h3>刷新背包道具列表</h3>
<p><code>onFreshRoleBag</code></p>
<pre><code class="language-lua">function PanelName.onFreshRoleBag()
-- 刷新背包道具列表
end</code></pre>
<h3>上马事件</h3>
<p><code>onMountUp</code></p>
<pre><code class="language-lua">function PanelName.onMountUp(param)
-- 上马事件,参数table — {actorID = actorID}
end</code></pre>
<h3>下马事件</h3>
<p><code>onMountDown</code></p>
<pre><code class="language-lua">function PanelName.onMountDown(param)
-- 下马事件,参数table — {actorID = actorID}
end</code></pre>
<h3>进入攻城区域触发</h3>
<p><code>onEnterShaCheng</code></p>
<pre><code class="language-lua">function PanelName.onEnterShaCheng()
-- 进入攻城区域触发
end</code></pre>
<h3>客服会话新消息</h3>
<p><code>onKeFuNews</code></p>
<pre><code class="language-lua">function PanelName.onKeFuNews(param)
-- 客服会话新消息,参数table — {message = 消息内容(string)}
end</code></pre>
<h3>客服会话未读消息个数变化</h3>
<p><code>onKeFuUnRead</code></p>
<pre><code class="language-lua">function PanelName.onKeFuUnRead(param)
-- 客服会话未读消息个数变化,参数table — {unReadNums = 未读消息个数(int)}
end</code></pre>
<h3>客服会话结束</h3>
<p><code>onKeFuClose</code></p>
<pre><code class="language-lua">function PanelName.onKeFuClose()
-- 客服会话结束
end</code></pre>
<h3>主玩家buff刷新</h3>
<p><code>onChangeBuffMain</code></p>
<pre><code class="language-lua">function PanelName.onChangeBuffMain(param)
-- 主玩家buff刷新,参数table — {actorID = 玩家id, buffID = buffID, type = 类型(0: 删除 1: 新增 2: 刷新)}
end</code></pre>
<h3>通用buff刷新</h3>
<p><code>onChangeBuff</code></p>
<pre><code class="language-lua">function PanelName.onChangeBuff(param)
-- 通用buff刷新,参数table — {actorID = 玩家id, buffID = buffID, type = 类型(0: 删除 1: 新增 2: 刷新)}
end</code></pre>
<h3>玩家/怪物/NPC进视野</h3>
<p><code>onActorInView</code></p>
<pre><code class="language-lua">function PanelName.onActorInView(param)
-- 玩家/怪物/NPC进视野,参数table — {id = ActorID}
end</code></pre>
<h3>玩家/怪物/NPC出视野</h3>
<p><code>onActorOutView</code></p>
<pre><code class="language-lua">function PanelName.onActorOutView(param)
-- 玩家/怪物/NPC出视野,参数table — {id = ActorID}
end</code></pre>
<h3>掉落物进视野</h3>
<p><code>onDropItemInView</code></p>
<pre><code class="language-lua">function PanelName.onDropItemInView(param)
-- 掉落物进视野,参数table — {actorID = ActorID, item = 掉落物相关数据(table)}
end</code></pre>
<h3>目标归属改变</h3>
<p><code>onChangeActorOwner</code></p>
<pre><code class="language-lua">function PanelName.onChangeActorOwner(param)
-- 目标归属改变,参数table — {actorID = 目标ID}
end</code></pre>
<h3>目标改变</h3>
<p><code>onChangeTargetSL</code></p>
<pre><code class="language-lua">function PanelName.onChangeTargetSL(actorID)
-- 目标改变,参数(actorID)
end</code></pre>
<h3>目标血量变化</h3>
<p><code>onRefreshTargetHPSL</code></p>
<pre><code class="language-lua">function PanelName.onRefreshTargetHPSL(param)
-- 目标血量变化,参数({actorID = 目标ID})
end</code></pre>
<h3>改变pk模式</h3>
<p><code>onChangePkMode</code></p>
<pre><code class="language-lua">function PanelName.onChangePkMode(mode)
-- 改变pk模式,参数(int — 当前PK模式)
end</code></pre>
<h3>与NPC对话触发</h3>
<p><code>onClickNpcTalk</code></p>
<pre><code class="language-lua">function PanelName.onClickNpcTalk(param)
-- table — {UserID = npcID, index = NPC配置ID, name = NPC名称}
end</code></pre>
<h3>(事件可能有问题)玩家行为状态改变</h3>
<p><code>OnActionBegin</code></p>
<pre><code class="language-lua">function PanelName.OnActionBegin(mode)
-- (事件可能有问题)玩家行为状态改变(站立、走、跑等),参数int — 主玩家动作 1走路 2跑步 [主玩家]
end</code></pre>
<h3>主玩家行为动作开始</h3>
<p><code>onPlayerActionBegin</code></p>
<pre><code class="language-lua">function PanelName.onPlayerActionBegin(param)
-- 主玩家行为动作开始(站立、走、跑等),参数table — {id = 玩家ID, act = 动作ID}
end</code></pre>
<h3>玩家/怪物 GM自定义数据改变</h3>
<p><code>onChangeActorCustomData</code></p>
<pre><code class="language-lua">function PanelName.onChangeActorCustomData(param)
-- 玩家/怪物 GM自定义数据改变,参数table — {id = ActorID, data = GM自定义数据}
end</code></pre>
<h3>初始化技能</h3>
<p><code>onInitSkill</code></p>
<pre><code class="language-lua">function PanelName.onInitSkill(param)
-- 初始化技能,参数table — 技能数据
end</code></pre>
<h3>新增技能</h3>
<p><code>onAddSkill</code></p>
<pre><code class="language-lua">function PanelName.onAddSkill(param)
-- 新增技能,参数table — 技能数据
end</code></pre>
<h3>删除技能</h3>
<p><code>onRemoveSkill</code></p>
<pre><code class="language-lua">function PanelName.onRemoveSkill(param)
-- 删除技能,参数table — 技能数据
end</code></pre>
<h3>技能更新</h3>
<p><code>onUpdateSkill</code></p>
<pre><code class="language-lua">function PanelName.onUpdateSkill(param)
-- 技能更新,参数table — 技能数据
end</code></pre>
<h3>设置-技能数据添加</h3>
<p><code>onSettingAddSkill</code></p>
<pre><code class="language-lua">function PanelName.onSettingAddSkill(param)
-- 设置-技能数据添加,参数table — 技能数据
end</code></pre>
<h3>角色框增加子页</h3>
<p><code>onRoleBoxAddSubPage</code></p>
<pre><code class="language-lua">function PanelName.onRoleBoxAddSubPage(param)
-- 角色框增加子页,参数table — {child = 子页控件, index = 对应pageId, init = 是否初始化}
end</code></pre>
<h3>角色外框角色名刷新 </h3>
<p><code>onUpdateRoleBoxPlayerName</code></p>
<pre><code class="language-lua">function PanelName.onUpdateRoleBoxPlayerName()
-- 角色外框角色名刷新
end</code></pre>
<h3>查看他人角色框增加子页</h3>
<p><code>onTargetRoleBoxAddSubPage</code></p>
<pre><code class="language-lua">function PanelName.onTargetRoleBoxAddSubPage(param)
-- 查看他人角色框增加子页,参数table — {child = 子页控件, index = 对应pageId, init = 是否初始化}
end</code></pre>
<h3>怪物死亡</h3>
<p><code>onMonsterDie</code></p>
<pre><code class="language-lua">function PanelName.onMonsterDie(param)
-- 怪物死亡,参数table — {id = 怪物ID},视野范围内怪物死亡都会触发包括其他玩家击杀 支持版本号3.40.3以上
end</code></pre>
<h3>NPC界面打开/关闭状态刷新</h3>
<p><code>onNpcOpenPanelState</code></p>
<pre><code class="language-lua">function PanelName.onNpcOpenPanelState(bool)
-- NPC界面打开/关闭状态刷新,参数boolean — true: 打开 false: 关闭
end</code></pre>
<h3>小地图怪物数据刷新</h3>
<p><code>onMinimapUpdateMonster</code></p>
<pre><code class="language-lua">function PanelName.onMinimapUpdateMonster()
-- 小地图怪物数据刷新,参数 支持版本号3.40.2以上
end</code></pre>
<h3>进入游戏世界 主界面已经初始化</h3>
<p><code>onEnterGameWorld</code></p>
<pre><code class="language-lua">function PanelName.onEnterGameWorld()
-- 进入游戏世界 主界面已经初始化
end</code></pre>