![]() |
#1 | ||||||||||
![]() ![]()
|
بسم الله الرحمن الرحيم احب اقدم موضوع بسيط كدا عشان انا واحد من الناس حصل عندي ان في ناس بتعمل بج بيمسكوا سلاح twohand مع الـ Shield فى نفس الوقت أياً كان بقا 2h , axe , dagger , xbow , staff , etc انا لما فكرت وشوفت البج بيحصل ازاي ،، لقيته انه بياخد كراش بعد ميعمل البج ،، وبيفتح بيلاقي السلاح والشيلد ممسوكين للكراكتر ،، طيب انت بكدا تبدأ تشتغل على EventID بتاع log off او login وتحاول انك تشيل يا الشيلد يا السلاح وتحطهولوا فى ال Inventory بتاعته ،، طيب واحد هيقولي لو الـ Inventory مليانة ،، في الوضع دا عمر ميقدر يخلى ال Inventory مليانة عشان هو لما بيمسك السلاحين بيفضي سلوت بتاعت الشيلد او السلاح من ال Inventory يبقا مهما عمل ايه هو بياخد كراش بعد البج على طول وبيفضي سلوت فى ال inventory ،، طيب انا عملت الكيوري كدا بسيطة بتحطها فى AddLogChar فى الشارد لوج ،، هتمنع البج دا خالص ،، وهي اني بشوف الكراكتر اللي جاية ماسكة سلاح وشيلد ولا لأ فى أول خطوة ،، تانية خطوة هي اني اروح اشوف السلاح دا one hand weapon ولا two hand weapon ،، لو كان twohand weapon يبدأ يشتغل ،، يجيب ال ID بتاع الشيلد من جدول dbo._Inventory ويشيله من سلوت 7 ويحطه فى السلوت الفاضي اللي فى الـ Inventory ،، ودي الكيوري ،، كود PHP:
أرجوا انها تفيد حد ،، شكراً ،، |
||||||||||
![]() |
![]() |
#2 | ||||||||||
![]() ![]()
|
Welcome back ^^ كالعادة موضوع رائع بس ليا سؤال. الكيوري دا مش هيعمل لاج في السيرفر. لان الموضوع دا مهم فعلا وبتحصل عندي كذا مرة لان لو بيشوف كل واحد دخل الجيم هيعمل لاج اعتقد !! |
||||||||||
التعديل الأخير تم بواسطة Hamza FiGo ; 26-11-2015 الساعة 09:45 PM
![]() |
![]() |
#3 | ||||||||||
![]() ![]()
|
شكرا على الكويرى الجميلة و استمر |
||||||||||
![]() |
![]() |
#4 | ||||||||||
![]() ![]()
|
Welcome back again ramy فعلاً موضوع جميل |
||||||||||
![]() |
![]() |
#5 | ||||||||||
![]() ![]()
|
الله ينور عليك |
||||||||||
![]() |
![]() |
#6 | ||||||||||
![]() ![]()
|
عااااااش |
||||||||||
![]() |
![]() |
#7 | ||||||||||
![]() ![]()
|
![]() ![]() |
||||||||||
![]() |
![]() |
#8 | |||||||||||
![]() ![]()
|
اقتباس:
|
|||||||||||
![]() |
![]() |
#9 | ||||||||||
![]() ![]()
|
موضوع جميل بس اعتقد انى محدش يقدر يعمل بج بطريقة دة دة تبديل ID و كلام بيتعمل ف تابين ف ال SQL متجيش بسهولة دة !! |
||||||||||
![]() |
![]() |
#10 | ||||||||||
![]() ![]()
|
دة الفكرة الخاصه بيا وهيا انى اشيل الشيلد دة بعد ما يحطهاله فى الانفتورى وكمان يديله بلوك 24 ساعه عشان استخدم البج دة وباردوا فيه نوتك بتتبعتله والبوت بيكلمه انا مجربتش البروديسير لكن ظبط الكلام بتاعى عليه ولسا مجربتش لانى معنديش امكانيه تخلينى اجربه دلوقتى نخش على البروديسير : كود:
IF @EventID in (4,6) Begin declare @Charname4 nvarchar(max) = (select Charname16 from SRO_VT_SHARD.._Char where charid = @CharID) Declare @WeaponID Int , @ShieldID Int , @RefWeaponID Int , @Slot Int Set @WeaponID = (Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = 6) Set @ShieldID = (Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = 7) IF @ShieldID > 0 and @WeaponID > 0 Begin Set @RefWeaponID = (Select RefItemID From [SRO_VT_SHARD].[dbo].[_Items] Where ID64 = @WeaponID) IF @RefWeaponID Is Not Null and @RefWeaponID in (Select ID From [SRO_VT_SHARD].[dbo].[_RefObjCommon] Where CodeName128 Like 'ITEM_CH_SPEAR_%' Or CodeName128 Like 'ITEM_CH_TBLADE_%' Or CodeName128 Like 'ITEM_CH_BOW_%' Or CodeName128 Like 'ITEM_EU_TSWORD_%' Or CodeName128 Like 'ITEM_EU_AXE_%' Or CodeName128 Like 'ITEM_EU_DAGGER_%' Or CodeName128 Like 'ITEM_EU_CROSSBOW_%' Or CodeName128 Like 'ITEM_EU_TSTAFF_%' Or CodeName128 Like 'ITEM_EU_HARP_%') Begin Set @Slot = (Select Top 1 Slot From [SRO_VT_SHARD].[dbo].[_Inventory] Where ItemID = 0 and CharID = @CharID and Slot > 12 Order by Slot) IF @Slot Is Not Null begin Update [SRO_VT_SHARD].[dbo].[_Inventory] Set ItemID = 0 Where Slot = 7 and CharID = @CharID Update [SRO_VT_SHARD].[dbo].[_Inventory] Set ItemID = 0 Where Slot = @Slot and CharID = @CharID begin declare @5 smalldatetime , @6 smalldatetime set @5 = getdate() Set @6 = dateadd(day,1,getdate()); exec SRO_VT_SHARD.._Block_Loren 'Ban',@Charname4,@1,@2 SELECT 'Banned' begin INSERT INTO SRO_VT_SHARD.dbo._Notification(Type, Content, Target,Executor,Notified) VALUES(3,'You are banned because you are cheater for 1day.',@Charname4,'BOT1',0) INSERT INTO SRO_VT_SHARD.dbo._Notification(Type, Content, Target,Executor,Notified) VALUES(7,'Ban.',@Charname4,'BOT1',0) INSERT INTO SRO_VT_SHARD.dbo._Notification(Type, Content, Target,Executor,Notified) VALUES(1,'['+@Charname4 +'] tried to break our system by using his/her double-weapon in the same time.',@Charname4,'BOT1',0) End End End End End End كود:
USE [SRO_VT_SHARD] GO /****** Object: StoredProcedure [dbo].[_Block_Loren] Script Date: 28/11/2015 12:05:19 ص ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[_Block_Loren] @Type varchar(33), @Charname varchar(max), @BeginTime datetime, @EndTime datetime as begin declare @CharID int = (select CHarID from _Char where Charname16 = @Charname) declare @UserJID int = (select userJID from _user where charID = @CharID) DECLARE @ID VARCHAR (64) DECLARE @Reason VARCHAR(128) SET @ID = (Select STRuserID FROM SRO_VT_ACCOUNT..TB_User Where JID = @userJID) if (@Type in ('Ban','1')) begin SET @Reason = 'Ban Reason Here' if not exists (select UserJID from SRO_VT_ACCOUNT..[_Punishment] where UserJID = @UserJID) begin INSERT SRO_VT_ACCOUNT..[_Punishment]([UserJID],[Type],[Executor],[Shard],[CharName],[CharInfo],[PosInfo] ,[Guide],[Description],[RaiseTime],[BlockStartTime],[BlockEndTime],[PunishTime],[Status]) VALUES (@userJID,1,1,0,@CharName,1,1,@Reason,@Reason,@BeginTime,@BeginTime,@EndTime,@EndTime,0); ---------------------------------------------------------- DECLARE @ReasonID INT SET @ReasonID =(Select SerialNo FROM SRO_VT_ACCOUNT.._Punishment Where UserJID = @userJID) if @ReasonID is null begin set @ReasonID = 15 end else begin set @ReasonID = @ReasonID end ---------------------------------------------------------- INSERT SRO_VT_ACCOUNT..[_BlockedUser]([UserJID],[UserID],[Type],[SerialNo],[TimeBegin],[TimeEnd]) VALUES(@userJID,@ID,1,@ReasonID,@BeginTime,@EndTime); end else if exists (select UserJID from SRO_VT_ACCOUNT..[_Punishment] where UserJID = @UserJID) begin Print 'You can not ban this User because he already banned' end end else if (@Type in ('Unban','2')) begin if exists (select UserJID from SRO_VT_ACCOUNT.._BlockedUser where UserJID = @UserJID) begin DELETE FROM SRO_VT_ACCOUNT..[_BlockedUser] WHERE UserJID = @UserJID DELETE FROM SRO_VT_ACCOUNT..[_Punishment] WHERE UserJID = @UserJID end else if not exists (select UserJID from SRO_VT_ACCOUNT.._BlockedUser where UserJID = @UserJID) begin print 'There is no User called '+ '[' + (convert(varchar(max),@ID)) + ']' + ' and Charname called [' + @Charname+']' end end end |
||||||||||
التعديل الأخير تم بواسطة gotsha ; 05-12-2015 الساعة 12:23 AM
![]() |
![]() |
#11 | ||||||||||
![]() ![]()
|
بس فعلا بيعمل لاج . ولاج غريب. انا جربته عندي عمل لاج . شيلته لقيت الاج راح اول ما شيلت البروسيدر علي طول |
||||||||||
![]() |
![]() |
#12 | ||||||||||
![]() ![]()
|
موضوع جميل استمر |
||||||||||
![]() |
![]() |
#13 | ||||||||||
![]() ![]()
|
حمزة ممكن يكون عندك ال AddLogChar مهروس اوامر ،، وبعدين يا حمزة انا مشغلك الكيوري دي خطوات زي مشرحتها في الموضوع فوق يعني مش هتشتغل على كل الناس اللى بتعمل لوجين ولوج اوف ،، بمعني فى اول خطوة اللى هيعمل لوجين او لوج اوف وهو ماسك شيلد وويبون يكمل ،، التانية هي انه يشتغل بس لما يلاقي السلاح موجود في الاي دي اللى يكون twohand weapon يعني بمعني اصح عامل البج ،، لو مش عامله وماسك شيلد و one hand weapon هياخد اول خطوة ومش هيكمل ،، انا شغالة عندي من غير لاج ،، بالنسبة لـ Hero ،، يا باشا الموضوع مش موضوع تغيير فى جداول الموضوع موضوع بج بيحصل لما بتغير السلاح والشيلد بسرعة فى نص الضربات ،، او لما تعمل تليبورت لأماكن معينة ،، انا معرفش بيتعمل ازاي بس اللي عرفته انه بيديك كراش زي مقولت فى الموضوع ،، ودا فرصة انك ترجعله الشيلد فى الإنفينتوري ،، بالنسبة لفكرة gotsha هي فكرة كويسة بس من غير Remove shield ،، وبعدين انت ليه تعمل Delete From dbo._Inventory ؟ انت كدا بتشيل السلوت خالص بمعني انه هياخد دي سي اول ميجي الماوس على السلوت الممسوحة دي ،، عاوز تشيل أيتم اعمل ابديت ItemID = 0 Where Slot = @Slot هو انك تديله auto banned فكرة جميلة ،، |
||||||||||
![]() |
![]() |
#14 | |||||||||||
![]() ![]()
|
اقتباس:
وهو بيشيك . بيخلي الشخصية وهيا داخلة الجيم تتاخر شوية. الفكرة جميلة طبعا . واعتقد مع جهاز Dedicated محترم مش هيحس باللاج دا |
|||||||||||
![]() |
![]() |
#15 | ||||||||||
![]() ![]()
|
وبالنسبة لبعض الداتا بيز اللى بيبقا حجمها كبر اوي من اللوج ،، ياريت صحاب السيرفرات كل شوية يدخلوا يشوفوا جدوال اللوج هيا ايه ويعملولها كلير عشان دا بيأثر أكيد على أداء السيرفر وميحاولش انه يحط كيوريهات كتير فى بروسيدور واحد ،، يوزعهم ويكريت بروسيدورات جديدة ويعملهم Execute by cases عشان متهرس فى بروسيدور واحد ويجبلك لاج ،، بس العامل الأساسي هو كبر حجم الداتا بيز من اللوج ،، والكلام دا عن تجربة ،، |
||||||||||
![]() |
![]() |
يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر) | |
|
|
![]() |
||||
الموضوع | كاتب الموضوع | المنتدى | الردود | آخر مشاركة |
مشكلة عدم تنظيم الوقت وحلها | Neoon | بـعـيـدآ عـن سـيـلـك رود | 1 | 26-10-2017 03:27 AM |
مشكلة في ال War ولاهي مش بسبب تظبيط الوقت | World | قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة | 5 | 12-08-2013 06:13 AM |
weapon switch and shield | ronaldinhott | قسم الاستفسارات ومشاكل وحلول ال Sbot | 2 | 05-08-2013 02:08 AM |
WTS D13 LGD +12 Staff & Chi Weapon & Chi Shield In Sepens | besk800 | Ceres | 1 | 27-01-2013 12:38 AM |