From d555ead90b4167b9c8cdda5ee2cadbbe69e9c505 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 23 五月 2019 20:21:06 +0800 Subject: [PATCH] 6805 【后端】【2.0】副本前端化(删除无用包) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py | 318 +++++++++++++++++----------------------------------- 1 files changed, 103 insertions(+), 215 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py index 11ccf6b..a181458 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py @@ -28,8 +28,6 @@ # @change: "2013-09-18 17:00" Alee 退出锁定退出交易 # @change: "2013-09-23 19:30" Alee 红名提示修改 # @change: "2013-11-15 20:20" hxp 关闭07 3A购买背包封包功能,增加背包成功系统提示 -# @change: "2013-11-27 20:30" hxp 修改结束摆摊状态事件单独处理,不在结束事件中处理 -# @change: "2013-12-10 14:00" hxp 修改查看摆摊状态事件单独处理,不在结束事件中处理 # @change: "2013-12-12 14:30" hxp 增加钻石购买背包计费点事件同步 # @change: "2013-12-13 12:20" hxp 修改首登物品绑定设置 # @change: "2013-12-27 16:00" Alee 删除多余代码 @@ -80,7 +78,6 @@ import PlayerControl import FunctionNPCCommon import FBLogic -import PlayerShopItem import ItemControler import ItemCommon import QuestCommon @@ -345,6 +342,7 @@ return curPlayer.SetActionObj(curNPC) + PlayerControl.ChangePlayerAction(curPlayer, IPY_GameWorld.paNull) if NPCCommon.OnCollectNPCBegin(curPlayer, curNPC, tick): return @@ -845,28 +843,6 @@ curPlayer.SetMP(curPlayer.GetMaxMP()) #---给予玩家新手物品--- - itemControler = ItemControler.PlayerItemControler(curPlayer) - - firstLoginGiveItemList = ReadChConfig.GetEvalChConfig("FirstLogin_GiveItem") - for itemID, itemCount, itemBind in firstLoginGiveItemList: - if itemID == 0: - continue - giveItem = ItemCommon.CreateSingleItem(itemID) - - if not giveItem: - GameWorld.ErrLog('__FirstLoginOnEnter giveItemErr = %s'%(itemID), playerID) - continue - - if itemCount > 0: - ItemControler.SetItemCount(giveItem, itemCount, curPlayer.GetPlayerID(), curPlayer.GetAccID(), - curPlayer.GetPlayerName()) - - ItemControler.SetItemIsBind(giveItem, itemBind) - - if not itemControler.PutInItem(IPY_GameWorld.rptItem, giveItem): - GameWorld.ErrLog('__FirstLoginOnEnter packFull, giveItemErr = %s'%(itemID), playerID) - giveItem.Clear() - continue #---初始化装备显隐 第1套*10+没有套装 curPlayer.SetEquipShowSwitch(10) @@ -1357,15 +1333,6 @@ RunQuestEvent(curPlayer, 'on_deactive', missionID, Def_RunQuestType_RunAll) return -#--------------------------------------------------------------------- -##任务触发器_OnCoin 换取金钱事件 -#@param curPlayer 玩家实例 -#@return 返回值无意义 -#@remarks 任务触发器_OnCoin 换取金钱事件 -def EventResponse_OnCoin(curPlayer): - RunQuestEvent(curPlayer, 'on_coin', 'on_coin', Def_RunQuestType_RunAll) - curPlayer.DataServer_CheckPrizeItem() - return #--------------------------------------------------------------------- ##任务触发器_OnDig 挖宝进度条结束后触发 @@ -1716,6 +1683,14 @@ RunQuestEvent(curPlayer, "on_trialtowercnt", cnt, Def_RunQuestType_Normal) return +## 通关天星塔第X层 +# @param curPlayer 玩家实例 +# @param eventName +# @return None +def EventRespons_SkyTowerCnt(curPlayer, cnt): + RunQuestEvent(curPlayer, "skytowerpass", cnt, Def_RunQuestType_Normal) + return + ##护送X次美女 # @param curPlayer 玩家实例 # @param eventName 事件名 @@ -1742,25 +1717,11 @@ RunQuestEvent(curPlayer, "on_goldinvest", "on_goldinvest", Def_RunQuestType_Normal) RunQuestEvent(curPlayer, "on_goldinvest", investType, Def_RunQuestType_Normal) return - -def EventRespons_OnBuyTeHuiItem(curPlayer, shopID, itemShopIndex): - # 购买特惠商店物品 - RunQuestEvent(curPlayer, "on_buy_tehuiitem", "on_buy_tehuiitem", Def_RunQuestType_Normal) - RunQuestEvent(curPlayer, "on_buy_tehuiitem", shopID, Def_RunQuestType_Normal) - RunQuestEvent(curPlayer, "on_buy_tehuiitem", "%s_%s" % (shopID, itemShopIndex), Def_RunQuestType_Normal) - return def EventRespons_OnActivatePet(curPlayer, petID): # 激活宠物 RunQuestEvent(curPlayer, "on_activatepet", "on_activatepet", Def_RunQuestType_Normal) RunQuestEvent(curPlayer, "on_activatepet", petID, Def_RunQuestType_Normal) - return - -def EventRespons_OnActiveMagicWeapon(curPlayer, mwID): - # 激活法宝 - RunQuestEvent(curPlayer, "on_activemagicweapon", mwID, Def_RunQuestType_Normal) - RunQuestEvent(curPlayer, "on_activemagicweaponex", mwID, Def_RunQuestType_RunAll) - RunQuestEvent(curPlayer, "on_activemagicweaponex", 0, Def_RunQuestType_RunAll) return def EventRespons_MagicWeaponLV(curPlayer, mwID, lv): @@ -1828,15 +1789,22 @@ RunQuestEvent(curPlayer, "passiveset", "passiveset", Def_RunQuestType_Normal) return -def EventRespons_PlusGodWeapon(curPlayer): +def EventRespons_PlusGodWeapon(curPlayer, weaponType): #神兵锤炼 RunQuestEvent(curPlayer, "plusgodweapon", "plusgodweapon", Def_RunQuestType_Normal) + RunQuestEvent(curPlayer, "plusgodweapon", weaponType, Def_RunQuestType_Normal) + return +def EventRespons_GodWeaponUp(curPlayer, weaponType, attrLV): + # 神兵升级 + RunQuestEvent(curPlayer, "godweaponup", "%s_%s"%(weaponType, attrLV), Def_RunQuestType_Normal) return -def EventRespons_RefineItem(curPlayer, alchemyLV): +def EventRespons_RefineItem(curPlayer, alchemyLV, alchemyItemID): #八卦炉炼丹 - RunQuestEvent(curPlayer, "refineitem", alchemyLV, Def_RunQuestType_Normal) - RunQuestEvent(curPlayer, "refineitem", "refineitem", Def_RunQuestType_Normal) + #这两个接口策划暂时不用,先注释,使用新的连某个丹药接口 + #RunQuestEvent(curPlayer, "refineitem", alchemyLV, Def_RunQuestType_Normal) + #RunQuestEvent(curPlayer, "refineitem", "refineitem", Def_RunQuestType_Normal) + RunQuestEvent(curPlayer, "refineitem", alchemyItemID, Def_RunQuestType_Normal) return def EventRespons_RefineStoveUp(curPlayer, alchemyLV): @@ -1874,10 +1842,6 @@ RunQuestEvent(curPlayer, "realmup", realmlv, Def_RunQuestType_RunAll) return -def EventRespons_MWSoulActive(curPlayer, soulid): - #法宝之魂激活 - RunQuestEvent(curPlayer, "mwsoulactive", soulid, Def_RunQuestType_RunAll) - return def EventRespons_PassQueenRelecs(curPlayer, lineID, grade): #X级通关X层娲皇遗迹 @@ -1924,14 +1888,92 @@ RunQuestEvent(curPlayer, "storedonate", "storedonate", Def_RunQuestType_Normal) return -def EventRespons_EquipPlus(curPlayer): +def EventRespons_EquipPlus(curPlayer, classLV, partPlusLV): #强化等级变化 RunQuestEvent(curPlayer, "equipplus", "equipplus", Def_RunQuestType_Normal) + RunQuestEvent(curPlayer, "equipplus", '%s_%s'%(classLV, partPlusLV), Def_RunQuestType_Normal) return -def EventRespons_EquipStar(curPlayer): - #装备总星级变化 - RunQuestEvent(curPlayer, "equipstar", "equipstar", Def_RunQuestType_Normal) +def EventRespons_EquipPlusEvolve(curPlayer, nextEvolveLV): + #强化进化 + RunQuestEvent(curPlayer, "equipplusevolve", "equipplusevolve", Def_RunQuestType_Normal) + return + +def EventRespons_Talk(curPlayer, eventName): + #频道发言 + RunQuestEvent(curPlayer, "talk", eventName, Def_RunQuestType_Normal) + return + +def EventRespons_FairyDomain(curPlayer, eventType): + #完成缥缈仙域事件 + RunQuestEvent(curPlayer, "fairydomain", 'fairydomain', Def_RunQuestType_Normal) + RunQuestEvent(curPlayer, "fairydomain", eventType, Def_RunQuestType_Normal) + return + +def EventRespons_AroundMission(curPlayer, missionType): + #完成跑环任务 + RunQuestEvent(curPlayer, "aroundfinish", missionType, Def_RunQuestType_Normal) + return + +def EventRespons_Pray(curPlayer, prayType): + #完成祈愿 + RunQuestEvent(curPlayer, "pray", prayType, Def_RunQuestType_Normal) + return + +def EventRespons_ThinkMagicWeapon(curPlayer): + #感应法宝 + RunQuestEvent(curPlayer, "thinkfabao", 'thinkfabao', Def_RunQuestType_Normal) + return + +def EventRespons_ElementSkill(curPlayer, mainSkillID, skillElementType, updSelectSkillLV): + #激活五行专精 主技能ID_专精类型_激活等级.xml + RunQuestEvent(curPlayer, "elementskill", '%s_%s_%s'%(mainSkillID, skillElementType, updSelectSkillLV), Def_RunQuestType_Normal) + return + +def EventRespons_EquipStarUp(curPlayer): + #装备升星 + RunQuestEvent(curPlayer, "equipstarup", 'equipstarup', Def_RunQuestType_Normal) + return + +def EventRespons_InlayStone(curPlayer): + #宝石镶嵌 + RunQuestEvent(curPlayer, "inlaystone", 'inlaystone', Def_RunQuestType_Normal) + return + +def EventRespons_EquipItem(curPlayer): + #穿脱装备 + RunQuestEvent(curPlayer, "equipitem", 'equipitem', Def_RunQuestType_Normal) + return + +def EventRespons_SkillUp(curPlayer, FuncType, skillLV): + #升级技能 + RunQuestEvent(curPlayer, "skillup", FuncType, Def_RunQuestType_Normal) + RunQuestEvent(curPlayer, "skillup", '%s_%s' % (FuncType, skillLV), Def_RunQuestType_Normal) + return + +def EventRespons_LingGenQualityUP(curPlayer, attrID, qualityLV): + #灵根升品 + RunQuestEvent(curPlayer, "linggenqualityup", '%s_%s' % (attrID, qualityLV), Def_RunQuestType_Normal) + return + +def EventRespons_AddPoint(curPlayer): + #灵根加点 + RunQuestEvent(curPlayer, "addpoint", '0', Def_RunQuestType_Normal) + return + +def EventRespons_ActivityAward(curPlayer, awardIndex): + #活跃领奖 + RunQuestEvent(curPlayer, "activityaward", awardIndex, Def_RunQuestType_Normal) + return + +def EventRespons_HorsePetBoss(curPlayer): + #参加骑宠BOSS + RunQuestEvent(curPlayer, "horsepetboss", 'horsepetboss', Def_RunQuestType_Normal) + return + +def EventRespons_LingGenReset(curPlayer): + #灵根重置 + RunQuestEvent(curPlayer, "linggenreset", 'linggenreset', Def_RunQuestType_Normal) return #--------------------------------------------------------------------- @@ -3768,8 +3810,6 @@ ExitCreateFamily(curPlayer) ExitBillboard(curPlayer) #ExitEventLock(curPlayer) - #ExitShopItem(curPlayer) # 奇迹只在切地图及下线时关闭摆摊 - #ExitWatchShopItem(curPlayer) #npc商店退出 ExitNPCShop(curPlayer) @@ -3809,85 +3849,6 @@ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_PyPlayerAction, 0) return - -##结束摆摊事件 -#@param curPlayer 玩家实例 -#@return 返回值无意义 -#@remarks 自定义函数:结束摆摊事件 -def ExitShopItem(curPlayer): - GameWorld.DebugLog("ExitShopItem", curPlayer.GetPlayerID()) - playerShop = curPlayer.GetPlayerShop() - #在摆摊状态 - if playerShop.GetIsStartShop(): - PlayerShopItem.DoExitShop(curPlayer , curPlayer.GetPlayerShop()) - - return -#--------------------------------------------------------------------- -##结束查看摆摊事件 -#@param curPlayer 玩家实例 -#@return 返回值无意义 -#@remarks 自定义函数:结束查看摆摊事件 -def ExitWatchShopItem(curPlayer): - curPlayerShop = curPlayer.GetPlayerShop() - - if not curPlayerShop.GetIsWatchingShop(): - return - - openShopPlayer = curPlayer.GetActionPlayer() - __DoExitWatchShopItem(curPlayer , openShopPlayer) - - curPlayerShop.SetIsWatchingShop(0) - return -#--------------------------------------------------------------------- -##结束查看摆摊事件 -#@param curPlayer 玩家实例 -#@return 返回值无意义 -#@remarks 自定义函数:结束查看摆摊事件 -def __DoExitWatchShopItem(curPlayer , openShopPlayer): - - if openShopPlayer == None: - return - - shop = openShopPlayer.GetPlayerShop() - #没有开店 - if not shop.GetIsStartShop(): - return - - #商店删除这个玩家 - shop.DeleteWatchPlayer(curPlayer.GetPlayerID()) - return - -#--------------------------------------------------------------------- -##结束事件锁 -#@param curPlayer 玩家实例 -#@return 返回值无意义 -#@remarks 自定义函数:结束事件锁 -#=============================================================================== -# def ExitEventLock(curPlayer): -# if not curPlayer.GetHaveSetEventLock() : -# return -# -# #在摆摊状态不解锁,奇迹摆摊物品解锁只在切地图/下线/玩家主动结束摆摊情况下解锁 -# playerShop = curPlayer.GetPlayerShop() -# if playerShop.GetIsStartShop(): -# return -# -# #获得玩家物品管理器 -# ItemManager = curPlayer.GetItemManager() -# #获得背包 -# curPack = ItemManager.GetPack(IPY_GameWorld.rptItem) -# for i in range(curPack.GetCount()): -# item = curPack.GetAt(i) -# if item == None or item.IsEmpty(): -# continue -# -# if not item.GetIsEventLocked(): -# continue -# -# #离开事件锁 -# item.SetIsEventLocked(False) -#=============================================================================== - #--------------------------------------------------------------------- ##结束查看排行榜 #@param curPlayer 玩家实例 @@ -4219,79 +4180,6 @@ # @return 返回值无意义 # @remarks 客户端封包响应 //0D 0C 材料加工#tagCMaterialCompound def StuffMachining(index, tick): -# curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index) -# -# materialCompoundPack = IPY_GameWorld.IPY_CMaterialCompound() -# itemIndex = materialCompoundPack.GetItemIndex() -# -# curItemPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem) -# curItem = curItemPack.GetAt(itemIndex) -# -# #类型不符合 -# if not ItemCommon.CheckItemByType(curItem, ChConfig.Def_Type_Machining_Stuff): -# PlayerControl.NotifyCode(curPlayer, "GeRen_jin_287294") -# return -# -# #[金钱,金钱类型] -# curEffMoney = curItem.GetEffectByIndex(1) -# useMoney = curEffMoney.GetEffectValue(0) -# useMoneyType = curEffMoney.GetEffectValue(1) -# -# #判断金钱 -# if not PlayerControl.HaveMoney(curPlayer, useMoneyType, useMoney): -# return -# -# #[等级,数量] -# curEffInfo = curItem.GetEffectByIndex(0) -# curEffectID = curEffInfo.GetEffectID() -# curItemLv = curEffInfo.GetEffectValue(0) -# useCount = curEffInfo.GetEffectValue(1) -# -# #---数量验证--- -# hasCount = curItem.GetCount() -# if useCount > hasCount: -# PlayerControl.NotifyCode(curPlayer , "GeRen_jin_293296") -# return -# -# #查找更高一级的材料 -# findItemData = ItemCommon.FindItemFromDataByEffValue(ChConfig.Def_Type_Machining_Stuff, curEffectID, curItemLv+1) -# -# #已经是顶级材料 -# if findItemData == None: -# PlayerControl.NotifyCode(curPlayer, "GeRen_jin_708106") -# return -# -# #---创建物品,放入背包,失败则要删除物品--- -# newItem = ItemCommon.CreateSingleItem(findItemData.GetItemTypeID()) -# ItemControler.SetItemIsBind(newItem, curItem.GetIsBind()) -# -# isBind = newItem.GetIsBind() -# -# newItemTypeID = newItem.GetItemTypeID() -# newItemCount = newItem.GetCount() -# -# #是否成功放入背包 -# itemControl = ItemControler.PlayerItemControler(curPlayer) -# if not itemControl.PutInItem(IPY_GameWorld.rptItem, newItem): -# PlayerControl.NotifyCode(curPlayer, "GeRen_jin_650657") -# newItem.Clear() -# return -# -# curItemID = curItem.GetItemTypeID() #合成材料ID -# -# #---扣钱物品并记录--- -# PlayerControl.PayMoney(curPlayer, useMoneyType, useMoney) -# -# ItemCommon.DelItem(curPlayer, curItem, useCount, True, 'ComposeChip') -# -# #生成物品 -# PlayerControl.NotifyCode(curPlayer, 'GeRen_jin_557507', [newItemTypeID, newItemCount]) -# -# #手续费流向记录 -# PlayerControl.DataServerMoneyLog(curPlayer, useMoneyType, 650, par = useMoney, msg = "poundage") -# -# -# DataRecordPack.DR_StuffMachining(curPlayer, newItemTypeID, newItemCount, isBind) return @@ -5064,7 +4952,7 @@ PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371") return for itemID, itemCount, isBind in itemList: - ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem]) + ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem]) #给经验 giveExp = 0 -- Gitblit v1.8.0