الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   Honor Buff Fix Bug SQL (https://silkroad4arab.com/vb/showthread.php?t=472682)

SkyWaY 25-12-2012 11:48 AM

Honor Buff Fix Bug SQL
 
Honor Buff Fix Bug SQL

ده المفرود الكيورى الى بيعملها وشغال تمام معايه
كود PHP:

USE [SRO_VT_SHARD
DECLARE @
CharName Varchar (MAX
DECLARE @
Graduates INT 
DECLARE @HonorPoints INT 
DECLARE @CharID INT 
DECLARE @CampID INT 
SET        
@CharName '[GM] SaD_BirD' 
SET        @CharID = (Select CharID FROM _Char Where CharName16 = @CharName
SET        @CampID    = (Select TOP 1 CampID FROM _TrainingCampBuffStatus Where RecipientCharID = @CharID
SET        @Graduates    =    '1234' 
SET        @HonorPoints=    @Graduates 39 

-------------------- 

UPDATE [Dbo].[_TrainingCamp
SET GraduateCount = @Graduates 
WHERE 
[Dbo].[_TrainingCamp].[ID] = @CampID 
UPDATE 
[dbo].[_TrainingCampMember
SET HonorPoint = @HonorPoints 
WHERE 
[dbo].[_TrainingCampMember].[CampID]=@CampID 

بس جيت عدلت على Castway وحطيط فيها Arabia+mobs+FW Conest+125 skill-All Avatars+Edit pk 2
بعد كل ده اكتشفت ان Honor buff باظ لوحدو لو عملت الكيورى بيتعمل وباخود نقاط الاكادمميه او لو عملتو بايدى من SQL او لو عملتو من اللعبه نفسها وخرجت اكونتات باخود النقات بس مش بيظهر
Rank+Buff مش موجودين فيه حل ولا ايه؟؟؟
علشان انا مظبت السرفر plvl علشان حوار الاكادميه ده وكدا الدنيا باظط

2-المشكله الثانيه انى لما بشترى حاجه من item mall-Free silk shop باخود DC ولما بفتح بتكون موجوده فى invintory عادى

:tears: :tears: :tears: :tears:

medomessi2 25-12-2012 12:16 PM

نفس المشكله عندى والله بردو

medomessi2 25-12-2012 12:40 PM

حللللللللللللللللللللللللللللللللللللللللللللللللل لل

SkyWaY 25-12-2012 07:37 PM

:s :s :s

MORJANA 15-03-2014 11:36 PM

ياريت الحل فعلا محتاجينو :)

che_9299 16-03-2014 12:08 PM

2- خد BackUp وجرب ده
كود:

USE [SRO_VT_SHARD_Tito]
GO
/****** Object:  StoredProcedure [dbo].[_UPDATE_COST]    Script Date: 3/16/2014 9:28:37 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
--  »أ³أپآ،°³أ†أ* (أƒأ–¼±أˆ£) 
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
 
ALTER PROCEDURE [dbo].[_UPDATE_COST] 
        @Operation                  tinyint, 
        @CharID                  int, 
        @PaymentDevice          int, 
        @PackageItemCodeName        varchar(129), 
        @RemainGold                  bigint, 
        @OwnSilkToPay                  int, 
        @GiftSilkToPay          int, 
        @OffsetOptionalPoint        int, 
        @MileageToPay                  int 
AS

        SET NOCOUNT ON

        declare @PaymentDeviceTemp        int
        declare @RemainOwnSilk                int
        declare @RemainGiftSilk        int
        declare @RemainMileage                int
        declare @Result                int
   
        set @RemainOwnSilk = 0 
        set @RemainGiftSilk = 0 
        set @RemainMileage = 0 
   
        IF (@RemainGold < 0 or  @MileageToPay < 0  or @OwnSilkToPay < 0 or @GiftSilkToPay < 0 or @OffsetOptionalPoint < 0) 
        BEGIN 
                RETURN -2001
        END 
 
        DECLARE @PC_ID INT 
        set @PC_ID = @CharID 
        ---------------------------------------------------------- 
        -- Operationآ؟آ، µû¶أ³¼* أ€¯أ€أ؛ أ„³¸¯أ…أچ ¾أ†أ€أŒµأ°°آ، ³أ‘¾î آ؟أƒ¼أ¶µµ أ€أ–°أ*, cos ¾أ†أ€أŒµأ°°آ، ³أ‘¾î آ؟أƒ ¼أ¶µµ أ€أ–´أ™. 
        -- أ„³¸¯أ…أچ ¾أ†أ€أŒµأ°¸¦ ¾îأ‚¶´أ¸ ¾أ‹¾أ†³»¾أں أ‡أڈ°أڑ´أ™. 
        ---------------------------------------------------------- 
        if (@Operation = 19) 
        begin 
                -- COS آ؟ë ¹°أ‡°أ€» ±¸أ€أ”أ‡أ‘°أ…´أڈ±أ±... أ„³¸¯ أƒ£¾أ†¼* µ· »©أپà¾أںأپأ¶... 
                SELECT @PC_ID = OwnerCharID FROM _CharCOS WHERE ID = @PC_ID 
                IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) 
                BEGIN     
                        RETURN -2002 
                END 
        end 
        /* 
        #define EXPAND_DEVICE_GOLDPRICE 1 
        #define EXPAND_DEVICE_SILKPRICE 2 
        #define EXPAND_DEVICE_GIFTSILKPRICE 4 
        #define EXPAND_DEVICE_GUILDPOINT 8 
        #define EXPAND_DEVICE_MILEAGE 16 
        */ 

        if  ((@PaymentDevice & (2 | 4 | 16 )) > 0) 
        begin 
                -- ½أ‡أ…©, ¼±¹°½أ‡أ…©, ¸¶أ€أڈ¸®أپأ¶¸¦ ±î¾أں أ‡أڈ´أ‚±¸¸¸. 
                -- ´أœ, ¸¶أ€أڈ¸®أپأ¶´أ‚ آ؟أ‰¼أ‡أ€أŒ´أ™. 
   
                -- أ„³¸¯أ…أچأ€أ‡ JID¸¦ ¾أ²¾îآ؟أ€³أٹ¶أ³. 
                declare @JID                int 
                select top 1 @JID = UserJID  from _User 
                where CharID = @PC_ID 
                IF (@@ROWCOUNT = 0 OR @@ERROR <> 0) 
                BEGIN 
                        RETURN -2006 
                END 
   
                DECLARE @PackageItemID int 
                select @PackageItemID = ID from dbo._RefPackageItem where codename128 = @PackageItemCodeName 
 
                DECLARE @rvalue int 
                -- EXEC @rvalue = SRO_VT_ACCOUNT.DBO._ConsumeSilkByGameServer @JID, @OwnSilkToPay OUTPUT, @GiftSilkToPay OUTPUT, @MileageToPay output, 1, @CharID 
                EXEC @rvalue = SRO_VT_ACCOUNT_Tito.DBO._ConsumeSilkByGameServer @JID, @OwnSilkToPay OUTPUT, @GiftSilkToPay OUTPUT, @MileageToPay output,  0, @CharID, @PackageItemID  , 0 
 
                IF (@rvalue < 0 OR @@ERROR <> 0) 
                BEGIN 
                        RETURN -2012 
                END 
--------------------------
--<< 1. ¼أ¶أپ¤ أ€ü أ„أڑµأ¥ >> -- أپأ–أˆ*
--------------------------
--                -- °أ”أ€أ“ ¼*¹أ¶أ‚أٹآ؟آ،¼* °»½أ… ¹أ‍±â أ€§أ‡أک cost °آھأ€» °أ،°أ؛ أ…×أ€أŒآ؛أ*آ؟آ، ³أ–¾îµأگ´أ™. 
--                insert into _ResultOfPackageItemToMappingWithServerSide 
--                values (@Operation, @CharID, 255, @OwnSilkToPay, 2, 0, 1) 
 --
--                if (@@ERROR <> 0 or @@ROWCOUNT = 0) 
--                begin     
--                        return -2007 
--                end 
 -- 
--                insert into _ResultOfPackageItemToMappingWithServerSide 
--                values (@Operation, @CharID, 254,@GiftSilkToPay,  4, 0, 1) 
 --
--                if (@@ERROR <> 0 or @@ROWCOUNT = 0) 
--                begin     
--                        return -2007 
--                end 
 -- 
--                insert into _ResultOfPackageItemToMappingWithServerSide 
--                values (@Operation, @CharID, 253,@MileageToPay,  16, 0, 1) 
--------------------------
--<< 1. ¼أ¶أپ¤ أˆأ„ أ„أڑµأ¥ >> --
--------------------------
                -- °أ”أ€أ“ ¼*¹أ¶أ‚أٹآ؟آ،¼* °»½أ… ¹أ‍±â أ€§أ‡أک cost °آھأ€» °أ،°أ؛ أ…×أ€أŒآ؛أ*آ؟آ، ³أ–¾îµأگ´أ™.
                insert into _ResultOfPackageItemToMappingWithServerSide
                values (@Operation, @CharID, 255, @OwnSilkToPay, 2, 0, 1, 0)
               
                if (@@ERROR <> 0 or @@ROWCOUNT = 0)
                begin                               
                        return -2007
                end
                       
                insert into _ResultOfPackageItemToMappingWithServerSide
                values (@Operation, @CharID, 254,@GiftSilkToPay,  4, 0, 1, 0)
                       
                if (@@ERROR <> 0 or @@ROWCOUNT = 0)
                begin                               
                        return -2007
                end
               
                insert into _ResultOfPackageItemToMappingWithServerSide
                values (@Operation, @CharID, 253,@MileageToPay,  16, 0, 1, 0)


----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
 
                if (@@ERROR <> 0 or @@ROWCOUNT = 0) 
                begin     
                        return -2007 
                end 
        end 

        -- gold 
        if ((@PaymentDevice & 1) > 0) 
        begin 
                UPDATE _Char SET RemainGold = @RemainGold WHERE CharID = @PC_ID 
                IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
                BEGIN
                        RETURN -2003
                END
        end
 
        -- guildpoint 
        if ((@PaymentDevice & 8) > 0) 
        BEGIN
                -- ±أ¦µأ¥¸¦ ¾أ‹¾أ†آ؟أچ¶أ³. 
                declare @GuildID int 
                select @GuildID = GuildID from _GuildMember 
                where CharID = @PC_ID 
   
                IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) 
                BEGIN       
                        RETURN -2004 
                END 
   
                -- ±أ¦µأ¥ أ†÷أ€أژأ†® ±î¶أ³. 
                update _Guild set GatheredSP = GatheredSP - @OffsetOptionalPoint 
                where GatheredSP >= @OffsetOptionalPoint and ID = @GuildID 
   
                IF (@@ERROR <> 0 OR @@ROWCOUNT = 0) 
                BEGIN 
        /*
                        -- ¾أ¸أ€»¼أ¶µµ أ€أ–´أ‚°أ…´أ™.

                        -- by novice. 2010-01-15 آ؟آ،·¯أ„أڑµأ¥ µ¥أ€أŒأ…أچأ‡ü أˆ®أ€أ¥
                        -- آ؟أ¸·آ، أپأ–¼®µأ‡¾î أ€أ–´أ¸ أ„أڑµأ¥أ€أŒأپأ¶¸¸, أƒأںأˆأ„ °³¹أںأ‡أڈ´أ‚ »ç¶÷µéأ€أŒ
                        -- ¼أ¶أپ¤µأ‡أپأ¶ ¾أٹأ€آ؛ ³»آ؟ëأ€» آ؛¸°أ* أˆ¥¶أµ½آ؛·¯آ؟أ¶ أ‡أ’ ¼أ¶ أ€أ–¾î¼*
                        -- أ€أŒ آ؛أژآ؛أگ±îأپأ¶ ¼أ¶أپ¤أ‡أک¹أ¶¸²!
                        -- declare @Slot                        tinyint
                        declare @Slot                                int
                        declare @RefItemSerial64        bigint
                        declare @RefItemDBID        bigint
                        declare @RefItemID                int       
                        declare @Type                        tinyint
       
                        -- by novice. 2010-01-15 آ؟آ،·¯أ„أڑµأ¥ µ¥أ€أŒأ…أچأ‡ü أˆ®أ€أ¥
                        -- set @Slot = 0xd0        -- error_num ¼*¹أ¶آ؟آ،¼* »çآ؟ëأ‡أڈ´أ‚ آ؟آ،·¯

                        -- MAKE_SRO_SP_ERR_TYPE(                _UPDATE_COST,                                                0x0004);
                        -- DEFINE_SRO_SP_ERR(                        SRO_SP_ERR_NOT_ENOUGH_GUILD_POINT,        _UPDATE_COST,        0x8001 );                                // ==> 0x80010004
                        -- BIND_SRO_SP_ERR_TO_SRO_ERR(        SRO_SP_ERR_NOT_ENOUGH_GUILD_POINT,        STRGERR_NOT_ENOUGH_GUILDPOINT );
                        set @Slot = 0x80010004        -- error_num ¼*¹أ¶آ؟آ،¼* »çآ؟ëأ‡أڈ´أ‚ آ؟آ،·¯
                        set @RefItemSerial64 = 0
                        set @RefItemDBID = 0
                        set @RefItemID = 0
                        set @Type = 2
                        select @Operation, @Slot, @RefItemSerial64, @RefItemDBID, @RefItemID, @Type
        */
                        RETURN -2005 
                END 
--------------------------
--<< 2. ¼أ¶أپ¤ أ€ü أ„أڑµأ¥ >> --
--------------------------
                -- °أ”أ€أ“ ¼*¹أ¶أ‚أٹآ؟آ،¼* °»½أ… ¹أ‍±â أ€§أ‡أک cost °آھأ€» °أ،°أ؛ أ…×أ€أŒآ؛أ*آ؟آ، ³أ–¾îµأگ´أ™. 
--                insert into _ResultOfPackageItemToMappingWithServerSide 
--                values (@Operation, @CharID, 252, @OffsetOptionalPoint, 8, 0, 1) 
--------------------------
--<< 2. ¼أ¶أپ¤ أˆأ„ أ„أڑµأ¥ >> --
--------------------------
                -- °أ”أ€أ“ ¼*¹أ¶أ‚أٹآ؟آ،¼* °»½أ… ¹أ‍±â أ€§أ‡أک cost °آھأ€» °أ،°أ؛ أ…×أ€أŒآ؛أ*آ؟آ، ³أ–¾îµأگ´أ™.
                insert into _ResultOfPackageItemToMappingWithServerSide
                values (@Operation, @CharID, 252, @OffsetOptionalPoint, 8, 0, 1, 0)


----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------

                if (@@ERROR <> 0 or @@ROWCOUNT = 0) 
                begin     
                        return -2007 
                end
        end

        -- honorpoint
        else if ((@PaymentDevice & 32) > 0)
        begin
                -- honorpoint ±î¶أ³.
                update _TrainingCampMember set HonorPoint = HonorPoint - @OffsetOptionalPoint
                where HonorPoint >= @OffsetOptionalPoint and CharID = @PC_ID

                if (@@ERROR <> 0 or @@ROWCOUNT = 0)
                begin                               
                        return -2006
                end
--------------------------
--<< 3. ¼أ¶أپ¤ أ€ü أ„أڑµأ¥ >> --
--------------------------
                -- °أ”أ€أ“ ¼*¹أ¶أ‚أٹآ؟آ،¼* °»½أ… ¹أ‍±â أ€§أ‡أک cost °آھأ€» °أ،°أ؛ أ…×أ€أŒآ؛أ*آ؟آ، ³أ–¾îµأگ´أ™.
--                insert into _ResultOfPackageItemToMappingWithServerSide
--                values (@Operation, @CharID, 252, @OffsetOptionalPoint, 32, 0, 1)

--------------------------
--<< 3. ¼أ¶أپ¤ أˆأ„ أ„أڑµأ¥ >> --
--------------------------
                -- °أ”أ€أ“ ¼*¹أ¶أ‚أٹآ؟آ،¼* °»½أ… ¹أ‍±â أ€§أ‡أک cost °آھأ€» °أ،°أ؛ أ…×أ€أŒآ؛أ*آ؟آ، ³أ–¾îµأگ´أ™.
                insert into _ResultOfPackageItemToMappingWithServerSide
                values (@Operation, @CharID, 252, @OffsetOptionalPoint, 32, 0, 1, 0)


----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------

                if (@@ERROR <> 0 or @@ROWCOUNT = 0)
                begin                               
                        return -2007
                end
        end       

        SET NOCOUNT OFF
 
   
 return 1 
 
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

استخدكو ككويرى عادى

Genius Eslam Esoo 20-02-2015 03:12 PM

رد: Honor Buff Fix Bug SQL
 
تمام بس ممكن اعرف حاجه انا لما حد بيعمل اكدمى بيخود وقت على ما بيجلو الهونر ممكن حل تخليها تجى بسرعه ؟

Dev. iLegend 20-02-2015 03:20 PM

رد: Honor Buff Fix Bug SQL
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Genius Eslam Esoo (المشاركة 5164362)
تمام بس ممكن اعرف حاجه انا لما حد بيعمل اكدمى بيخود وقت على ما بيجلو الهونر ممكن حل تخليها تجى بسرعه ؟


من SMC يا باشا بتعدل انه يعمل ابديت للهونور بف كل قد ايه


Hamza FiGo 20-02-2015 03:24 PM

رد: Honor Buff Fix Bug SQL
 
شوفو التاريخ يا شباب

يغلق

##


الساعة الآن 03:25 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.