[PAYLAŞIM] Kill The GM Event'e hızlıca char hazırlamak (Gelişmiş)

  • Konbuyu başlatan Konbuyu başlatan THλLES
  • Başlangıç tarihi Başlangıç tarihi
Konu Yazar

THλLES

Well-Known Member
Haz
1,749
54
Merhaba, prosedürü can sıkıntısından yaptım aslında böyle bir fikir kafamda vardı neden sizle paylaşmayayım dedim :)

Özellikleri:

- 14 adet seçilebilir char tipi vardır.
- Charın var olup olmadığını kontrol eder, yoksa işlem yapmaz.
- Düzenleme yapacağınız charın ırkı önemli değildir, önce ırk transferi yapar, ardından düzenler.
- 21 GB Coin, 600 NP, 255 stat point, 260 Skill point, 80 level, 1m EXP yapar, Authority'i 1'e değiştirir ve USERDATA'daki UpdateDate kısmını günceller.
- Item'ları GM_ITEMS adlı tablodan okur.

Not: Prosedürü çalıştırmadan önce, AKUMA'nın Nation Transfer prosedürünü uygulayınız ve o prosedürü veritabanınıza NATION_TRANSFER adıyla ekleyiniz. Başka prosedür de kullanabilirsiniz ancak prosedürü değiştirmeniz gerekir, boşa uğraş verirsiniz.

Kod 1:


Kod:
if exists (select * from sysobjects where id = object_id(N'[dbo].[GM_ITEMS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[GM_ITEMS]

CREATE TABLE [dbo].[GM_ITEMS]
(strGMtype int,
   strItem varchar(400))

Kod 2:

Kod:
-- Created by Thales - Script Date: 20/08/2021 02:13
-- Edits characters for Kill The GM Event.
CREATE PROC [dbo].[GM_EVENT] (@strUserID varchar(30), @strGMtype int)

AS

BEGIN TRAN

DECLARE @strAccountID varchar(21), @CharacterStatus tinyint

SELECT @CharacterStatus = COUNT(strUserID) FROM USERDATA WHERE strUserId = @strUserID
IF @CharacterStatus = 0
BEGIN
PRINT RTRIM(LTRIM(@strUserID)) + ' does not exist.'
END

ELSE

BEGIN

SELECT @strAccountID = strAccountID FROM ACCOUNT_CHAR WHERE strCharID1 = @strUserID OR strCharID2 = @strUserID OR strCharID3 = @strUserID
IF @strGMtype = 1 -- Barbarian Blade Master
BEGIN
EXEC NATION_TRANSFER @strAccountID, '2'
UPDATE USERDATA SET Class = 206, Race = 11, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 1) WHERE strUserId = @strUserID
END

IF @strGMtype = 2 -- Male El Morad Blade Master
BEGIN
EXEC NATION_TRANSFER @strAccountID, '2'
UPDATE USERDATA SET Class = 206, Race = 12, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 1) WHERE strUserId = @strUserID
END

IF @strGMtype = 3 -- Female El Morad Blade Master
BEGIN
EXEC NATION_TRANSFER @strAccountID, '2'
UPDATE USERDATA SET Class = 206, Race = 13, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 1) WHERE strUserId = @strUserID
END

IF @strGMtype = 4 -- Male El Morad Kasar Hood
BEGIN
EXEC NATION_TRANSFER @strAccountID, '2'
UPDATE USERDATA SET Class = 208, Race = 12, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 2) WHERE strUserId = @strUserID
END

IF @strGMtype = 5 -- Female El Morad Kasar Hood
BEGIN
EXEC NATION_TRANSFER @strAccountID, '2'
UPDATE USERDATA SET Class = 208, Race = 13, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 2) WHERE strUserId = @strUserID
END

IF @strGMtype = 6 -- Male El Morad Paladin
BEGIN
EXEC NATION_TRANSFER @strAccountID, '2'
UPDATE USERDATA SET Class = 212, Race = 12, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 3) WHERE strUserId = @strUserID
END

IF @strGMtype = 7 -- Feale El Morad Paladin
BEGIN
EXEC NATION_TRANSFER @strAccountID, '2'
UPDATE USERDATA SET Class = 212, Race = 13, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 3) WHERE strUserId = @strUserID
END

IF @strGMtype = 8 -- Male El Morad Arch Mage
BEGIN
EXEC NATION_TRANSFER @strAccountID, '2'
UPDATE USERDATA SET Class = 210, Race = 12, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 4) WHERE strUserId = @strUserID
END

IF @strGMtype = 9 -- Female El Morad Arch Mage
BEGIN
EXEC NATION_TRANSFER @strAccountID, '2'
UPDATE USERDATA SET Class = 210, Race = 13, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 4) WHERE strUserId = @strUserID
END

IF @strGMtype = 10 -- Arch Tuarek Berserker Hero
BEGIN
EXEC NATION_TRANSFER @strAccountID, '1'
UPDATE USERDATA SET Class = 106, Race = 1, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 1) WHERE strUserId = @strUserID
END

IF @strGMtype = 11 -- Tuarek Shadow Vane
BEGIN
EXEC NATION_TRANSFER @strAccountID, '1'
UPDATE USERDATA SET Class = 108, Race = 2, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 2) WHERE strUserId = @strUserID
END

IF @strGMtype = 12 -- Tuarek Shadow Knight
BEGIN
EXEC NATION_TRANSFER @strAccountID, '1'
UPDATE USERDATA SET Class = 112, Race = 2, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 3) WHERE strUserId = @strUserID
END

IF @strGMtype = 13 -- Puri Tuarek Shadow Knight
BEGIN
EXEC NATION_TRANSFER @strAccountID, '1'
UPDATE USERDATA SET Class = 112, Race = 4, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 3) WHERE strUserId = @strUserID
END

