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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الحماية والاوتوايفنت للسيرفرات الخاصه (https://silkroad4arab.com/vb/forumdisplay.php?f=323)
-   -   New idea of unique event (https://silkroad4arab.com/vb/showthread.php?t=604777)

gotsha 28-08-2016 06:33 PM

New idea of unique event
 

http://i.epvpimg.com/u1nxb.gif



معظم المواضيع الى شوفتها فى الحته دة كانت كلها بتدور حولين فكرة واحدة وهيا ان يونك ينزل وشكرا والناس تقتله وكدة الايفنت خلص والبلاير ياخد الجايزة..
طب دلوقتى لو حبينا نفكر ممكن نعمل فكرة اننا مثلا بدل ما نخلى اليونك دة ينزل فى مكان واحد نعمله فى تلت اماكن مثلا او اربعه زى يونكات tiger كدة وغيرها ويستحسن انك تعمله مثلا ينزل فى downhang وانت طبعا عارف مكانه بالتحديد بس انت مش هتقول للبلاير مكانه بالتحديد هو الى هيدور عليه عشان يبقى فيه منافسه والى يلحقه يبقى هو الى هيلحق يضربه...
الفكرة بسيطه بس ممتعه وهتخلى السيرفر fun اكتر بالذات لو سيرفرك كبير وفيه بلاير.






اولا : هتحتاج انك تعمل spot لليونك الى انت عايزة من خلال الكويرى دة !
كود:

USE SRO_VT_SHARD

DECLARE @UNIQUE VARCHAR (129)
DECLARE @CHARNAME VARCHAR (64)
DECLARE @mindealy INT
DECLARE @maxdelay int
DECLARE @INITRADIUS INT
DECLARE @RADIUS int
DECLARE @MAXNEST int = (SELECT MAX (dwNestID) FROM Tab_RefNest)+1
DECLARE @MAXHIVE int = (SELECT MAX (dwHiveID) FROM Tab_RefHive)+1
DECLARE @MAXTACTICS int = (SELECT MAX (dwTacticsID) FROM Tab_RefTactics)+1

/* put your settings here */
SET @UNIQUE = 'MOB_JUPITER_YUNO' -- Unique code name from _RefobjCommon table
SET @CHARNAME = 'CHARNAME' -- Character name from _Char table to get mob position X Y Z
SET @mindealy = 60  -- Minimum time before appears in seconds
SET @maxdelay = 120  -- Maximum time before appears in seconds
SET @INITRADIUS = 100  -- Radius around spot unique can generated at
SET @RADIUS = 500  -- Radius around spot Unique can move in
/* end of settings area */

/* get ID of mob by code name */
Declare @MOBID int SET @MOBID = (SELECT ID FROM _RefObjCommon WHERE CodeName128 = @UNIQUE)

SET IDENTITY_INSERT Tab_RefTactics ON
INSERT INTO Tab_RefTactics (dwTacticsID,dwObjID,btAIQoS,nMaxStamina,btMaxStaminaVariance,nSightRange,btAggressType,AggressData,btChangeTarget,btHelpRequestTo,btHelpResponseTo,btBattleStyle,BattleStyleData,btDiversionBasis,DiversionBasisData1,DiversionBasisData2,DiversionBasisData3,DiversionBasisData4,DiversionBasisData5,DiversionBasisData6,DiversionBasisData7,DiversionBasisData8,btDiversionKeepBasis,DiversionKeepBasisData1,DiversionKeepBasisData2,DiversionKeepBasisData3,DiversionKeepBasisData4,DiversionKeepBasisData5,DiversionKeepBasisData6,DiversionKeepBasisData7,DiversionKeepBasisData8,btKeepDistance,KeepDistanceData,btTraceType,btTraceBoundary,TraceData,btHomingType,HomingData,btAggressTypeOnHoming,btFleeType,dwChampionTacticsID,AdditionOptionFlag,szDescString128) VALUES
(@MAXTACTICS,@MOBID,0,500,50,200,0,0,2,2,2,0,0,5,0,0,0,0,0,30,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,500,0,0,2,0,0,112,@UNIQUE)
SET IDENTITY_INSERT Tab_RefTactics OFF

SET IDENTITY_INSERT Tab_RefHive ON
INSERT INTO Tab_RefHive (dwHiveID,btKeepMonsterCountType,dwOverwriteMaxTotalCount,fMonsterCountPerPC,dwSpawnSpeedIncreaseRate,dwMaxIncreaseRate,btFlag,GameWorldID,HatchObjType,szDescString128) VALUES
(@MAXHIVE,0,1,0,0,0,0,1,1,@UNIQUE)
SET IDENTITY_INSERT Tab_RefHive OFF

/* get position coordinates of your character */

DECLARE @REGION INT SET @REGION = (SELECT (LatestRegion) FROM _Char WHERE CharName16 = @CHARNAME)
DECLARE @POSX INT SET @POSX = (SELECT (POSX) FROM _Char WHERE CharName16 = @CHARNAME)
DECLARE @POSY INT SET @POSY = (SELECT (POSY) FROM _Char WHERE CharName16 = @CHARNAME)
DECLARE @POSZ INT SET @POSZ = (SELECT (POSZ) FROM _Char WHERE CharName16 = @CHARNAME)

SET IDENTITY_INSERT Tab_RefNest ON
INSERT INTO Tab_RefNest (dwNestID,dwHiveID,dwTacticsID,nRegionDBID,fLocalPosX,fLocalPosY,fLocalPosZ,wInitialDir,nRadius,nGenerateRadius,nChampionGenPercentage,dwDelayTimeMin,dwDelayTimeMax,dwMaxTotalCount,btFlag,btRespawn,btType) VALUES
(@MAXNEST,@MAXHIVE,@MAXTACTICS,@REGION,@POSX,@POSY,@POSZ,0,@RADIUS,@INITRADIUS,0,@mindealy,@maxdelay,1,0,1,0)
SET IDENTITY_INSERT Tab_RefNest OFF


print ''
print ''
print 'Done!'

* جميل كدة انت ضفت اليونك بس ناقص انك تعمله زى اليونكات التايجر وكدة هتروح عند refnest وتفتحه وتجيب اخر كود تحت هتضيفه مرة كمان لو عاوز اليونك ينزل فى حتى تانيه وتكتب الاحداثيات وهكذا.. وطبعا هينزل فى مكان واحد والمكان التانى لا.

ثانيا هنعمل create للتريجر دة فى account عندك !
كود:

USE [SRO_VT_ACCOUNT]
GO
/****** Object:  Trigger [dbo].[_UniquesEvent]    Script Date: 28/08/2016 05:06:33 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Trigger [dbo].[_UniquesEvent]
on
[dbo].[srZor_uniques]
after insert
as


declare @CharID int
Declare @CharName Varchar(MAX)
Declare @JID int
declare @ID varchar(max)
Declare @MobName Varchar(MAX)
declare @oldtitle int

--------------
set @CharName = (Select CharName16 From SRO_VT_SHARD.dbo._Char Where CharName16 = (SELECT CharName FROM INSERTED srZor_uniques))
set @JID  = (Select UserJID from SRO_VT_SHARD.dbo._User Where CharID = (Select CharID From SRO_VT_SHARD.dbo._Char Where CharName16 = @CharName))
set @ID = (Select StrUserID From TB_User Where JID = @JID)
set @MobName = (Select MobName From inserted srZor_uniques)
Set @oldtitle =(select hwanlevel from SRO_VT_SHARD.._char where CharName16= (SELECT CharName FROM INSERTED srZor_uniques))
----------
IF (@MobName = 'MOB_RM_BONEROC')
begin
EXEC [SRO_VT_ACCOUNT].[CGI].[CGI_WebPurchaseSilk] @OrderID = NULL, @UserID = @ID, @PkgID = NULL, @NumSilk = '50', @Price = NULL
update SRO_VT_SHARD.dbo._Char SET HwanLevel = @oldtitle where HwanLevel like '13' and CharName16 not like @CharName
Update SRO_VT_SHARD.dbo._char set HwanLevel = '13' where CharName16 = @CharName
BEGIN
 INSERT INTO SRO_VT_SHARD.dbo._Notification (Type,Content,Executor,Target,Notified) values (1,''+@CharName+': is killed fayox congratulation for him!','Mr.X',@CharName,0)
 INSERT INTO SRO_VT_SHARD.dbo._Notification (Type,Content,Executor,Target,Notified) values (3,'we give you awesome title please make teleport to take effect.','Mr.X',@CharName,0)
end
END

* طبعا انا هنا عاملها على يونك الروك انت اعملها على اى يونك عادى وكمان هنا انا مديله سيلك وتيتل وطبعا لو حد قتل اليونك تانى بس بلاير مختلف التيتل بيروح من البلاير الاول ويجى للتانى وبيرجعله التيتل القديم!!..
بالتاكيد ينفع تحط اى هديه تانيه زى كوين مثلا عادى جدا.

ثالثا الحته دة اختياري يعنى مثلا لو عاوز الى قتل اليونك دة لما يفتح او يقفل يتعمل رساله فى السيرفر باسمه يبقى مجرد هتحط الكود دة فى Addnewchar الى فى shardlog
كود:

declare @uniquekiller varchar(512) = (select CharName16 from SRO_VT_SHARD.dbo._Char where CharID = @CharID)
declare @hwanlevel int = (select HwanLevel from SRO_VT_SHARD.dbo._Char where CharID = @CharID)
IF @EventID = 6 and @hwanlevel = '13'
          begin
                declare @cname_out varchar(50) = (select CharName from _OnlineOffline where CharID = @CharID )
                INSERT INTO SRO_VT_SHARD.dbo._Notification(Type, Content, Target,Executor,Notified) VALUES(1,'[DeathBone Slayer] is '+@uniquekiller+' log out.',@uniquekiller,'Mr.X',0)
        END
IF @EventID = 4 and @hwanlevel = '13'
          begin
                declare @cname varchar(50) = (select CharName from _OnlineOffline where CharID = @CharID )
                INSERT INTO SRO_VT_SHARD.dbo._Notification(Type, Content, Target,Executor,Notified) VALUES(1,'[DeathBone Slayer] is '+@uniquekiller+' log in.',@uniquekiller,'Mr.X',0)
        END






رابعا ودة اخر حاجه :

1- هل دة كانه اوتو ايفنت ؟ فكرة الاوتو ايفنت عموما ان حاجه قدامك مجرد تقتلها تجيلك الهديه لوحدها عشان كدة اسمه اوتوايفنت وكمان فى مراحل متطورة جدا منه زى مثلا انك تقدر تعمل نفس الفكرة بس بكود تانى اصعب يعنى اقصد ان الاكواد الى فوق ممكن تعملها بشكل تانى بس تابلات وبروسيدور تانى وتربطها ب addnewchar زى الجوب ايفينت والكلام دة بس دايما بيقولك (Choose the easiest way and do it)..

2- هل دة هيبقى ليه معاد ؟ اكيد انت الى بتحددة من خلال spot بتاع اليونك.

3- هل هيبقى ليه on/off ? عادى جدا ممكن تعملها مش قصه بس عموما spot هيظبط الكلام دة يعنى مفيش يونك يبقى مفيش ايفنت لما اليونك ينزل يبقى كدة الايفنت اشتغل
انا عارف ان الموضوع ممكن يكون تقليدى لبعض الناس بس انت دماغك فين انا عليا بساعدك وبفهمك انت عليك انك تبتكر وتنفذ الى انت عايزة

4- هتحتاج جيم سيرفر SrZor عشان يسجل اليونكات الى بتتقتل.

5- برنامج النوتك تحميله من هنا : https://files.fm/u/ytk6d7mg

فى رعايه الله..






Hamza FiGo 29-08-2016 01:15 PM

رد: New idea of unique event
 
Just welcome back :angel1:

gotsha 29-08-2016 03:01 PM

رد: New idea of unique event
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hamza FiGo (المشاركة 5276933)
Just welcome back :angel1:

ربنا يخليك متشكر لذوقك

elbattawy1st 29-08-2016 03:54 PM

رد: New idea of unique event
 
تسلم ايديك علي شغل دا
بس دا كدا عباره عن ايفينت search and destory
بس الاهم ان حضرتك كدا مش عامل نوتس في السيرفر يقولك ان الايفينت بدا كدا البلاير مش هيعرف الايفينت بدا امتي
وحاجه تانيه في برنامج vsro multi tools ممكن تقدر تعمل بيه اي ايفينت انت عاوزه هوا بس محتاج حد يكون عارف شويه في sql علشان يعرف يعمل اي ايفينت و انا اعتقد بكل الا انت عاملو دا تقدر تعمل الايفينت علي البرنامج عادي و مش هتلاقي صعوبه انشاء الله
وبجد شكرا الا انت بتساعد الناس ^_^

M.Fladivo 29-08-2016 05:39 PM

رد: New idea of unique event
 
ده search and destory اعتقد ان لازم حد يرفه برنامج AUTO EVENTS بيشغل كذا EVENT عشان البرنامج ده ظهر من 2014 اظن كده بئالوا كتيير اوي :D

gotsha 30-08-2016 10:31 PM

رد: New idea of unique event
 
اقتباس:

المشاركة الأصلية كتبت بواسطة elbattawy1st (المشاركة 5276963)
تسلم ايديك علي شغل دا
بس دا كدا عباره عن ايفينت search and destory
بس الاهم ان حضرتك كدا مش عامل نوتس في السيرفر يقولك ان الايفينت بدا كدا البلاير مش هيعرف الايفينت بدا امتي
وحاجه تانيه في برنامج vsro multi tools ممكن تقدر تعمل بيه اي ايفينت انت عاوزه هوا بس محتاج حد يكون عارف شويه في sql علشان يعرف يعمل اي ايفينت و انا اعتقد بكل الا انت عاملو دا تقدر تعمل الايفينت علي البرنامج عادي و مش هتلاقي صعوبه انشاء الله
وبجد شكرا الا انت بتساعد الناس ^_^

لو قريت كلامى كويس هتلاقى انى كاتب انى بديك الفكرة وانت بتطور بس عمتا انا كاتب الفكرة دة فوق انك تعمله onn/off فاكيد هتعمل معاهم نوتك ان الايفينت بدا بس انا مقلتش كدة عشان اكيد مفهومه بس كويس انك قولت عشان اوضحها مش اكتر

JanGanSRO 31-08-2016 07:03 AM

رد: New idea of unique event
 
موضوع جميل حوبى و فكرة حلو محدش اخد باله منها مع العلم ان انا كنت نفزتها فى ديستراكشنز لما كانت مفتوحه
العضو اللى ليه الفضل فى الفكرة بتاعتك انى عملتها زمان هو ilegend
و دة موضوع قديم ليه بينفذ الفكرة اللى انت بتتكلم عنها
http://www.silkroad4arab.com/vb/showthread.php?t=582504
الفكرة فى البوست القديم دة
انك تعمل كذا سبوت لليونيك و بتحدد الوقت مثلا انه يظهر كل 12 ساعه و مثلا نفترض انك عملت 5 اماكن معنى كدة ان اليونيك حيظهر كل 12 ساعه من بعد ما يموت فى مكان من ال 5 اماكن اللى انت عملتها
مستحيل يظهروا مع بعض الا لما بتكون لسه فاتح السيرفر او عامل ريستارت ليه.
و على اساس الكود اللى موجود فى بوست القديم ممكن تحدد و تنفذ امر الجايزة اللى انت عامله .

إبدأ من حيث انتهى الاخرين ولا تبدأ من الصفر

!_Ahmed Elabbasy_! 31-08-2016 10:34 AM

رد: New idea of unique event
 
اولا حمدلا علا السلامة
ثانية الموضوع جامد و يا ريت الناس تقراه كامل و مش كول حاجة بتجيلك جاهزة لازم تتعب شوية :)


الساعة الآن 02:27 PM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.