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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   طلب تغيير نسبة النجاح في plus & تغيير Returned spawn point (https://silkroad4arab.com/vb/showthread.php?t=602796)

lord_ahmed_x 28-06-2016 07:38 AM

طلب تغيير نسبة النجاح في plus & تغيير Returned spawn point
 
السلام عليكم ورحمة الله وبركاته
انا عندي طلبين بعد اذنكم :

اول طلب هو تغيير نسبة النجاح في plus فكنت محتاج كويري يعدله ل :

+1 90%
+2 80%
+3 70%
+4 60%
+5 50%
+6 40%
+7 30%
+8 20%
+9 10%
+10 5%
+11 3%
+12 1%



السؤال التاني هو اني فاتح بس Jg & DW وعايز اي كركتر جديد يتعمل يبقى اتوماتيك return point & respawn بتاعو يبقى Jangan لان دلوقتي هو بينزل في jangan بس لو مات او استعمل return scroll بيرجع نفس المكان الي واقف فيه بالضبط لازم عشان يرجع المدينة يعمل Designate as return/recall point من عند teleport انا عيزها اتوماتيك معمولة jangan لكل الكركترات الجديدة.

واسف جدا على الاطالة وشكرا مقدما للجميع

Dev.Ri3o 28-06-2016 12:50 PM

رد: طلب تغيير نسبة النجاح في plus & تغيير Returned spawn point
 
دى نسبة ال Lucky
https://www.sendspace.com/file/brmkok
و بالنسبة لموضوع ال CharRevive
هتحط ده بدل اللى عندك فى _ResetCharPos
كود:

USE [SRO_RI3O_HYPER_SH]
GO
/****** Object:  StoredProcedure [dbo].[_ResetCharPos]    Script Date: 28/06/2016 11:52:52 ص ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[_ResetCharPos]
as
        set xact_abort on
       
begin transaction
        -- reset aux pos
        update _Char set TelRegion = 0, TelPosX = 0, TelPosY = 0, TelPosZ = 0, DiedRegion = 0, DiedPosX = 0, DiedPosY = 0, DiedPosZ = 0
       
        -- initialize char pos
        declare @RefTelID int
        declare @RegionID int
        declare @PosX real
        declare @PosY real
        declare @PosZ real
        declare @CharID int
        declare @TelID int
        declare char_cursor        cursor fast_forward for
        select CharID, AppointedTeleport
        from        _Char with(nolock)
       
        open char_cursor
        fetch next from char_cursor into @CharID, @TelID
        while (@@fetch_status = 0)
        begin
                if (@TelID is not null and @TelID <> 0)
                begin
       
                        set @RegionID = 0
                        set @PosX = 0
                        set @PosY = 0
                        set @PosZ = 0
                       
                        select @RefTelID = ID from _RefObjCommon where ID = @TelID
                        select @RegionID = GenRegionID, @PosX = GenPos_X, @PosY = GenPos_Y, @PosZ = GenPos_Z from _RefTeleport where AssocRefObjID = @RefTelID
       
                        update _char set LatestRegion = @RegionID, PosX = @PosX, PosY = @PosY, PosZ = @PosZ where CharID = @CharID
                end
       
                fetch next from char_cursor into @CharID, @TelID
        end
        close char_cursor
        deallocate char_cursor
commit transaction

وكمان _ModifyCharPos
كود:

USE [SRO_RI3O_HYPER_SH]
GO
/****** Object:  StoredProcedure [dbo].[_ModifyCharPos]    Script Date: 28/06/2016 11:54:17 ص ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

-- ¾È¹Ù²ãµµ µÇ°Ú´Ù by novice.
ALTER  PROCEDURE [dbo].[_ModifyCharPos]
        @name                varchar(64),
        @region                smallint,
        @x                float,
        @y                float,
        @z                float,
        @worldID        smallint
AS
        -- not existing character
        declare @charid int
        set @charid = 0
        select @charid = charid from _char where charname16 = @name
        if (@@rowcount = 0 or @charid is null or @charid = 0)
        begin
                select -2
                return
        end
        -- failed to rename
        update _Char set LatestRegion = @region, PosX = @x, PosY = @y, PosZ = @z, WorldID = @worldID where CharName16 = @name
        if (@@error <> 0 or @@rowcount = 0)
        begin
                select -4
                return
        end
        select 1
        return

و _CharInstanceWorldDataUpdate
كود:

USE [SRO_RI3O_HYPER_SH]
GO
/****** Object:  StoredProcedure [dbo].[_CharInstanceWorldDataUpdate]    Script Date: 28/06/2016 12:00:26 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

ALTER procedure  [dbo].[_CharInstanceWorldDataUpdate]
@CharID                int,
@DungeonKeyID        int,
@WorldID        int,
@LayerID        int,
@Openedtime        datetime,
@RegionID        int,
@PosX                float,
@PosY                float,
@PosZ                float,
@IsActivated        tinyint,
@EnterCount        int,
@LastEnterTime        datetime

AS

BEGIN TRANSACTION


        IF( EXISTS( SELECT WorldID FROM _CharInstanceworldData WHERE Charid = @CharID and IsActivated = 1) )
        BEGIN
                UPDATE _CharInstanceworldData SET IsActivated = 0 WHERE Charid = @CharID
        END

        IF( EXISTS( SELECT WorldID FROM _CharInstanceworldData WHERE CharID = @CharID and WorldID = @WorldID) )
        begin
                UPDATE _CharInstanceworldData
                SET
                        DungeonKeyID = @DungeonKeyID
                        , LayerID = @LayerID
                        , OpenedTime = @Openedtime
                        , RegionID = @RegionID
                        , PosX = @PosX
                        , PosY = @PosY
                        , PosZ = @PosZ
                        , IsActivated = @IsActivated
                        , EnterCount = @EnterCount
                        , LastEnterTime = @LastEnterTime

                WHERE CharID = @CharID and WorldID = @WorldID
        END

        ELSE

        BEGIN
                insert _CharInstanceworldData
                values( @CharID, @DungeonKeyID, @WorldID, @LayerID, @Openedtime,@RegionID, @PosX, @PosY, @PosZ ,@IsActivated, @EnterCount, @LastEnterTime )
        END

        COMMIT TRANSACTION
        RETURN 1

و_InsertRefTeleLink
كود:

USE [SRO_RI3O_HYPER_SH]
GO
/****** Object:  StoredProcedure [dbo].[_InsertRefTeleLink]    Script Date: 28/06/2016 12:15:39 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER PROCEDURE [dbo].[_InsertRefTeleLink]
@Service                                int,
@OwnerTeleport_CodeName                        varchar(128),
@TargetTeleport_CodeName                varchar(128),
@Fee                                        int,
@RestrictBindMethod                        tinyint,
@RunTimeTeleportMethod                        tinyint,
@CheckResult                                tinyint,
@Restrict1                                int,
@RT1_Data1                                int,
@RT1_Data2                                int,
@RT1_Desc                                varchar(128),
@Restrict2                                int,
@RT2_Data1                                int,
@RT2_Data2                                int,
@RT2_Desc                                varchar(128),
@Restrict3                                int,
@RT3_Data1                                int,
@RT3_Data2                                int,
@RT3_Desc                                varchar(128),
@Restrict4                                int,
@RT4_Data1                                int,
@RT4_Data2                                int,
@RT4_Desc                                varchar(128),
@Restrict5                                int,
@RT5_Data1                                int,
@RT5_Data2                                int,
@RT5_Desc                                varchar(128)
as
        declare @OwnerTeleport                int
        declare @TargetTeleport                int
begin transaction
begin
        exec _GetRestrictTeleLink @Restrict1,@RT1_Data1 output,@RT1_Data2 output,@RT1_Desc
        exec _GetRestrictTeleLink @Restrict2,@RT2_Data1 output,@RT2_Data2 output,@RT2_Desc
        exec _GetRestrictTeleLink @Restrict3,@RT3_Data1 output,@RT3_Data2 output,@RT3_Desc
        exec _GetRestrictTeleLink @Restrict4,@RT4_Data1 output,@RT4_Data2 output,@RT4_Desc
        exec _GetRestrictTeleLink @Restrict5,@RT5_Data1 output,@RT5_Data2 output,@RT5_Desc
               
        select @OwnerTeleport = ID from _RefTeleport where CodeName128 = @OwnerTeleport_CodeName
        select @TargetTeleport = ID from _RefTeleport where CodeName128 = @TargetTeleport_CodeName
        if (@OwnerTeleport is null or @TargetTeleport is null )
        begin
                rollback transaction
                raiserror('owner ȤÀº target teleport°¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù. [owner: %s, target: %s]', @OwnerTeleport_CodeName, @TargetTeleport_CodeName)
                return
        end
        if (exists (select * from _RefTeleLink where OwnerTeleport = @OwnerTeleport and TargetTeleport = @TargetTeleport))
        begin
                update _RefTeleLink
                set Service = @Service,
                        Fee = @Fee, RestrictBindMethod = @RestrictBindMethod, RunTimeTeleportMethod = @RunTimeTeleportMethod, CheckResult = @CheckResult,
                        Restrict1 = @Restrict1, Data1_1 = @RT1_Data1, Data1_2 = @RT1_Data2,
                        Restrict2 = @Restrict2, Data2_1 = @RT2_Data1, Data2_2 = @RT2_Data2,
                        Restrict3 = @Restrict3, Data3_1 = @RT3_Data1, Data3_2 = @RT3_Data2,
                        Restrict4 = @Restrict4, Data4_1 = @RT4_Data1, Data4_2 = @RT4_Data2,
                        Restrict5 = @Restrict5, Data5_1 = @RT5_Data1, Data5_2 = @RT5_Data2
                        where OwnerTeleport = @OwnerTeleport and TargetTeleport = @TargetTeleport
        end
        else
        begin
                insert into _RefTeleLink
                values (@Service,
                                @OwnerTeleport,
                                @TargetTeleport,
                                @Fee,
                                @RestrictBindMethod,
                                @RunTimeTeleportMethod,
                                @CheckResult,
                                @Restrict1, @RT1_Data1, @RT1_Data2,
                                @Restrict2, @RT2_Data1, @RT2_Data2,
                                @Restrict3, @RT3_Data1, @RT3_Data2,
                                @Restrict4, @RT4_Data1, @RT4_Data2,
                                @Restrict5, @RT5_Data1, @RT5_Data2)
        end
        if (@@error <> 0)
        begin
                rollback transaction
                raiserror('TeleportLink Ãß°¡(ȤÀº °»½Å) ½ÇÆÐ! [%s, %s]', 1, 16, @OwnerTeleport_CodeName, @TargetTeleport_CodeName)
                return
        end
       
        commit transaction
       
end

و_InsertRefTeleport
كود:

USE [SRO_RI3O_HYPER_SH]
GO
/****** Object:  StoredProcedure [dbo].[_InsertRefTeleport]    Script Date: 28/06/2016 12:15:58 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[_InsertRefTeleport]
@Service                as int,
@CodeName128                as varchar(129),
@GenWorldCodeName        as varchar(129),
@AssocObjCodeName        as varchar(129),
@ZoneName128                as varchar(129),
@GenRegionID                as int,
@GenPos_X                as smallint,
@GenPos_Y                as smallint,
@GenPos_Z                as smallint,
@GenAreaRadius                as smallint,
@CanBeResurrectPos        as tinyint,
@CanGotoResurrectPos        as tinyint,
@BindInteractionMask        as tinyint
as
        declare @GenWorldID                smallint
        declare @assoc_ref_obj                int
        declare @count                        int
begin transaction
begin
        select @GenWorldID = ID from _RefGame_World where WorldCodeName128 = @GenWorldCodeName
        if (@GenWorldID < 1)
        begin
                rollback transaction
                raiserror('¿ùµå¾ÆÀ̵𰡠¾ø´Ù! È®ÀÎ ¿ä¸Á! [%s]', 1, 16, @GenWorldCodeName)
                return
        end

        select @count = count(*) from _RefTeleport where AssocRefObjID = @assoc_ref_obj or CodeName128 = @CodeName128       
        if (@count > 1)
        begin
                rollback transaction
                raiserror('µ¿ÀÏÇÑ ÅÚ·¹Æ÷Æ®°¡ Áߺ¹µÇ¾î ÁöÁ¤µÈ µí ÇÏ´Ù! È®ÀÎ ¿ä¸Á! [%s]', 1, 16, @CodeName128)
                return
        end
        set @assoc_ref_obj = 0
        if (@AssocObjCodeName <> 'xxx')
        begin
                execute @assoc_ref_obj = _FindRefObjCommonID @AssocObjCodeName
                if (@assoc_ref_obj is null or @assoc_ref_obj = 0)
                begin
                        rollback transaction
                        raiserror('AttachÇÒ ¿ÀºêÁ§Æ®¸¦ ãÀ» ¼ö ¾ø´Ù! : %s - %s', 1, 16, @CodeName128, @AssocObjCodeName)
                        return
                end
        end
        -- sql ÀÌ unsigned short¸¦ Áö¿øÇÏÁö ¾Ê´Â °ü°è·Î WORD ÇüÀ¸·Î ÀԷµǴ RegionID¸¦ ShortÇüÀ¸·Î º¯È¯ÇѰŴÙ... À½¼ö·Î ¹Ù²Û°ÅÁö ¹¹...
        if (@GenRegionID > 32767)
        begin
                set @GenRegionID = (@GenRegionID - 32767 - 2) - 32767
        end
        if (exists (select * from _RefTeleport where CodeName128 = @CodeName128))
        begin
                update _RefTeleport
                set Service = @Service, AssocRefObjID = @assoc_ref_obj,
                    ZoneName128 = @ZoneName128,
                    GenRegionID = @GenRegionID,
                    GenPos_X = @GenPos_X, GenPos_Y = @GenPos_Y, GenPos_Z = @GenPos_Z,
                    GenAreaRadius = @GenAreaRadius,
                    CanBeResurrectPos = @CanBeResurrectPos, CanGotoResurrectPos = @CanGotoResurrectPos,
                    GenWorldID = @GenWorldID, BindInteractionMask = @BindInteractionMask
                where CodeName128 = @CodeName128
        end
        else               
        begin
                insert into _RefTeleport
                values  (@Service, @CodeName128, @assoc_ref_obj, @ZoneName128,
                        @GenRegionID, @GenPos_X, @GenPos_Y, @GenPos_Z, @GenAreaRadius,
                        @CanBeResurrectPos, @CanGotoResurrectPos, @GenWorldID, @BindInteractionMask)
        end
        if (@@error <> 0)
        begin
                rollback transaction
               
                if (@count <> 0)
                        begin raiserror('Teleport µ¥ÀÌÅÍ Update ½ÇÆÐ! :%s', 1, 16, @CodeName128) end
                else
                        begin raiserror('Teleport µ¥ÀÌÅÍ Insert ½ÇÆÐ! :%s', 1, 16, @CodeName128) end
                return
        end
       
        commit transaction
end


lord_ahmed_x 29-06-2016 06:58 AM

رد: طلب تغيير نسبة النجاح في plus & تغيير Returned spawn point
 
اولا الف شكر ليك
بالنسبة للتغيير نسبة + تمام اتغيرت بس برده لقيت النسب عليا والحمد لله لقيت موضوع هنا وصعبتها شوية وخلتها
كود:

USE [SRO_VT_SHARD]
UPDATE _RefObjItem SET Param2 = 1515210300, Param3 = 2629370, Param4 = 20753, Param5 = 0, Param6 = 0 , Param7 = 0 , Param8 = 0  WHERE ID IN (SELECT Link FROM _RefObjCommon WHERE CodeName128 LIKE '%PROB_UP_A%')

وده لينك الموضوع http://www.silkroad4arab.com/vb/showthread.php?t=470243



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

Msg 213, Level 16, State 1, Procedure _InsertRefTeleport, Line 67
Column name or number of supplied values does not match table definition.


Dev.Ri3o 29-06-2016 12:27 PM

رد: طلب تغيير نسبة النجاح في plus & تغيير Returned spawn point
 
بالنسبة لنسبة نجح ال +++ هى لاتشمل ال Premium فممكن تكون عالية لو نت شغال ب premium وبالنسبة لل Procedure الاخير جرب تشيلو و حط الاصلى بتاعك وشوف ايه النظم هتتحل ولا ايه ؟

Dev.Ri3o 29-06-2016 12:58 PM

رد: طلب تغيير نسبة النجاح في plus & تغيير Returned spawn point
 
لو متغيرتش يبقى المشكلة من Client للعبة نفسها و البرمجة بتعتو ...

lord_ahmed_x 29-06-2016 01:06 PM

رد: طلب تغيير نسبة النجاح في plus & تغيير Returned spawn point
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ameral (المشاركة 5270446)
لو متغيرتش يبقى المشكلة من Client للعبة نفسها و البرمجة بتعتو ...

انا عملت كده فعلا وبرده نفس المشكلة ... على العموم الف شكر تعبتك معايا

Dev.Ri3o 29-06-2016 01:09 PM

رد: طلب تغيير نسبة النجاح في plus & تغيير Returned spawn point
 
##

Dev.BigBear 05-07-2016 08:48 PM

رد: طلب تغيير نسبة النجاح في plus & تغيير Returned spawn point
 
##


الساعة الآن 04:36 PM.

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