Beispiel #1
0
    def onCmdAgreeJoin(self, argMap):
        playerMB = argMap["playerMB"]
        guildDBID = argMap["guildDBID"]
        applyerDBID = argMap["applyerDBID"]

        if self.isGuildExist(guildDBID) is False:
            ERROR_MSG(
                "----------------not exist guild ---------------------------")
            playerMB.client.onGuildError(
                ErrorCode.GuildModuleError.Guild_guild_not_exist)
            return

        param = {
            "applyerDBID": applyerDBID,
            "power": PowerEnmu.member,
            "selfDBID": argMap["selfDBID"],
            "playerMB": playerMB
        }

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
                guild.onCmd("agreeJoin", param)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guildMb = self.dbidToMb[guildDBID]
            guildMb.onCmd("agreeJoin", param)
Beispiel #2
0
    def onCmdCancelApply(self, argMap):
        playerMB = argMap["playerMB"]
        guildDBID = argMap["guildDBID"]
        applyerDBID = argMap["applyerDBID"]
        if self.isGuildExist(guildDBID) is False:
            ERROR_MSG(
                "----------------not exist guild ---------------------------")
            playerMB.client.onGuildError(
                ErrorCode.GuildModuleError.Guild_guild_not_exist)
            return

        param = {"applyerDBID": applyerDBID}

        def cancelApplyCB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild

            guild.onCmd("cancelApply", param)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID,
                                                cancelApplyCB)
        else:
            guildMb = self.dbidToMb[guildDBID]
            guildMb.onCmd("cancelApply", param)
        pass
def onAutoLoadEntityCreate(entityType, dbid):
	"""
	KBEngine method.
	自动加载的entity创建方法,引擎允许脚本层重新实现实体的创建,如果脚本不实现这个方法
	引擎底层使用createBaseAnywhereFromDBID来创建实体
	"""
	INFO_MSG('onAutoLoadEntityCreate: entityType=%s, dbid=%i' % (entityType, dbid))
	KBEngine.createBaseAnywhereFromDBID(entityType, dbid)
Beispiel #4
0
def onAutoLoadEntityCreate(entityType, dbid):
    """
	KBEngine method.
	自动加载的entity创建方法,引擎允许脚本层重新实现实体的创建,如果脚本不实现这个方法
	引擎底层使用createBaseAnywhereFromDBID来创建实体
	"""
    DEBUG_MSG('onAutoLoadEntityCreate: entityType=%s, dbid=%i' %
              (entityType, dbid))
    KBEngine.createBaseAnywhereFromDBID(entityType, dbid)
Beispiel #5
0
    def onCmdGuildBuyProtect(self, argMap):
        guildDBID = argMap["guildDBID"]

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
            guild.onCmd("guildBuyProtect", argMap)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guildMB = self.dbidToMb[guildDBID]
            guildMB.onCmd("guildBuyProtect", argMap)
Beispiel #6
0
    def onCmdGuildHrEvent(self, argMap):
        guildDBID = self.getGuildDBID(argMap["guildDBID"])

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
            guild.onCmd("guildHrEventList", argMap)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guildMB = self.dbidToMb[guildDBID]
            guildMB.onCmd("guildHrEventList", argMap)
Beispiel #7
0
    def onCmdRefreshRopeTimes(self, argMap):

        guildDBID = argMap["guildDBID"]

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
            guild.onCmd("refreshRopeTimes", argMap)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guild = self.dbidToMb[guildDBID]
            guild.onCmd("refreshRopeTimes", argMap)
Beispiel #8
0
    def onCmdClearDayDonate(self, argMap):

        guildDBID = argMap["guildDBID"]

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
            guild.onCmd("clearDayDonate", argMap)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guild = self.dbidToMb[guildDBID]
            guild.onCmd("clearDayDonate", argMap)
Beispiel #9
0
    def onCmdGetGuildMember(self, argMap):
        playerMB = argMap["playerMB"]
        guildDBID = argMap["guildDBID"]

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
                guild.onCmd("getGuildMemberList", playerMB)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guildMb = self.dbidToMb[guildDBID]
            guildMb.onCmd("getGuildMemberList", playerMB)
Beispiel #10
0
    def onCmdNPCRopeAdviser(self, argMap):
        guildDBID = self.getGuildDBID(argMap["guildDBID"])

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
            guild.onCmd("npcRopeAdviser", argMap)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guildMB = self.dbidToMb[guildDBID]
            guildMB.onCmd("npcRopeAdviser", argMap)
        pass
Beispiel #11
0
    def onCmdCheckBuild(self, argMap):

        playerMB = argMap["playerMB"]
        guildDBID = argMap["guildDBID"]

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
            guild.onCmd("guildCheckBuildUpgrade", argMap)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guildMB = self.dbidToMb[guildDBID]
            guildMB.onCmd("guildCheckBuildUpgrade", argMap)
