قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة[ قسم متخصص فى شروحات و البرامج في عمل السيرفرات الخاصة ] [ يرجى عدم وضع الأسئلة والاستفسارات في هذا القسم ]
Auto Refresh Unique Rank & Auto Reward For Tops Chars
الموضوع دا مقسم الى :
1- اوتوماتك refresh لناس الاموتت اليونكات فى rank
2- اوتوماتك Reward لناس الااعلى نقاط
3- صفحه بسيطه ل unique rank تقدر تعدل عليها براحتك ^_^
قبل ما ندخل على اى الحاجه السيستم دا ل 25 يونك بس و انت تقدر تقرا الترجبرى و تشوف انا عملت 25 يونك ازاى و انت تضيف عليهم لو حبيت تضيف
اما بالنسبه ل Auto Rewards لازم تكون شغال ببرنامج Vsro Multi Tools
USE [SRO_VT_ACCOUNT]
GO
/****** Object: StoredProcedure [CGI].[CGI_WebPurchaseSilk] Script Date: 9/20/2016 12:20:52 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
-- =============================================
-- Author: Abdelrhman Elbattawy
-- =============================================
Create PROCEDURE [CGI].[CGI_WebPurchaseSilk]
@UserID INT,
@NumSilk INT,
@Type INT
as
DECLARE @SilkRemain INT
DECLARE @OrderID INT
set @SilkRemain = 0
--DECLARE @PointRemain INT
-- BEGIN TRANSACTION
------------------------------- Silk Own ---------------------------------------------------------------------------------------------------
IF @Type = 1
Begin
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
End
---------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------- Silk Gift ---------------------------------------------------------------------------------
IF @Type = 2
Begin
IF( not exists( SELECT * from SK_Silk where JID = @UserID))
BEGIN
INSERT SK_Silk(JID,silk_own,silk_gift,silk_point)VALUES(@UserID,0,@NumSilk,0)
--UPDATE Silk gift
END
ELSE
BEGIN
SET @SilkRemain = CGI.getSilkOwn(@UserID)
UPDATE SK_Silk SET silk_gift = silk_gift + @NumSilk WHERE JID = @UserID
--INSERT Silk gift
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
End
-------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------- Silk Points ---------------------------------------------------------------------
IF @Type = 3
Begin
IF( not exists( SELECT * from SK_Silk where JID = @UserID))
BEGIN
INSERT SK_Silk(JID,silk_own,silk_gift,silk_point)VALUES(@UserID,0,@NumSilk,0)
--UPDATE Silk gift
END
ELSE
BEGIN
SET @SilkRemain = CGI.getSilkOwn(@UserID)
UPDATE SK_Silk SET silk_point = silk_point + @NumSilk WHERE JID = @UserID
--INSERT Silk gift
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
End
1- اعمل Exec لتابل و الترجيرى و البروسيدور الموجودين فى الموضوع
2- ضيف سطور بتاعت تابل unique_refresh و UNIQUE_REFRESH_Rewards
3- غير اسم الداتا بيز ELBATTAWY_SYSTEMS لداتا بتاعت البرنامج عندك
4- علشان تظبط نقاط اليونكات ادخل على تابل دا unique_refresh انا عامل سطور ضيفها عدل انت بقى على code يونك و Name بتاع اليونك و Points الا انت عاوزه كل دا هتلاقيه فى التابل
5- علشان تظبط Reward Tops ادخل على تابل دا UNIQUE_REFRESH_Rewards ضيف برضو السطرين و عدل عليهم براحتك و خليك فاكر reward الا انت مش عاوزه اعمل عنده [NULL] زى ما انا عامل كدا فى السطرين و انا عامل سيستم دا ل اكتر اتنين Top انت لو عاوز تضيف زياده عليهم شوف انا عامل فى البروسيدور و عدل عليه
6- علشان تظبط وقت الا هيديه فيه الناس Reward ضيف السطر دا فى تابل ExecQuery
انت تقدر تعدل على يوم و الوقت انا عامله مثلا يوم الجمعه الساعه 12 بليل تقدر انت تعدل براحتك ^_^
كل الا انت هتحتاج تعدل علية mods/configs.php اكتب معلومات sql بتاعتك
ملحوطه : مش هتحتاج تغير اسماء اليونكات فى الصفحه انا عاملها انك تغيرها من table فى Sql الاهوا Unique_refresh هتلاقى تاب اسمه Name قصاد كل كود يونك اكتب اسم اليونك و هوا هيظهر فى الصفحه عادى ^_^
Vedio
[YOUTUBE]mGBzm4i-WJA[/YOUTUBE]
التعديل الأخير تم بواسطة elbattawy1st ; 30-10-2016 الساعة 12:21 AM