PVPKO 20 Eylül 2009 - 1299 Private Server Tanıtım,Database,Client ve Procedure Paylaşım Blogu
KnightOnline PVP Server Tanıtımı
Metin2 PVP Server Tanıtım

21 Eylül 2009 Pazartesi

DB'nizde 83 Level | Stat Verilmiş | Master & Skiller Açık Olarak Oto Başlangıç


Merhaba,

1299 Private Serverlarda, kolay pk serverlarında oyunu daha akıcı hale getirmek için kullanacağınız çok güzel bir prosedür.

Bu prosedür ile;
  • 83 LeveL Başlangıç
  • Stat Verili
  • Master Açık
  • Skiller Açık
  • Oto Başlangıç
  • Sorunsuz olarak çalışmaktadır..
Kullanım:
  • Başlat > Tüm Programlar > Microsoft SQL Server > Enterprise Manager'e Giriyoruz.
  • Enterprise Manager'da DB'mize kadar iniyoruz ve Stored Procedures'e tıklıyoruz..
  • Sağ taraftaki procedurelerden " CREATE_NEW_CHAR " proceduresini açıyoruz..
  • İçindekileri siliyoruz ve aşağıdaki kodları yapıştırıyoruz.
  • Yapıştırdıktan sonra, önce " Apply " sonra " OK " diyerek uyguluyoruz..
  • Şimdi reset atarak yeni bir çar açınız . Sorunsuz şekilde çalışmaktadır..
Kod:
CREATE PROCEDURE CREATE_NEW_CHAR

@nRet smallint OUTPUT,
@AccountID char(21),
@index tinyint,
@CharID char(21),
@Race tinyint,
@Class smallint,
@Hair tinyint,
@Face tinyint,
@Str tinyint,
@Sta tinyint,
@Dex tinyint,
@Intel tinyint,
@Cha tinyint

AS

DECLARE @Row tinyint, @Nation tinyint, @Zone tinyint, @PosX int, @PosZ int
SET @Row = 0 SET @Nation = 0 SET @Zone = 0 SET @PosX = 0 SET @PosZ = 0

SELECT @Nation = bNation, @Row = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID

IF @Row >= 5 SET @nRet = 1

IF @Nation = 1 AND @Race > 10 SET @nRet = 2
ELSE IF @Nation = 2 AND @Race < 10 SET @nRet = 2
ELSE IF @Nation <>1 AND @Nation <> 2 SET @nRet = 2

IF @nRet > 0
RETURN

SELECT @Row = COUNT(*) FROM USERDATA WHERE strUserId = @CharID
IF @Row > 0
BEGIN
SET @nRet = 3
RETURN
END


SET @Zone=21
SELECT @PosX = InitX, @PosZ = InitZ FROM ZONE_INFO WHERE ZoneNo = @Zone

select @row = 3
if @CharID like '%___%'
if @CharID like '%_%'
if @CharID like '%__%'
if @CharID like '%:%'
if @CharID like '%::%'
begin
SET @nRet = 3
RETURN


END
BEGIN TRAN
IF @index = 0
UPDATE ACCOUNT_CHAR SET strCharID1 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
ELSE IF @index = 1
UPDATE ACCOUNT_CHAR SET strCharID2 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
ELSE IF @index = 2
UPDATE ACCOUNT_CHAR SET strCharID3 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
ELSE IF @index = 3
UPDATE ACCOUNT_CHAR SET strCharID4 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
ELSE IF @index = 4
UPDATE ACCOUNT_CHAR SET strCharID5 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID


INSERT INTO USERDATA (strUserId, Nation, Race, Class, HairColor, Face, Strong, Sta, Dex, Intel, Cha, Zone, PX, PZ )
VALUES (@CharID, @Nation, @Race, @Class, @Hair, @Face, @Str, @Sta, @Dex, @Intel, @Cha, @Zone, @PosX, @PosZ )


exec baslangicitem @CharID
update userdata set Class = 106 , strong = '255' , sta = '180' ,strskill = '?????Pupdate userdata set Class = 108 , strong = '71' , dex = '255' , sta = '169' ,strskill ='P<' , [level] = '83' , hp ='5000' ,mp='5000' ,exp = '1' where struserid = @CharID and @Class = 102
update userdata set Class = 110 , strong = '71' , sta = '100' , cha = '194' , intel = '162' ,strskill ='P<' , [level] = '83' , hp='5000' ,mp='5000' ,exp = '1' where struserid = @CharID and @Class = 103
update userdata set Class = 112 , strong = '110' , sta = '120' , intel = '230' ,strskill ='P<' , [level] = '83' where struserid = @CharID and @Class = 104
update userdata set Class = 206 , strong = '255' , sta = '180' ,strskill ='P<' , [level] = '83' , hp='5000' ,mp='5000' ,exp = '1' where struserid = @CharID and @Class = 201
update userdata set Class = 208 , strong = '71' , dex = '255' , sta = '169' ,strskill ='P<' , [level] = '83' , hp='5000' ,mp='5000' ,exp = '1' where struserid = @CharID and @Class = 202
update userdata set Class = 210 , strong = '71' , sta = '100' , cha = '194' , intel = '162' ,strskill ='P<' , [level] = '83' , hp='5000' ,mp='5000' ,exp = '1' where struserid = @CharID and @Class = 203
update userdata set Class = 212 , strong = '110' , sta = '120' , intel = '230' ,strskill ='P<' , [level] = '83' , hp='5000' ,mp='5000' ,exp = '1' where struserid = @CharID and @Class = 204


update userdata set Class = 106 where struserid = @CharID and @Class = 101
update userdata set Class = 108 where struserid = @CharID and @Class = 102
update userdata set Class = 110 where struserid = @CharID and @Class = 103
update userdata set Class = 112 where struserid = @CharID and @Class = 104
update userdata set Class = 206 where struserid = @CharID and @Class = 201
update userdata set Class = 208 where struserid = @CharID and @Class = 202
update userdata set Class = 210 where struserid = @CharID and @Class = 203
update userdata set Class = 212 where struserid = @CharID and @Class = 204

IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
SET @nRet = 4
RETURN
END

COMMIT TRAN
SET @nRet = 0
GO




YASAL UYARI !! Sitemiz, hukuka, yasalara, telif haklarına ve kişilik haklarına saygılı olmayı amaç edinmiştir. Sitemiz, 5651 sayılı yasada tanımlanan yer sağlayıcı olarak hizmet vermektedir. İlgili yasaya göre, site yönetiminin hukuka aykırı içerikleri kontrol etme yükümlülüğü yoktur. Bu nedenle, sitemiz uyar ve kaldır prensibini benimsemiştir. Telif hakkına konu olan eserlerin yasal olmayan bir biçimde paylaşıldığını ve yasal haklarının çiğnendiğini düşünen hak sahipleri veya meslek birlikleri, s.gezer92[at]gmail.com mail adresinden bize ulaşabilirler. Şikayet yerinde görüldüğü takdirde ihlal olduğu düşünülen içerikler sitemizden kaldırılacaktır.
Arkasında Google Var! | Bu site Google Adsense ile gelir sağlamaktadır.