IF @strGMtype = 14 -- Wrinkle Tuarek Elemental Lord
BEGIN
EXEC NATION_TRANSFER @strAccountID, '1'
UPDATE USERDATA SET Class = 110, Race = 3, [Level] = 80, [Exp] = 1000000, Authority = 1, Strong = 255, Sta = 255, Cha = 255, Dex = 255, Intel = 255, Points = 255, strSkill = 'Ą', Gold = 2100000000, Loyalty = 600, LoyaltyMonthly = 0, UpdateTime = GETDATE() WHERE strUserId = @strUserID
UPDATE USERDATA SET strItem = (SELECT strItem FROM GM_ITEMS WHERE strGMtype = 4) WHERE strUserId = @strUserID
END

PRINT RTRIM(LTRIM(@strUserID)) + ' is completely modified for Kill The GM Event by your command.'
PRINT 'Created by Thales'

END

COMMIT TRAN

GO

Kod 3:

Kod:
INSERT INTO GM_ITEMS VALUES (1, 0x00)
INSERT INTO GM_ITEMS VALUES (2, 0x00)
INSERT INTO GM_ITEMS VALUES (3, 0x00)
INSERT INTO GM_ITEMS VALUES (4, 0x00)

Şimdi öncelikle bir chara farklı farklı Item'lar dizin, çünkü bunları GM_ITEMS tablosuna kopyalattıracağız.

GM_ITEMS tablosunda itemlar ayarlı değildir, siz ayarlayacaksınız.


Kod:
1 - Warrior
2 - Rogue
3 - Priest
4 - Mage

Bir charı dizdiniz ve şimdi bunu GM_ITEMS'a kopyalamaya sıra geldi:

Kod:
UPDATE GM_ITEMS SET strItem = (SELECT strItem FROM USERDATA WHERE strUserId = 'Nick') WHERE strGMtype = x

X yerine yukarıdaki class kodlarını yazacaksınız.

Bunu sadece 1 kereye mahsus yapıyorsunuz, değiştirmek isterseniz tekrar yapabilirsiniz.

Evet şimdi her şey tamamlandı, prosedürü kullanmak için:


Kod:
EXEC GM_EVENT 'Nick', 'x'

X yerine gelecek rakamlar için:

Kod:
1 - Barbarian Blade Master
2 - Male El Morad Blade Master
3- Female El Morad Blade Master
4 - Male El Morad Kasar Hood
5 - Female El Morad Kasar Hood
6 - Male El Morad Paladin
7 - Female El Morad Paladin
8 - Male El Morad Arch Mage
9 - Female El Morad Arch Mage
10 - Arch Tuarek Berserker Hero
11 - Tuarek Shadow Vane
12 - Tuarek Shadow Knight
13 - Puri Tuarek Shadow Knight
14 - Wrinkle Tuarek Elemental Lord

Biraz uzun oldu ama tamamen sorunsuzdur, tamamen kendim hazırladım.

KO-Cuce üyeleri için paylaşılmıştır.
İsmimi silip/değiştirip kendim yaptım diye göstermek yasaktır.


Kolay gelsin, yorumları görürsem daha iyi olacağım :)
 
Son düzenleme:
Cevap: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

:eek: Paylaşım için teşekkürler. :eek:
 
Moderatör tarafında düzenlendi:
Cevap: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

Güzel güzel
 
Re: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

Nice job , thanks :) :D
 
Cevap: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

elle dizmek daha zevkli :o:

emeğine sağlık
 
Cevap: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

Abo hö Sağolasın Ediz hö
 
Cevap: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

Elle Dizmek Daha hos fakat Cok Useri olan bir Serverda ve Saglam GM Eventler Yapabilmek icin Paso Char Editliyecegine Sunucuyu kasicagina yararli olmus Teye aga
 
Cevap: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

Teşekkürler. :)
 
Cevap: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

Selamlar,

Güzel Eline Sağlık.
 
Cevap: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

Sağol Ediz işe yarar ve pratik bir paylaşım :)
 
Cevap: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

Güzel olmuş ediz Afferin lem
 
Cevap: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

güzelmiş aga hö iş görür :sakalli:
 
Cevap: [PAYLAŞIM] Kill The GM Event'a hızlıca char hazırlamak (Gelişmiş)

Konu sahibinin isteği üzerine cüce bölümünden ko-cuce paylaşımlara taşınmıştır.Hayırlı olsun.
 
Cevap: [PAYLAŞIM] Kill The GM Event'e hızlıca char hazırlamak (Gelişmiş)

Eline sağlık güzel paylaşım :)
 
Cevap: [PAYLAŞIM] Kill The GM Event'e hızlıca char hazırlamak (Gelişmiş)

Teşekkürler,Güzel Paylaşım :)
 
Cevap: [PAYLAŞIM] Kill The GM Event'e hızlıca char hazırlamak (Gelişmiş)

Teşekkürler.Ama Bişey Soracam Şu Gm_items'e itemleri Nasıl Eklicem Yardım Edebilirmisin Tam Olarak bilmiyorumda :S
 
Cevap: [PAYLAŞIM] Kill The GM Event'e hızlıca char hazırlamak (Gelişmiş)

çok güzel ve kullanışlı ve güzel bir anlatım sagolasın kullanıcam bunu
 
Cevap: [PAYLAŞIM] Kill The GM Event'e hızlıca char hazırlamak (Gelişmiş)

Teşekürler
 
Cevap: [PAYLAŞIM] Kill The GM Event'e hızlıca char hazırlamak (Gelişmiş)

teşekkürler
 
Geri
Üst Alt