15-11-2018, 03:57 PM
|
#8
|
|
• الانـتـسـاب » Apr 2017
|
• رقـم العـضـويـة » 132672
|
• المشـــاركـات » 1,355
|
• الـدولـة » GB
|
• الـهـوايـة » miMobXD
|
• اسـم الـسـيـرفـر » Private Server
|
• الـجـنـس » Male
|
• نقـاط التقييم » 38
|
|
|
رد: مشكلة فى مسح الاكونت بعد 7 ايام مش بيتمسح
اتفضيل استخدام الكويرى دى وبعد 6 ايام راح يتمسح انشاء الله
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_DeleteCharPermanently] Script Date: 02/14/2012 12:54:06 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO
--!!!CHECK!!! ALTER PROCEDURE [dbo].[_DeleteCharPermanently] @charID as int as ------------------------------------ -- ?? ??? ???? ?? ??! ------------------------------------ if (not exists(select charid from _deletedchar where charid = @charID)) begin return -1 end ------------------------------------ -- ??? ??? ??? ?? 7?? ??? ?? (??? ?? ??? ??? ????...) ------------------------------------ declare @DeLeTed_date datetime declare @cur_date datetime declare @elapsed_min int declare @userJID int -- declare @DeLeTed_slot int set @cur_date = getdate() select @userJID = UserJID, / @DeLeTed_slot = CharSlot,*/ @DeLeTed_date = deleteddate from _deletedchar with (nolock) where charid = @charID -- ????? 6? + 23?? ??? ?? ????? (1?? ??? ???? ??? ?? ??~) set @elapsed_min = datediff(minute, @DeLeTed_date, @cur_date) if @elapsed_min < ((60 * 24 * 6) + (60 * 23))) begin return -2 end ------------------------------------ -- ??? ??? ??? ???? ?? ------------------------------------ declare @is_deleted tinyint select @is_deleted = deleted from _Char where CharID = @charID if (@is_deleted <> 1) begin return -3 end
------------------------------------ -- ?? ??? _User ? ?? CharID? ????? ?? ------------------------------------ declare @char_id_to_check int set @char_id_to_check = 0
/* -- commented by novice. for server integration. if @DeLeTed_slot = 0) begin select @char_id_to_check = CharID1 from _User where UserJID = @userJID end else if @DeLeTed_slot = 1) begin select @char_id_to_check = CharID2 from _User where UserJID = @userJID end else if @DeLeTed_slot = 2) begin select @char_id_to_check = CharID3 from _User where UserJID = @userJID end else begin return -4 end -- ?! ??? ???? ??? ?? ??? ???? ??! if @char_id_to_check <> @charID) begin return -5 end */ -- start by novice. select @char_id_to_check = CharID from _User where UserJID = @userJID and CharID = @charID if @char_id_to_check = 0) begin -- ?? ???? _User ? ??? return -5 end -- finish by novice. begin transaction declare @GuildID int exec @GuildID = _DeleteCharPermanently_NoTX @userJID, @charID --, @DeLeTed_slot if (@GuildID is null) set @GuildID = -10000 if (@GuildID < 0) begin rollback transaction return @GuildID end commit transaction return @GuildID
كود PHP:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_DeleteCharPermanently_NoTX] Script Date: 02/14/2012 12:54:27 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO
ALTER PROCEDURE [dbo].[_DeleteCharPermanently_NoTX] @userJID INT , @charID INT AS ------------------------------------ -- Inventory¶û ±×¾أˆآ؟آ، °آ،أپأ¶°أ* أ€أ–´أ¸ ¾أ†أ€أŒإںأ›µé ³¯·أپ¹أ¶¸®أ€أڑ... ------------------------------------ -------------- أ†ê ¼أ’أˆ¯ ¾أ†أ€أŒإںأ›آ؛أژإںأچ أ€أڈ´أœ »èأپ¦ ---------------- declare @result int declare @slot tinyint declare @refItemID int declare pc_inv_cursor cursor fast_forward for select inv.slot from _Inventory as inv join _Items as it on inv.ItemID = it.ID64 where (inv.CharID = @charID and inv.Slot >= 13 and inv.ItemID > 0) and -- أ€أ¥آ؛أ±أƒ¢ أپ¦آ؟أœأ‡أڈ°أ* ¾أ†أ€أŒإںأ› أ€أ–´أ‚ ¼أ¸¼أ¶ أ€أژآ؛¥إںأ¤¸® ¾أˆآ؟آ، µé¾îأ€أ–أ€¸¸ç (it.Data <> 0) and -- ¼أ’أˆ¯¼أ¶¸¦ °آ،أپأ¶°أ* أ€أ–´أ‚ (exists (select top 1 ID from _RefObjCommon where ID = it.RefItemID and TypeID1 = 3 and TypeID2 = 2)) -- أ†ê¼أ’أˆ¯ ¾أ†أ€أŒإںأ›µé أƒ£¾أ†أپà~ open pc_inv_cursor fetch next from pc_inv_cursor into @slot while @@fetch_status = 0 begin exec @result = _STRG_DEL_ITEM_NoTX 1, @charID, @slot if @result < 0) begin close pc_inv_cursor deallocate pc_inv_cursor return @result end fetch next from pc_inv_cursor into @slot end close pc_inv_cursor deallocate pc_inv_cursor ------------------- ³²أ€آ؛ ¾أ†أ€أŒإںأ›µé ¸ùأƒ¢ »èأپ¦ ------------------- -- ¾أ†أ€أŒإںأ›أ€أŒ أ‡أڈ³آھ¶أ³µµ أ€أ–´أ™¸é... if (exists (select top 1 itemID from _Inventory where CharID = @charID AND ItemID <> 0)) begin update _ItemPool Set InUse = 0 from _ItemPool as pool join _Inventory as inv on pool.ItemID = Inv.ItemID where Inv.CharID = @charID and Inv.ItemID <> 0 end ----------- ¾أ†أ€أŒإںأ›µé ³¯·أˆأ€¸´أڈ أƒأ–أپ¾أ€ûأ€¸·ç أ€أژآ؛¥إںأ¤¸® »èأپ¦ ------------ delete from _Inventory where CharID = @charID if (@@error <> 0) begin return -10001 end
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -- APPLY_AVATAR_SYSTEM (أ‡أ£½أ‚آ؟أ*) --@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
------------------- ³²أ€آ؛ ¾أ†¹أ™إں¸ أ€أژآ؛¥إںأ¤¸® ¾أ†أ€أŒإںأ›µé ¸ùأƒ¢ »èأپ¦ ------------------- -- ¾أ†أ€أŒإںأ›أ€أŒ أ‡أڈ³آھ¶أ³µµ أ€أ–´أ™¸é... if (exists (select top 1 itemID from _InventoryForAvatar where CharID = @charID AND ItemID <> 0)) begin update _ItemPool Set InUse = 0 from _ItemPool as pool join _InventoryForAvatar as InvAva on pool.ItemID = InvAva.ItemID where InvAva.CharID = @charID and InvAva.ItemID <> 0 end ----------- ¾أ†أ€أŒإںأ›µé ³¯·أˆأ€¸´أڈ أƒأ–أپ¾أ€ûأ€¸·ç ¾أ†¹أ™إں¸ أ€أژآ؛¥إںأ¤¸® »èأپ¦ ------------ delete from _InventoryForAvatar where CharID = @charID if (@@error <> 0) begin return -10008 end
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -- APPLY_AVATAR_SYSTEM (أ‡أ£½أ‚آ؟أ*) --@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
------------------------------------ -- COS »èأپ¦ ------------------------------------ /* declare @engaged_cos int set @engaged_cos = 0 select @engaged_cos = EngagedCOS from _char with (nolock) where CharID = @charID if (@engaged_cos = 0) begin -- آ؟أ– ¹أں»ؤ±أ‡أڈ´أ‚ أپأ¶ أ€أں ¸ؤں¸£°أڑأپأ¶¸¸... ¾أ†أپأ– µأ¥¹°°أ” COS ¸¸ ³²¾أ†أ€أ–´أ‚ °أ¦آ؟أ¬°آ، أ€أ–´أµ¶أ³°أ*... -_-; select @engaged_cos = ID from _CharCOS with (nolock) where OwnerCharID = @charID if (@engaged_cos is null) set @engaged_cos = 0 end if (@engaged_cos is not null and @engaged_cos <> 0) begin declare @return_Del_COS int exec @return_Del_COS = _DeleteCharCOS_NoTX @charID, @engaged_cos if @return_Del_COS < 0) begin return -10002 end end */ ------------------------------------ -- Trijob µ¥أ€أŒإںأچ »èأپ¦ ------------------------------------ delete from _CharTrijob where CharID = @charID ------------------------------------ -- ½آ؛إں³ »èأپ¦ ------------------------------------ delete _CharSkill where CharId = @charID delete _CharSkillMastery where charId = @charID ------------------------------------ -- أ„ù½آ؛أ†® »èأپ¦ ------------------------------------ delete _CharQuest where CharID = @charID ------------------------------------ -- ±أ¦µأ¥ ¸â¹أ¶ »èأپ¦ ------------------------------------ -- !!! ¸¸¾à آ؟©±â¼* Guild ¸â¹أ¶ »èأپ¦°آ، أ€أڈ¾î³آھأپأ¶ ¾أٹأ€¸¸é ShardManager آ؟آ،¼* -- _Guild_DelMember أˆ£أƒâأ‡أک أپأ–µµ·أڈ ¼أ¶أپ¤أ‡أک¾أں أ‡أ‘´أ™! أپأ¶±ؤ°أ€آ؛ ±× °أ؛أپ¤أ€آ؛ Skipأ‡أڈ°أ* -- ¸إ¸ؤں¸®آ؟آ،¼* »èأپ¦¸¸ أ€أڈ¾î³آھ°أ” µأ‡¾î أ€أ–°إںµ¢... declare @GuildID int set @GuildID = 0 select @GuildID = GuildID from _char where charid = @charID if (@GuildID is not null and @GuildID <> 0) begin if (not exists (select ID from _Guild where ID = @GuildID)) begin update _Char set GuildID = 0 where CharID = @charID end else begin declare @return_Del_GuildMember int exec @return_Del_GuildMember = _Guild_DelMember_NoTX @GuildID, @charID if @return_Del_GuildMember < 0) return -10003 end end
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -- APPLY_MENTOR_SYSTEM (أƒأ–أ€أژأˆ£) --@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ DECLARE @campID INT SET @campID = 0 SELECT @campID = CampID FROM _TrainingCampMember WHERE CharID = @charID IF @campID IS NOT NULL AND @campID <> 0) BEGIN DECLARE @ret_DelCampMember INT EXEC @ret_DelCampMember = _TRAINING_CAMP_DELMEMBER @campID, @charID, 0 IF @ret_DelCampMember < 0) RETURN -10007 END
-- أ€أ–أ€¸¸é أپأ¶آ؟أ¶¹أ¶¸®أ€أڑ~ ¹¹. DELETE FROM _TrainingCampSubMentorHonorPoint WHERE CharID = @charID
-- °أ¦أ‡èأ„آ، ¹أ¶أ‡أپ ·¹أ„أڑµأ¥µµ~~ ¤»¤» DELETE FROM _TrainingCampBuffStatus WHERE CampID = @campID
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -- APPLY_MENTOR_SYSTEM (أƒأ–أ€أژأˆ£) --@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
----------------------------------- -- أ„£±¸ ¸®½آ؛أ†® »èأپ¦ ( ³آھأ€أ‡ أ„£±¸ ¸®½آ؛أ†® + أ„£±¸أ€أ‡ أ„£±¸ ¸®½آ؛أ†®أپأں ³آھ ) ----------------------------------- -- ³» أ„£±¸µé.. declare @FriendCharID int declare @cursor_var cursor set @cursor_var = cursor fast_forward for select FriendCharID from _Friend where CharID = @charID open @cursor_var fetch next from @cursor_var into @FriendCharID while( @@FETCH_STATUS = 0 ) begin delete _Friend where CharID = @FriendCharID and FriendCharID = @charID fetch next from @cursor_var into @FriendCharID end close @cursor_var deallocate @cursor_var -- ³آھ.. delete _Friend where CharID = @charID ----------------------------------- ----------------------------------- -- أ‚أٹأپأ¶ »èأپ¦ ----------------------------------- delete _Memo where CharID = @charID ------------------------------------ -- TimedJob »èأپ¦أ‡أڈ±â ------------------------------------ delete _TimedJob where CharID = @charID ------------------------------------ -- Static Avatar أپ¤آ؛¸ »èأپ¦ ------------------------------------ delete from _staticavatar where charid = @charID ------------------------------------ -- ±أ“¸» آ؛أ*·° أپ¤آ؛¸ »èأپ¦ ------------------------------------ delete from _BlockedWhisperers where OwnerID = @charID ------------------------------------ -- _DeletedChar Entry »èأپ¦ ------------------------------------ delete from _DeletedChar where CharID = @charID if (@@error <> 0) begin return -10004 end -- start by novice. DELETE FROM _User WHERE UserJID = @userJID and CharID = @charID -- finish by novice.
------------------------------------ -- commit !!! ------------------------------------ -- إں¬¶أ³أ€أŒ¾ؤںأ†®آ؟ë أ„ü½½·أ” أپ¤آ؛¸ أ€أ؛أ€أ¥ إں×أ€أŒآ؛أ* ³¯¸®±â!!! exec _RemoveClientConfig @charID -- by novice...... for saving client configurations... return @GuildID
كود PHP:
USE [SRO_VT_ACCOUNT] GO /****** Object: StoredProcedure [dbo].[_ManageShardCharName] Script Date: 02/14/2012 12:56:27 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO ALTER procedure [dbo].[_ManageShardCharName] @job tinyint, @userJID int, @ShardID smallint, @charname varchar(64), @oldName varchar(64) as -- add new char name if (@job = 0) begin if (not exists(select * from SR_ShardCharNames where UserJID = @userJID and ShardID = @ShardID and CharName = @charname)) begin insert SR_ShardCharNames values @userJID, @ShardID, @charname) end end -- remove char name else if (@job = 1) begin delete SR_ShardCharNames where UserJID = @userJID and ShardID = @ShardID and CharName = @charname -- delete SR_CharAppoint where UserJID = @userJID and ShardID = @ShardID and CharID = @charname end -- rename previous one else if (@job = 2) begin update SR_ShardCharNames set CharName = @charname where UserJID = @userJID and ShardID = @ShardID and CharName = @oldName -- update SR_CharAppoint set CharID = @charname where UserJID = @userJID and ShardID = @ShardID and CharID = @oldName end
|
|
|