الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=289)
-   -   Top 300 Reward System (https://silkroad4arab.com/vb/showthread.php?t=604687)

Mr.Rover 26-08-2016 01:33 AM

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 (NOLOCKWHERE CharID = @CharID)
           ,@
UserID VARCHAR(50) = (SELECT UserJID FROM SRO_VT_SHARD.dbo._User WITH(NOLOCKWHERE CharID = @CharID)
          DECLARE @
UserID2 VARCHAR(50) = (SELECT AccountID FROM SRO_VT_SHARD.dbo._AccountJID WITH(NOLOCKWHERE 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 (NOLOCKWHERE PlayersCount =  @StartC
            
    
--- Main Items To Help ---
      
INSERT INTO SRO_VT_SYSTEMS.dbo._Top300 (CharName,CharID,IsNumbVALUES (@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

لو عايز تغيرها تعمل ايه ؟
http://up.dev-point.com/uploads1/bc511c1fba9b1.png
هتغير الأكواد بتاعتهم و
@data = 1
دى يعنى عدد الأيتم واحدة بس تغيرها على حسب منتا عايز برضو
http://up.dev-point.com/uploads1/bafeccbf26ad3.png
العدد من 1 حتى 300
يعنى السيستم هيقف لما اللاعب رقم 300 يوصل اخر لفل
بعد كده مفيش حاجة هتتبعت تانى
طيب لو عايز اخليها مثلا 500 بدل 300 اعمل ايه ؟
هتبقى كده
http://up.dev-point.com/uploads1/6ebdca1676b62.png
اظن اتفهمت كده انتهينا من الأساسيات

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] [intIDENTITY(1,1NOT NULL,
    [
CharName] [varchar](64NULL,
    [
CharID] [intNULL,
    [
IsNumb] [intNULL,
 
CONSTRAINT [PK__Top300PRIMARY KEY CLUSTERED 
(
    [
IDASC
)WITH  (PAD_INDEX OFFSTATISTICS_NORECOMPUTE OFFIGNORE_DUP_KEY OFF,  ALLOW_ROW_LOCKS ONALLOW_PAGE_LOCKS ONON [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](65NULL,
    [
Reward-No2] [varchar](65NULL,
    [
SilkCountReward] [intNULL,
    [
PlayersCount] [intNULL,
    [
Notice] [varchar](512NULL
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 (NOLOCKWHERE CharID = @CharID)
    
BEGIN      
    EXEC SRO_VT_SYSTEMS
.dbo.[_Top300Sys] @CharID 
    END 

ركز بقى ف دى كمان هنا معمول اخر لفل 100
انت عدلها على حسب السيرفر بتاعك اذا كان اكتر أو اقل

http://up.dev-point.com/uploads1/936ac2e34b101.png
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!


http://up.dev-point.com/uploads1/7946745f09b79.png
دى معناها ان اول 100 لاعب ياخده 500 سيلك
و ال100 اللى بعديهم 400 سيلك
و ال 100 اللى بعديهم 300 سيلك
عدلها على حسب منتا عايز بقى

فى أمان الله

Hamza FiGo 29-08-2016 06:42 PM

رد: Top 300 Reward System
 
:peace: وعملتها ^^

M.Fladivo 29-08-2016 07:03 PM

رد: Top 300 Reward System
 
تسلم يكبير و جاري التجربه

Mr.Rover 29-08-2016 08:52 PM

رد: Top 300 Reward System
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hamza FiGo (المشاركة 5276998)
:peace: وعملتها ^^

اقتباس:

المشاركة الأصلية كتبت بواسطة M.Fladivo (المشاركة 5277000)
تسلم يكبير و جاري التجربه


شكرا كان فيه بس حاجة عايز اقولها البروسيدور الأول انا معدل فيه
لأنه كان بيبعت الأيتم ف الستورج
و ده ساعات مش بيشتغل بذات اذا كنت شغال على version 1.88
أو 1.93
ف اضطررت انى اغيره و اخليه يبعت على الـ Inventory
و اشتغل تمام و زى الفل
و لو فيه حد بيفهم اكتر منى نفسى نعمل Notice
بحيث مثلا لما اللاعب يوصل اخر لفل و هو اول واحد يوصل
يتقال مثلا
" CharName " Has Reached Max Level Congratz You're 1/300
و العدد فى النوتيك يتغير على حسب عدد البلاير
انا الصراحة لا استطيع لأنى مش محترف فى الـSql و السى شارب قد كده
ف لو حد بيفهم ياريت يضيفلنا الحاجة دى هتفيدنا كتير

™ EgY_KhaN ™ 30-08-2016 12:04 AM

رد: Top 300 Reward System
 
سيستم جميل فعلا وفكرة النوتيك كويسة لو فضيت هعملها واضيفها في تعليق
مبدأيا التعديل هيكون علي _AddLogChar

Mr.Rover 30-08-2016 01:19 AM

رد: Top 300 Reward System
 
اقتباس:

المشاركة الأصلية كتبت بواسطة elmagico123 (المشاركة 5277025)
سيستم جميل فعلا وفكرة النوتيك كويسة لو فضيت هعملها واضيفها في تعليق
مبدأيا التعديل هيكون علي _AddLogChar

تمام اشطا

elbattawy1st 30-08-2016 02:45 AM

رد: Top 300 Reward System
 
تسلم ايديك يامعلم على المشاركه ^_^

بعد التجربه فى حاجات خفيفة اوى ناقصه بالنسبة للمبتدا ممكن يلاقيها صعبه شوية بالنسباله
فا انا هقول عليها علشان لو حد واجه مشكله ولا حاجه بس السيستم انا جربتو و شغال تمام


اول حاجة انت ناسى 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 (NOLOCKWHERE CharID = @CharID)
           ,@
UserID VARCHAR(50) = (SELECT UserJID FROM SRO_VT_SHARD.dbo._User WITH(NOLOCKWHERE CharID = @CharID)
          DECLARE @
UserID2 VARCHAR(50) = (SELECT AccountID FROM SRO_VT_SHARD.dbo._AccountJID WITH(NOLOCKWHERE 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 (NOLOCKWHERE PlayersCount =  @StartC
            
    
--- Main Items To Help ---
    DECLARE @
cNAME Varchar(max)
      
INSERT INTO SRO_VT_SHARDLOG.dbo._Top300 (CharName,CharID,IsNumbVALUES (@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 existsSELECT 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)+as INTFROM 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,OrderNumberVALUES( @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,reasonVALUES(@UserID,@SilkRemain + @NumSilk,@NumSilk,0,4)
        IF (@@
error <> or @@rowcount 0)
        
BEGIN
            SELECT Result 
"FAIL"
--            ROLLBACK TRANSACTION
            
RETURN
        
END
        SELECT Result 
"SUCCESS"
--    COMMIT TRANSACTION    
    
RETURN
SET QUOTED_IDENTIFIER OFF


GO 


Mostafa Mosaad 30-08-2016 01:35 PM

رد: Top 300 Reward System
 
تسلم ايدك جاري التجربه :sniper:

Mr.Rover 30-08-2016 08:36 PM

رد: Top 300 Reward System
 
اقتباس:

المشاركة الأصلية كتبت بواسطة elbattawy1st (المشاركة 5277045)
تسلم ايديك يامعلم على المشاركه ^_^

بعد التجربه فى حاجات خفيفة اوى ناقصه بالنسبة للمبتدا ممكن يلاقيها صعبه شوية بالنسباله
فا انا هقول عليها علشان لو حد واجه مشكله ولا حاجه بس السيستم انا جربتو و شغال تمام


اول حاجة انت ناسى 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 (NOLOCKWHERE CharID = @CharID)
           ,@
UserID VARCHAR(50) = (SELECT UserJID FROM SRO_VT_SHARD.dbo._User WITH(NOLOCKWHERE CharID = @CharID)
          DECLARE @
UserID2 VARCHAR(50) = (SELECT AccountID FROM SRO_VT_SHARD.dbo._AccountJID WITH(NOLOCKWHERE 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 (NOLOCKWHERE PlayersCount =  @StartC
            
    
--- Main Items To Help ---
    DECLARE @
cNAME Varchar(max)
      
INSERT INTO SRO_VT_SHARDLOG.dbo._Top300 (CharName,CharID,IsNumbVALUES (@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 existsSELECT 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)+as INTFROM 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,OrderNumberVALUES( @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,reasonVALUES(@UserID,@SilkRemain + @NumSilk,@NumSilk,0,4)
        IF (@@
error <> or @@rowcount 0)
        
BEGIN
            SELECT Result 
"FAIL"
--            ROLLBACK TRANSACTION
            
RETURN
        
END
        SELECT Result 
"SUCCESS"
--    COMMIT TRANSACTION    
    
RETURN
SET QUOTED_IDENTIFIER OFF


GO 


تسلم يا عبده رائع

M.HADAD 06-09-2017 04:48 AM

رد: Top 300 Reward System
 
السيستم دا انا شغلته على C-sro واشتغل وسجل الاكونتات اللى طلعت 120 باتسلسل الارقام تمام بس المشكله عندى انه مبعتش هدايا وكمان المشكله فى السيلك وبرنامج iLegend_Tool لانه Vsro بس

Neoon 06-09-2017 11:22 AM

رد: Top 300 Reward System
 
الله ينور


TheBold 02-11-2017 01:02 AM

رد: Top 300 Reward System
 
جاري التجربة ...

* K A B L O Z * 28-11-2017 01:16 AM

رد: Top 300 Reward System
 
الله ينور مجهود رائع :munch_h4h:

The_Reason 03-12-2017 03:26 AM

رد: Top 300 Reward System
 
تسلم ايدك :lulu12:

DraCula1337 06-01-2018 07:24 PM

رد: Top 300 Reward System
 
اول حاجة الموضوع جميل جدا جدا جدا

بس انا مش فاهم حاجات فية دلوقتى انت بتقول انو بيدى Items و Silk لو انا عاوز يدى Silk بس اعمل ايه


الساعة الآن 10:12 AM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.