Selamlar







Neden mi?



Oyuncuların itemleri silinmesin diye.



Kullanımı çok basittir.



USERDATA, ACCOUNT_CHAR, TB_USER, WAREHOUSE



Tablolarını İmport, Export yaptıktan sonra,



Kaybolan oyuncu itemlerini Geri alabilmek için Aşağıdaki kodu uygulamanız gerekmektedir.









Kod:

EXEC USER_AKTAR'nick',1



Şeklinde çalışır. Her karakter için bunu yapmanız gerekmektedir. Bu işlemi kendi sistemimde uygulayıp bitirmem 20 dakikamı almıyor.



KODU UYGULAMADAN ÖNCE KENDİNİZE GÖRE DÜZENLEYİN.





Kod:

CREATEPROCEDURE [dbo].[USER_AKTAR]

(

@CharID char(21),

@Day tinyint

)

AS

/*

Modifiye : AKI

*/

DECLARE @strUserID char(21)

DECLARE @Exp int,@Loyalty int,@Gold int

DECLARE @Rank tinyint,@Title tinyint,@Level tinyint,@Knights smallint,@Fame tinyint,@Strong tinyint,@Sta tinyint,@Dex tinyint,@Intel tinyint,@Cha tinyint,@Points tinyint

DECLARE @strSkill varchar(10),@strItem varchar(400),@strSerial varchar(400),@strQuest varchar(400)

DECLARE @UserInGame int,@CheckUserChar int



SELECT @UserInGame =COUNT(strCharID)FROM CURRENTUSER WHERE strCharID = @CharID

SELECT @CheckUserChar =COUNT(strUserId)FROM USERDATA WHERE strUserId = @CharID

IF @UserInGame 0

BEGIN

PRINT 'İşlem Yapılamadı, Kullancı Oyundadır.'

END

ELSE IF @CheckUserChar = 0

BEGIN

PRINT 'Böyle Bir Kullancı Bulunamadı'

END

ELSE

BEGIN

IF (@Day = 1)

BEGIN



SELECT @strUserId = [strUserID],@Rank = [Rank],@Title = [Title],@Level = [Level],@Exp = [Exp],@Loyalty = [Loyalty],@Knights = [Knights],@Fame = [Fame],@Strong = [Strong],@Sta = [Sta],@Dex = [Dex],@Intel = [Intel],@Cha = [Cha],@Points = [Points],@Gold = [Gold],@strSkill = [strSkill],@strItem = [strItem],@strSerial = [strSerial],@strQuest = [strQuest] FROM





-- DİKKAT: BURAYA AKTARMA ALACAINIZ DATABASE'İN İSMİNİ

-- YAZACAKSINIZ.

-- kn_online2 adında Yedeiniz mi var ?

-- O Zaman şöyle bir örnek vereyim. Kn_online2.Dbo.USERDATA





-- KARAKTERİN BULUNDUĞU DATABASE ADI BAŞLANĞIÇ



Kn_online2.Dbo.USERDATA

-- KARAKTERN BULUNDUU DATABASE ADI BİTİŞ





WHERE strUserID = @CharID



UPDATE USERDATA SETRank= @Rank,Title = @Title,Level= @Level,Exp= @Exp,Loyalty = @Loyalty,Knights = @Knights,Fame = @Fame,Strong = @Strong,Sta = @Sta,Dex = @Dex,Intel = @Intel,Cha = @Cha,Points = @Points,Gold = @Gold,strSkill = @strSkill,strItem = @strItem,strSerial = @strSerial,strQuest = @strQuest WHERE strUserId = @CharID

END

ELSE

BEGIN

PRINT'Lütfen en sona 1 yazın'

END

END



Kullanımı ...







1 Başlat > Tüm Programlar > Microsoft SQL Server > Query Analyzer ‘ a giriyoruz.



2 SQL Server’ a bağlanıyoruz ve açılan ekranda ” master ” yerine ” DBmizi ” seçiyoruz.



3 Seçtikten sonra aşağıdaki kodu kopyalayıp , yapıştırıyoruz ve F5 yaparak kodumuzu uyguluyoruz.