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)
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)
def onAutoLoadEntityCreate(entityType, dbid): """ KBEngine method. 自动加载的entity创建方法,引擎允许脚本层重新实现实体的创建,如果脚本不实现这个方法 引擎底层使用createBaseAnywhereFromDBID来创建实体 """ DEBUG_MSG('onAutoLoadEntityCreate: entityType=%s, dbid=%i' % (entityType, dbid)) KBEngine.createBaseAnywhereFromDBID(entityType, dbid)
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)
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)
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)
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)
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)
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
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)
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
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)
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))
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()
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)
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
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)
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)
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)
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)
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)
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)
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)