Beispiel #12
0
    def onCmdGMAddGuildReputation(self, argMap):

        guildDBID = argMap["guildDBID"]

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
            guild.onCmd("addGuildReputation", argMap)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guildMB = self.dbidToMb[guildDBID]
            guildMB.onCmd("addGuildReputation", argMap)

        pass
Beispiel #13
0
    def onCmdCancelDismiss(self, argMap):

        selfDBID = argMap["selfDBID"]
        playerMB = argMap["playerMB"]
        guildDBID = argMap["guildDBID"]

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
            guild.onCmd("cancelDismiss", argMap)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guildMB = self.dbidToMb[guildDBID]
            guildMB.onCmd("cancelDismiss", argMap)
Beispiel #14
0
 def queryDatabaseCbk(result, num, insert_id, error):
     if error is None:
         if result is not None:
             self.hasRegisteredGroupNum = len(result)
             for item in result:
                 KBEngine.createBaseAnywhereFromDBID("Group", int(item[0]),
                                                     Functor.Functor(self.onGroupCreatedFromDBIDCbk,
                                                                     int(item[1])))
             if self.hasRegisteredGroupNum == 0:
                 self.groupVisitReady = True
         else:
             self.groupVisitReady = True
             ERROR_MSG(
                 "group mgr queryDatabaseCbk result is None. result=%s, num=%s, error=%s" % (result, num, error))
     else:
         ERROR_MSG("group mgr queryDatabaseCbk error=%s" % (error))
Beispiel #15
0
    def initNPCGuildAdviser(self, argMap):

        for item in self.guildNPCList:
            guildDBID = item["dbid"]

            def CB(guild, guildDBID, wasActive):
                if guildDBID not in self.dbidToMb:
                    self.dbidToMb[guildDBID] = guild
                    guild.onCmd("onCreatGuildAdviser", argMap)

            if guildDBID not in self.dbidToMb:
                KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
            else:
                guildMb = self.dbidToMb[guildDBID]
                guildMb.onCmd("onCreatGuildAdviser", argMap)

        self.autoNPCGuildBehavior()
Beispiel #16
0
    def onCmdAppointPower(self, argMap):
        playerDBID = argMap["playerDBID"]
        selfDBID = argMap["selfDBID"]
        playerMB = argMap["playerMB"]
        guildDBID = argMap["guildDBID"]

        power = argMap["power"]

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
            guild.onCmd("appoinPower", argMap)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guildMB = self.dbidToMb[guildDBID]
            guildMB.onCmd("appoinPower", argMap)
Beispiel #17
0
def onAutoLoadEntityCreate(entityType, dbid):
    """
    KBEngine method.
    自动加载的entity创建方法,引擎允许脚本层重新实现实体的创建,如果脚本不实现这个方法
    引擎底层使用createBaseAnywhereFromDBID来创建实体
    """
    ERROR_MSG('onAutoLoadEntityCreate: entityType=%s, dbid=%i' %
              (entityType, dbid))
    KBEngine.createBaseAnywhereFromDBID(entityType, dbid)

    if entityType == "GuildMgr":
        ERROR_MSG("   GuildMgr is Load  ")
        global isGuildMgrLoad
        isGuildMgrLoad = True

    if entityType == "RankMgr":
        ERROR_MSG("   RankMgr is Load  ")
        global isRankMgrLoad
        isRankMgrLoad = True

    if entityType == "ArenaMgr":
        ERROR_MSG("   ArenaMgr is Load  ")
        global isArenaMgrLoad
        isArenaMgrLoad = True

    if entityType == "AdviserMgr":
        ERROR_MSG("   AdviseMgr is Load  ")
        global isAdviserMgrLoad
        isAdviserMgrLoad = True

    if entityType == "WorldBossMgr":
        ERROR_MSG("   WorldBossMgr is Load  ")
        global isWorldBossMgrLoad
        isWorldBossMgrLoad = True

    if entityType == "OfficialMgr":
        ERROR_MSG("   OfficialMgr is Load  ")
        global isOfficialMgrLoad
        isOfficialMgrLoad = True

    if entityType == "LeagueMgr":
        ERROR_MSG("   LeagueMgr is Load  ")
        global isLeagueMgrLoad
        isLeagueMgrLoad = True
Beispiel #18
0
    def onCmdGuildApplyList(self, argMap):

        playerMB = argMap["playerMB"]
        guildDBID = argMap["guildDBID"]
        guildPower = argMap["guildPower"]

        if guildPower < PowerEnmu.secondLeader:
            return

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
                guild.onCmd("getGuildApplyList", playerMB)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guildMb = self.dbidToMb[guildDBID]
            guildMb.onCmd("getGuildApplyList", playerMB)
Beispiel #19
0
    def onCmdLeaveGuild(self, argMap):

        playerMB = argMap["playerMB"]
        guildDBID = argMap["guildDBID"]
        playerDBID = argMap["playerDBID"]

        if self.isGuildExist(guildDBID) is False:
            ERROR_MSG(
                "----------------not exist guild ---------------------------")
            playerMB.client.onGuildError(
                ErrorCode.GuildModuleError.Guild_guild_not_exist)
            return

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID(
                "Guild", guildDBID, partial(self.leaveGuildCB, argMap))
        else:
            guildMb = self.dbidToMb[guildDBID]
            self.leaveGuildCB(argMap, guildMb, guildDBID, True)
