™Dev Microsoft™ |
23-11-2014 06:20 AM |
vSro Guild user Limit Query
http://im26.gulfup.com/2012-07-04/1341434007131.png
http://img716.imageshack.us/img716/5...v154lsxnvt.png
دلوقتي تقدر تتحكم في عدد اعضاء الـGuild او الـUnion
http://img716.imageshack.us/img716/5...v154lsxnvt.png
اولا : الـGuild
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_Guild_FnAddMember] Script Date: 15.06.2014 11:08:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO ALTER PROCEDURE [dbo].[_Guild_FnAddMember] @guildID int, @MemberID int, @MemberClass tinyint, @joinDate smalldatetime, @permission int as Declare @LiMiT int = '24' -- << Userr Limit Credits by $Apollo if (exists (select CharID from _GuildMember where CharID = @MemberID)) begin return -1001 end declare @MemberName varchar(64) declare @curLevel tinyint select @MemberName = CharName16, @curLevel = CurLevel from _Char with (nolock) where CharID = @MemberID if (@@error <> 0 or @@rowcount = 0) begin return -1 end if (exists (select CharID from _GuildMember with (nolock) where GuildID = @guildID and CharID = @MemberID)) begin return -2 end declare @ReFObjID int select @ReFObjID = RefObjID from _Char with (nolock) where CharID = @MemberID if (@@error <> 0 or @@rowcount = 0) begin return -5 end declare @siegeAuthority tinyint set @siegeAuthority = 0 if @MemberClass = 0 -- ±æ¸¶ÀÌ¸é °ø¼º±ÇÇÑÀ» commander·Î ¼¼ÆÃ! ±× ¿Ü´Â ÀÏ¹Ý member·Î ¼¼ÆÃÇÑ´Ù. begin set @siegeAuthority = 1 end Declare @GC int = (Select COUNT(*) from _GuildMember where GuildID = @guildID ) if @GC <= @LiMiT begin insert _GuildMember values @guildID, @MemberID, @MemberName, @MemberClass, @curLevel, 0, @joinDate @permission, 0, 0, 0, null, @ReFObjID, @siegeAuthority) end if (@@error <> 0 or @@rowcount = 0) begin return -3 end if @GC <= @LiMiT begin update _Char Set GuildID = @guildID where CharID = @MemberID end if (@@error <> 0 or @@rowcount = 0) begin return -4 end return 1
http://img716.imageshack.us/img716/5...v154lsxnvt.png
ثانيا : الـUNION
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_Guild_Create] Script Date: 14.06.2014 16:53:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ALTER PROCEDURE [dbo].[_Guild_Create] @guildName varchar(64), @CreaterID int as if (exists (select id from _Guild where Name = @guildName)) begin return -1000 end if (exists (select CharID from _GuildMember where CharID = @CreaterID)) begin return -1001 end begin transaction declare @guildID int declare @FoundationDate smalldatetime set @FoundationDate = GetDate() insert _Guild(Name, Lvl, GatheredSP, FoundationDate,Alliance,Booty) values @guildName+'_ULimit_1', 1, 0, @FoundationDate,0,0) insert _Guild(Name, Lvl, GatheredSP, FoundationDate,Alliance,Booty) values @guildName+'_ULimit_2', 1, 0, @FoundationDate,0,0) insert _Guild(Name, Lvl, GatheredSP, FoundationDate,Alliance,Booty) values @guildName+'_ULimit_3', 1, 0, @FoundationDate,0,0) insert _Guild(Name, Lvl, GatheredSP, FoundationDate,Alliance,Booty) values @guildName+'_ULimit_4', 1, 0, @FoundationDate,0,0) insert _Guild(Name, Lvl, GatheredSP, FoundationDate,Alliance,Booty) values @guildName+'_ULimit_5', 1, 0, @FoundationDate,0,0) insert _Guild(Name, Lvl, GatheredSP, FoundationDate,Alliance,Booty) values @guildName, 5, 0, @FoundationDate,0,0) set @guildID = @@identity if (@@error <> 0 or @@rowcount = 0 or @guildID = 0) begin rollback transaction return -5 end --길드장은 퍼미션이 0xffffffff !! declare @rvalue int exec @rvalue = _Guild_FnAddMember @guildID, @CreaterID, 0, @FoundationDate,0xffffffff if (@@error <> 0 or @rvalue <= 0) begin rollback transaction return @rvalue end -- 길드 창고를 생성하자 exec @rvalue = _Guild_CreateChest_NoTX @guildID if (@@error <> 0 or @rvalue <= 0) begin rollback transaction return @rvalue end commit transaction return @guildID
http://img716.imageshack.us/img716/5...v154lsxnvt.png
|