Reklam vermek için  reklam@gamesfrm.com adresine mail atabilirsiniz. 


vSRO - Toplama Pet Query



Zєвαηi

Editör
Site Yetkilisi
Editör
Katılım
25 Ocak 2019
Mesajlar
100
vSRO - Toplama

Merhaba Arkadaşlar;

Bazı Db' lerde Petin 5 sayfası açılmıştır. Bu oyun içi bazı hatalarda, buglarda hatta oyunun kapanmasına kadar yol açan bazen sorunlar meydana gelmiştir. Sayfalarca açık olan peti sadece tek pet sayyfası olarak indirmek için ve petin yol açtığı buglara sebep olmaması içinde aşağıda yer alan 2 queryi ayrı ayrı okutun.

Kolay Gelsin

Kod:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewCOS]    Script Date: 15.07.2016 13:31:41 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[_AddNewCOS]
    @OwnerCharID    int,
    @RefObjID    int,
    @Level        int,
    @HP        int,
    @MP        int,
    @HGP        int,
    @KeeperNPC    int,
    @State        int,
    @InventorySize  int,
    @itemID        int,
    @PickItemConfig tinyint,
    @RentEndTime     smalldatetime
as

begin tran

    declare @COS_ID    int
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--        pet_skill_item (ÃÖ¼±È£)       
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    declare @MaxInventorySize tinyint
    select @MaxInventorySize = InventorySize
    from _RefObjCommon, _RefObjChar
    where _RefObjCommon.ID = @RefObjID and _RefObjCommon.Link = _RefObjChar.ID
    
    if( @@rowcount = 0 or @MaxInventorySize < @InventorySize )
    begin
        rollback tran
        return -5
    end

    insert into _CharCOS values (@OwnerCharID, @RefObjID, @HP, @MP, @KeeperNPC, @State, NULL, @Level, 0, @HGP, @PickItemConfig, @RentEndTime)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    set @COS_ID = @@identity
    if (@COS_ID = 0 OR @@error <> 0)
    begin
        rollback tran
        return -1
    end

--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--        pet_skill_item (ÃÖ¼±È£)       
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    if (@MaxInventorySize > 0)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    begin
        declare @Slot  int
        set @Slot = 0
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--        pet_skill_item (ÃÖ¼±È£)       
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
        while (@Slot < @MaxInventorySize)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
        begin
            insert into _InvCOS values(@COS_ID, @Slot, 0)
            if (@@error <> 0)
            begin
                -- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
                rollback tran
                return -2
            end   
        
            set @Slot = @Slot + 1
        end
    end
    
/*    --´õ ÀÌ»ó ÀÌ Ä÷³¿¡´Â µ¥ÀÌÅ͸¦ ³ÖÁö ¾Ê´Â´Ù!
    UPDATE _Char SET EngagedCOS = @COS_ID WHERE CharID = @OwnerCharID
    IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
    BEGIN
        ROLLBACK TRANSACTION
        RETURN -3
    END
*/
    if( @itemID <> 0 )
    begin
        update _Items set Data = @COS_ID where ID64 = @itemID
        if( @@error <> 0 or @@rowcount = 0 )
        begin
            rollback transaction
            return -4
        end
        
    end

commit tran

declare @bla varchar(max);

select @bla = codename128 from _refobjcommon where ID = @ReFObjID

if @bla like '%COS_T%'

begin

WAITFOR DELAY '0:00:00.5' --süre

END

return @CoS_ID
Kod:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddTimedJobForPet]    Script Date: 15.07.2016 13:31:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO



--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--    pet_skill_item (ÃÖ¼±È£)       
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

ALTER PROCEDURE [dbo].[_AddTimedJobForPet]
    @CharID            int,
    @Category        tinyint,
    @JobID            int,
    @TimeToKeep        int,
    @Data1            int,
    @Data2            int,
    @Data3            int,
    @Data4            int,
    @Data5            int,
    @Data6            int,
    @Data7            int,
    @Data8            int,
    @Serial64        bigint
as
    if (not exists (select ID from _CharCOS with (nolock) where ID = @CharID))
        return -1

    if (@TimeToKeep <= 0)
        return -2

    declare @NewJobID int
    set @NewJobID = 0

    insert into _TimedJobForPet values(@CharID, @Category, @JobID, @TimeToKeep, @Data1, @Data2, @Data3, @Data4, @Data5, @Data6, @Data7, @Data8, @Serial64, 0)
    set @NewJobID = @@identity

    if (@@error <> 0 or @@rowcount = 0)
        return -3

    return @NewJobID

--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 




Konuyu Okuyanlar: (Üyeler: 1, Ziyaretçiler: 0)

Üst