def sqlcallback(result, row, insertid, errstr): if errstr: # 输出错误信息 ERROR_MSG("Account[%i].reqChangeName:[%s]" % (self.id, errstr)) elif len(result) == 0: # 不存在角色名字 self.client.reqMessageCall("名字为 " + name + " 的角色不存在") DEBUG_MSG("Account[%i].addFriend:[%s] || 该角色名不存在" % (self.id, name)) elif len(result) != 0: # 名字存在 dbid = int(result[0][0]) level = int(result[0][3]) # 检测在线回调 def lookUpEntityCallBack(result): if result == True: self.client.reqMessageCall("名字为 " + name + " 的角色不在线") DEBUG_MSG("lookUpEntityCallBack : 玩家不在线") elif result == False: DEBUG_MSG("lookUpEntityCallBack : 其他原因") else: DEBUG_MSG("lookUpEntityCallBack : 玩家在线") #像该id实体的客户端发送好友请求 KBEngine.entities[ result.id].client.reqAddFriendMessage( self.id, self.Name) # 检查该DBID对应实体是否检出 也就是是否在线 KBEngine.lookUpEntityByDBID("Account", dbid, lookUpEntityCallBack)
def reqAddFriendToMatchRoom(self, reqDBID): def lookUpEntityCallBack(result): if result == True: DEBUG_MSG("reqAddFriendToMatchRoom : 玩家不在线") elif result == False: DEBUG_MSG("reqAddFriendToMatchRoom : 其他原因") else: DEBUG_MSG("reqAddFriendToMatchRoom : 玩家 %s 在线" % result.Name) # 像该id实体的客户端发送显示邀请信息 KBEngine.entities[result.id].client.reqEnterMatchRoomMessage( self.id, self.Name) # 检查该DBID对应实体是否检出 也就是是否在线 KBEngine.lookUpEntityByDBID("Account", reqDBID, lookUpEntityCallBack)
def sendChattingMessage(self, dbid, message): # 检测在线回调 def lookUpEntityCallBack(result): if result == True: # 应设置数据库暂存 先空着 DEBUG_MSG("sendChattingMessage : 玩家不在线") elif result == False: DEBUG_MSG("sendChattingMessage : 其他原因") else: DEBUG_MSG("sendChattingMessage : 玩家 %s 在线" % result.Name) # 像该id实体的客户端发送聊天信息 KBEngine.entities[result.id].client.reqUpdateFriendChatting( self.databaseID, message) # 检查该DBID对应实体是否检出 也就是是否在线 KBEngine.lookUpEntityByDBID("Account", dbid, lookUpEntityCallBack)
def sqlcallback(result, row, insertid, errstr): global newInfoList if errstr: # 输出错误信息 ERROR_MSG("updateFriendsMessage[%i].reqChangeName:[%s]" % (self.id, errstr)) self.client.reqChangeNameCall(errstr) elif len(result) > 0: newInfoList.append({ 'dbid': int(result[0][0]), "name": result[0][2].decode("utf-8"), "level": int(result[0][3]), "status": False, "icon": int(result[0][4]) }) self.DbidToIndex[int(result[0][0])] = len(newInfoList) - 1 #回调完毕 if len(newInfoList) == len(self.Friend_list): for oneInfo in newInfoList: # 检查该DBID对应实体是否检出 也就是是否在线 KBEngine.lookUpEntityByDBID("Account", oneInfo['dbid'], lookUpEntityCallBack)