示例#1
0
        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)
示例#2
0
    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)
示例#3
0
    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)
示例#4
0
        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)