#!/usr/bin/python # -*- coding: GBK -*- # # ##@package AILoginIn # @todo: ×Ô¶¯×é¶Ó£¬¼Ó°ï»á£¬¼ÓºÃÓÑ # # @author:whx # @date 2012-01-13 15:30 # @version 1.0 # ¼òҪ˵Ã÷ ×Ô¶¯×é¶Ó£¬¼Ó°ï»á£¬¼ÓºÃÓÑ # ÏêϸÃèÊö None import base64 from AI.AIBase import * from Protocol.PacketsSend import tagCJoinFriendAnswer from Protocol.PacketsSend import tagCTeamReq from Protocol.PacketsSend import tagAskJoinFamilyReply import logging import datetime import time from Robot.PlayerData import PlayerData VER = "2012-01-13 15:30" ## µÇ½µÄʱºò¿ªÆô # # ¼Ì³ÐAIBase class AIAutoAnswer(AIBase): ## ËùÓÐAI±ØÐë²ÉÓÃÕâÖй̶¨µÄ³õʼ»¯Ô­ÐÍ£¬ÒÔ±ãAIMgr×Ô¶¯¼ÓÔØ # @param None : None # @return bool # @remarks ´ËAI²»ÐèÒªÖÜÆÚÐÔ±»µ÷Óã¬ËùÒÔÉèÖÃΪ²»ÆôÓÃTimer def __init__(self, robot): #´ËAI²»ÐèÒªÖÜÆÚÐÔ±»µ÷Óã¬ËùÒÔÉèÖÃΪ²»ÆôÓÃTimer AIBase.__init__(self, robot, 0, False, False) self.SetActive(True) self.MapID = 0 ## ÏòAIMgr×¢²áÏûÏ¢»Øµ÷º¯Êý # @param None : None # @return bool # @remarks def _RegisterPacket(self, aiMgr): #ÊÇ·ñ¼ÓΪºÃÓÑ aiMgr.RegNetMsg(0x1101, self.AskJoinFriend, True) #ÊÇ·ñ×é¶Ó aiMgr.RegNetMsg(0x0901, self.OnInviteTeam, True) #ÊÇ·ñ¼ÓÈë°ï»á aiMgr.RegNetMsg(0x0F04, self.OnInviteFamily, True) ## ÊÇ·ñ¼ÓΪºÃÓÑ # @param packData : ·â°ü¶ÔÏó # @return None # @remarks None def AskJoinFriend(self, packData): queryName = packData.LeaderName # ÑûÇëÈ˵ÄÃû×Ö queryID = packData.LeaderID # ÑûÇëÈ˵ÄID self.SendPackJoinFriend(queryID) return ## ÊÇ·ñ×é¶Ó # @param packData : ·â°ü¶ÔÏó # @return None # @remarks None def OnInviteTeam(self, packData): headerName = packData.Name # ÑûÇëÈ˵ÄÃû×Ö headerID = packData.LeaderID # ÑûÇëÈ˵ÄID teamType = packData.TeamType # ×é¶ÓÀàÐÍ£¨1£ºÆÕͨ×é¶Ó£»2£ºÈÙÓþ×é¶Ó£© #·¢°ü½ÓÊÜ×é¶Ó self.SendPackJoinTeam(headerID, teamType) return ## ÊÇ·ñ¼ÓÈë°ï»á # @param packData : ·â°ü¶ÔÏó # @return None # @remarks None def OnInviteFamily(self, packData): shaikhName = packData.LeaderName # ÑûÇëÈ˵ÄÃû×Ö shaikhID = packData.LeaderID # ÑûÇëÈ˵ÄID familyName = packData.FamilyName # ¼Ò×åÃû familyID = packData.FamilyID # ¼Ò×åID #·¢°ü½ÓÊܼÓÈë°ï»á self.SendPackJoinFamily(shaikhID) return ## ·¢°ü½ÓÊܼÓÈë°ï»á # @param tagId : Ä¿±êid # @return None # @remarks None def SendPackJoinFamily(self, tagId): joinFamily = tagAskJoinFamilyReply() joinFamily.TagPlayerID = tagId joinFamily.IsOK = 1 self.robot.Send(joinFamily) ## ·¢°ü½ÓÊÜ×é¶Ó # @param tagId : Ä¿±êid # @return None # @remarks None def SendPackJoinTeam(self, tagId, teamType): joinTeam = tagCTeamReq() joinTeam.PlayerID = tagId joinTeam.TeamType = teamType # ÆÕͨ×é¶Ó joinTeam.Type = 1 # ½ÓÊÜÆÕͨ×é¶ÓÑûÇë self.robot.Send(joinTeam) ## ·¢°ü½ÓÊܼÓΪºÃÓÑ # @param tagId : Ä¿±êid # @return None # @remarks None def SendPackJoinFriend(self, tagId): joinFriend = tagCJoinFriendAnswer() joinFriend.Clear() joinFriend.TagID = tagId joinFriend.Answer = 1 # ½ÓÊܼÓΪºÃÓÑ self.robot.Send(joinFriend)