def addhp(characterId,argument): '''添加兵力 ''' if len(argument)<1: return player = PlayersManager().getPlayerByID(characterId) if not player: return player.attribute.addHp(int(argument[0])) player.updatePlayerInfo()
def terminatePractice(dynamicId, characterId): '''终止修炼 @param dynamicId: int 客户端的动态id @param characterId: int 角色的id ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} data = player.practice.terminatePractice() return data
def addxingyun(characterId,argument): '''添加幸运值 ''' if len(argument)<1: return player = PlayersManager().getPlayerByID(characterId) if not player: return player.petShop.addXy(int(argument[0])) player.updatePlayerInfo()
def handin(pid, iid): '''上交物品获得贡献 @param pid: int 角色id @param iid: str f1 f2 f3...f6 ''' player = PlayersManager().getPlayerByID(pid) if not player: return {'result': False, 'message': Lg().g(106)} data = player.nobility.handin(iid) return data
def AddJingJiCount3703(dynamicId,characterId): '''添加竞技次数''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result':False,'message':Lg().g(18)} result = player.arena.AddSurplustimes() msg = result.get('message',u'') if msg: pushOtherMessage(905, result.get('message',u''), [dynamicId]) return result
def getGodheadInfo(dynamicId, characterId, headtype): '''获取指定神格类型的神格信息列表 @param characterId: int 角色的ID @param headtype: int 神格的类型 ''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result': False, 'message': Lg().g(18)} data = player.godhead.getGodheadInfo(headtype) return data
def getMailInfo(dynamicId, characterId, mailID): '''获取邮件的详细信息 @param characterId: int 角色的ID @param mailID: int 邮件的ID ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} mailInfo = player.mail.readMail(mailID) return mailInfo
def updateLevel(self, level): '''更新角色当前等级 @param level: int 等级 ''' from app.scense.core.PlayersManager import PlayersManager self._level = level dbCharacterPet.updatePetInfo(self._owner.baseInfo.getId(), {'level': self._level}) player = PlayersManager().getPlayerByID(self._owner._owner) player.daily.noticeDaily(3, 0, self._level) #通知有宠物升级
def clearicon(characterId,argument): '''清除图标 ''' if len(argument)<1: return player = PlayersManager().getPlayerByID(characterId) if not player: return player.icon.iconlist={} player.icon.pushGameTopIcon()
def getHallInfo(dynamicId, characterId, curPage): '''获取大厅信息''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result': False, 'message': Lg().g(18)} areahall = Hall().getAreaHallById(1) areahall.addPlayer(characterId) data = areahall.getQueueRoomList(curPage) player.baseInfo.setStatus(2) return {'result': True, 'message': Lg().g(101), 'data': data}
def GetVipInfo_3800(dynamicId, characterId): '''获取角色包裹信息 @param dynamicId: int 客户端的id @param characterId: int 角色的id ''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result': False, 'message': Lg().g(18)} result = player.level.getVIPInfo() return result
def getSkillTreeInfo(dynamicId, characterId): '''获取角色技能数信息 @param dynamicId: int 客户端的id @param characterId: int 角色的id ''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result': False, 'message': Lg().g(18)} skillTree = player.skill.getSkillTreeInfo() return {'result': True, 'data': skillTree}
def FastEnterGroup(dynamicId, characterId): '''快速加入房间''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result': False, 'message': Lg().g(18)} if player.baseInfo.getQueueRoom(): return {'result': False, 'message': Lg().g(102)} areahall = Hall().getAreaHallById(1) result = areahall.FastEnterGroup(player) return result
def GetXiangQianStoreInfo2111(dynamicId, characterId, curpage): '''获取镶嵌镶嵌石包裹 @param characterId: int 角色的ID @param curpage: int 包裹分页 ''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result': False, 'message': Lg().g(18)} data = player.pack.getMosaicGemPackage(curpage) return data
def getMatrixsInfo(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 = MatrixManager().getMatrixsInfo() return {'result': True, 'message': '', 'data': data}
def GetStrengthenPackageInfo(playerId, curPage): '''获取强化包裹中的数据 @param playerId: int 角色的id @param curPage: int 包裹的ID ''' player = PlayersManager().getPlayerByID(playerId) #角色实例 if not player: return {'result': False, 'message': Lg().g(18)} data = player.pack.GetStrengthenPackageInfo(curPage) return {'result': True, 'data': data}
def MoveXingYun(dynamicId, characterId, opear, opeType, frompos, topos): '''移动星运 ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} data = player.fate.MoveFate(opeType, opear, frompos, topos) msg = data.get('message', '') if msg: pushOtherMessage(905, msg, [dynamicId]) return data
def YiJianObtainAndDrop(dynamicId, characterId, opearType): '''一键拾取或卖出 ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} if opearType: result = player.fate.SellAll() else: result = player.fate.PickUpAll() return result
def applyQuest(dynamicId, characterId, taskId): '''接受任务 @param dynamicId: int 任务的id @param characterId: int 角色的id @param taskId: int 任务的id ''' player = PlayersManager().getPlayerByID(characterId) if not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} data = player.quest.applyQuest(taskId) return data
def TaskNpcSubTask(dynamicId, characterId, task_id, npc_id): '''提交任务''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False} data = player.quest.commitQuest(task_id, npc_id) data['task_id'] = task_id msg = data.get('message', '') if msg: pushOtherMessage(905, msg, [dynamicId]) return data
def getQuestListOnNpc(dynamicId, characterId, npcId): '''获取npc身上任务列表 @param dynamicId: int 客户端动态Id @param characterId: int 角色的id @param npcId: int npc的id ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} player.quest.pushPlayerScenceNpcQuestStatus() return {'result': True}
def updateAllPlayerLocation(self, rate): '''更新场景中所有角色的坐标 @param rate: int 移动的频率 ''' playerList = list(self._canRec) for playerId in playerList: player = PlayersManager().getPlayerByID(playerId) if not player: self.dropPlayer(playerId) continue player.updateLocation(rate) #更新角色的位置
def SettingMatrix(dynamicId, characterId, matrixID, petId, operationType, fromPos, toPos): '''阵法设置''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result': False, 'message': Lg().g(18)} result = player.matrix.updateMatrix(petId, operationType, fromPos, toPos) if not result.get('result'): msg = result.get('message', '') pushOtherMessage(905, msg, [dynamicId]) return result
def getItemsInPackage(dynamicId,characterId,packCategory,page): '''获取角色包裹信息 @param dynamicId: int 客户端的id @param characterId: int 角色的id @param packCategory: int 1:普通物品 2:任务 ''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result':False,'message':Lg().g(18)} packageItemInfo = player.pack._package.getCategoryPageItemInfo(packCategory,page) return {'result':True,'message':u'','data':packageItemInfo}
def addProperty(groupid, itemid, tagid, pid): '''给副本组添加属性加成 @param groupid: int 副本组id @param itemid: int 加成物品(1力量、2敏捷 、3智力、4精神、5耐力) @param tagid: int 角色动态id ''' Preperty(groupid, itemid, tagid, pid) player = PlayersManager().getPlayerByID(pid) #角色实例 count = player.finance.getGold() #角色拥有的钻 if count >= 100: player.finance.updateGold(count - 100)
def GMInfo4000(dynamicId, characterId, gmmsg): '''gm消息 ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} characterName = player.baseInfo.getName() dbBeginner.insertGMmsg(characterName, gmmsg) msg = Lg().g(26) pushOtherMessage(905, msg, [dynamicId]) return {'result': True}
def getRestRoomInfo(dynamicId, characterId, placeId): '''获取宿屋信息 @param dynamicId: int 客户端的动态id @param characterId: int 角色的id @param placeId: int 场景的id ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False, 'message': Lg().g(18)} restNum = player.attribute.getRestNum() return {'result': True, 'data': restNum}
def TaskNpcTaskInfo(dynamicId, characterId, NpcID): '''获取NPC的主线任务 @param dynamicId: int 客户端动态id @param characterId: int 角色的id @param NpcID: int npc的id ''' player = PlayersManager().getPlayerByID(characterId) if not player or not player.CheckClient(dynamicId): return {'result': False} data = player.quest.formatNpcQuestInfo(NpcID) return data
def PetChuanCheng(dynamicId, characterId, petFrom, petTo): '''宠物传承 ''' player = PlayersManager().getPlayerByID(characterId) if not player: return {'result': False, 'message': Lg().g(18)} data = player.pet.TransferExp(petFrom, petTo) msg = data.get('message', 0) if msg: pushOtherMessage(905, msg, [dynamicId]) return data
def dropMonster(self, monsterId): '''移除场景中的一个怪物 ''' try: del self._monsters[monsterId] pushRemovePlayerInMap(monsterId,\ [PlayersManager().getPlayerByID(player).getDynamicId()\ for player in self._playerlist]) except Exception, e: log.msg('delete monster %d error! %s' % (monsterId, e)) return