pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin2

Sizleri Neler Bekliyor ?
-Foruma Üye Olarak Yeni Arkadaşlıklar Edineceksiniz.
-İnternette Zaman Geçirecek Bir Alanınız Olucak Ve Eğleneceksiniz.
-PvP Server Tutkunuysanız Pvp Serverlerde Yenilikleri Takip Ediceksiniz.
-Yeni Açılan Serverleri Anında Bulacaksınız .
-Gmlik Adaylığı Koyacaksınız.Serverinizi Tanıtacaksınız.
-Pvp Serverler Hakkında Herşey Bu Forumda Olucak.
-ÜYE OLURSANIZ FORUMDAKİ REKLAMLAR GÖZÜKMEZ
Bunlardan Yararlanmak İçin Sizden Tek İsteyimiz Üye Olmanız Yada Giriş Yapmanız.


+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme 30us3s8
Lütfen Foruma FİREFOX İle Giriniz !



Join the forum, it's quick and easy

pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin2

Sizleri Neler Bekliyor ?
-Foruma Üye Olarak Yeni Arkadaşlıklar Edineceksiniz.
-İnternette Zaman Geçirecek Bir Alanınız Olucak Ve Eğleneceksiniz.
-PvP Server Tutkunuysanız Pvp Serverlerde Yenilikleri Takip Ediceksiniz.
-Yeni Açılan Serverleri Anında Bulacaksınız .
-Gmlik Adaylığı Koyacaksınız.Serverinizi Tanıtacaksınız.
-Pvp Serverler Hakkında Herşey Bu Forumda Olucak.
-ÜYE OLURSANIZ FORUMDAKİ REKLAMLAR GÖZÜKMEZ
Bunlardan Yararlanmak İçin Sizden Tek İsteyimiz Üye Olmanız Yada Giriş Yapmanız.


+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme 30us3s8
Lütfen Foruma FİREFOX İle Giriniz !

pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin2

Would you like to react to this message? Create an account in a few clicks or log in to continue.

pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin pvp server

pvpserverler.forumclan.com  Üye sayımız +105.000 / Aramıza Hoşgeldiniz !

