def unloadedEquipment(dynamicId,characterId,fromPosition,toPosition,curpage): '''卸下装备 @param dynamicId: int 客户端的id @param characterId: int 角色的id @param fromPosition: int 装备的位置 @param toPosition: int 放到包裹中的位置 ''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result':False,'message':Lg().g(18)} data = player.pack.unloadedEquipment(fromPosition,toPosition,curpage) return data
def packageExpansion(self,position): '''包裹扩充''' package = self.pack PurposeSize = position +1 start = package.getSize()-self.INITSIZE if start<0: return {'result':False,'message':u'坑爹呢!'} end = PurposeSize - package.getSize() cost = 0 while end>0: start += 1 cost += start*2 end -=1 if self._owner.finance.getGold()<cost: return {'result':False,'message':Lg().g(190)} self._owner.finance.updateGold(self._owner.finance.getGold()-cost) self._owner.updatePlayerInfo() package.setSize(PurposeSize) dbaccess.updatePlayerInfo(self._owner.baseInfo.id, {'famPackSize':PurposeSize}) pushPromptedMessage(Lg().g(352)%cost,[self._owner.getDynamicId()]) return {'result':True,'message':Lg().g(352)%cost}
def getPlayerInfo(dynamicId, characterId): '''获取角色信息 @param dynamicId: int 客户端的id @param characterId: int 角色的id ''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result': False, 'message': Lg().g(18)} data = player.formatInfo() hasBuyCount = player.afk.turnenergytimes info = {'playerInfo': data, 'hasBuyCount': hasBuyCount} return {'result': True, 'message': u'获取信息成功', 'data': info}
def giveItemHandle(self,taskId,taskType = 1): '''接受任务时给予物品的处理''' taskInfo = Quest( taskId) taskInfo.setProfession(self._owner.profession.getProfession()) giveitems = taskInfo.resolveGiveItem() package = self._owner.pack._package.getPackageByType(1) bagCnt = package.findSparePositionNum()#包裹的格子剩余数量 if len(giveitems)>bagCnt: return {'result':False,'message':Lg().g(16)} for item in giveitems: self._owner.pack.putNewItemInPackage(item) return {'result':True}
def AutoJoinBattle4408(dynamicId, characterId, autoJoinFlag): '''自动参战或取消自动参战 ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} guildId = player.guild.getID() if not guildId: return {'result': False, 'message': Lg().g(79)} ldID = FortressManager().guildFightFortressId(guildId) fortress = FortressManager().getFortressById(ldID) if not fortress: return {'result': False, 'message': Lg().g(654)} if autoJoinFlag: chName = player.baseInfo.getName() chLevel = player.level.getLevel() fortress.Participate(guildId, characterId, chName, chLevel) result = fortress.autoJoin(characterId) else: result = fortress.cancelAutoJoin(characterId) return {'result': result}
def StrengthenItem_2120(dynamicId, request_proto): '''获取强化剩余秒数''' argument = StrengthenTime2120_pb2.StrengthenTimeRequest() argument.ParseFromString(request_proto) response = StrengthenTime2120_pb2.StrengthenTimeResponse() pid = argument.id #角色id result = strengthen.getSYtime(pid) response.result = True response.message = Lg().g(166) response.reTime=result return response.SerializeToString()
def dropItemsInPack(dynamicId,characterId,position,packageType,curpage): '''丢弃物品 @param dynamicId: int 客户端的id @param characterId: int 角色的id @param position: int 物品的位置 @param packageType: int 包裹的类型 ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result':False,'message':Lg().g(18)} data = player.pack.dropItemsInPack(position,packageType,curpage) return data
def getWarehouseInfo(dynamicId,characterId): '''获取角色的仓库信息 @param dynamicId: int 客户端的id @param characterId: int 角色的id ''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result':False,'message':Lg().g(18)} package = player.pack.getWarehousePackage() packageItemInfo = package.getPackageItemInfo() data = {'packageItemInfo':packageItemInfo} return {'result':True,'message':u'','data':data}
def creatGuild(dynamicId, characterId, corpsName, camp): '''创建国 @param dynamicId: int 客户端动态id @param characterId: int 角色的id @param corpsName: int 国的名称 @param camp: int 国阵营 1光明 2黑暗 ''' player = PlayersManager().getPlayerByID(characterId) if player.level.getLevel() < LEVELREQUIRED: return {'result': False, 'message': Lg().g(77)} if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} for word in dbaccess.All_ShieldWord: cnt = corpsName.find(word[0]) if cnt != -1: return {'result': False, 'message': Lg().g(78)} data = player.guild.creatGuild(corpsName, camp) msg = data.get('message', '') if msg: pushOtherMessage(905, msg, [dynamicId]) return data
def activationSkill(dynamicId, characterId, skillId): '''激活技能 @param dynamicId: int 客户端的id @param characterId: int 角色的id @param skillId: int 技能id ''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result': False, 'message': Lg().g(18)} result = player.skill.activationSkill(skillId) pushOtherMessage(905, result.get('message', ''), [dynamicId]) return result
def immediateFinishPractice(dynamicId, characterId, payType, payNum): '''立即完成修炼 @param dynamicId: int 客户端的动态id @param characterId: int 角色的id @param payType: int 支付类型 @param payNum: int 支付的数量 ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} data = player.practice.immediateFinishPractice(payType, payNum) return data
def packageExpansion(dynamicId, characterId,packageType,curpage,position): '''扩充包裹 @param dynamicId: int 客户端的id @param characterId: int 角色的id @param packageType: int 包裹的类型 @param curpage: int 包裹当前页 @param position: int 包裹的坐标 ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result':False,'message':Lg().g(18)} return player.pack.packageExpansion(packageType,curpage,position)
def openRandEgg(self, petlist, default): '''打开随机宠物蛋 @param petlist: list [(宠物ID,随机区间)]随机掉落 @param default: 宠物的ID 默认掉落 ''' petsrates = [petinfo[1] for petinfo in petlist] petid = 0 rate = random.randint(0, RATE_BASE) for index in range(len(petlist)): if rate < sum(petsrates[:index + 1]): petid = petlist[index][0] break if not petid: petid = default result = self.addPet(petid) if result == -1: raise Exception(Lg().g(421)) elif result == -2: raise Exception(Lg().g(428)) else: self._owner.quest.specialTaskHandle(110)
def GetJingJiInfo3700(dynamicId,characterId): '''获取竞技场信息 ''' player = PlayersManager().getPlayerByID(characterId) res = CanDoServer(characterId) if not res['result']: pushOtherMessage(905, res.get('message',u''), [dynamicId]) return res if not player or not player.CheckClient(dynamicId): return {'result':False,'message':Lg().g(18)} data = player.arena.getArenaAllInfo() return {'result':True,'data':data}
def activationPetSkill(self, petId): '''激活宠物的技能 @param petId: int 宠物的id ''' self.initCharacterPetInfo() if petId not in self._pets.keys(): return -5 #不存在该宠物 itemtemplateID = SKILLCRYSTAL.get(1) count = self._owner.pack.countItemTemplateId(itemtemplateID) if count < 1: msg = Lg().g(423) pushOtherMessage(905, msg, [self._owner.getDynamicId()]) return -4 pet = self._pets.get(petId) result, skillId = pet.learnSkill() if result == 1: self._owner.pack.delItemByTemplateId(itemtemplateID, 1) skillName = dbCharacterPet.PET_SKILL_POOL.get(skillId).get('name') msg = pet.getName() + Lg().g(424) + skillName pushOtherMessage(905, msg, [self._owner.getDynamicId()]) return result
def receiveAward(dynamicId, characterId, awardtype): '''领取奖励 @param dynamicId: int 客户端的动态id @param characterId: int 角色的id @param awardtype: int 奖励的类型 ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} result = player.award.receiveAward(awardtype) return {'result': result, 'message': u''}
def CorpsInviteOther(dynamicId, characterId, otherid, otername): '''邀请加入行会 @param dynamicId: int 客户端的动态id @param characterId: int 角色的id @param otherid: int 对方的Id @param otername: 对方的名称 ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} guildId = player.guild.getID() if not guildId: return {'result': False, 'message': Lg().g(79)} toplayer = PlayersManager().getPlayerByID(otherid) if not toplayer: return {'result': False, 'message': Lg().g(91)} if toplayer.level.getLevel() < LEVELREQUIRED: return {'result': False, 'message': Lg().g(86)} guild = GuildManager().getGuildById(guildId) if guild.guildinfo.get('curMenberNum', 50) >= guild.guildinfo.get( 'memberCount', 50): return {'result': False, 'message': Lg().g(83)} sendList = [toplayer.getDynamicId()] pushInviteOtherJoinGuild(characterId, guildId, player.baseInfo.getName(),\ guild.getGuildName(), sendList) msg = Lg().g(92) pushOtherMessage(905, msg, [dynamicId]) return {'result': True}
def updateFJ(self): '''更新物品附加信息(适用于强化物品)''' qh = self.attribute.getStrengthen() pz = self.baseInfo.getItemTemplateInfo().get("baseQuality", 0) #获取品质 # qh=StrengthenManager().getGainInfo(self.attribute.strengthen,pz) #获取强化信息 itemProfession = self.baseInfo.getItemProfession( ) #职业类型限制 1战士 2 法师 3 游侠 4 牧师 0无属性 # if not qh: # return False # if self.attribute.strengthen>=0: # pass # #print " " iteminfo = self.baseInfo.getItemTemplateInfo() #物品模板id信息 typeid = iteminfo.get('bodyType', 0) arraylist = configure.getAttributeByZyAndWqTypeid( itemProfession, typeid, qh, pz) for array in arraylist: if array[0] == Lg().g(36): self.attribute.extMagicAttack = array[1] #附加魔法攻击 elif array[0] == Lg().g(34): self.attribute.extPhysicalAttack = array[1] #附加物理攻击 elif array[0] == Lg().g(35): self.attribute.extPhysicalDefense = array[1] #附加物理防御 elif array[0] == Lg().g(37): self.attribute.extMagicDefense = array[1] #附加魔法防御 elif array[0] == Lg().g(55): self.attribute.extSpeedAdditional = array[1] #附加攻速 elif array[0] == Lg().g(32): self.attribute.extHpAdditional = array[1] #附加最大血量
def terminatePractice_405(dynamicId, request_proto): '''立即结束修炼''' argument = terminatePractice_pb2.terminatePracticeRequest() argument.ParseFromString(request_proto) response = terminatePractice_pb2.terminatePracticeResponse() dynamicId = dynamicId characterId = argument.id data = practice.terminatePractice(dynamicId, characterId) response.result = data.get('result', False) response.message = data.get('message', u'') if data.get('data', None): response.data.monsterName = data.get('data')['monsterName'] response.data.currentExp = data.get('data')['currentExp'] response.data.currentCountHit = data.get('data')['currentCountHit'] statuses = { 1: Lg().g(616), 2: Lg().g(174), 3: Lg().g(617), 4: Lg().g(172), 5: Lg().g(171), 6: Lg().g(618) } response.data.status = statuses.get(data.get('data')['status'], u'') response.data.level = data.get('data')['level'] return response.SerializeToString()
def UnloadFate(self, opear, frompos, topos): '''卸下命格信息 ''' tofateId = self.fatepack.get(topos) if not opear: #操作的是角色时 fromfateId = self.equiped.get(frompos) if not fromfateId: return {'result': False, 'message': Lg().g(305)} #False del self.equiped[frompos] else: #操作的是宠物时 pet = self._owner.pet.getPet(opear) if not pet: return {'result': False, 'message': Lg().g(159)} fromfateId = pet.fate.get(frompos) if not fromfateId: return {'result': False, 'message': Lg().g(305)} del pet.fate[frompos] if not tofateId: #当卸下的目的地没有命格时 self.fatepack[topos] = fromfateId self.fates[fromfateId].updateFateInfo({ 'equip': -2, 'position': topos }) else: #当卸下的目的地有命格时 if self.fates[fromfateId].templateinfo['quality'] > self.fates[ tofateId].templateinfo['quality']: #吞噬 maxexp = self.fates[tofateId].getAllExp() self.fates[fromfateId].addExp(maxexp) self.fates[tofateId].destroyByDB() del self.fates[tofateId] prop = {'equip': -2, 'position': topos} self.fates[fromfateId].updateFateInfo(prop) self.fatepack[topos] = fromfateId else: #被吞噬 maxexp = self.fates[fromfateId].getAllExp() self.fates[tofateId].addExp(maxexp) self.fates[fromfateId].destroyByDB() del self.fates[fromfateId] return {'result': True, 'data': opear}
def getFriendAll(self, characterId, friendType, ziduan, guize): '''显示好友信息 @param characterId: int 角色的id @param friendType: 好友类型(1,2,3)1:好友 2:黑名单 3:全部 4:仇敌 @param ziduan: int 1按角色名称,0角色等级,2行会名称 3最近登录时间 @param guize: int 排序规则 1正序 0倒序 @param page: int 当前页数 @param counts: int 每页多少条信息 ''' #['id','nickname','profession','level','name','LastonlineTime'] result = dbFriend.getPlayerFriend(characterId, friendType, ziduan, guize) from app.scense.core.PlayersManager import PlayersManager list1 = [] #在线 list2 = [] #不在线 if result: for i in range(len(result)): cid = result[i].get("id", 0) if cid > 0: player = PlayersManager().getPlayerByID(cid) if player: #如果角色在线 result[i]['level'] = player.level.getLevel() #角色等级 if player.guild.getID() != 0: result[i]['name'] = player.guild.getGuildName( ) #所属国的名字 result[i]['clue'] = player.baseInfo.getSceneName( ) #场景名称 result[i]['zx'] = 1 if player.baseInfo.getState() > 0: #如果在副本中 result[i]['scenename'] = Lg().g(316) else: #如果不在副本中 result[i][ 'scenename'] = player.baseInfo.getSceneName() list1.append(result[i]) else: #如果角色不在线 result[i]['scenename'] = Lg().g(272) result[i]['zx'] = 0 list2.append(result[i]) return list1 + list2 return None
def ItemCompound(self, itemId): '''合成物品 @param param: ''' if self._owner.level.getLevel() < 21: #功能等级开放限制 return {'result': False, 'message': Lg().g(414)} compound = dbItems.ALL_COMPOUND.get(itemId) if not compound: return {'result': False, 'message': Lg().g(415)} coinrequired = compound['coinrequired'] if coinrequired > self._owner.finance.getCoin(): return {'result': False, 'message': Lg().g(88)} itemArequired = compound['m1_cnt'] nowitemAcnt = self._package._PropsPagePack.countItemTemplateId( compound['m1_item']) itemBrequired = compound['m2_cnt'] nowitemBcnt = self._package._PropsPagePack.countItemTemplateId( compound['m2_item']) if itemArequired > nowitemAcnt or itemBrequired > nowitemBcnt: return {'result': False, 'message': Lg().g(416)} self._owner.finance.addCoin(-coinrequired) itemname = compound.get('name', '') if itemId in dbItems.ALL_GEMINFO.keys(): gemlevel = compound.get('level', 0) viplevel = self._owner.baseInfo._viptype compoundRate = min(100 - 5 * gemlevel + 10 * viplevel, 100) if not checkRate(compoundRate): #检测合成几率,合成是否成功 return {'result': True, 'message': Lg().g(417) % itemname} self.delItemByTemplateId(compound['m1_item'], itemArequired) self.delItemByTemplateId(compound['m2_item'], itemBrequired) self.putNewItemsInPackage(itemId, 1) self._owner.schedule.noticeSchedule(4) #成功后的每日目标通知 self._owner.quest.specialTaskHandle(125) #成功后的特殊任务通知 return {'result': True, 'message': Lg().g(418) % itemname}
def FinalRegist(dynamicId, username, password, nickname, profession): '''最终注册''' email = '*****@*****.**' if len(username) < 4 or len(username) > 8: return {'result': False, 'message': Lg().g(20)} result = registered.addPlayer(username, password, email) if result == 1: return {'result': False, 'message': Lg().g(22)} elif result == 2: return {'result': False, 'message': Lg().g(23)} userId = dbaccess.getUserIdByUserNamePassword(username, password) userNew = User.User(userId, username, dynamicId) UsersManager().addUser(userNew) result = userNew.creatNewCharacter(nickname, profession) if not result.get('result', False): return {'result': False, 'message': Lg().g(24)} data = result.get('data', None) if not data: return {'result': False, 'message': Lg().g(24)} characterId = data.get('newCharacterId', 0) player = PlayerCharacter(characterId, dynamicId=dynamicId) # player.pack.putNewItemsInPackage(27, 1)#放置新手引导中获得的的物品 # player.pack.putNewItemsInPackage(28, 1)#放置新手引导中获得的的物品 PlayersManager().addPlayer(player) data = {} data['userId'] = userId data['characterId'] = characterId data['placeId'] = player.baseInfo.getTown() return {'result': True, 'message': Lg().g(25), 'data': data}
def ZhanXing(self, fatelevel): '''开始占星 ''' dynamicId = self._owner.dynamicId if self._owner.level.getLevel() < 16: #功能等级开放限制 msg = Lg().g(295) pushOtherMessage(905, msg, [dynamicId]) return {'result': False, 'message': msg} if fatelevel > 1 and self.fateLevel != fatelevel: msg = Lg().g(296) pushOtherMessage(905, msg, [dynamicId]) return {'result': False, 'message': msg} if len(self.outside) >= MAXOUTSIDE: return {'result': False, 'message': Lg().g(297)} cons = ZHANXING_CONFIG_CONS.get(fatelevel, 10000) if cons > self._owner.finance.getCoin(): msg = Lg().g(88) pushOtherMessage(905, msg, [dynamicId]) return {'result': False, 'message': msg} templateId = choiceFate(fatelevel) fateId = self.addFate(templateId) self.planFateLevel(fatelevel) self.score += 1 fate = self.fates.get(fateId) data = { 'showIndex': self.fateLevel, 'maxCount': self.score, 'fateIns': fate } self._owner.finance.addCoin(-cons) self._owner.daily.noticeDaily(21, 0, -1) #通知每日目标 name = fate.templateinfo['name'] levelname = LEVELNAME.get(self.fateLevel) if self.fateLevel > 1: try: msg = Lg().g(298) % (name, levelname) except: msg = Lg().g(298) % (name.decode('utf8'), levelname) else: try: msg = Lg().g(299) % (name) except: msg = Lg().g(299) % (name.decode('utf8')) pushOtherMessage(905, msg, [dynamicId]) self._owner.schedule.noticeSchedule(9) #成功后的日程目标通知 characterId = self._owner.baseInfo.id prop = {'score': self.score} dbCharacterFate.updateCharacterFateSetting(characterId, prop) return {'result': True, 'data': data}
def pratice_403(dynamicId, request_proto): '''怪物修炼''' argument = pratice_pb2.praticeRequest() argument.ParseFromString(request_proto) response = pratice_pb2.praticeResponse() dynamicId = dynamicId characterId = argument.id monsterId = argument.monsterId singleExpBonus = argument.singleExpBonus monsterCount = argument.monsterCount monsterLevel = argument.monsterLevel data = practice.pratice(dynamicId, characterId, monsterId, singleExpBonus, monsterCount, monsterLevel) response.result = data.get('result', False) response.message = data.get('message', u'') if data.get('data', None): statuses = { 1: Lg().g(616), 2: Lg().g(174), 3: Lg().g(617), 4: Lg().g(172), 5: Lg().g(171), 6: Lg().g(618) } response.data.status = statuses.get(data.get('data')['status'], u'') return response.SerializeToString()
def enterGuildBattleField(dynamicId,characterId): '''进入行会战副本 @param dynamicId: int 客户端的动态id @param characterId: int 角色的id ''' res = CanDoServer(characterId) if not res['result']: return res player = PlayersManager().getPlayerByID(characterId) if not player.CheckClient(dynamicId): return {'result':False,'message':Lg().g(18)} if not player.status.getLifeStatus(): return {'result':False,'message':Lg().g(97)} if player.baseInfo.getState()==1: return {'result':False,'message':Lg().g(98)} guildId = player.guild.getID() if not guildId: return {'result':False,'message':Lg().g(79)} battleArea = BattleAreaManager().getGuildBattleAreaIdByGuildId(guildId) if not battleArea: return {'result':False,'message':Lg().g(99)} nowSceneId = battleArea.enterGuildBattleField(guildId,characterId) if not nowSceneId: return {'result':False,'message':Lg().g(100)} lastscene = SceneManager_new().getSceneById(player.baseInfo.getLocation()) lastscene.dropPlayer(player.baseInfo.id) player.baseInfo.setState(2) data = {'placeId':nowSceneId} return {'result':True,'data':data}
def checkSkillLevelUp(self, skillGroup): '''检测技能是否是可升级 @param skillGroup: int 技能的id ''' if not self.learned_skillpool.has_key(skillGroup): return {'result': False, 'message': Lg().g(474)} nowskillInfo = self.learned_skillpool.get(skillGroup) nowlevel = nowskillInfo.get('skillLevel', 1) skillInfo = dbSkill.SKILL_GROUP[skillGroup].get(nowlevel + 1) if not skillInfo: return {'result': False, 'message': Lg().g(425)} levelRequired = skillInfo.get('levelRequired') if self._owner.level.getLevel() < levelRequired: return {'result': False, 'message': Lg().g(332)} levelUpMoney = skillInfo.get('levelUpMoney') if self._owner.finance.getCoin() < levelUpMoney: return {'result': False, 'message': Lg().g(88)} profession = skillInfo.get('profession') if self._owner.profession.getProfession( ) != profession and profession != 0: return {'result': False, 'message': Lg().g(404)} itemTemplateID = skillInfo.get('itemRequired') requiredCount = skillInfo.get('itemCountRequired') itemInfo = dbaccess.all_ItemTemplate.get(itemTemplateID) if itemInfo and requiredCount: if self._owner.pack.countItemTemplateId( itemTemplateID) < requiredCount: return { 'result': False, 'message': Lg().g(473) % itemInfo.get('name') } return {'result': True}
def AddSurplustimes(self): '''添加竞技场剩余次数''' viplevel = self._owner.baseInfo._viptype nowtimes = self.buytimes if not vipCertification('arenatimes', viplevel, nowtimes=nowtimes): return {'result': False, 'message': Lg().g(217)} reqGold = (self.buytimes + 1) * 10 if reqGold > self._owner.finance.getGold(): return {'result': False, 'message': Lg().g(190)} self._owner.finance.consGold(reqGold, 12) #添加剩余次数 self.buytimes += 1 self.surplustimes += 1 characterId = self._owner.baseInfo.id props = {'buytimes': 1, 'surplustimes': self.surplustimes} dbarena.updateCharacterArenaInfo(characterId, props) reqCoin = (self.buytimes + 1) * 10 info = { 'bCount': self.surplustimes, 'addCount': self.buytimes, 'reqCoin': reqCoin } return {'result': True, 'data': info}
def leaveGuild(self): '''离开国''' guild = GuildManager().getGuildById(self.id) gid=self.id if not guild: return {'result':False,'message':Lg().g(79)} data = guild.leaveGuild(self._owner.baseInfo.id) if data.get('result',False): self.updateID(0) self.setLeaveTime(datetime.datetime.now()) chatnoderemote.callRemote('updateGuild',self._owner.baseInfo.id,gid,0)#同步聊天角色中的行会 self._owner.updatePlayerInfo() return data
def updateAddMorale(self, val, state=False): #添加斗气值 '''添加斗气值 @param val: int 添加的斗气数量 @param state: bool true战后提示,False马上提示 ''' msg = Lg().g(309) % abs(val) self._morale += val pushObjectNetInterface.pushUpdatePlayerInfo(self._owner.getDynamicId()) if state: pushPromptedMessage(msg, [self._owner.getDynamicId()]) else: self._owner.msgbox.putFightMsg(msg) #将消息加入战后消息处理中