قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة[ قسم متخصص فى شروحات و البرامج في عمل السيرفرات الخاصة ] [ يرجى عدم وضع الأسئلة والاستفسارات في هذا القسم ]
السلام عليكم يا شباب انا كنت بتفحص داتابيز عندى ف لقيت فيها السيستم ده كويس جدا
ف حبيت اشاركه مع حضراتكم
شرح السيستم
هو عبارة عن هدية بتوصل للاعب تلقائيا لما بيوصل اخر لفل فى الجيم
طيب فيه سؤال مهم ! هل السيستم موجود على طول ؟
بمعنى ان كل واحد لما يوصل اخر لفل يجيله الهدية ؟ مش هيقف خالص ؟
لأ السيستم بيقف لما بيوصل عدد اللاعبين اللى وصله اخر لفل مثلا 300 لاعب
أو على حسب منتا هتحدد زى مهشرح فى اللى جاى
Create Procedure
كود PHP:
USE [SRO_VT_SYSTEMS] GO
/****** Object: StoredProcedure [dbo].[_Top300Sys] Script Date: 7/22/2016 10:41:05 PM ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
CREATE procedure [dbo].[_Top300Sys] @CharID INT AS DECLARE @Count int = (SELECT COUNT(*) FROM SRO_VT_SYSTEMS.dbo._Top300) ,@CharName varchar(64) = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WITH (NOLOCK) WHERE CharID = @CharID) ,@UserID VARCHAR(50) = (SELECT UserJID FROM SRO_VT_SHARD.dbo._User WITH(NOLOCK) WHERE CharID = @CharID) DECLARE @UserID2 VARCHAR(50) = (SELECT AccountID FROM SRO_VT_SHARD.dbo._AccountJID WITH(NOLOCK) WHERE JID = @UserID)
DECLARE @StartC int SELECT @StartC = CASE WHEN @Count <= '99' THEN '100' WHEN @Count <= '199' THEN '200' WHEN @Count <= '299' THEN '300' ELSE 0 END
DECLARE @RewardNo1 Varchar(65) , @RewardNo2 Varchar(65) , @Notice Varchar(512) , @SilkReward int SELECT @RewardNo1 = [Reward-No1], @RewardNo2 = [Reward-No2],@SilkReward=SilkCountReward , @Notice = Notice FROM SRO_VT_SYSTEMS.dbo._Top300Reward WITH (NOLOCK) WHERE PlayersCount = @StartC
ركز بقى معايا واحدة واحدة انا عامل الهدايا تبقى
1- Grap Pet
2- Pet Extension
3- 10x Reverse Scroll
4- 10x Global Chatting
5- Premium Silver Time
لو عايز تغيرها تعمل ايه ؟
هتغير الأكواد بتاعتهم و
@data = 1
دى يعنى عدد الأيتم واحدة بس تغيرها على حسب منتا عايز برضو
العدد من 1 حتى 300
يعنى السيستم هيقف لما اللاعب رقم 300 يوصل اخر لفل
بعد كده مفيش حاجة هتتبعت تانى
طيب لو عايز اخليها مثلا 500 بدل 300 اعمل ايه ؟
هتبقى كده
اظن اتفهمت كده انتهينا من الأساسيات
Create Table [ 1 ]
كود PHP:
USE [SRO_VT_SYSTEMS] GO
/****** Object: Table [dbo].[_Top300] Script Date: 7/22/2016 10:41:45 PM ******/ SET ANSI_NULLS ON GO
-- Top #300 --By Mr.Rover IF @EventID = '22' AND @Data2 = '100' AND NOT EXISTS (SELECT * FROM SRO_VT_SYSTEMS.dbo._Top300 WITH (NOLOCK) WHERE CharID = @CharID) BEGIN EXEC SRO_VT_SYSTEMS.dbo.[_Top300Sys] @CharID END
ركز بقى ف دى كمان هنا معمول اخر لفل 100
انت عدلها على حسب السيرفر بتاعك اذا كان اكتر أو اقل
Table [ 2 ] Lines :
كود:
ITEM_COS_P_EXTENSION ITEM_COS_P_RABBIT_SCROLL 250 100 Hyrray! youre on the top 100 players to reach 100, therefore a reward will be automatically sent to your storage!
ITEM_COS_P_EXTENSION ITEM_COS_P_RABBIT_SCROLL 200 200 Hyrray! youre on the top 200 players to reach 100, therefore a reward will be automatically sent to your storage!
ITEM_COS_P_EXTENSION ITEM_COS_P_RABBIT_SCROLL 180 300 Hyrray! youre on the top 300 players to reach 100, therefore a reward will be automatically sent to your storage!
دى معناها ان اول 100 لاعب ياخده 500 سيلك
و ال100 اللى بعديهم 400 سيلك
و ال 100 اللى بعديهم 300 سيلك
عدلها على حسب منتا عايز بقى