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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   مساعده من اهل الخبره ارجوووكم (https://silkroad4arab.com/vb/showthread.php?t=609412)

New_One 30-12-2016 09:52 PM

رد: مساعده من اهل الخبره ارجوووكم
 
اقتباس:

المشاركة الأصلية كتبت بواسطة افندينا ™Hamboka™ (المشاركة 5291806)

تمام لاقيتها بعد كده ايه معلش واحده واحده عشان اكون فاهم معلش الموضوع جديد عليا لو معاك تيم يبقى كتر الف خيرك

New_One 31-12-2016 07:57 PM

رد: مساعده من اهل الخبره ارجوووكم
 
المشكله لسه موجوده فيين اهل الخبره

New_One 31-12-2016 09:22 PM

رد: مساعده من اهل الخبره ارجوووكم
 
مسااعده ارجوكم

Dev.Ri3o 05-01-2017 09:45 PM

رد: مساعده من اهل الخبره ارجوووكم
 
بالنسبة لل F10 هتعمل ال Query ده بعد كدة Restart لل Server Files
كود:

USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_UPDATE_COST]    Script Date: 02/02/2012 16:10:45 ******/
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.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

وبالنسبة لل Map هتشيل سطور المكان اللى انت عايزو من ال RefRegion وبكدة مش هيتقرى اصلا فى اى حتة
وتشيل سطور ال Teleport من ال RefTeleport فى ال Database و ال Teleportdata.txt فى ال Media وتشيل السطور برضو بتاعة ال link من ال RefTelelink فى ال Database و ال Teleportlink فى ال Media بس وملهاش اى علاقة بال Interface
وبالنسبة لل Reverse لو عايز تخليها العادية هتفتح ال Database ال Clean وتروح ل Table اسمو RefOpotionalTeleport وتاخد اللى فى وتحطو بدل اللى عندك ونفس الكلام فى ال Media اسمو teleportoption.txt
,وبالنسبة لانك تفتح الفورترس اتأكد انك بتفتح ال Region نفسها من _RefRegionBindAssocServer ومن ال RefTeleport

Dev.Ri3o 05-01-2017 09:47 PM

رد: مساعده من اهل الخبره ارجوووكم
 
##


الساعة الآن 02:17 AM.

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