X
xantos
Guest
Offline
SQL'de "New Query" kısmından kodu okutarak hatadan kurtuluyoruz. Queryi okuttuktan sonra restart atmayı unutmayin.
Kod:
USE [SRO_VT_SHARD]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
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 ì‚*ì œ ------------------------------------ ------------------------------------ -- 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 ------------------------------------ -- ê·“ë§ ë¸”ëŸ* ì •ë³´ ì‚*ì œ ------------------------------------ -- Hyperdash 2009. 9. 3 현ì¬ëŠ” í…Œì´ë¸”ì´ ì—†ì–´ ìºë¦*í„° ì‚*ì œê°€ ë˜ì§€ ì•ŠìŒ, 추후 UI ê°œì„ 1ì°¨ ?치가 ë 경우ì—는 ì£¼ì„ í•´ì œ í•„ 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