Beispiel #20
0
    def onCmdApplyJoinGuild(self, argMap):
        playerMB = argMap["playerMB"]
        guildDBID = argMap["guildDBID"]
        playerDBID = argMap["playerDBID"]
        playerLevel = argMap["playerLevel"]
        officalPosition = argMap["officalPosition"]
        playerName = argMap["playerName"]
        camp = argMap["camp"]

        if self.isGuildExist(guildDBID) is False:
            ERROR_MSG(
                "----------------not exist guild ---------------------------")
            playerMB.client.onGuildError(
                ErrorCode.GuildModuleError.Guild_guild_not_exist)
            return

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID(
                "Guild", guildDBID, partial(self.applyJoinGuildCB, argMap))

        else:
            guildMb = self.dbidToMb[guildDBID]
            self.applyJoinGuildCB(argMap, guildMb, guildDBID, True)
Beispiel #21
0
    def onCmdChangeOnlineState(self, argMap):

        guildDBID = argMap["guildDBID"]

        for item in self.guildNPCList:
            if item["configID"] == guildDBID:
                guildDBID = item["dbid"]

        WARNING_MSG(util.printStackTrace("onCmdChangeOnlineState"))

        def cancelApplyCB(guild, guildDBID, wasActive):

            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild

            guild.onCmd("onChangeOnlineState", argMap)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID,
                                                cancelApplyCB)
        else:
            guildMb = self.dbidToMb[guildDBID]
            guildMb.onCmd("onChangeOnlineState", argMap)
Beispiel #22
0
    def onCmdChangeGuildName(self, argMap):
        guildDBID = argMap["guildDBID"]
        guildName = argMap["guildName"]
        playerMB = argMap["playerMB"]

        del argMap["guildDBID"]
        # 重名检查
        for item in self.guildInfoList:
            if item["guildName"] == guildName:
                playerMB.client.onGuildError(
                    ErrorCode.GuildModuleError.Guild_repeat_name)
                return

        def CB(guild, guildDBID, wasActive):
            if guildDBID not in self.dbidToMb:
                self.dbidToMb[guildDBID] = guild
            guild.onCmd("changeGuildName", argMap)

        if guildDBID not in self.dbidToMb:
            KBEngine.createBaseAnywhereFromDBID("Guild", guildDBID, CB)
        else:
            guildMB = self.dbidToMb[guildDBID]
            guildMB.onCmd("changeGuildName", argMap)
Beispiel #23
0
    def reqRoleList(self):
        """
        exposed.
        客户端请求查询角色列表
        """
        if (len(self.roles) > 0):
            self.setBgDBID()
            self.setEquipDBID()
            self.setAssistDBID()

        #通知队友上线,并获得队友在线信息
        self.onLineNoti()
        self.client.onReqRoleList(self.roles)

        gdata = KBEngine.createBaseAnywhereFromDBID("Gdata", 1, self.onGetData)
Beispiel #24
0
    def getPlayerUsePrmissionInfo(self, param):
        playerID = param["playerID"]

        def agreeCB(avatar, playerID, wasActive):
            if avatar != None:
                # 已经在线了(异步调用)
                permissionInfoID = param["permissionInfoID"]
                useTopLimit = officialPermissionConfig.officialPermissionConfig[
                    permissionInfoID]["useTopLimit"]
                param["avatar"] = avatar
                param["wasActive"] = wasActive
                param["useTopLimit"] = useTopLimit

                if permissionInfoID == Jinsai:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo2",
                        param,
                    )
                elif permissionInfoID == Jinyan:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo3",
                        param,
                    )
                elif permissionInfoID == Tingsai:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo4",
                        param,
                    )
                elif permissionInfoID == Baohu:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo5",
                        param,
                    )
                elif permissionInfoID == Tiba:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo6",
                        param,
                    )
                elif permissionInfoID == Xiaheijiao:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo7",
                        param,
                    )
                elif permissionInfoID == Diubaicai:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo8",
                        param,
                    )
                elif permissionInfoID == Rengjidan:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo9",
                        param,
                    )
                elif permissionInfoID == Zhangzui:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo10",
                        param,
                    )
                elif permissionInfoID == Feichu:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo11",
                        param,
                    )
                elif permissionInfoID == Huibao:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo12",
                        param,
                    )
                elif permissionInfoID == Gudashou:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo13",
                        param,
                    )
                elif permissionInfoID == Baifang:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo14",
                        param,
                    )
                elif permissionInfoID == Tiaozhan:
                    avatar.onPlayerMgrCmd(
                        "usePrmissionInfo15",
                        param,
                    )
            else:
                ERROR_MSG("---------Cannot add unknown player:-------------")

        KBEngine.createBaseAnywhereFromDBID("Avatar", playerID, agreeCB)