CREATEPROCEDUREWZ_CS_ReqRegAttackGuild @iMapSvrGroupSMALLINT,--初始化变量 @szGuildNameVARCHAR(8)--初始化战盟名字 As Begin BEGINTRANSACTION SETNOCOUNTON DECLARE@iMaxRegGuildCountINT--统计最大战盟数量 DECLARE@iCurRegGuildCountINT--统计攻城战盟 SET@iMaxRegGuildCount=100--初始最大战盟数为100个 SELECT@iCurRegGuildCount=COUNT(*)FROMMuCastle_REG_SIEGEWITH(READUNCOMMITTED)WHEREMAP_SVR_GROUP=@iMapSvrGroup IF(@iCurRegGuildCount>=@iMaxRegGuildCount) BEGIN SELECT6AsQueryResult--初始为6,返回客户端查询(已经申请成功的战盟) END ELSE BEGIN IFEXISTS(SELECTMAP_SVR_GROUPFROMMuCastle_REG_SIEGEWITH(READUNCOMMITTED) WHEREMAP_SVR_GROUP=@iMapSvrGroupandREG_SIEGE_GUILD=@szGuildName) BEGIN SELECT2AsQueryResult--初始化为2,返回客户端查询 END ELSE BEGIN DECLARE@szOwnGuildNameVARCHAR(8) SELECT@szOwnGuildName=OWNER_GUILDFROMMuCastle_DATAWHEREMAP_SVR_GROUP=@iMapSvrGroup --如果查询战盟和城堡城主一致 IF(@szOwnGuildName=@szGuildName) BEGIN SELECT3AsQueryResult--初始化为3,返回客户端查询 END ELSE BEGIN IFNOTEXISTS(SELECTG_NameFROMGuildWITH(READUNCOMMITTED)WHEREG_Name=@szGuildName) BEGIN SELECT4AsQueryResult--初始化为4,返回客户端查询 END ELSE BEGIN DECLARE@szGuildMasterVARCHAR(10) DECLARE@iGuildMasterLevelINT DECLARE@iGuildMemberCountINT SELECT@szGuildMaster=G_MasterFROMGuildWHEREG_Name=@szGuildName SELECT@iGuildMasterLevel=cLevelFROMCharacterWHEREName=@szGuildMaster SELECT@iGuildMemberCount=COUNT(*)FROMGuildMemberWHEREG_Name=@szGuildName IF(@iGuildMasterLevel<200)--如果战盟的盟主等级小于200级 BEGIN SELECT5AsQueryResult--初始化为5,返回客户端查询 END ELSE BEGIN IF(@iGuildMemberCount<20)--如果战盟总人数少于20人
BEGIN SELECT8AsQueryResult--初始化为8,返回客户端查询
END ELSE BEGIN DECLARE@iMAX_SEQNUMINT--声明当前最大数变量 DECLARE@iNXT_SEQNUMINT--声明副城主变量
SELECT@iMAX_SEQNUM=MAX(SEQ_NUM)FROMMuCastle_REG_SIEGEWITH(READUNCOMMITTED)WHEREMAP_SVR_GROUP=@iMapSvrGroup IF(@iMAX_SEQNUMISNULL) SET@iNXT_SEQNUM=1 ELSE SET@iNXT_SEQNUM=@iMAX_SEQNUM+1 INSERTINTOMuCastle_REG_SIEGE VALUES(@iMapSvrGroup,@szGuildName,0,0,@iNXT_SEQNUM) SELECT1AsQueryResult--初始化为1,返回客户端查询 END END END END END END IF(@@Error<>0) ROLLBACKTRANSACTION ELSE COMMITTRANSACTION SETNOCOUNTOFF End GO SETQUOTED_IDENTIFIEROFF GO SETANSI_NULLSON GO SETQUOTED_IDENTIFIERON GO SETANSI_NULLSOFF GO