26-08-2016, 01:33 AM
|
#1
|
|
• الانـتـسـاب » Oct 2015
|
• رقـم العـضـويـة » 127461
|
• المشـــاركـات » 298
|
• الـدولـة » Tanta
|
• الـهـوايـة » Sql,DB,Media
|
• اسـم الـسـيـرفـر » Private Server
|
• الـجـنـس » Male
|
• نقـاط التقييم » 19
|
|
|
Top 300 Reward System
السلام عليكم يا شباب انا كنت بتفحص داتابيز عندى ف لقيت فيها السيستم ده كويس جدا
ف حبيت اشاركه مع حضراتكم
شرح السيستم
هو عبارة عن هدية بتوصل للاعب تلقائيا لما بيوصل اخر لفل فى الجيم
طيب فيه سؤال مهم ! هل السيستم موجود على طول ؟
بمعنى ان كل واحد لما يوصل اخر لفل يجيله الهدية ؟ مش هيقف خالص ؟
لأ السيستم بيقف لما بيوصل عدد اللاعبين اللى وصله اخر لفل مثلا 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 --- Main Items To Help --- INSERT INTO SRO_VT_SYSTEMS.dbo._Top300 (CharName,CharID,IsNumb) VALUES (@CharName,@CharID,@Count) EXEC [SRO_VT_SHARD].[dbo].[_ADD_ITEM_EXTERN] @codename = 'ITEM_COS_P_EXTENSION' ,@data = 1,@charname = @cNAME ,@opt_level = 0 EXEC [SRO_VT_SHARD].[dbo].[_ADD_ITEM_EXTERN] @codename = 'ITEM_COS_P_RABBIT_SCROLL' ,@data = 1,@charname = @cNAME ,@opt_level = 0 EXEC [SRO_VT_SHARD].[dbo].[_ADD_ITEM_EXTERN] @codename = 'ITEM_MALL_REVERSE_RETURN_SCROLL' ,@data = 10,@charname = @cNAME ,@opt_level = 0 EXEC [SRO_VT_SHARD].[dbo].[_ADD_ITEM_EXTERN] @codename = 'ITEM_MALL_GLOBAL_CHATTING' ,@data = 10,@charname = @cNAME ,@opt_level = 0 EXEC [SRO_VT_SHARD].[dbo].[_ADD_ITEM_EXTERN] @codename = 'ITEM_MALL_PREMIUM_GLOBAL_SILVERTIME' ,@data = 1,@charname = @cNAME ,@opt_level = 0 ---- SILK For All Types ---- EXEC SRO_VT_ACCOUNT.[CGI].[CGI_WebPurchaseSilkPServer] @UserID,@SilkReward
ركز بقى معايا واحدة واحدة انا عامل الهدايا تبقى
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
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[_Top300]( [ID] [int] IDENTITY(1,1) NOT NULL, [CharName] [varchar](64) NULL, [CharID] [int] NULL, [IsNumb] [int] NULL, CONSTRAINT [PK__Top300] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
Create Table [ 2 ]
كود PHP:
USE [SRO_VT_SYSTEMS] GO
/****** Object: Table [dbo].[_Top300Reward] Script Date: 7/22/2016 10:42:23 PM ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[_Top300Reward]( [Reward-No1] [varchar](65) NULL, [Reward-No2] [varchar](65) NULL, [SilkCountReward] [int] NULL, [PlayersCount] [int] NULL, [Notice] [varchar](512) NULL ) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
_AddLogChar
كود PHP:
-- 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 سيلك
عدلها على حسب منتا عايز بقى
فى أمان الله
|
|
|