2 posters

    +10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme

    HolyDewy
    HolyDewy
    Silver Master
    Silver Master


    <b>Mesaj Sayısı</b> Mesaj Sayısı : 688
    <b>Kayıt tarihi</b> Kayıt tarihi : 30/04/09

    +10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme Empty +10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme

    Mesaj tarafından HolyDewy Salı Haz. 16, 2009 10:55 am

    1299 Private Serverlarda, genellikle +8 ve üstü itemler
    tercih ediliyor.. Fakat DB'nizde +9 ve +10 itemler olup bunların +'sını
    8'e çekmek istiyorsanız.. Aşağıda tam size göre bir paylaşım var .

    Aşağıdaki Kodlar Tamamen AKUMA'ya aittir. Kodların amacı;


    • Bu Procedur +10 İtemleri +8 / +5 Uniqueleri +3 e veya +1 e Çekmenize yarar Girişte Tarama Yapar.
    Denenmiştir , Hiçbir Sakıncası , Hiçbir BUGU Yoktur!

    İlk Once ITEM Tablomuzda biraz değişiklik yapalım , +10 itemler +0 yazıyor , Onları +10 olarak değiştirelim.

    Kod:
    DECLARE @Num int,@strName varchar(100),@ProcessCount int
     /*
    Author : Ceribrio
    */
    DECLARE CRS_ITEM_TABLE CURSOR FOR
    SELECT Num,strName FROM ITEM WHERE strName LIKE '%(+0)%' AND Kind <> 91 AND Kind <> 92 AND Kind <> 93 AND Kind <> 94
     
    SET @ProcessCount = 0
     
    OPEN CRS_ITEM_TABLE
     
    FETCH NEXT FROM CRS_ITEM_TABLE INTO @Num,@strName
     
    WHILE (@@FETCH_STATUS = 0)
    BEGIN
     
    DECLARE @ItemName varchar(100),@ItemNum int,@RealItemName varchar(100),@CheckItemName varchar(100),@NewItemName varchar(100),@FindCount int
     
    SELECT @ItemNum = Num, @ItemName = strName FROM ITEM WHERE Num = @Num - 2
     
    SELECT @FindCount = Count(Num) FROM ITEM WHERE Num = @ItemNum
     
        IF @FindCount <> 0
        BEGIN
            SET @RealItemName = RTRIM(LTRIM(REPLACE(@strName,'(+0)','')))       
            SET @CheckItemName = RTRIM(LTRIM(REPLACE(@ItemName,'(+8)','')))
     
                IF @RealItemName = @CheckItemName
                BEGIN
                    SET @NewItemName = @RealItemName + ' (+10)'
                    UPDATE ITEM SET strName = @NewItemName WHERE Num = @Num
                    SET @ProcessCount = @ProcessCount + 1
                END
        END
     
    FETCH NEXT FROM CRS_ITEM_TABLE INTO @Num,@strName
    END
     
    CLOSE CRS_ITEM_TABLE
     
    DEALLOCATE CRS_ITEM_TABLE
     
    PRINT 'Değiştirilen İtem Sayısı : ' + RTRIM(LTRIM(STR(@ProcessCount)))

    Bu kodu Query'den çalıstırın ve bekleyin ... 5- 10 Dakika ve daha fazla sürebilir ...


    Eklenecek tablolarımız :
    Kod:
    /****** Object:  Table [dbo].[RESULT_CHECK_USER_ITEMS]    Script Date: 07/12/2008 14:12:44 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[RESULT_CHECK_USER_ITEMS](
        [Num] [int] NULL,
        [stacksize] [smallint] NULL,
        [Durability] [smallint] NULL,
        [strUserId] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [InventorySlot] [int] NULL,
        [ItemName] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [extname] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
    ) ON [PRIMARY]
     
    GO
    SET ANSI_PADDING OFF

    Kod:
    /****** Object:  Table [dbo].[RESULT_CHECK_USER_ITEMS_LOGS]    Script Date: 07/12/2008 14:13:15 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[RESULT_CHECK_USER_ITEMS_LOGS](
        [strUserId] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [OldItemNum] [int] NULL,
        [OldItemName] [varchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
        [OptimizedItemNum] [int] NULL,
        [OptimizedItemName] [varchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
    ) ON [PRIMARY]
     
    GO
    SET ANSI_PADDING OFF

    Userdata'yı Desing Table diyerek açın ve , En Son'a bir Satır Ekleyin , İsmi UserStatus olsun , int Olacak ... Nulls İşaretsiz olacak ! ve Default değeri 0 olacak !

    Eklenecek Prosedürler :

    Eğer +4 +5 Takıların , +1 Olmasını istiyorsanız Bunu Ekleyin ! Bir Alttakini eklemeyin !

    Kod:
    CREATE PROCEDURE [dbo].[CHECK_USER_ITEMS]
    (@strUserID varchar(50))
    AS
     
    /*
    Author : Ceribrio
    */
     
    BEGIN
    DECLARE @Authority int,@UserStatus int
     
    SELECT @Authority = Authority,@UserStatus = UserStatus FROM USERDATA WHERE strUserID = @strUserID
     
    IF (@Authority <> 0) OR (@UserStatus <> 1)
    BEGIN
     
    TRUNCATE TABLE RESULT_CHECK_USER_ITEMS
    EXEC CHECK_FIND_USER_ITEMS @strUserID
     
      DECLARE @Num int,@ItemName varchar(100),@InventorySlotNumber int
     
      DECLARE CRS_RESULT_CHECK_USER_ITEMS CURSOR FOR
      SELECT Num,ItemName,InventorySlot FROM RESULT_CHECK_USER_ITEMS WHERE strUserID = @strUserID AND ItemName <> 'Free Slot'
     
      OPEN CRS_RESULT_CHECK_USER_ITEMS
     
      FETCH NEXT FROM CRS_RESULT_CHECK_USER_ITEMS INTO @Num, @ItemName, @InventorySlotNumber
      WHILE (@@FETCH_STATUS = 0)
      BEGIN
     
          DECLARE @ItemStrName varchar(100),@ItemNum int,@NewItemNum int,@Kind tinyint,@ItemType int,@CheckNum int
     
          SET @ItemStrName = ''
          SET @ItemNum = 0
          SET @NewItemNum = 0
          SET @Kind = 0
          SET @ItemType = 0
          SET @CheckNum = 0
     
          IF CHARINDEX('+10',@ItemName) <> 0
          BEGIN
              SELECT @ItemNum = Num,@Kind = Kind FROM ITEM WHERE Num = @Num
              SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 2
              IF (@Kind != 91) OR (@Kind != 92) OR (@Kind != 93) OR (@Kind != 94)
              BEGIN
              SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum
                  IF @CheckNum <> 0
                  BEGIN
                  UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum,ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber
                  INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrName)
                  END
              END
          END
          ELSE IF CHARINDEX('+9',@ItemName) <> 0
          BEGIN
              SELECT @ItemNum = Num,@Kind = Kind FROM ITEM WHERE Num = @Num
              SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 1
              IF (@Kind != 91) OR (@Kind != 92) OR (@Kind != 93) OR (@Kind != 94)
              BEGIN
              SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum
                  IF @CheckNum <> 0
                  BEGIN
                  UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum,ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber
                  INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrName)
                  END
              END
          END
          ELSE IF CHARINDEX('+5',@ItemName) <> 0
          BEGIN
              SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num
              IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94
              BEGIN
                  SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum
                  IF @CheckNum <> 0
                  BEGIN
                      IF @ItemType = 4
                      BEGIN
                      SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 4
                      UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber
                      INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrName)
                      END
                  END
              END
          END
          ELSE IF CHARINDEX('+4',@ItemName) <> 0
          BEGIN
              SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num
              IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94
              BEGIN
                  SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum
                  IF @CheckNum <> 0
                  BEGIN
                      IF @ItemType = 4
                      BEGIN
                      SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 3
                      UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber
                      INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrName)
                      END
                  END
              END
          END
          ELSE IF CHARINDEX('+3',@ItemName) <> 0
          BEGIN
              SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num
              IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94
              BEGIN
                  SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum
                  IF @CheckNum <> 0
                  BEGIN
                      IF @ItemType = 4
                      BEGIN
                      SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 2
                      UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber
                      INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrName)
                      END
                  END
              END
          END
          ELSE IF CHARINDEX('+2',@ItemName) <> 0
          BEGIN
              SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num
              IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94
              BEGIN
                  SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum
                  IF @CheckNum <> 0
                  BEGIN
                      IF @ItemType = 4
                      BEGIN
                      SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 1
                      UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber
                      INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrName)
                      END
                  END
              END
          END
     
      FETCH NEXT FROM CRS_RESULT_CHECK_USER_ITEMS INTO @Num, @ItemName, @InventorySlotNumber
      END
     
      CLOSE CRS_RESULT_CHECK_USER_ITEMS
     
      DEALLOCATE CRS_RESULT_CHECK_USER_ITEMS
     
    EXEC CHECK_ENCODE_USER_ITEMS @strUserID
     
    END
     
    END
    HolyDewy
    HolyDewy
    Silver Master
    Silver Master


    <b>Mesaj Sayısı</b> Mesaj Sayısı : 688
    <b>Kayıt tarihi</b> Kayıt tarihi : 30/04/09

    +10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme Empty Geri: +10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme

    Mesaj tarafından HolyDewy Salı Haz. 16, 2009 10:58 am

    Eğer +4 +5 takıların , +3 olmasını istiyorsanız Bunu Ekleyin Bir Üsttekini eklemeyin !

    Kod:
    CREATE PROCEDURE [dbo].[CHECK_USER_ITEMS]
    (@strUserID varchar(50))
     AS
     
    /*
    Author : Ceribrio
    */
     
    BEGIN
    DECLARE @Authority int,@UserStatus int
     
    SELECT @Authority = Authority,@UserStatus = UserStatus FROM USERDATA WHERE strUserID = @strUserID
     
    IF (@Authority <> 0) OR (@UserStatus <> 1)
    BEGIN
     
    TRUNCATE TABLE RESULT_CHECK_USER_ITEMS
    EXEC CHECK_FIND_USER_ITEMS @strUserID
     
        DECLARE @Num int,@ItemName varchar(100),@InventorySlotNumber int
     
        DECLARE CRS_RESULT_CHECK_USER_ITEMS CURSOR FOR
        SELECT Num,ItemName,InventorySlot FROM RESULT_CHECK_USER_ITEMS WHERE strUserID = @strUserID AND ItemName <> 'Free Slot'
     
        OPEN CRS_RESULT_CHECK_USER_ITEMS
     
        FETCH NEXT FROM CRS_RESULT_CHECK_USER_ITEMS INTO @Num, @ItemName, @InventorySlotNumber
        WHILE (@@FETCH_STATUS = 0)
        BEGIN
     
            DECLARE @ItemStrName varchar(100),@ItemNum int,@NewItemNum int,@Kind tinyint,@ItemType int,@CheckNum int
     
            SET @ItemStrName = ''
            SET @ItemNum = 0
            SET @NewItemNum = 0
            SET @Kind = 0
            SET @ItemType = 0
            SET @CheckNum = 0
     
            IF CHARINDEX('+10',@ItemName) <> 0
            BEGIN
                SELECT @ItemNum = Num,@Kind = Kind FROM ITEM WHERE Num = @Num
                SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 2
                IF (@Kind != 91) OR (@Kind != 92) OR (@Kind != 93) OR (@Kind != 94)
                BEGIN
                SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum
                    IF @CheckNum <> 0
                    BEGIN
                    UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum,ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber
                    INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrName)
                    END
                END
            END
            ELSE IF CHARINDEX('+9',@ItemName) <> 0
            BEGIN
                SELECT @ItemNum = Num,@Kind = Kind FROM ITEM WHERE Num = @Num
                SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 1
                IF (@Kind != 91) OR (@Kind != 92) OR (@Kind != 93) OR (@Kind != 94)
                BEGIN
                SELECT @CheckNum = COUNT(Num) FROM ITEM WHERE Num = @NewItemNum
                    IF @CheckNum <> 0
                    BEGIN
                    UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum,ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber
                    INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrName)
                    END
                END
            END
            ELSE IF CHARINDEX('+5',@ItemName) <> 0
            BEGIN
                SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num
                IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94
                BEGIN
                        IF @ItemType = 4
                        BEGIN
                        SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 4
                        UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber
                        INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrName)
                        END
                END
            END
            ELSE IF CHARINDEX('+4',@ItemName) <> 0
            BEGIN
                SELECT @ItemNum = Num,@Kind = Kind,@ItemType = ItemType FROM ITEM WHERE Num = @Num
                IF @Kind = 91 OR @Kind = 92 OR @Kind = 93 OR @Kind = 94
                BEGIN
                        IF @ItemType = 4
                        BEGIN
                        SELECT @ItemStrName = strName,@NewItemNum = Num FROM ITEM WHERE Num = @ItemNum - 3
                        UPDATE RESULT_CHECK_USER_ITEMS SET Num = @NewItemNum, ItemName = '# DÜZELTİLDİ : ' + RTRIM(LTRIM(@ItemStrName)) + ' #' WHERE ItemName = @ItemName AND InventorySlot = @InventorySlotNumber
                        INSERT INTO RESULT_CHECK_USER_ITEMS_LOGS VALUES (@strUserID,@Num,@ItemName,@NewItemNum,@ItemStrName)
                        END
                END
            END
     
     
        FETCH NEXT FROM CRS_RESULT_CHECK_USER_ITEMS INTO @Num, @ItemName, @InventorySlotNumber
        END
     
        CLOSE CRS_RESULT_CHECK_USER_ITEMS
     
        DEALLOCATE CRS_RESULT_CHECK_USER_ITEMS
     
    EXEC CHECK_ENCODE_USER_ITEMS @strUserID
     
    END
     
    END

    Kod:
    CREATE procedure [dbo].[CHECK_ENCODE_USER_ITEMS]
    @StrUserID varchar(30)
    AS
    DECLARE
    @length int,
    @row int,
    @i int,
    @Num int,
    @pos int,
    @dur int,
    @dur1 int,
    @ext int,
    @StackSize1 int,
    @strName varchar(30),
    @strExtName varchar(30),
    @CNum varbinary(4),
    @cdur varchar(2),
    @Source tinyint,
    @NEWNum int,
    @StackSize int,
    @cstack varchar(2),
    @InventorySlot int
     
        set @InventorySlot=0
        set @i = 14*0
        set @length = 401
     
    select @row=count( * ) from userdata where struserid=@StrUserID
     
    if @row>0
      begin
     
     
    Select @Num=Num,
    @dur = Durability,
    @StackSize1 = stacksize,
            @StrUserID = strUserID
            From RESULT_CHECK_USER_ITEMS
            Where strUserID = @StrUserID and InventorySlot=@InventorySlot
     
        Set @CNum = Substring(cast(@Num as varbinary(4)), 4, 1) + Substring(cast(@Num as varbinary(4)), 3, 1) + Substring(cast(@Num as varbinary(4)), 2, 1) + Substring(cast(@Num 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(@CNum as varchar(4)) + @Cdur + @Cstack as varchar(8))  as binary(400)) where strUserID = @strUserID
     
     
    set @i=@i+8
    set @InventorySlot=@InventorySlot+1
     
     
     
    WHILE @InventorySlot < 50
    Begin
     
    Select @Num=Num,
    @dur = Durability,
    @StackSize1 = stacksize,
            @StrUserID = strUserID
            From RESULT_CHECK_USER_ITEMS
            Where strUserID = @StrUserID and InventorySlot=@InventorySlot
     
        Set @CNum = Substring(cast(@Num as varbinary(4)), 4, 1) + Substring(cast(@Num as varbinary(4)), 3, 1) + Substring(cast(@Num as varbinary(4)), 2, 1) + Substring(cast(@Num 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(@CNum 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 @InventorySlot=@InventorySlot+1
     
    end
    end

    Kod:
    CREATE procedure [dbo].[CHECK_FIND_USER_ITEMS]
    @StrUserID varchar(30)
    AS
    DECLARE
    @length int,
    @i int,
    @Num int,
    @dur int,
    @duar int,
    @StackSize1 int,
    @InventorySlot 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 RESULT_CHECK_USER_ITEMS where struserid=@StrUserID
     
    if @row>0
      begin
     
    WHILE @i < @length
    Begin
     
    Select @Num=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
     
     
    if @Num=0
    begin
    set @extname='Free Slot'
    set @name='Free Slot'
    end
    else
    begin
    set @extname='Not Find'
    set @name='Not Using'
     
    select @extname=strName from item where Num=@Num
     
    if @extname='Not Find'
    begin
     
    set @ext=-1
    set @name='Not Find'
     
    select @extname=strName,@ext=Slot from item where Num= cast(substring(cast(@Num as varchar(9)), 1, 6)+'000' as int) --cast(substring(cast(@Num as varbinary(4)),0,5) as int)*1000
    if @ext>-1
    begin
    set @duar=-1
        If @ext = 0
            select @duar = Duration,@name=strName  From item where Num = cast(substring(cast(@Num as varchar(9)), 7, 9) as int)
    end
    end
    end
     
    insert into RESULT_CHECK_USER_ITEMS (Num,stacksize,Durability,struserid,InventorySlot,ItemName,extname) values(@Num,@stacksize1,@dur,@StrUserID,(@i-1) / 8,@extname,@name )
     
    set @i=@i+8
     
    end
    end

    ve Queryden ÇalıstıRınız ;

    Kod:
    update userdata set UserStatus = '0'

    Burada Her hangi bir charın UserStatus'u 1 yaparsanız, o charı kontrol etmeyecektir !
    GM'leri zaten kontrol etmez ...

    ve En SOn Olarak ,

    LOAD_USER_DATA proc'unu açarak ,

    Oto Master varsa Hemen Altına yok İse ,
    Kod:
    SELECT Nation, Race, Class, HairColor, Rank, Title, [Level], [Exp], Loyalty, Face, City, Knights, Fame,
        Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, [Zone], Bind, PX, PZ, PY, dwTime, strSkill, strItem,strSerial, sQuestCount, strQuest, MannerPoint, LoyaltyMonthly
        FROM    USERDATA WHERE strUserId = @id
    SET @nRet = @@RowCount
    Noo2KaoS
    Noo2KaoS
    Bronze Master
    Bronze Master


    <b>Mesaj Sayısı</b> Mesaj Sayısı : 120
    <b>Kayıt tarihi</b> Kayıt tarihi : 21/08/09

    +10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme Empty Geri: +10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme

    Mesaj tarafından Noo2KaoS Paz Eyl. 06, 2009 8:01 am

    saol elien sağllık

      Forum Saati Çarş. Mayıs 08, 2024 5:02 am