![]() |
|
|||||||
| Knight Online Knight online koxp, Knight online videoları, knight resimleri |
![]() |
|
|
Seçenekler | Stil |
|
|
#1 (permalink) |
|
Muharebe Metni
![]() Üyelik Tarihi: Feb 2008
Mesajlar: 44
Rep Gücü: 241
Rep Puanı: 23989
Rep Derecesi : ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
öncelikle tablomuzu oluşturalım...
Kod:
dwid int 4 stacksize smallint 2 durability smallint 2 strUserId varchar 50 sira int 4 itembasicname varchar 100 extname varchar 100 Kod:
CREATE TABLE itemler (dwid int, stacksize smallint, durability smallint, strUserId varchar(50), sira int , itembasicname varchar(100) , extname varchar(100) ) Kod:
--bu procedure Maktiris1536 tarafından eylenmiştir..
CREATE procedure itemleri_bul
@StrUserID varchar(30)
AS
DECLARE
@length int, -- stritem uzunluğu
@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
if @dwid=0
begin
set @extname='~~~~~~ item yok ~~~~~~'
set @name='~~~~~~ item yok ~~~~~~'
end
else
begin
set @extname='Bulunamadı'
set @name='Gerekli Değil'
select @extname=szname from item_basic where dwid=@dwid
if @extname='Bulunamadi'
begin
set @ext=-1
set @name='Bulunamadı'
select @extname=szname,@ext=byextindex from item_basic where dwid= cast(substring(cast(@dwid as varchar(9)), 1, 6)+'000' as int(4)) --cast(substring(cast(@dwid as varbinary(4)),0,5) as int(4))*1000
if @ext>-1
begin
set @duar=-1
If @ext = 0
select @duar = siMaxDurability,@name=szheader From itemext0 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 1
select @duar = siMaxDurability,@name=szheader from itemext1 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 2
select @duar = siMaxDurability,@name=szheader from itemext2 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 3
select @duar = siMaxDurability,@name=szheader from itemext3 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 4
select @duar = siMaxDurability,@name=szheader from itemext4 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 5
select @duar = siMaxDurability,@name=szheader from itemext5 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 6
select @duar = siMaxDurability,@name=szheader from itemext6 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 7
select @duar = siMaxDurability,@name=szheader from itemext7 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 8
select @duar = siMaxDurability,@name=szheader from itemext8 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 9
select @duar = siMaxDurability,@name=szheader from itemext9 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 10
select @duar = siMaxDurability,@name=szheader from itemext10 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 11
select @duar = siMaxDurability,@name=szheader from itemext11 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 12
select @duar = siMaxDurability,@name=szheader from itemext12 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 13
select @duar = siMaxDurability,@name=szheader from itemext13 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 14
select @duar = siMaxDurability,@name=szheader from itemext14 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 15
select @duar = siMaxDurability,@name=szheader from itemext15 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 16
select @duar = siMaxDurability,@name=szheader from itemext16 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 17
select @duar = siMaxDurability,@name=szheader from itemext17 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 18
select @duar = siMaxDurability,@name=szheader from itemext18 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 19
select @duar = siMaxDurability,@name=szheader from itemext19 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 20
select @duar = siMaxDurability,@name=szheader from itemext20 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 21
select @duar = siMaxDurability,@name=szheader from itemext21 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
If @ext = 23
select @duar = siMaxDurability,@name=szheader from itemext23 where dwid = cast(substring(cast(@dwid as varchar(9)), 7, 9) as int(4))
end
end
end
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
Kod:
--bu procedure Maktiris1536 tarafından eylenmiştir..
CREATE procedure itemleri_encode
@StrUserID varchar(30)
AS
DECLARE
@length int, -- stritem uzunluğu
@row int, -- yerine göre deişior.
@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
GO
şimdi nasıl kullanılacağını göstereyim ![]() sql query analyzer veya sql enterprise manager ile şu kodlarla sorgulama yapabilrisiniz.. Kod:
EXEC itemleri_bul 'charismi'
SELECT *
FROM itemler
WHERE struserid = 'charismi'
ORDER BY struserid, sira
şimdi itemleri kaydetmeye geldi sıra.. inventory konumları.. => 0 = küpe 1 = .. 2= .. .. 13 = ayaklık. Kod:
kupe 0 kafalık 1 kupe 2 boyunluk 3 govdelik 4 boş yer 5 silah 6 belt 7 silah 8 yuzuk 9 pantolon 10 yuzuk 11 ellik 12 ayaklık 13 elinize dual raptor alabilirsiniz. istediğiniz itemi istediğiniz yere takabilirsiniz )Kod:
exec itemleri_encode 'charismi' başka forumlarda / sitlerde yayınlanırken adımın geçmesi zorunlu değil mecburidir ![]() peki nerede işime yarayacak? cvp => 1-) php den oyuna quest yazabilirsiniz. eğer adamda şu item varsa bunu verip sonra itemleri_encode edebilirsiniz.. 2-) tbl itemi kontrol yapabilirsiniz. 3-) hayal gücünüze bağlı olarak bu kod ile herşeyi yapabilirsiniz.. kodun üzerinde değişiklik yapmayın lütfen ![]() (özellikle metriyks yazısı ) |
|
|
|
|
|
#3 (permalink) |
|
Yönetici
![]() ![]() Üyelik Tarihi: Jan 2008
Nerden: Rock'n Roll xD
Mesajlar: 2.033
Rep Gücü: 6156
Rep Puanı: 611457
Rep Derecesi : ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Bu kodları SQL'de Analizer bölümüne yapıştırarak kullanıcaksın..
__________________
[Linkleri görebilmek için üye olmalısınız. Üye olmak için tıklayınız...]
[Linkleri görebilmek için üye olmalısınız. Üye olmak için tıklayınız...] ![]() ![]() |
|
|
|