Bu Procedur Önceden Paylaşılmıştı Ama Eksik Ve Sorunlu Olarak Paylaşılmıştı..
Ben Bir Çok Başlangıç Editör Denedim Hepsi Sorunlu Çıktı ..
Şuan Sizlere Paylaştıgım Kod İle Daha Rahat Ve Sorunsuz Yapabileceksiniz
Buyrun Sorunsuz Başlangıç İtem Değiştirme Proceduru ;
***** Class Numarası ***** - Yazan Yere Hangi Jobun Başlangıc İtemi Olmasını İstiyorsaniz Onu Yaziniz.
2 = Rogue
3 = Mage
4 = Priest
Ben Bir Çok Başlangıç Editör Denedim Hepsi Sorunlu Çıktı ..
Şuan Sizlere Paylaştıgım Kod İle Daha Rahat Ve Sorunsuz Yapabileceksiniz
Buyrun Sorunsuz Başlangıç İtem Değiştirme Proceduru ;
- Girilecek Kod
- Kod:
CREATE procedure ITEMLERI_BUL
@StrUserID varchar(30)
AS
-- ByKinq Pvp-Kenti
DECLARE
@length int, -- stritem uzunlugu
@i int, -- item'in stritem deki yeri
@dwid int,
@dur int,
@duar int,
@StackSize1 int,
@Sira int,
@Row int,
@name varchar(100),
@extname varchar(100),
@ext int
set @i = 14*0+1
set @length = 401
select @row=count(*) from userdata where struserid=@StrUserID
delete from itemler where struserid=@StrUserID
if @row>0
begin
WHILE @i < @length
Begin
Select @dwid=cast(cast(substring(cast(substring(strItem, @i,4) as varbinary(4)), 4,
1)+substring(cast(substring(strItem, @i,4) as varbinary(4)), 3, 1)+substring(cast(substring(strItem, @i,4) as
varbinary(4)), 2, 1)+substring(cast(substring(strItem, @i,4) as varbinary(4)), 1, 1) as varbinary(4)) as int(4)),
@dur = cast(cast(cast( substring(strItem, @i+5, 1) as varbinary(1))+cast(substring(strItem, @i+4, 1) as
varbinary(1)) as varbinary(2)) as smallint),
@StackSize1 = cast(cast(cast( substring(strItem, @i+7, 1) as varbinary(1))+cast(substring(strItem, @i+6, 1) as
varbinary(1)) as varbinary(2)) as smallint),
@StrUserID = strUserID
From UserData
Where strUserID = @StrUserID
insert into itemler (dwid,stacksize,durability,struserid,sira,itembasicname,extname)
values(@dwid,@stacksize1,@dur,@StrUserID,(@i-1) / 8,@extname,@name )
set @i=@i+8
end
end
GO
- Girilecek Kod
- Kod:
CREATE procedure ITEMLERI_ENCODE
@StrUserID varchar(30)
AS
-- ByKinq Pvp-Kenti
DECLARE
@length int, -- stritem uzunlugu
@row int, -- yerine göre deisior.
@i int, -- item'in stritem deki yeri
@dwid int, -- dwid
@pos int,
@dur int,
@dur1 int,
@ext int,
@StackSize1 int,
@strName varchar(30),
@strExtName varchar(30),
@Cdwid varbinary(4),
@cdur varchar(2),
@Source tinyint,
@NEWdwid int,
@StackSize int,
@cstack varchar(2),
@sira int
set @sira=0
set @i = 14*0
set @length = 401
select @row=count( * ) from userdata where struserid=@StrUserID
if @row>0
begin
Select @dwid=dwid,
@dur = durability,
@StackSize1 = stacksize,
@StrUserID = strUserID
From itemler
Where strUserID = @StrUserID and sira=@sira
Set @Cdwid = Substring(cast(@dwid as varbinary(4)), 4, 1) + Substring(cast(@dwid as varbinary(4)), 3, 1) +
Substring(cast(@dwid as varbinary(4)), 2, 1) + Substring(cast(@dwid as varbinary(4)), 1, 1)
Set @Cdur = cast(Substring(cast(@dur as varbinary(2)), 2, 1)+Substring(cast(@dur as varbinary(2)), 1, 1) as
varchar(2))
Set @Cstack = cast(Substring(cast(@StackSize1 as varbinary(2)), 2, 1)+Substring(cast(@StackSize1 as
varbinary(2)), 1, 1) as varchar(2))
update UserData set strItem = cast(cast(cast(@Cdwid as varchar(4)) + @Cdur + @Cstack as varchar(8)) as
binary(400)) where strUserID = @strUserID
set @i=@i+8
set @sira=@sira+1
WHILE @sira < 50
Begin
Select @dwid=dwid,
@dur = durability,
@StackSize1 = stacksize,
@StrUserID = strUserID
From itemler
Where strUserID = @StrUserID and sira=@sira
Set @Cdwid = Substring(cast(@dwid as varbinary(4)), 4, 1) + Substring(cast(@dwid as varbinary(4)), 3, 1) +
Substring(cast(@dwid as varbinary(4)), 2, 1) + Substring(cast(@dwid as varbinary(4)), 1, 1)
Set @Cdur = cast(Substring(cast(@dur as varbinary(2)), 2, 1)+Substring(cast(@dur as varbinary(2)), 1, 1) as
varchar(2))
Set @Cstack = cast(Substring(cast(@StackSize1 as varbinary(2)), 2, 1)+Substring(cast(@StackSize1 as
varbinary(2)), 1, 1) as varchar(2))
update UserData set strItem = cast( substring(strItem, 1, @i) + cast(cast(@Cdwid as varchar(4)) + @Cdur +
@Cstack as varchar(8)) + substring(strItem, @i+8, 401-@i) as binary(400)) where strUserID = @strUserID
set @i=@i+8
set @sira=@sira+1
end
end
delete from itemler
GO
- Kullanımı
- Kod:
--ByKinq Pvp-Kenti--
UPDATE BASLANGIC
SET stritem = (select strItem
FROM USERDATA
WHERE StrUserID = '***** Karakter Adı *****')
WHERE Class = '***** Class Numarası *****'
***** Class Numarası ***** - Yazan Yere Hangi Jobun Başlangıc İtemi Olmasını İstiyorsaniz Onu Yaziniz.
- Class Numaralar
2 = Rogue
3 = Mage
4 = Priest