LuaQuick框架(服务端)

996传奇引擎三端lua快速开发


后端触发

<p>[TOC]</p> <p><strong>PanelName</strong> 改为你的模块名称</p> <p>    </p> <h2>新增触发</h2> <h3>本服接收跨服消息</h3> <pre><code>function PanelName.onBenFuData(actor,param)     if actor and param then         if param.action == &amp;quot;&amp;quot; then         end     end end</code></pre> <h3>跨服接收本服消息</h3> <pre><code>function PanelName.onKuaFuData(actor,param)     if actor and param then         if param.action == &amp;quot;&amp;quot; then         end     end end</code></pre> <h3>攻击状态改变</h3> <pre><code>function PanelName.onAttackState(actor,state) --  玩家攻击状态改变事件,参数(actor = 玩家对象,state=1.进入攻击状态; 2.退出攻击状态) end </code></pre> <h2>引用数据事件</h2> <pre><code> data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1             data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)             data.addValue = 0 --累计增伤             data.subValue = 0 --累计减伤             data.stop     = true --停止该事件继续派发,如 data.value=1 ,那么伤害就为1</code></pre> <h3>玩家推动技能</h3> <pre><code> function PanelName.onCanPush(actor,target,hiter,magicId)  --[[      玩家推动技能(野蛮冲撞/抗拒火环/气波功/自定义推动技能)施法前触发,参数(actor,target,hiter,magicId)      返回值(0.不执行推动; 1.执行推动; 2.根据M2上的推动条件判断是否执行)(默认2)  ]] return 2  end  ``` ### 宝宝攻击前触发</code></pre> <p> function PanelName.onAttackDamagebb(actor,target,hiter,magincId,damage,isPlayer,data)         --[[             宝宝攻击前触发             actor     玩家对象             target    受击对象             hiter     攻击对象             magincId  技能id             damage    伤害值             isPlayer  受击对象是否是玩家             data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1             data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)             data.addValue = 0 --累计增伤             data.subValue = 0 --累计减伤             data.stop     = true --停止该事件继续派发,如 data.value=1 ,那么伤害就为1         ]]</p> <p> end  ```</p> <h3>英雄宝宝攻击前触发</h3> <pre><code> function PanelName.onHeroAttackDamagebb(actor,target,hiter,magincId,damage,isPlayer,data )         --[[             英雄宝宝攻击前触发             actor     玩家对象             target    受击对象             hiter     攻击对象             magincId  技能id             damage    伤害值             isPlayer  受击对象是否是玩家             data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1             data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)             data.addValue = 0 --累计增伤             data.subValue = 0 --累计减伤             data.stop     = true --停止该事件继续派发,如 data.value=1 ,那么伤害就为1         ]]  end  ``` ### 宠物攻击前触发</code></pre> <p> function PanelName.onAttackDamagePet(actor,target,petObj,magicId,damage,isImportant,isPlayer,data)         --[[             宠物攻击前触发             actor        玩家对象             target       目标对象             petObj       宠物对象             magicId      技能id             damage       伤害值             isImportant  是否主目标             isPlayer     受击对象是否是玩家             data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1             data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)             data.addValue = 0 --累计增伤             data.subValue = 0 --累计减伤             data.stop     = true --停止该事件继续派发         ]]</p> <p> end  ```</p> <h3>英雄受击前触发</h3> <pre><code> function PanelName.onHeroStruckDamage(actor,hiter,target,magicId,damage,isPlayer,data)         --[[             英雄受击前触发             actor,    玩家对象             hiter,    攻击对象             target,   受击对象             magicId,  技能id             damage,   伤害值             isPlayer, 攻击对象是否是玩家             data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1             data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)             data.addValue = 0 --累计增伤             data.subValue = 0 --累计减伤             data.stop     = true --停止该事件继续派发         ]]  end  ``` ### 玩家宝宝受击前触发</code></pre> <p> function PanelName.onStruckDamagebb(actor,hiter,target,magicId,damage,isPlayer,data)         --[[             玩家宝宝受击前触发             actor    玩家对象             hiter    攻击对象             target   受击对象             magicId  技能id             damage   伤害值             isPlayer 攻击对象是否是玩家             data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1             data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)             data.addValue = 0 --累计增伤             data.subValue = 0 --累计减伤             data.stop     = true --停止该事件继续派发         ]]</p> <p> end  ```</p> <h3>英雄宝宝受击前触发</h3> <pre><code> function PanelName.onHeroStruckDamagebb(actor,hiter,target,magicId,damage,isPlayer,data)          --[[              英雄宝宝受击前触发              actor    玩家对象              hiter    攻击对象              target   受击对象              magicId  技能id              damage   damage              isPlayer 攻击对象是否是玩家              data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1              data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)              data.addValue = 0 --累计增伤              data.subValue = 0 --累计减伤              data.stop     = true --停止该事件继续派发          ]]  end  ```  ###  宠物被攻击后触发  ```  function PanelName.onStruckDamagePet(actor,hiter,petIdx,magicId,damage,isImportant,isPlayer,data)         --[[             宠物被攻击后触发             actor       玩家对象             hiter       目标对象             petIdx      宠物对象             magicId     技能id             damage      伤害值             isImportant 是否主目标             isPlayer    攻击对象是否是玩家             data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1             data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)             data.addValue = 0 --累计增伤             data.subValue = 0 --累计减伤             data.stop     = true --停止该事件继续派发         ]]  end  ``` ### 暴击触发</code></pre> <p> function PanelName.onCrittrigger(actor,target,damage,magicId,isPlayer,data)         --[[             actor     玩家对象             target    受击对象             damage    暴击后伤害值             magicId   技能ID             isPlayer  攻击对象是否是玩家             data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1             data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)             data.addValue = 0 --累计增伤             data.subValue = 0 --累计减伤             data.stop     = true --停止该事件继续派发,如 data.value=1 ,那么伤害就为1         ]]</p> <p> end  ```</p> <h3>玩家攻击前触发 攻击触发</h3> <pre><code> function PanelName.onAttackDamage(actor,target,hiter,magincId,damage,model,isPlayer,data)          --[[             玩家攻击前触发             actor     玩家对象             target    受击对象             hiter     攻击对象             magincId  技能id             damage    伤害值             model     当前攻击模式 0.正常;1.暴击; 2.格挡; 3.切割;             isPlayer  受击对象是否是玩家             data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1             data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)             data.addValue = 0 --累计增伤             data.subValue = 0 --累计减伤             data.stop     = true --停止该事件继续派发,如 data.value=1 ,那么伤害就为1         ]]  end  ``` ### 玩家受击前触发</code></pre> <p> function PanelName.onStruckDamage(actor,hiter,target,magicId,damage,isPlayer,data)          --[[             玩家受击前触发             actor    玩家对象             hiter    攻击对象             target   受击对象             magicId  技能id             damage   伤害值             isPlayer 攻击对象是否是玩家             data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1             data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)             data.addValue = 0 --累计增伤             data.subValue = 0 --累计减伤             data.stop     = true --停止该事件继续派发,如 data.value=1 ,那么伤害就为1         ]]</p> <p> end</p> <pre><code> ### 英雄攻击前触发</code></pre> <p> function PanelName.onHeroAttackDamage(actor,target,hiter,magincId,damage,isPlayer,data)          --[[              英雄攻击前触发              actor     玩家对象              target    受击对象              hiter     攻击对象              magincId  技能id              damage    伤害值              isPlayer  受击对象是否是玩家              data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1              data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)              data.addValue = 0 --累计增伤              data.subValue = 0 --累计减伤              data.stop     = true --停止该事件继续派发,如 data.value=1 ,那么伤害就为1          ]]</p> <p> end  ```</p> <h3>伤害反弹前触发</h3> <pre><code>function PanelName.onReboundhurt(actor,target,damage,magicId,isPlayer,data) --[[             伤害反弹前触发             actor    玩家对象             target   伤害来源对象             damage   伤害值             magicId  技能ID             isPlayer 伤害来源对象是否是玩家             data     需要处理的数据(引用),如 data.value=1 ,那么伤害就为1             data.value    = 0 --固定伤害值(固定伤害大于0,则忽略累计增伤和累计减伤)             data.addValue = 0 --累计增伤             data.subValue = 0 --累计减伤             data.stop     = true --停止该事件继续派发,如 data.value=1 ,那么伤害就为1         ]] end </code></pre> <h2>引擎无返回值事件</h2> <h3>m2启动触发</h3> <p>        function PnaleName.onStartUp()     -- m2启动触发         end     </p> <h3>登录事件</h3> <p>        function PnaleName.onLogin(actor)     -- 登录事件</p> <p>    end     </p> <h3>聊天前置触发</h3> <p>        function PnaleName.onTriggerChat(self,sMsg,chat,msgType,result)     -- 聊天前置触发     -- self object  否       玩家对象     -- sMsg string  否       说话内容     -- chat integer 否       聊天频道     --  1:系统     --  2:喊话     --  3:私聊     --  4:行会     --  5:组队     --  6:附近     --  7:世界     --  8:国家     --  9:联盟     --  40:行会通知     -- msgType  string  否       消息类型     --  1:普通消息     --  2:坐标     --  3:装备     --  5:系统通知消息,需使用特定富文本解析     --  6:系统通知消息,需使用FColor特定富文本解析     --  7:系统通知消息,需使用SRText特定富文本解析     --  8:猜拳     -- result   bool    否       是否终止说话</p> <p>    end                 </p> <h3>穿戴装备后触发</h3> <p>        function PnaleName.onTakeOnex(actor,itemobj,where,itemName,makeIndex,itemid)     -- 穿戴装备后触发     -- 参数(actor,itemobj,where,itemName,makeIndex,itemid)</p> <p>    end     </p> <h3>脱掉装备后触发</h3> <p>        function PnaleName.onTakeOffex(actor,itemobj,where,itemName,makeIndex,itemid)     -- 脱掉装备后触发     -- 参数(actor,itemobj,where,itemName,makeIndex,itemid)</p> <p>    end     </p> <h3>玩家穿戴装备前触发</h3> <p>        function PnaleName.onTakeOnBeforeEx(actor,itemobj)     -- 玩家穿戴装备前触发     -- 参数(actor,itemobj)  支持返回False、stop命令中止</p> <p>    end     </p> <h3>玩家脱掉装备前触发</h3> <p>        function PnaleName.onTakeOffBeforeEx(actor,itemobj)     -- 玩家脱掉装备前触发     -- 参数(actor,itemobj)  支持返回False、stop命令中止</p> <p>    end     </p> <h3>英雄穿戴装备触发</h3> <p>        function PnaleName.onHeroTakeOnEx(actor,itemobj,pos,itemname,makeindex,hero)     -- 英雄穿戴装备触发     -- 参数(actor,itemobj,pos,itemname,makeindex,hero)</p> <p>    end     </p> <h3>英雄脱下装备触发</h3> <p>        function PnaleName.onHeroTakeOffEx(actor,itemobj,pos,itemname,makeindex,hero)     -- 英雄脱下装备触发     -- 参数(actor,itemobj,pos,itemname,makeindex,hero)</p> <p>    end     </p> <h3>背包进入物品前触发</h3> <p>        function PnaleName.onAddBagBefore(actor,itemobj,itemid,makeid)     -- 背包进入物品前触发     -- 参数(actor,itemobj,itemid,makeid)</p> <p>    end     </p> <h3>背包进入物品后触发</h3> <p>        function PnaleName.onAddBag(actor,itemobj,itemId)     -- 背包进入物品后触发     -- 参数(actor,itemobj,itemId)</p> <p>    end     </p> <h3>充值触发</h3> <p>        function PnaleName.onRecharge(actor,count,makeId,moneyId,isReal)     -- 充值触发     -- 参数(actor,count充值金额,makeId产品ID,moneyId货币ID,isReal[0扶持充值,1真实充值]) </p> <p>    end     </p> <h3>捡取任意物品前触发</h3> <p>        function PnaleName.onPickUpItemFrontex(actor,itemobj)     -- 捡取任意物品前触发     -- 参数(actor,itemobj)</p> <p>    end     </p> <h3>捡取任意物品后触发</h3> <p>        function PnaleName.onPickUpItemEx(actor, itemobj)     -- 捡取任意物品后触发     -- 参数(actor, itemobj)</p> <p>    end     </p> <h3>扔掉任意物品前触发</h3> <p>        function PnaleName.onDropItemFrontex(actor,itemobj,itemname,itemid,model)     -- 扔掉任意物品前触发,model 行为ID 0.扔掉触发; 1.人物掉落触发     -- 参数(actor,itemobj,itemname,itemid,model)</p> <p>    end     </p> <h3>仍掉任意物品后触发</h3> <p>        function PnaleName.onDropItemex(actor,itemobj,itemname,itemid)     -- 仍掉任意物品后触发     -- 参数(actor,itemobj,itemname,itemid)</p> <p>    end     </p> <h3>跨天登录触发,凌晨12点触发或每日第一次登录触发</h3> <p>        function PnaleName.onResetDay()     -- 跨天登录触发,凌晨12点触发或每日第一次登录触发</p> <p>    end     </p> <h3>定时器脚本跨天触发,每日00:00:00触发</h3> <p>        function PnaleName.onBeforedawn()     -- 定时器脚本跨天触发,每日00:00:00触发</p> <p>    end               </p> <h3>点击npc触发</h3> <p>        function PnaleName.onClickNpc(actor,npcId)         --点击npc触发,参数(actor,npcId)         --返回值 false不允许</p> <p>        return true     end     </p> <h3>玩家跳转地图触发 切换地图触发</h3> <p>        function PnaleName.onEnterMap(actor,mapId,x,y)     -- 玩家跳转地图触发     -- 参数(actor,mapId,x,y)</p> <p>    end     </p> <h3>离开地图触发</h3> <p>        function PnaleName.onLeaveMap(actor,mapId,x,y)     -- 离开地图触发     -- 参数(actor,mapId,x,y)</p> <p>    end     </p> <h3>镜像地图销毁前触发</h3> <p>        function PnaleName.onRemoveTempMap(sys,mapid)     -- 镜像地图销毁前触发     -- 参数(sys系统对象,mapid)</p> <p>    end     </p> <h3>进入地图连接点前触发</h3> <p>        function PnaleName.onMapConnectPoint(actor,mapId,x,y)     -- 进入地图连接点前触发     -- 参数(actor,mapId,x,y) 返回值 true=允许,false=不允许</p> <p>    end     </p> <h3>怪物掉落触发</h3> <p>        function PnaleName.onMonDropItemex(actor,itemobj,monobj,itemid,x,y)     -- 怪物掉落触发     -- 参数(actor,itemobj,monobj,itemid,x,y)</p> <p>    end     </p> <h3>怪物掉落触发(新)</h3> <p>        function PnaleName.onMonDropItemNew()     -- 怪物掉落触发(新)     -- (参照cfg_boss_drop.xls表)</p> <p>    end     </p> <h3>升级触发</h3> <p>        function PnaleName.onPlayLevelUp(actor,level)     -- 升级触发     -- 参数(actor,level)</p> <p>    end     </p> <h3>角色大退触发,注意先小退在大退不会触发</h3> <p>        function PnaleName.onPlayOffline(actor)     -- 角色大退触发,注意先小退在大退不会触发</p> <p>    end     </p> <h3>角色小退触发</h3> <p>        function PnaleName.onPlayReconnection(actor)     -- 角色小退触发     -- 参数(actor)</p> <p>    end     </p> <h3>角色小退和大退都触发</h3> <p>        function PnaleName.onExitGame(actor)     -- 角色小退和大退都触发     -- 参数(actor)</p> <p>    end     </p> <h3>跑触发</h3> <p>        function PnaleName.onRun(actor)     -- 跑触发     -- 参数(actor)</p> <p>    end     </p> <h3>走触发</h3> <p>        function PnaleName.onWalk(actor)     -- 走触发     -- 参数(actor)</p> <p>    end     </p> <h3>开始挂机触发</h3> <p>        function PnaleName.onStartAutoPlayGame(actor)     -- 开始挂机触发     -- 参数(actor)</p> <p>    end     </p> <h3>停止挂机触发</h3> <p>        function PnaleName.onStopAutoPlayGame(actor)     -- 停止挂机触发     -- 参数(actor)</p> <p>    end     </p> <h3>人物被复活戒指复活时触发</h3> <p>        function PnaleName.onRevival()     -- 人物被复活戒指复活时触发</p> <p>    end     </p> <h3>攻城开始时触发</h3> <p>        function PnaleName.onCastLewarStart()     -- 攻城开始时触发</p> <p>    end           </p> <h3>攻城结束时触发</h3> <p>        function PnaleName.onCastLewarEnd()             -- 攻城结束时触发         end     </p> <h3>占领沙巴克触发</h3> <p>        function PnaleName.onGetCastle0()     -- 占领沙巴克触发</p> <p>    end                 </p> <h3>捡取前触发</h3> <p>        function PnaleName.onPickupItemFrontex()         -- 捡取前触发</p> <p>    end     </p> <h3>玩家物理攻击后触发</h3> <p>    function PnaleName.onAttack(actor,target,hiter,magicId)     -- 玩家物理攻击后触发     -- 参数(actor,target,hiter,magicId) actor=玩家对象 target=受击对象 hiter=攻击对象 magicId=技能ID</p> <p>    end     </p> <h3>玩家魔法攻击后触发</h3> <p>        function PnaleName.onMagicAttack(actor,target,hiter,magicId)     -- 玩家魔法攻击后触发     -- 参数(actor,target,hiter,magicId) actor=玩家对象 target=受击对象 hiter=攻击对象 magicId=技能ID</p> <p>    end     </p> <h3>宝宝物理攻击后触发</h3> <p>        function PnaleName.onAttackPet(actor,target,hiter,magicId)     -- 宝宝物理攻击后触发     -- 参数(actor,target,hiter,magicId) actor=玩家对象 target=受击对象 hiter=攻击对象 magicId=技能ID</p> <p>    end     </p> <h3>宝宝魔法攻击后触发</h3> <p>        function PnaleName.onMagicAttackPet(actor,target,hiter,magicId)     -- 宝宝魔法攻击后触发     -- 参数(actor,target,hiter,magicId) actor=玩家对象 target=受击对象 hiter=攻击对象 magicId=技能ID</p> <p>    end     </p> <h3>英雄物理攻击后触发</h3> <p>        function PnaleName.onHeroAttack(actor,target,hiter,magicId)     -- 英雄物理攻击后触发     -- 参数(actor,target,hiter,magicId) actor=玩家对象 target=受击对象 hiter=攻击对象 magicId=技能ID</p> <p>    end     </p> <h3>英雄魔法攻击后触发</h3> <p>        function PnaleName.onHeroMagicAttack(actor,target,hiter,magicId)     -- 英雄魔法攻击后触发     -- 参数(actor,target,hiter,magicId) actor=玩家对象 target=受击对象 hiter=攻击对象 magicId=技能ID</p> <p>    end     </p> <h3>英雄宝宝魔法攻击后触发</h3> <p>        function PnaleName.onHeroMagicAttackPet(actor,target,hiter,magicId)     -- 英雄宝宝魔法攻击后触发     -- 参数(actor,target,hiter,magicId) actor=玩家对象 target=受击对象 hiter=攻击对象 magicId=技能ID</p> <p>    end     </p> <h3>英雄宝宝物理攻击后触发</h3> <p>        function PnaleName.onHeroAttackPet(actor,target,hiter,magicId)     -- 英雄宝宝物理攻击后触发     -- 参数(actor,target,hiter,magicId) actor=玩家对象 target=受击对象 hiter=攻击对象 magicId=技能ID</p> <p>    end     </p> <h3>宠物攻击触发</h3> <p>        function PnaleName.onPetAttack(actor,petIdx,target,magicID)     -- 宠物攻击触发     -- 参数(actor,petIdx,target,magicID) actor=玩家对象 target=受击对象 hiter=攻击对象 magicId=技能ID</p> <p>    end     </p> <h3>玩家物理受击后触发</h3> <p>        function PnaleName.onStruck(actor,hiter,target,magicId)     -- 玩家物理受击后触发     -- 参数(actor,hiter,target,magicId) actor=受击对象 hiter=攻击对象 target=受击对象 magicId=技能ID</p> <p>    end     </p> <h3>玩家魔法受击后触发</h3> <p>        function PnaleName.onMagicStruck(actor,hiter,target,magicId)     -- 玩家魔法受击后触发     -- 参数(actor,hiter,target,magicId) actor=玩家对象 target=攻击对象 hiter=受击对象 magicId=技能ID</p> <p>    end     </p> <h3>宝宝物理受击后触发</h3> <p>        function PnaleName.onStruckPet(actor,hiter,target,magicId)     -- 宝宝物理受击后触发     -- 参数(actor,hiter,target,magicId) actor=玩家对象 target=攻击对象 hiter=受击对象 magicId=技能ID</p> <p>    end     </p> <h3>宝宝魔法受击后触发</h3> <p>        function PnaleName.onMagicStruckPet(actor,hiter,target,magicId)     -- 宝宝魔法受击后触发     -- 参数(actor,hiter,target,magicId) actor=玩家对象 target=攻击对象 hiter=受击对象 magicId=技能ID</p> <p>    end     </p> <h3>英雄魔法受击后触发</h3> <p>        function PnaleName.onHeroMagicStruck(actor,hiter,target,magicId)     -- 英雄魔法受击后触发     -- 参数(actor,hiter,target,magicId) actor=玩家对象 target=攻击对象 hiter=受击对象 magicId=技能ID</p> <p>    end     </p> <h3>英雄物理受击后触发</h3> <p>        function PnaleName.onHeroStruck(actor,hiter,target,magicId)     -- 英雄物理受击后触发     -- 参数(actor,hiter,target,magicId) actor=玩家对象 target=攻击对象 hiter=受击对象 magicId=技能ID       end     </p> <h3>英雄宝宝魔法受击后触发</h3> <p>        function PnaleName.onHeroMagicStruckPet(actor,hiter,target,magicId)     -- 英雄宝宝魔法受击后触发     -- 参数(actor,hiter,target,magicId) actor=玩家对象 target=攻击对象 hiter=受击对象 magicId=技能ID</p> <p>    end     </p> <h3>英雄宝宝物理受击后触发</h3> <p>        function PnaleName.onHeroStruckPet(actor,hiter,target,magicId)     -- 英雄宝宝物理受击后触发     -- 参数(actor,hiter,target,magicId) actor=玩家对象 target=攻击对象 hiter=受击对象 magicId=技能ID</p> <p>    end     </p> <h3>丢失镖车触发,触发对象 主人</h3> <p>        function PanelName.onLoserCar(actor,car)     -- 丢失镖车触发,触发对象 主人         -- actor 玩家对象,var镖车对象</p> <p>    end     </p> <h3>杀掉宝宝触发</h3> <p>        function PnaleName.onKillSlave(actor,petobj)     -- 杀掉宝宝触发     -- 参数(actor,petobj)</p> <p>    end     </p> <h3>杀怪触发</h3> <p>        function PnaleName.onKillMon(actor,monobj,monId,mapId)     -- 杀怪触发     -- 参数(actor,monobj,monId,mapId)</p> <p>    end     </p> <h3>杀怪触发,</h3> <p>        function PnaleName.onKillMob(actor,monobj,monId,mapId)     -- 杀怪触发,     -- 需要在mapinfo地参数增加onkillmon</p> <p>    end     </p> <h3>杀镖车触发</h3> <p>        function PnaleName.onCarDie(actor,carobj)     -- 杀镖车触发     -- 参数(actor,carobj)</p> <p>    end     </p> <h3>击杀玩家触发</h3> <p>        function PnaleName.onKillPlay(actor,target)     -- 玩家死亡触发     -- 参数(actor,target) actor(杀人者) target(被杀者)</p> <p>    end     </p> <h3>英雄被杀</h3> <p>        function PnaleName.onHeroDie(actor,target)     -- 英雄被杀     -- 参数(actor,target) 触发对象:actor攻击者,target 被杀对象</p> <p>    end     </p> <h3>玩家死亡触发</h3> <p>        function PnaleName.onPlayDie(actor,target)     -- 玩家被杀     -- 参数(actor,target) 触发对象:actor攻击者,target 被杀对象</p> <p>    end     </p> <h3>宝宝死亡触发</h3> <p>        function PnaleName.onSelfKillSlave(actor,petobj)     -- 宝宝死亡触发     -- 参数(actor,petobj)</p> <p>    end     </p> <h3>使用技能前触发</h3> <p>        function PanelName.onBeginMagic(self,maigicID,maigicName,targetObject,x,y,result)     -- 使用技能前触发         -- self         object  否       玩家对象         -- maigicID     integer 否       技能id         -- maigicName   string  否       技能名字         -- targetObject object  否       受击对象         -- x            integer 否       受击对象X坐标         -- y            integer 否       受击对象Y坐标         -- result       bool    否       返回值         --              true/nil=允许施法         --              false=阻止施法</p> <p>    end     </p> <h3>属性变化时触发</h3> <p>        function PnaleName.onSendAbility(actor)     -- 属性变化时触发     -- 参数(actor)</p> <p>    end     </p> <h3>玩家获得宝宝触发</h3> <p>        function PnaleName.onSlavebb(actor,petobj)     -- 玩家获得宝宝触发     -- 参数(actor,petobj)</p> <p>    end     </p> <h3>英雄获得宝宝触发</h3> <p>        function PnaleName.onHeroSlavebb(actor,petobj)     -- 英雄获得宝宝触发     -- 参数(actor,petobj)</p> <p>    end     </p> <h3>玩家宝宝叛变触发</h3> <p>        function PnaleName.onMobTreachery(actor)     -- 玩家宝宝叛变触发     -- 参数(actor)</p> <p>    end     </p> <h3>英雄宝宝叛变触发</h3> <p>        function PnaleName.onHeroMobTreachery(actor)     -- 英雄宝宝叛变触发     -- 参数(actor)</p> <p>    end     </p> <h3>QF触发,未测试过的事件</h3> <h3>宝宝升级触发lua</h3> <p>        function PanelName.onSlaveUpgrade(actor,mon,level)     -- 宝宝升级触发</p> <p>    end     </p> <h3>加入行会前触发</h3> <p>        function PanelName.onGuildAddMember(actor,guild,name)     -- 加入行会前触发         --play  object  否       玩家对象         --guild object  否       行会对象         --name  stirng  否       行会名称         --result    bool    是         --true=允许加入         --false=阻止加入     end         </p> <h3>加入行会时触发</h3> <p>        function PanelName.onGuildAddMemberAfter(actor)     -- 加入行会时触发</p> <p>    end    </p> <h3>退出行会触发</h3> <p>        function PanelName.onGuildDelMember(actor)           -- 退出行会触发         -- result 是否允许     end</p> <h3>编辑行会公告前触发</h3> <p>        function PanelName.onUpdateGuildNotice()     -- 编辑行会公告前触发</p> <p>    end       </p> <h3>行会编辑封号前触发</h3> <p>        function PanelName.onSetRankName()     -- 行会编辑封号前触发</p> <p>    end     </p> <h3>退出行会前触发</h3> <p>        function PanelName.onGuildDelMemberBefore()       -- 退出行会前触发</p> <p>    end</p> <h3>掌门踢出行会成员前触发</h3> <p>        function PanelName.onGuildChiefDelMember()       -- 掌门踢出行会成员前触发</p> <p>    end</p> <h3>解散行会前触发</h3> <p>        function PnaleName.onGuildCloseBefore(actor,guild)     -- 解散行会前触发     -- 参数(actor,guild)</p> <p>    end     </p> <h3>任命掌门人前触发</h3> <p>        function PanelName.onSetGuildRank1()     -- 任命掌门人前触发</p> <p>    end     </p> <h3>任命副掌门前触发</h3> <p>        function PanelName.onSetGuildRank2()     -- 任命副掌门前触发</p> <p>    end               </p> <h3>任命成员3前触发</h3> <p>        function PanelName.onSetGuildRank3()               -- 任命成员3前触发</p> <p>    end     </p> <h3>任命成员4前触发</h3> <p>        function PanelName.onSetGuildRank4()               -- 任命成员4前触发</p> <p>    end     </p> <h3>任命成员5前触发</h3> <p>        function PanelName.onSetGuildRank5()               -- 任命成员5前触发</p> <p>    end     </p> <h3>邀请入会前触发</h3> <p>        function PanelName.onInivitGuild()             -- 邀请入会前触发</p> <p>    end     </p> <h3>杀死怪物或人物爆物品触发</h3> <p>        function PnaleName.onScatterBagItems(actor,target)     -- 杀死怪物或人物爆物品触发     -- 参数(actor,target)</p> <p>    end     </p> <h3>创建队伍前触发</h3> <p>        function PnaleName.onStartGroup()     -- 创建队伍前触发</p> <p>    end                   </p> <h3>创建队伍后触发</h3> <p>        function PnaleName.onGroupCreate()     -- 创建队伍后触发</p> <p>    end                                </p> <h3>离开队伍时触发</h3> <p>        function PnaleName.onLeaveGroup()     -- 离开队伍时触发</p> <p>    end                                 </p> <h3>删除组队成员触发</h3> <p>        function PnaleName.onGroupDelMember()     -- 删除组队成员触发</p> <p>    end                             </p> <h3>添加组队成员触发</h3> <p>        function PnaleName.onGroupAddMember()     -- 添加组队成员触发</p> <p>    end                             </p> <h3>组队杀怪触发</h3> <p>        function PnaleName.onGroupKillMon()     -- 组队杀怪触发</p> <p>    end                               </p> <h3>镖车到达指定位置触发</h3> <p>        function PnaleName.onCarPathEnd()     -- 镖车到达指定位置触发</p> <p>    end                                 </p> <h3>镖车切换地图触发</h3> <p>        function PnaleName.onLeaveDart()     -- 镖车切换地图触发</p> <p>    end                                  </p> <h3>镖车进入自动寻路范围触发</h3> <p>        function PnaleName.onCarFindMaster()     -- 镖车进入自动寻路范围触发</p> <p>    end                              </p> <h3>镖车被攻击触发</h3> <p>        function PnaleName.onSlaveDamage()     -- 镖车被攻击触发</p> <p>    end                                </p> <h3>攻击别人镖车触发</h3> <p>        function PnaleName.onHitSlave()     -- 攻击别人镖车触发</p> <p>    end                                   </p> <h3>脱下装备进入背包前触发</h3> <p>        function PnaleName.onTakeOffexChange(actor,itemobj,pos,makeindex)     -- 脱下装备进入背包前触发     -- 参数(actor,itemobj,pos,makeindex)</p> <p>    end     </p> <h3>英雄脱下装备进入背包前触发</h3> <p>        function PnaleName.onHeroTakeoffExChange(actor,itemobj,pos,makeindex,hero)     -- 英雄脱下装备进入背包前触发     -- 参数(actor,itemobj,pos,makeindex,hero)</p> <p>    end     </p> <h3>跨服成功(跨服服务器触发)</h3> <p>        function PnaleName.onKfLogin(actor)     -- 跨服成功(跨服服务器触发)     -- 参数(actor)</p> <p>    end     </p> <h3>跨服成功(本服服务器触发)</h3> <p>        function PnaleName.onKfLoginBenFu(actor)     -- 跨服成功(本服服务器触发)     -- 参数(actor)</p> <p>    end     </p> <h3>跨服结束(本服服务器触发)</h3> <p>        function PnaleName.onKuaFuEnd(actor)     -- 跨服结束(本服服务器触发)     -- 参数(actor)</p> <p>    end     </p> <h3>同步跨服变量触发</h3> <p>        function PnaleName.onKfSynVar()     -- 同步跨服变量触发</p> <p>    end                                   </p> <h3>已投保装备掉落触发</h3> <p>        function PnaleName.onDropUseItems()     -- 已投保装备掉落触发</p> <p>    end                                               </p> <h3>套装激活触发</h3> <p>        function PnaleName.onGroupItemOn()     -- 套装激活触发</p> <p>    end                                          </p> <h3>人物开启首饰盒触发</h3> <p>        function PnaleName.onOpenSndaItemBox()     -- 人物开启首饰盒触发</p> <p>    end                                    </p> <h3>英雄开启首饰盒触发</h3> <p>        function PnaleName.onHeroOpenSndaItemBox()     -- 英雄开启首饰盒触发</p> <p>    end                                   </p> <h3>盒子礼包领取成功触发</h3> <p>        function PnaleName.onGiftStatusOk()     -- 盒子礼包领取成功触发</p> <p>    end                                   </p> <h3>盒子礼包领取失败触发</h3> <p>        function PnaleName.onGiftStatusFail()     -- 盒子礼包领取失败触发</p> <p>    end                                   </p> <h3>盒子断线重连触发</h3> <p>        function PnaleName.onFeboxTile()     -- 盒子断线重连触发</p> <p>    end                                   </p> <h3>拍卖行下架、禁止架下触发(参照拍卖行系统)</h3> <p>        function PnaleName.onCangetBackPaiMaiItem(actor)     -- 拍卖行下架、禁止架下触发(参照拍卖行系统)     -- 参数(actor)</p> <p>    end     </p> <h3>拍卖行上架、禁止上架触发(参照拍卖行系统)</h3> <p>        function PnaleName.onCanPaiMaiItem(actor,itemId,makeId,type,price)     -- 拍卖行上架、禁止上架触发(参照拍卖行系统)     -- 参数(actor,itemId,makeId,type,price)</p> <p>    end     </p> <h3>领取拍卖货币触发</h3> <p>        function PnaleName.onGetPaiMaiItem(actor)     -- 领取拍卖货币触发     -- 参数(actor)</p> <p>    end     </p> <h3>拍卖行购买时触发</h3> <p>        function PnaleName.onBuyPaiMaiItem(actor,itemId,makeId,type,price)     -- 拍卖行购买时触发     -- 参数(actor,itemId,makeId,type,price)</p> <p>    end     </p> <h3>拍卖行竞价触发</h3> <p>        function PnaleName.onBiddingPaiMaiItem(actor,itemId,makeId,type,price)     -- 拍卖行竞价触发     -- 参数(actor,itemId,makeId,type,price)</p> <p>    end     </p> <h3>人物改变称号时触发</h3> <p>        function PnaleName.onTitleChanged(X)     -- 人物改变称号时触发         --  (X=装备表shape值)     end                                        </p> <h3>英雄改变称号时触发</h3> <p>        function PnaleName.onHeroTitleChanged(X)     -- 英雄改变称号时触发         --  (X=装备表shape值)     end                                      </p> <h3>人物取消称号时触发</h3> <p>        function PnaleName.onUntitled(X)     -- 人物取消称号时触发         --  (X=装备表shape值)     end                                          </p> <h3>英雄取消称号时触发</h3> <p>        function PnaleName.onHerounTitled(X)     -- 英雄取消称号时触发         --  (X=装备表shape值)     end                                      </p> <h3>宝箱获得物品时触发</h3> <p>        function PnaleName.onGetBoxsItem(X)     -- 宝箱获得物品时触发         --  (X=道具表shape值)     end                                      </p> <h3>宝箱开启前触发</h3> <p>        function PnaleName.onCanreOpenBox(X)     -- 宝箱开启前触发         --  (X=道具表shape值)     end                                       </p> <h3>删除物品触发</h3> <p>        function PnaleName.onRemoveItem(actor,itemid,count)     -- 删除物品触发     -- 参数(actor,itemid,count)</p> <p>    end     </p> <h3>给予货币触发</h3> <p>--只有给予物品时调用相关接口才会触发 player:get_item player:get_items player:add_money</p> <pre><code>-- 给予货币触发,参数(actor,id,count)(actor=玩家对象,id=货币ID,count=增加货币数量) function PnaleName.onGiveMoney(actor,id,oldcount,curcount)     -- 货币改变时触发     -- 参数(actor,id,oldcount,curcount) end</code></pre> <h3>货币改变时触发</h3> <p>        function PnaleName.onMoneyChange(actor,id,oldcount,curcount)     -- 货币改变时触发     -- 参数(actor,id,oldcount,curcount)</p> <p>    end     </p> <h3>英雄切换地图触发</h3> <p>        function PnaleName.onHeroEnterMap()     -- 英雄切换地图触发</p> <p>    end               </p> <h3>阅读邮件触发</h3> <p>        function PnaleName.onReadMail(actor,id)     -- 阅读邮件触发     -- 参数(actor,id)</p> <p>    end     </p> <h3>提取邮件触发</h3> <p>        function PnaleName.onGetMailItem(actor,id,title,items)     -- 提取邮件触发     -- 参数(actor,id,title,items)</p> <p>    end     </p> <h3>商城显示触发</h3> <p>        function PnaleName.onCanShowShopItem()     -- 商城显示触发</p> <p>    end                            </p> <h3>英雄升级触发</h3> <p>        function PnaleName.onHeroLevelUp(actor,hero,level)     -- 英雄升级触发     -- 参数(actor,hero,level)</p> <p>    end     </p> <h3>装备持久消失触发</h3> <p>        function PnaleName.onItemDamage()     -- 装备持久消失触发</p> <p>    end                                 </p> <h3>摆摊触发,forbidmyshop接口可打断摆摊</h3> <p>        function PnaleName.onStartMyShop(actor)     -- 摆摊触发,forbidmyshop接口可打断摆摊     -- 参数(actor)</p> <p>    end     </p> <h3>摆摊成功触发</h3> <p>        function PnaleName.onStartMyShopOk(actor)     -- 摆摊成功触发     -- 参数(actor)</p> <p>    end     </p> <h3>人物获取经验触发</h3> <p>        function PnaleName.onGetExp(actor,exp)     -- 人物获取经验触发     -- 参数(actor,exp)</p> <p>    end     </p> <h3>人物死亡前触发</h3> <p>        function PnaleName.onNextDie(actor,hiter,isplay)     -- 人物死亡前触发     -- 参数(actor,hiter,isplay)</p> <p>    end     </p> <h3>英雄死亡前触发</h3> <p>        function PnaleName.onHeroNextDie(actor,hiter,isplay,hero)     -- 英雄死亡前触发     -- 参数(actor,hiter,isplay,hero)</p> <p>    end     </p> <h3>宠物死亡前触发</h3> <p>        function PnaleName.onPetDie(actor,hiter,isplay,hero)     -- 宠物死亡前触发     -- 参数(actor,hiter,isplay,hero)</p> <p>    end     </p> <h3>召唤英雄触发</h3> <p>        function PnaleName.onHeroLogin(actor,hero)     -- 召唤英雄触发     -- 参数(actor,hero)</p> <p>    end     </p> <h3>镶嵌宝石触发</h3> <p>        function PanelName.onBagUseStoneItemOk()     -- 镶嵌宝石触发</p> <p>    end                          </p> <h3>卸下宝石触发</h3> <p>        function PanelName.onRemoveStoneItem()     -- 卸下宝石触发</p> <p>    end                            </p> <h3>公众号获取KEY成功触发</h3> <p>        function PnaleName.onBindWeChat(actor,key)     -- 公众号获取KEY成功触发     -- 参数(actor,key)</p> <p>    end     </p> <h3>公众号成功验证触发</h3> <p>        function PnaleName.onBindReweChat(actor,key,name,id)     -- 公众号成功验证触发     -- 参数(actor,key,name,id)</p> <p>    end     </p> <h3>查看别人装备触发</h3> <p>        function PnaleName.onLookHumInfo(actor,name)     -- 查看别人装备触发     -- 参数(actor,name)</p> <p>    end     </p> <h3>英雄忠诚度改变触发</h3> <p>        function PanelName.onHeroLuck()                   -- 英雄忠诚度改变触发</p> <p>    end     </p> <h3>每天登录触发按0点计算为第2天</h3> <p>        function.onSetDay()</p> <p>    end     </p> <h3>英雄仍掉任意物品前触发</h3> <p>        function PnaleName.onHeroDropItemFrontex(actor,itemobj)     -- 英雄仍掉任意物品前触发     -- 参数(actor,itemobj)</p> <p>    end     </p> <h3>英雄仍掉任意物品后触发</h3> <p>        function PnaleName.onHeroDropItemex(actor,itemobj)     -- 英雄仍掉任意物品后触发     -- 参数(actor,itemobj)</p> <p>    end     </p> <h3>装备到期触发</h3> <p>        function PnaleName.onItemExpired(actor,itemobj,itemname)     -- 装备到期触发     -- 参数(actor,itemobj,itemname)</p> <p>    end     </p> <h3>英雄装备到期触发</h3> <p>        function PnaleName.onHeroItemExpired(actor,itemobj,itemname,hero)     -- 英雄装备到期触发     -- 参数(actor,itemobj,itemname,hero)</p> <p>    end     </p> <h3>进入英雄背包触发</h3> <p>        function PnaleName.onAddHeroBag(actor,itemobj,hero)     -- 进入英雄背包触发     -- 参数(actor,itemobj,hero)</p> <p>    end     </p> <h3>加好友前触发</h3> <p>        function PnaleName.onAddFriendRequest(actor)     -- 加好友前触发     -- 参数(actor)</p> <p>    end     </p> <h3>展开聊天框时触发</h3> <p>        function.PanelName.onOpenBottomUI()         -- 展开聊天框时触发,需搭配主界面按钮执行 按钮开启方式:(CTRL+F10呼出UI编辑-属性栏-Button_chat_hide字段勾选可见性)     end     </p> <h3>隐藏聊天框时触发</h3> <p>        function.PanelName.onCloseBottomUI()                 -- 隐藏聊天框时触发,需搭配主界面按钮执行 按钮开启方式:(CTRL+F10呼出UI编辑-属性栏-Button_chat_hide字段勾选可见性)     end     </p> <h3>创建行会前触发</h3> <p>        function PnaleName.onCheckBuildGuild(actor,guildName)     -- 创建行会前触发     -- 参数(actor,guildName)</p> <p>    end     </p> <h3>交易前触发</h3> <p>        function PnaleName.onDealBefore(actor,target)     -- 交易前触发     -- 参数(actor,target)</p> <p>    end     </p> <h3>交易后触发</h3> <p>        function PnaleName.onDealEnd(actor,makeindex,count)     -- 交易后触发     -- 参数(actor,makeindex,count)</p> <p>    end     </p> <h3>人物勾选外显时装生效触发</h3> <p>        function PnaleName.onShowFashion(actor)     -- 人物勾选外显时装生效触发     -- 参数(actor)</p> <p>    end     </p> <h3>人物取消外显时装时候触发</h3> <p>        function PnaleName.onNotShowFashion(actor)     -- 人物取消外显时装时候触发     -- 参数(actor)</p> <p>    end     </p> <h3>英雄勾选外显时装生效触发</h3> <p>        function PnaleName.onHeroShowFashion(actor,hero)     -- 英雄勾选外显时装生效触发     -- 参数(actor,hero)</p> <p>    end     </p> <h3>英雄取消外显时装时候触发</h3> <p>        function PnaleName.onHeroNotShowFashion(actor,hero)     -- 英雄取消外显时装时候触发     -- 参数(actor,hero)</p> <p>    end     </p> <h3>人物身上装备掉落前触发,人物死亡装备掉落前触发支持stop</h3> <p>        function PnaleName.onCheckDropUseItems(actor,pos,itemid)     -- 人物身上装备掉落前触发,人物死亡装备掉落前触发支持stop     -- 参数(actor,pos,itemid)</p> <p>    end     </p> <h3>释放技能触发传</h3> <p>        function PnaleName.onMagtagFuncExx         -- 释放技能触发传     -- 参数</p> <p>    end     </p> <h3>点击背包未开启格子锁头触发</h3> <p>        function PnaleName.onClosedBagItemClick(actor)     -- 点击背包未开启格子锁头触发     -- 参数(actor)</p> <p>    end     </p> <h3>货币超出21/42亿触发</h3> <p>        function PnaleName.onChangeMoneyOut(actor,moneyId,count)     -- 货币超出21/42亿触发     -- 参数(actor,moneyId,count)</p> <p>    end     </p> <h3>使用31类和200类道具触发</h3> <p>        function PnaleName.onUseItem(actor,itemobj,itemid)     -- 使用31类和200类道具触发     -- 参数(actor,itemobj,itemid)</p> <p>    end     </p> <h3>使用41类道具触发</h3> <p>        function PnaleName.onUseItem42(actor,itemobj)     -- 使用41类道具触发     -- 参数(actor,itemobj)</p> <p>    end     </p> <h3>穿套装触发</h3> <p>        function PnaleName.onGroupItemOnEx(actor,id)     -- 穿套装触发     -- 参数(actor,id)</p> <p>    end     </p> <h3>脱套装触发</h3> <p>        function PnaleName.onGroupItemOffEx(actor,id)     -- 脱套装触发     -- 参数(actor,id)</p> <p>    end     </p> <h3>角色pk值变化触发</h3> <p>        function PnaleName.onPkPointChanged(actor,value)     -- 角色pk值变化触发     -- 参数(actor,value)</p> <p>    end     </p> <h3>寻路开启</h3> <p>        function PnaleName.onFindPathBegin()     -- 寻路开启</p> <p>    end             </p> <h3>寻路中断</h3> <p>        function PnaleName.onFindPathStop()     -- 寻路中断</p> <p>    end                 </p> <h3>寻路结束          </h3> <p>        function PnaleName.onFindPathEnd()     -- 寻路结束           </p> <p>    end                  </p> <h3>商城购买后触发  </h3> <p>        function PnaleName.onBuyShopItem()     -- 商城购买后触发  </p> <p>    end                  </p> <h3>QF重载前触发</h3> <p>        function PnaleName.onQFloadBegin()     -- QF重载前触发 </p> <p>    end                  </p> <h3>QF重载后触发</h3> <p>        function PnaleName.onQFloadEnd()     -- QF重载后触发</p> <p>    end                    </p> <h3>创建行会时触发</h3> <p>        function PnaleName.onLoadguild(actor, guildobj)     -- 创建行会时触发     -- 参数(actor, guildobj)</p> <p>    end     </p> <h3>自身使用技能触发</h3> <p>        function PnaleName.onMagSelfFunc(actor)     -- 自身使用技能触发     -- 参数(id) 技能id</p> <p>    end     </p> <h3>不确定 是什么触发</h3> <p>        function PnaleName.onHumNameFilter()     -- 不确定</p> <p>    end                </p> <h3>不确定 是什么触发</h3> <p>        function PnaleName.onQueringHumName()     -- 不确定</p> <p>    end               </p> <h3>检测玩家名是否存在触发</h3> <p>        function PnaleName.onHumNameExists()     -- 检测玩家名是否存在触发 不确定</p> <p>    end                </p> <h3>修改玩家名称触发</h3> <p>        function PnaleName.onChangeingHumName()     -- 修改玩家名称触发</p> <p>    end             </p> <h3>修改玩家名成功触发</h3> <p>        function PnaleName.onChangeHumNameOk()     -- 修改玩家名成功触发</p> <p>    end              </p> <h3> 获得宠物触发[人物上线首次加载宠物时也会触发]</h3> <p>        function PnaleName.onGetNewPet(actor,petidx)     -- 获得宠物触发[人物上线首次加载宠物时也会触发]</p> <p>    end     </p> <h3>修改玩家名称失败触发</h3> <p>        function PnaleName.onChangeHumNameFail()     -- 修改玩家名称失败触发</p> <p>    end            </p> <p>        </p> <h2>自定义事件</h2> <h3> 游戏开服触发</h3> <p>        function PnaleName.onOpenGame(actor)     -- 游戏开服触发     -- 参数(actor第一个玩家对象)第一个玩家登录游戏即为开服</p> <p>    end     </p> <h3> buff改变事件</h3> <p>        function PnaleName.onChangeBuff(actor,buffid, groupid, model)     -- buff改变事件     -- 参数(actor,buffid, groupid = 组别ID, model = 1.增加;2.更新;4.删除;)</p> <p>    end     </p> <h3> 界面开放事件</h3> <p>        function PnaleName.onOpenPanel(actor,panelObj)     -- 界面开放事件     -- 参数(actor,panelObj)</p> <p>    end     </p> <h3> 跨周第一次登录触发,每个角色每周只触发一次</h3> <p>        function PnaleName.onNewWeek(actor)     -- 跨周第一次登录触发,每个角色每周只触发一次     -- 参数(actor)</p> <p>    end     </p> <h3> 跨月第一次登录触发,每个角色每月只触发一次</h3> <p>        function PnaleName.onNewMonth(actor)     -- 跨月第一次登录触发,每个角色每月只触发一次     -- 参数(actor)</p> <p>    end     </p> <h3> 合服第一次登录触发,每个角色每次合服只触发一次</h3> <p>        function PnaleName.onNewMerge(actor,count)     -- 合服第一次登录触发,每个角色每次合服只触发一次     -- 参数(actor,count = 合区次数)</p> <p>    end     </p> <h3> 每天第一次充值触发,每个角色每天只触发一次</h3> <p>        function PnaleName.onTodayPay(actor)     -- 每天第一次充值触发,每个角色每天只触发一次     -- 参数(actor)</p> <p>    end     </p> <h3> 合服全局触发</h3> <p>        function PnaleName.onMergeGame(count)     -- 合服全局触发     -- 参数(count = 合区次数)</p> <p>    end     </p> <h3> 连续充值事件,每个角色每天触发一次 形参不确定</h3> <p>        function PnaleName.onContinuPay(actor,true连续,false间断)     -- 连续充值事件,每个角色每天触发一次 形参不确定     -- 参数(actor,true连续,false间断),如果间断会触发一次间断,在充值会在触发一次连续</p> <p>    end     </p> <h3> 连续登录事件,每个角色每天触发一次 形参不确定</h3> <p>        function PnaleName.onContinuLogin(actor,true连续,false间断)     -- 连续登录事件,每个角色每天触发一次 形参不确定     -- 参数(actor,true连续,false间断)</p> <p>    end     </p> <h3> 新角色触发,每个人物只触发一次</h3> <p>        function PnaleName.onNewRole(actor)     -- 新角色触发,每个人物只触发一次     -- 参数(actor)</p> <p>    end     </p> <h3> 转生等级发生改变</h3> <p>        function PanelName.onReinLevel(actor)     -- 转生等级发生改变</p> <p>    end     </p> <h3> 开启功能触发</h3> <p>        function PnaleName.onOpenModel(table{界面数据})     -- 开启功能触发     -- 参数(table{界面数据})</p> <p>    end     </p> <h3> 关闭功能触发</h3> <p>        function PnaleName.onCloseModel(table{界面数据})     -- 关闭功能触发     -- 参数(table{界面数据})</p> <p>    end     </p> <h3> 变量改变事件</h3> <p>        function PnaleName.onChangeParam(actor,p)     -- 变量改变事件     -- 参数(actor,{id,value,key}) 整数变量无key</p> <p>    end     </p> <h3> (个人触发)活动状态改变触发</h3> <p>        function PnaleName.onActivityChange(actor,p)     -- 个人触发)活动状态改变触发     -- 参数(actor,{id = 唯一ID,state = 0关闭,1预告,2开启,activityId = 活动ID,flag = 活动标记})</p> <p>    end     </p> <h3> (系统触发)活动状态改变触发</h3> <p>        function PnaleName.onActivityChangeSys(p)     -- 系统触发)活动状态改变触发     -- 参数({id = 唯一ID,state = 0关闭,1预告,2开启,activityId = 活动ID,flag = 活动标记})</p> <p>    end     </p> <h3> 注册个人变量</h3> <p>        function PanelName.onRegisterVar()     -- 注册个人变量</p> <p>    end     </p> <h3> 玩家战斗力改变</h3> <p>        function PanelName.onChangeAttrCount()     -- 玩家战斗力改变</p> <p>    end             </p> <h3> 属性改变事件</h3> <p>        function PnaleName.onChangeAttr(actor,attrData,befValue,curValue)     -- 属性改变事件     -- 参数(actor,attrData,befValue,curValue),关联cfg_att_score表event字段有值的会触发该事件</p> <p>    end     </p> <h3> 变量初始化完成</h3> <p>        function PnaleName.onInitParam()     -- 变量初始化完成</p> <p>    end                   </p> <h3> 登录推送自定义临时属性</h3> <p>        function PnaleName.onLoginAttr()     -- 登录推送自定义临时属性</p> <p>    end                 </p> <h3> 假人登录触发</h3> <p>        function PnaleName.onDummyLogin(actor)     -- 假人登录触发     -- 参数(actor)</p> <p>    end     </p> <h3> 客户端角色初始化完毕,回调触发,此时客户端已经正常登录跳过黑屏期,可处理登录给予未发放完的奖励等</h3> <p>        function PnaleName.onClientInitDone()             -- 客户端角色初始化完毕,回调触发,此时客户端已经正常登录跳过黑屏期,可处理登录给予未发放完的奖励等</p> <p>    end     </p> <h3> 完成所有充值后触发,关联cfg_ManagePayStore表type字段是1类型的充值</h3> <p>        function PnaleName.onDoneAllPay()             -- 完成所有充值后触发,关联cfg_ManagePayStore表type字段是1类型的充值</p> <p>    end     </p> <h3> 刷新世界BOSS时触发</h3> <p>        function PnaleName.onGenWorldBoss(mapName,monName,mapid)     -- 刷新世界BOSS时触发     -- 参数(mapName,monName,mapid)</p> <p>    end     </p> <h3> 关联ManageUseItem表内类型2,不允许直接使用的道具双击后触发</h3> <p>        function PnaleName.onNotUseItem(actor,itemId,itemobj)     -- 关联ManageUseItem表内类型2,不允许直接使用的道具双击后触发     -- 参数(actor,itemId,itemobj)</p> <p>    end     </p> <h3> 推送变量前触发</h3> <p>        function PnaleName.onVarPushBafore(actor)     -- 推送变量前触发     -- 参数(actor)</p> <p>    end     </p> <h3> BOSS归属掉落触发</h3> <p>        function PnaleName.onBossBelongerDrop(actor,type,monId,items,data)     -- BOSS归属掉落触发     -- 参数(actor,type,monId,items,data),type(2.所有人共享归属),monId(怪物ID),items(掉落的归属物品),data(cfg_ManageBelonger表配置数据)</p> <p>    end     </p> <h3> 通过装备位移除装备触发</h3> <p>        function PnaleName.onRemoveByPos(actor,itemId,pos)     -- 通过装备位移除装备触发     -- 参数(actor,itemId,pos)</p> <p>    end     </p> <h3> 离开跨服地图触发</h3> <p>        function PnaleName.onLeaveMapCustom(actor,mapId)     -- 离开跨服地图触发     -- 参数(actor,mapId)</p> <p>    end     </p> <h3> 客户端重载事件</h3> <p>        function PnaleName.onReload()                       -- 客户端重载事件</p> <p>    end     </p> <h3> 服务端重载QF后触发</h3> <p>        function PnaleName.onReloadQF()                 -- 服务端重载QF后触发</p> <p>    end     </p> <h3> 测试区结束,正式区返利触发</h3> <p>        function PnaleName.onRetateMoney(actor,id,count)     -- 测试区结束,正式区返利触发     -- 参数(actor,id=货币ID,count=返利数量)</p> <p>    end     </p> <h3> 断线重连</h3> <p>        function PnaleName.onRoleDisconnect(actor)     -- 断线重连     -- 参数(actor)</p> <p>    end     </p> <h3> 角色复活触发</h3> <p>        function PnaleName.onRoleRevive(actor)     -- 角色复活触发     -- 参数(actor),事件来自客户端注意条件判断防止封包</p> <p>    end     </p> <h3>任务相关</h3> <h3> 开始任务触发(任务进行中)lua</h3> <p>        function PnaleName.onTaskBegin(actor,param)     -- 开始任务触发(任务进行中)     -- 参数(actor,{id,type})</p> <p>    end     </p> <h3> 完成任务触发(此刻可领取奖励)</h3> <p>        function PnaleName.onTaskDone(actor,param)     -- 完成任务触发(此刻可领取奖励)     -- 参数(actor,{id,type})</p> <p>    end     </p> <h3> 结束任务触发(此刻已领过奖励)</h3> <p>        function PnaleName.onTaskEnded(actor,param)     -- 结束任务触发(此刻已领过奖励)     -- 参数(actor,{id,type})</p> <p>    end     </p> <h3> 完成一组任务触发(此刻可领取组别奖励)</h3> <p>        function PnaleName.onTaskGroupDone(actor,param)     -- 完成一组任务触发(此刻可领取组别奖励)     -- 参数(actor,{id,type,group})</p> <p>    end     </p> <h3> 结束一组任务触发(此刻已领取组别奖励)</h3> <p>        function PnaleName.onTaskGroupEnded(actor,param)     -- 结束一组任务触发(此刻已领取组别奖励)     -- 参数(actor,{group})</p> <p>    end     </p> <h3> 跳到下一个任务触发</h3> <p>        function PnaleName.onJumpToNextOneTask(actor,param)     -- 跳到下一个任务触发     -- 参数(actor,{id.type})</p> <p>    end     </p> <h3> 跳到下一组任务触发</h3> <p>        function PnaleName.onJumpToNextGroupTask(actor,param)     -- 跳到下一组任务触发     -- 参数(actor,{group})</p> <p>    end     </p> <h2>装扮相关</h2> <h3> 激活装扮触发</h3> <p>        function PnaleName.onFashionActivate(actor,itemid)     -- 激活装扮触发     -- 参数(actor,itemid)</p> <p>    end     </p> <h3> 穿戴装扮触发</h3> <p>        function PnaleName.onFashionWear(actor,itemid)     -- 穿戴装扮触发     -- 参数(actor,itemid)</p> <p>    end     </p> <h3> 卸下装扮触发</h3> <p>        function PnaleName.onFashionTake(actor,itemid)     -- 卸下装扮触发     -- 参数(actor,itemid)</p> <p>    end     </p> <h3> 移除装扮触发</h3> <p>        function PnaleName.onFashionRemove(actor,itemid)     -- 移除装扮触发     -- 参数(actor,itemid)</p> <p>    end     </p> <h3> 升级装扮触发</h3> <p>        function PnaleName.onFashionUpdate(actor,itemid,level)     -- 升级装扮触发     -- 参数(actor,itemid,level)</p> <p>    end     </p> <h3> 装扮过期触发</h3> <p>        function PnaleName.onFashionExpired(actor,itemid)     -- 装扮过期触发     -- 参数(actor,itemid)</p> <p>    end     </p> <h2>副本触发 (cfg_ManageCopy表配置的副本才会触发)</h2> <h3> 进入副本事件</h3> <p>        function PnaleName.onEnterCopy(actor,data)     -- 进入副本事件     -- 参数(actor,data副本配置)</p> <p>    end     </p> <h3> 退出副本事件</h3> <p>        function PnaleName.onExitCopy(actor,data)     -- 退出副本事件     -- 参数(actor,data副本配置)</p> <p>    end     </p> <h3> 完成副本事件</h3> <p>        function PnaleName.onDoneCopy(actor,data)     -- 完成副本事件     -- 参数(actor,{id = 副本id}),玩法1:杀完怪物后触发</p> <p>    end     </p> <p>    </p> <h3> 神兽合成</h3> <p>        function PanelName.onShenshouSynthesisy()     -- 神兽合成</p> <p>    end  </p>

页面列表

ITEM_HTML