def ArenaEnd(optId, UserId, ServerId, **para): '''战斗结束''' FightObj = mod.is_in_arena(UserId, ServerId) # 获取战斗对象 # 注意:由于返回的是弱引用,使用的时候应该加括号:FightObj() if not FightObj: return common.error(optId, -(optId * 1000 + 1)) #不在战斗中,无法结束战斗。 fight_result = FightObj().fight_over() if fight_result == False: #没有达到战斗结束的条件 return common.error(optId, -(optId * 1000 + 2)) #处理战斗结果 # + 发送消息给分服 RabbitMod.rm.send(optId, ServerId, copy.deepcopy(fight_result[(UserId, ServerId)])) # + 更新荣誉表 HonourMod.addHonour(UserId, ServerId, fight_result[(UserId, ServerId)]['gainHonour'], time.time()) #从竞技场中退出 stat = mod.leave_arena(UserId, ServerId) if stat: #返回战斗结果给玩家 return common.out( optId, body={'FightResult': fight_result[(UserId, ServerId)]}) #成功 return common.error(optId, -(optId * 1000 + 3)) #不在竞技场战斗中
def ArenaEnd(optId, UserId, ServerId, **para): '''战斗结束''' FightObj = mod.is_in_arena(UserId, ServerId) # 获取战斗对象 # 注意:由于返回的是弱引用,使用的时候应该加括号:FightObj() if not FightObj: return common.error(optId, -(optId * 1000 + 1)) #不在战斗中,无法结束战斗。 fight_result = FightObj().fight_over() if fight_result == False: #没有达到战斗结束的条件 return common.error(optId, -(optId * 1000 + 2)) #处理战斗结果 # + 发送消息给分服 RabbitMod.rm.send(optId, ServerId, copy.deepcopy(fight_result[(UserId, ServerId)])) # + 更新荣誉表 HonourMod.addHonour(UserId, ServerId, fight_result[(UserId, ServerId)]['gainHonour'], time.time()) #从竞技场中退出 stat = mod.leave_arena(UserId, ServerId) if stat: #返回战斗结果给玩家 return common.out(optId, body={'FightResult':fight_result[(UserId, ServerId)]}) #成功 return common.error(optId, -(optId * 1000 + 3)) #不在竞技场战斗中
def fight_end(self, fight_result): #内部用 '''战后处理''' # 1,将战果广播给客户端 # 2,将战果分发给各分服 # 3,更新总服的荣誉表 from core import Gcore for user in fight_result: Gcore.multicast(user, common.out(98005, fight_result[user])) RabbitMod.rm.send(98005, user[1], fight_result[user]) HonourMod.addHonour(user[0], user[1], fight_result[user]['gainHonour'], time.time()) self.zmq_sock_close() #释放端口
def GetWeekHonour(optId, UserId, ServerId, **para): '''获取本周荣誉''' HonourNum = HonourMod.getWeekHonour(UserId, ServerId) return common.out(optId, {"HornourNum": HonourNum})
def GetWeekHonour(optId, UserId, ServerId, **para): '''获取本周荣誉''' HonourNum = HonourMod.getWeekHonour(UserId, ServerId) return common.out(optId, {"HornourNum":HonourNum})