SQL 2005 VE 2008 İnventory Editör Çalıştırma

    Paylaş
    avatar
    Hitmachine
    Yönetici
    Yönetici

    Favori Oyun Favori Oyun : Warrock
    Nick Nick : GlobaMakale
    Karakter Karakter : Asas
    Irk Irk : El Morad
    Cinsiyet Cinsiyet : Erkek
    Mesaj Sayısı Mesaj Sayısı : 212
    Rep Puanı Rep Puanı : 3100
    Kayıt tarihi Kayıt tarihi : 25/11/09
    Lakap Lakap : Arabic

    SQL 2005 VE 2008 İnventory Editör Çalıştırma

    Mesaj tarafından Hitmachine Bir Cuma Şub. 26, 2010 11:34 pm

    Eğer 2005 veya 2008 kullanıosanız böyle bi problem yaşıosunuzdur

    Kod:
    int(4)
    smallint
    int(2)

    Bunlar 2008 de "int" olarak kabul edilir değişiceğiniz prosedürler..

    Kod:
    --bu procedure Maktiris1536 tarafından eylenmiştir.. Necro Tarafından 2005 ve 2008 içinde eylenmiş:O

    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),
    @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 int),
    @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 int),
            @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

    ##################################

    Kod:
    --bu procedure Maktiris1536 tarafından eylenmiştir..
    --Bu zaten eyliymiş :O

    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
    delete from itemler


    GO

    Necro ve Matrix 'e Teşekkürler
    avatar
    Flexy

    Favori Oyun Favori Oyun : WolfTeam
    Nick Nick : Ko-PVP
    Karakter Karakter : Asas
    Irk Irk : El Morad
    Cinsiyet Cinsiyet : Erkek
    Mesaj Sayısı Mesaj Sayısı : 73
    Rep Puanı Rep Puanı : 1
    Kayıt tarihi Kayıt tarihi : 26/12/09
    Lakap Lakap : Asker

    Geri: SQL 2005 VE 2008 İnventory Editör Çalıştırma

    Mesaj tarafından Flexy Bir C.tesi Mart 06, 2010 2:52 pm

    bir cok kişi bu sorun yuzunden 2000 kullanıyor ama 2008 daha iyi

      Forum Saati Ptsi Ara. 17, 2018 9:14 am