[PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

  • Konbuyu başlatan Konbuyu başlatan AKUMA
  • Başlangıç tarihi Başlangıç tarihi

AKUMA

Active Member
Emektar
Katılım
11 Haz 2008
Mesajlar
437
Reaction score
36
Puanları
28
Konum
İstanbul
Web sitesi
www.acmeas.com.tr
Selamlar,

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!


Başlayalım ;

İ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/2021 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/2021 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
Editlenecek Tablo ;

Kod:
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
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
Bu Kodun hemen üstüne , Ekliyoruz !


Değiştirilen itemleri ; "RESULT_CHECK_USER_ITEMS_LOGS" Tablosundan gorebiliriz

İyi Eğlenceler..
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

Teşekkürler, artık herkez faydalanabilir :)
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

Yeni konular üyelere hayırlı olsun ...
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

teşekkürler paylaşım için :)
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

Ellerinize emeklerinize sağlık süper paylaşım...
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

akuma ben 74/1 db deki hazır halde gelen itemleri küpe yüzük belt itemleri en fazla +2 olmasını istiyorumm sheller önemli değil ve bütün silahlarında en fazla +8 bu kodlar bu işi görüyormu ? tşkler.
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

Teşekkürler , Ayhan abi Konunun En Altında LOAD_USER_DATA 'a eklenecek kod yok :) Bi Gözat...
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

Akuma Yine Döktürmüş :)
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

cüce bölümünde degilmiydi bu konu ayhan abi genede tskler:D
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

tesekkurler ayhan abi :D
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

abicim bişi soracam droplarıda +8 e düşürüyormu eğer düşürüyorsa hmn cevap wer ölene kadar duacın olurum :D
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

Paylaşım için teşekkürler.
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

cevap ßékLiyorum!
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

teşekkürler.
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

olmuyorrrrrrrrrrrrrrrrrrrrrrrrrr

RESULT_CHECK_USER_ITEMS_LOGS diyede bir db cıkmadı :s
 
Son düzenleme:
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

herşeyi denilen şekilde yaptımmmm ama hiç bir değişiklik olmadı +5 üniqler duruyor üstümde +9 elbiseler de
 
Cevap: [PAYLAŞIM]+10,+9 İtemleri +8'e ve +5,+4 Uniqueleri +3 veya +1 Çekme.

Teşekkürler. lazım olacak :)
 
Geri
Üst Alt