مشاهدة النسخة كاملة : بخصوص Delet الشخصيه فى معدها ؟
[Slayer]
04-05-2013, 03:46 AM
ياجماعه انا عندى مشكله ؟
الشخصيه المفروض لما اعملها دليت تدلت بعد اسبوع الاسبوع بعدى والشخصيه زاى ما هيا
عايز اظبت المشكله دى
بعد ازنكم عايز شرح :)
انا مش عايز كويرى امسح بيه شخصيه واحدا انا عايز شرح ؟ المشكله دى مع الناس كله الى بيلعبو فى السيرفر
كل واحد عمل اربع شخصيات فى ايملو مش عارف يدلتهم
صوره للتوضيح الشخصيه معدها تدلت مش بتدلت
http://www10.0zz0.com/2013/05/04/08/477489594.png
وشكرااااا
:pile:
[Slayer]
05-05-2013, 12:41 AM
مش معقولا ؟رد
www.silkroad4arab.com/vb/showthread.php?t=492266 في كويرني في الرابط بيشيل حكايه 7 ايام تتمسح علطول
Alber Maher
05-05-2013, 02:51 PM
فى بردوا حل مؤقت :
انك يا باشا تمسح الشير من ال SQL
بس يا باشا انت هتفتح SRO_VT_SHARD بعد كده هتفتح : Tables ^dbo._Char
هتكتب عندك فى ورقة ال CharID بتاع الشخصيات الى انت عايز تمسحها .
بعد كده تفتح :
1-_CharSkill
2- _CharSkillMastery
3- _CharTrijob
4- _Inventory
5- _InventoryForAvatar
6- _RefSkill_Statiic
7- RefSkillMastery
8- StaticAvatar
9- _User
طبعا كلو بيكون جانبه dbo.
طبعا المسارت الى انا كتبتها انت هتمسح كل ال CharID
من المسارت دى و بكده تكوت الشحصيات اتمسحت .:sorcerer:
[Slayer]
06-05-2013, 01:18 PM
حضرتكو انا مش قصدى كده
هو كل الى عمل جيم بيمسح هو ولـ ايه
لا ياجماعه يارب حد يفهمنى انا قصدى المفروض الشخصيات
تتمسح لواحده دا الطبيعيه فى اى جيم
اتومتك بمعنى لماا ادلت الشخصيه من الجيم مليش دعوا بالسيرفر
عايز اظبطهااا
اكيد فى ناس عرف مش معقوله الموضوع ده تانى مره اعملو ؟
عايزه اتومتك ياجدعان الشخصيه تدلت لوحده بعد اسبوع من الجيم
يعنى بالبلدى كده انا عايز اظبطهاا من السيرفر
عشان الناس تدلت برحتهااا؟
مش ادخل على الشارد القى 1000 شخصيه لفن واحد مش بتدلت ؟
هو فى كده
nesrelshark
06-05-2013, 04:12 PM
اولا انا كونت عايز اعرف انتا شغال بى DB ايه مش مهم
================================
اول حاجه خوش على shard وى روح على Programmability
افتح stored procedures
دور على _DeleteCharPermanently_NoTX
عرف هتفتحو ازاى هتلاقى كلام زاى ده شيلو وى حوط ده
وان شاء الله هتتحل انا كان عندى نفس المشكله وى حلتها
USE [New_VT_SHARD2]
GO
/****** Object: StoredProcedure [dbo].[_DeleteCharPermanently_NoTX] Script Date: 05/06/2013 14:54:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_DeleteCharPermanently_NoTX]
@UserJID int,
@CharID int
as
------------------------------------
-- Inventory¶û ±×¾E?? °???°? A?´? ¾?A??Uµé ³¯·?¹?¸®A?...
------------------------------------
-------------- ?ê ¼?E¯ ¾?A??U?I?? AI´U »è?¦ ----------------
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 -- A????¢ ?¦?UCI°? ¾?A??U A?´A ¼?¼? AI?¥??¸® ¾E?? µé¾îA?A¸¸ç
(it.Data <> 0) and -- ¼?E¯¼?¸¦ °???°? A?´A
(exists (select top 1 ID from _RefObjCommon where ID = it.RefItemID and TypeID1 = 3 and TypeID2 = 2)) -- ?ê¼?E¯ ¾?A??Uµé ?£¾??à~
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
------------------- ³²A? ¾?A??Uµé ¸ù?¢ »è?¦ -------------------
-- ¾?A??UA? CI³?¶?µµ A?´U¸é...
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
----------- ¾?A??Uµé ³¯·EA¸´I ???¾AûA¸·ç AI?¥??¸® »è?¦ ------------
delete from _Inventory where CharID = @CharID
if (@@error <> 0)
begin
return -10001
end
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@
-- APPLY_AVATAR_SYSTEM (C?½A??)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@
------------------- ³²A? ¾?¹U?¸ AI?¥??¸® ¾?A??Uµé ¸ù?¢ »è?¦ -------------------
-- ¾?A??UA? CI³?¶?µµ A?´U¸é...
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
----------- ¾?A??Uµé ³¯·EA¸´I ???¾AûA¸·ç ¾?¹U?¸ AI?¥??¸® »è?¦ ------------
delete from _InventoryForAvatar where CharID = @CharID
if (@@error <> 0)
begin
return -10008
end
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@
-- APPLY_AVATAR_SYSTEM (C?½A??)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@
------------------------------------
-- 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
-- ?? ¹?»?CI´A ?? A? ¸?¸£°???¸¸... ¾??? µ?¹°°O COS ¸¸ ³²¾?A?´A °???°? A?´?¶?°?... -_-;
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 µ¥A??? »è?¦
------------------------------------
delete from _CharTrijob where CharID = @CharID
------------------------------------
-- ½??³ »è?¦
------------------------------------
delete _CharSkill where CharId = @CharID
delete _CharSkillMastery where charId = @CharID
------------------------------------
-- ?ù½??® »è?¦
------------------------------------
delete _CharQuest where CharID = @CharID
------------------------------------
-- ±?µ? ¸â¹? »è?¦
------------------------------------
-- !!! ¸¸¾à ?©±â¼* Guild ¸â¹? »è?¦°? AI¾î³??? ¾EA¸¸é ShardManager ??¼*
-- _Guild_DelMember E£?âC? ??µµ·I ¼??¤C?¾? C?´U! ??±?A? ±× °??¤A? SkipCI°?
-- ¸?¸?¸®??¼* »è?¦¸¸ AI¾î³?°O µC¾î A?°?µ¢...
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 (??AIE£)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@
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
-- A?A¸¸é ????¹?¸®A?~ ¹¹.
DELETE FROM _TrainingCampSubMentorHonorPoint WHERE CharID = @CharID
-- °?Cè?? ¹?C? ·¹??µ?µµ~~ ¤»¤»
DELETE FROM _TrainingCampBuffStatus WHERE CampID = @CampID
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@
-- APPLY_MENTOR_SYSTEM (??AIE£)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@
-----------------------------------
-- ?£±¸ ¸®½??® »è?¦ ( ³?AC ?£±¸ ¸®½??® + ?£±¸AC ?£±¸ ¸®½??®?? ³? )
-----------------------------------
-- ³» ?£±¸µé..
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
-----------------------------------
-- AE?? »è?¦
-----------------------------------
delete _Memo where CharID = @CharID
------------------------------------
-- TimedJob »è?¦CI±â
------------------------------------
delete _TimedJob where CharID = @CharID
------------------------------------
-- Static Avatar ?¤?¸ »è?¦
------------------------------------
delete from _staticavatar where charid = @charid
------------------------------------
-- ±?¸» ??·° ?¤?¸ »è?¦
------------------------------------
-- Hyperdash 2009. 9. 3 C?Aç´A ?×A???A? ¾?¾î ?³¸¯?? »è?¦°? µC?? ¾EA½, ??E? UI °³¼± 1A÷ ????°? µE °?????´A ??¼® C??¦ CE
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 !!!
------------------------------------
-- ?¬¶?A?¾??®?ë ?ü½½·O ?¤?¸ A?A? ?×A??? ³¯¸®±â!!!
exec _RemoveClientConfig @CharID -- by novice...... for saving client configurations...
return @GuildID
{viper}
06-05-2013, 10:15 PM
جارى التجربه تسلم ايدك :)
DeleteCharPermanently_NoTX تمام
بفتحااا وبدين اشغلو على انو كويرتى
وبعدين اعمل EXECUTE صح تمام كده
بعد التجربه صوره
http://www12.0zz0.com/2013/05/06/19/428216890.png
[Slayer]
07-05-2013, 08:36 AM
تسلم الله ينور عليك
انا استدخدمتو على انو كويرى
ودى صورهhttp://www12.0zz0.com/2013/05/06/19/428216890.png
[Slayer]
07-05-2013, 08:37 AM
تسلم الله ينور عليك يابرنس
انا استدخدمتو على انو كويرى
ودى صوره شكلو منفعش
ودى صورهhttp://www12.0zz0.com/2013/05/06/19/428216890.png
Alber Maher
07-05-2013, 02:59 PM
انا كان قصدى ان انت لو كنت مستعجل على الحل . فكتبتلك الحل السريع بس انا معرفش انك عايز تمسح 1000 شخصية :ahah:
nesrelshark
07-05-2013, 06:16 PM
يا باشا ده مش كويرى خوش على shard وى دور على Programmability هتلاقى عليها شكل+ افتحها
وى افتح stored procedures كمان اوك
دور على _DeleteCharPermanently_NoTX
وى حوط فى الى بعتهولك وى لو مش عارف تعملها ابعتلى اميلك وى انا هعملهالك ان شاء الله
nesrelshark
07-05-2013, 06:22 PM
غير اسم New_VT_SHARD2
لىSRO_VT_SHARD
او زاى منتا مسمى ال SHARD بتاعك
[Slayer]
30-07-2013, 03:33 AM
ايوه كدهـ يانجم تسلم اخيراااا
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions, Inc