Çözüldü Vsro pet sayfalarını nasıl açabiliriz? 5/7 FIX

ƧłΞGΞЯ

𝐕𝐒𝐑𝐎 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐞𝐫, 𝐏𝐊𝟐 𝐄𝐝𝐢𝐭𝐨𝐫
.
.
Katılım
6 Şub 2019
Mesajlar
3,117
Tepkime puanı
3,516
Puanları
113
Konum
Jangan S Gate
Kredi
12.51[TL]
Pet sayfaları 1 sayfa olarak kalması gerekli.
Aksi halde Gameserver üzerinde büyük hatalara, çökmeler, oyun içinde bir çok bug'a sebebiyet veriyor.
 

alikvp

Alikvp
Deneme Mod.
Katılım
1 Nis 2019
Mesajlar
361
Tepkime puanı
94
Puanları
28
Yaş
31
Konum
Bolu
Kredi
0.00[TL]
SRO_VT_SHARD>Programmability>Stored Procedures>dbo._AddNewCOS

Girip dbo._AddNewCOS a Sağ tıklayıp Modify diyoruz ve ctrl+a yapıp siliyoruz ve bu verdiğim kodu yapıştırıyoruz execute diyip oyuna restart atıyrouz bu kadar benim sunucumda herhangi bir sorun teskil etmedi yapip yapmamak size kalmistir, shard database den yedek alip deneyin






Kod:
USE [SRO_VT_SHARD]

Alikvp Vsro.org Farkı Hissedeceksiniz.

GO

/****** Object:  StoredProcedure [dbo].[_AddNewCOS]    Script Date: 03/03/2021 10:323:15 ******/

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

        

        --BEGIN ADDITIONAL 112 SLOT IN GRAB PETS FOR 7684 DAYS

        declare @Serial64 bigint

        select @Serial64 = Serial64 from _Items where Data = @COS_ID

        exec _AddTimedJobForPet @COS_ID,5,22926,1992999999,1111708465,1,112,0,0,0,0,0,@Serial64

        --BEGIN ADDITIONAL 112 SLOT IN GRAB PETS FOR 7684 DAYS

        

    end
 

ƧłΞGΞЯ

𝐕𝐒𝐑𝐎 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐞𝐫, 𝐏𝐊𝟐 𝐄𝐝𝐢𝐭𝐨𝐫
.
.
Katılım
6 Şub 2019
Mesajlar
3,117
Tepkime puanı
3,516
Puanları
113
Konum
Jangan S Gate
Kredi
12.51[TL]
SRO_VT_SHARD>Programmability>Stored Procedures>dbo._AddNewCOS

Girip dbo._AddNewCOS a Sağ tıklayıp Modify diyoruz ve ctrl+a yapıp siliyoruz ve bu verdiğim kodu yapıştırıyoruz execute diyip oyuna restart atıyrouz bu kadar benim sunucumda herhangi bir sorun teskil etmedi yapip yapmamak size kalmistir, shard database den yedek alip deneyin






Kod:
USE [SRO_VT_SHARD]

Alikvp Vsro.org Farkı Hissedeceksiniz.

GO

/****** Object:  StoredProcedure [dbo].[_AddNewCOS]    Script Date: 03/03/2021 10:323:15 ******/

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

      

        --BEGIN ADDITIONAL 112 SLOT IN GRAB PETS FOR 7684 DAYS

        declare @Serial64 bigint

        select @Serial64 = Serial64 from _Items where Data = @COS_ID

        exec _AddTimedJobForPet @COS_ID,5,22926,1992999999,1111708465,1,112,0,0,0,0,0,@Serial64

        --BEGIN ADDITIONAL 112 SLOT IN GRAB PETS FOR 7684 DAYS

      

    end
Bu prosedür de zaten ALTER var, direkt okutması, var olan prosedürü günceller. :D

Yani gidipte orayı burayı açıp uğraşmasına gerek yok, direkt New Query deyip, bunu yapıştırıp F5 yapabilir.
 

alikvp

Alikvp
Deneme Mod.
Katılım
1 Nis 2019
Mesajlar
361
Tepkime puanı
94
Puanları
28
Yaş
31
Konum
Bolu
Kredi
0.00[TL]
Bu prosedür de zaten ALTER var, direkt okutması, var olan prosedürü günceller. :D

Yani gidipte orayı burayı açıp uğraşmasına gerek yok, direkt New Query deyip, bunu yapıştırıp F5 yapabilir.

hani ben biraz adimli olarak yazdim ki herkez ogrensin basit yonden yapmasinlar diye yaptim :D
 

Benzer konular

Üst