|
• الانـتـسـاب » Oct 2015
|
• رقـم العـضـويـة » 127461
|
• المشـــاركـات » 298
|
• الـدولـة » Tanta
|
• الـهـوايـة » Sql,DB,Media
|
• اسـم الـسـيـرفـر » Private Server
|
• الـجـنـس » Male
|
• نقـاط التقييم » 19
|
|
|
رد: Top 300 Reward System
اقتباس:
المشاركة الأصلية كتبت بواسطة elbattawy1st
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
تسلم ايديك يامعلم على المشاركه ^_^
بعد التجربه فى حاجات خفيفة اوى ناقصه بالنسبة للمبتدا ممكن يلاقيها صعبه شوية بالنسباله
فا انا هقول عليها علشان لو حد واجه مشكله ولا حاجه بس السيستم انا جربتو و شغال تمام
اول حاجة انت ناسى declare @cName
وتانى حاجة و الاخيرة ناسى بروسيدور بتاع الاهيدى سيلك
هيا حاجات عبيطه بس صعبة بالنسبة للجديد الا مش عارف فى ال sql
نيجى بقى للفكره الا انت عاوز تضيفها
انا عاملها انها تشتغل على برنامج Vsro Multi tools
ضيف السطر دا فى اخر البروسيدور
كود PHP:
INSERT INTO SRO_VT_SHARDLOG..iLegend_Tool ([Service],[Type],[Message],[Date]) Values ('1','Notice','[' +@CharName + '] Has Reached Max Level Congratz You Are ['+ CAST(@Count AS NVARCHAR) +'/300]',GETDATE())
او هتغير بس البروسيدور الا معاك بدا
كود PHP:
USE [SRO_VT_SHARDLOG] GO /****** Object: StoredProcedure [dbo].[_Top300Sys] Script Date: 8/30/2016 2:35:30 AM ******/ 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_SHARDLOG.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_SHARDLOG.dbo._Top300Reward WITH (NOLOCK) WHERE PlayersCount = @StartC --- Main Items To Help --- DECLARE @cNAME Varchar(max) INSERT INTO SRO_VT_SHARDLOG.dbo._Top300 (CharName,CharID,IsNumb) VALUES (@CharName,@CharID,@Count) INSERT INTO SRO_VT_SHARDLOG..iLegend_Tool ([Service],[Type],[Message],[Date]) Values ('1','Notice','[' +@CharName + '] Has Reached Max Level Congratz You Are ['+ CAST(@Count AS NVARCHAR) +'/300]',GETDATE()) 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 ACCOUNT_NOOB_TO.[CGI].[CGI_WebPurchaseSilk_Own] @UserID,@SilkReward
فى البروسيدور انزل عند سطر دا
كود PHP:
INSERT INTO SRO_VT_SHARDLOG..iLegend_Tool ([Service],[Type],[Message],[Date])
وغير مكان داتا بيز بتاعت البرنامج
و الشغال بالبروسيدور الا انا معدل عليه يعمل بروسيدور دا علشان السيلك
كود PHP:
USE [ACCOUNT_NOOB_TO] GO
/****** Object: StoredProcedure [CGI].[CGI_WebPurchaseSilk_Own] Script Date: 8/30/2016 2:43:31 AM ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER OFF GO
-- ============================================= -- Author: Abdelrhman Elbattawy -- ============================================= Create PROCEDURE [CGI].[CGI_WebPurchaseSilk_Own] @UserID INT, @NumSilk INT as DECLARE @SilkRemain INT DECLARE @OrderID INT set @SilkRemain = 0 --DECLARE @PointRemain INT -- BEGIN TRANSACTION IF( not exists( SELECT * from SK_Silk where JID = @UserID)) BEGIN INSERT SK_Silk(JID,silk_own,silk_gift,silk_point)VALUES(@UserID,@NumSilk,0,0) --UPDATE Silk Own END ELSE BEGIN SET @SilkRemain = CGI.getSilkOwn(@UserID) UPDATE SK_Silk SET silk_own = silk_own + @NumSilk WHERE JID = @UserID --INSERT Silk Own END SELECT @OrderID = cast(MAX(OrderNumber)+1 as INT) FROM SK_SilkBuyList WHERE UserJID = @UserID IF(@OrderID is NULL) BEGIN set @OrderID = 0 END INSERT SK_SilkBuyList(UserJID,Silk_Type,Silk_Reason,Silk_Offset,Silk_Remain,ID,BuyQuantity,SlipPaper,RegDate,OrderNumber) VALUES( @UserID,0,0,@NumSilk,@SilkRemain + @NumSilk,0,1,"User Purchase Silk from VDC-Net2E Billing System",GETDATE(),@OrderID) INSERT SK_SilkChange_BY_Web(JID,silk_remain,silk_offset,silk_type,reason) VALUES(@UserID,@SilkRemain + @NumSilk,@NumSilk,0,4) IF (@@error <> 0 or @@rowcount = 0) BEGIN SELECT Result = "FAIL" -- ROLLBACK TRANSACTION RETURN END SELECT Result = "SUCCESS" -- COMMIT TRANSACTION RETURN SET QUOTED_IDENTIFIER OFF
GO
|
تسلم يا عبده رائع
|
|
|