قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة [ قسم خاص لأسئلة واستفسارات عمل السيرفرات الخاصة ] [ يرجى الالتزام بقوانين قسم الأسئلة والاستفسارات ] |
|
أدوات الموضوع | انواع عرض الموضوع |
28-06-2016, 07:38 AM | #1 | ||||||||||
|
السلام عليكم ورحمة الله وبركاته انا عندي طلبين بعد اذنكم : اول طلب هو تغيير نسبة النجاح في 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 لكل الكركترات الجديدة. واسف جدا على الاطالة وشكرا مقدما للجميع |
||||||||||
|
28-06-2016, 12:50 PM | #2 | ||||||||||
|
دى نسبة ال Lucky عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ] و بالنسبة لموضوع ال 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 كود:
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 كود:
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 كود:
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 كود:
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 |
||||||||||
التعديل الأخير تم بواسطة Dev.Ri3o ; 28-06-2016 الساعة 01:16 PM
|
29-06-2016, 06:58 AM | #3 | ||||||||||
|
اولا الف شكر ليك بالنسبة للتغيير نسبة + تمام اتغيرت بس برده لقيت النسب عليا والحمد لله لقيت موضوع هنا وصعبتها شوية وخلتها كود:
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%') اما السؤال التاني كل الكويريهات مشت تمام ما عدا اخر واحد وجيبلي الايرور ده كود:
Msg 213, Level 16, State 1, Procedure _InsertRefTeleport, Line 67 Column name or number of supplied values does not match table definition. |
||||||||||
|
29-06-2016, 12:27 PM | #4 | ||||||||||
|
بالنسبة لنسبة نجح ال +++ هى لاتشمل ال Premium فممكن تكون عالية لو نت شغال ب premium وبالنسبة لل Procedure الاخير جرب تشيلو و حط الاصلى بتاعك وشوف ايه النظم هتتحل ولا ايه ؟ |
||||||||||
|
29-06-2016, 12:58 PM | #5 | ||||||||||
|
لو متغيرتش يبقى المشكلة من Client للعبة نفسها و البرمجة بتعتو ... |
||||||||||
|
29-06-2016, 01:06 PM | #6 | |||||||||||
|
اقتباس:
|
|||||||||||
|
29-06-2016, 01:09 PM | #7 | ||||||||||
|
## |
||||||||||
|
05-07-2016, 08:48 PM | #8 | ||||||||||
|
## |
||||||||||
|
يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر) | |
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | الردود | آخر مشاركة |
بخصوص نسبة النجاح | omar19811 | قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة | 2 | 28-05-2017 01:05 AM |
بخصوص نسبة النجاح فى Magic Pop | lordbotereslam | قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة | 2 | 21-08-2013 10:25 AM |
D12 Alchemy نسبة النجاح | ahmedzaza1 | مـنـاقـشـات عـامـة حـول سيلك رود أون لايـن | 9 | 30-07-2012 08:27 AM |