عرض مشاركة واحدة
قديم 15-11-2018, 03:57 PM   #8

Scrox
عضو لامع



الصورة الرمزية Scrox


• الانـتـسـاب » Apr 2017
• رقـم العـضـويـة » 132672
• المشـــاركـات » 1,355
• الـدولـة » GB
• الـهـوايـة » miMobXD
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 38
Scrox صـاعـد

Scrox غير متواجد حالياً


إرسال رسالة عبر ICQ إلى Scrox إرسال رسالة عبر AIM إلى Scrox إرسال رسالة عبر Yahoo إلى Scrox

افتراضي رد: مشكلة فى مسح الاكونت بعد 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 (nolockwhere 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 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 

        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 

        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, @charID0
        
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 )
    
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 


توقيع Scrox :
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]