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

Scrox
عضو لامع



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


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

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

6143  


إرسال رسالة عبر ICQ إلى Scrox إرسال رسالة عبر AIM إلى Scrox إرسال رسالة عبر Yahoo إلى Scrox إرسال رسالة عبر Skype إلى 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 :
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]