حفظ بياناتي ؟

1/01/2023

22/05/2024_hema

22/05/2024_hema

END_shaher_01/12/2024

Ahmed_k_nayel_01_12_2024

END_02/12/2024

END 30/12/2024

END 06/12/2024

END 28/12/2024

END 30/12/2024_waiting

END 30/02/2025_Belal

END 06/01/2025

END 12/01/2025

END _14/01/2025_Karuoke

END _14/01/2025_Karuoke

25/01/2022

QueenSro_01_10_2024

Ahmed_k_nayel_01_12_2024

ibrahim_END 07/1212024

END 30/12/2024

END 12/01/2025

END _14/01/2025_Karuoke

 الـجـروب الـرسـمى لـلـمـنـتـدى FaceBook | Official Group 



قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة [ قسم متخصص فى شروحات و البرامج في عمل السيرفرات الخاصة ] [ يرجى عدم وضع الأسئلة والاستفسارات في هذا القسم ]

 
 
أدوات الموضوع انواع عرض الموضوع
قديم 02-11-2012, 09:22 PM   #1

Yui
عضو فعال





• الانـتـسـاب » Sep 2012
• رقـم العـضـويـة » 105332
• المشـــاركـات » 319
• الـدولـة »
• الـهـوايـة » Hex,PHP,C#,SQL
• اسـم الـسـيـرفـر » No Server
• الـجـنـس » Male
• نقـاط التقييم » 43
Yui صـاعـد

Yui غير متواجد حالياً


إرسال رسالة عبر Yahoo إلى Yui

New silk System auto free Silk/Hour based on the Online time



Hello today i will add new autofree silk system

for silkroad4arab By Yui

Use This Query

كود PHP:
USE SRO_VT_SHARDLOG

BEGIN 
TRY
    
DROP TABLE [_Silk/Hour-Config]
END TRY
BEGIN CATCH END CATCH;

CREATE TABLE [_Silk/Hour-Config] (
    [
Descvarchar(maxNULL,
    [
DefaultSilkint NOT NULL,
    [
Step1Silkint NOT NULL,
    [
Step2Silkint NOT NULL,
    [
Step3Silkint NOT NULL,
    [
RewardSilkint NOT NULL,
    [
WEEKDAYSvarchar(15NULL
    
    CHECK 
(
            [
WEEKDAYSlike 'Monday' OR
            [
WEEKDAYSlike 'Tuesday' OR
            [
WEEKDAYSlike 'Wednesday' OR
            [
WEEKDAYSlike 'Thursday' OR
            [
WEEKDAYSlike 'Friday' OR
            [
WEEKDAYSlike 'Saturday' OR
            [
WEEKDAYSlike 'Sunday'
            
)
);

INSERT INTO [_Silk/Hour-ConfigSELECT 'Rates'12345NULL
INSERT INTO 
[_Silk/Hour-ConfigSELECT 'Requirements'0, (60*24*7), (60*24*30), (60*24*365), 0NULL
INSERT INTO 
[_Silk/Hour-ConfigSELECT 'allowed Day #1'00000'Monday'
INSERT INTO [_Silk/Hour-ConfigSELECT 'allowed Day #2'00000'Tuesday'
INSERT INTO [_Silk/Hour-ConfigSELECT 'allowed Day #3'00000'Wednesday'
INSERT INTO [_Silk/Hour-ConfigSELECT 'allowed Day #4'00000'Thursday'
INSERT INTO [_Silk/Hour-ConfigSELECT 'allowed Day #5'00000'Friday'
INSERT INTO [_Silk/Hour-ConfigSELECT 'allowed Day #6'00000'Saturday'
INSERT INTO [_Silk/Hour-ConfigSELECT 'allowed Day #7'00000'Sunday' 
كود PHP:
USE SRO_VT_SHARDLOG

BEGIN 
TRY
    
DROP TABLE _OnlineOffline
END 
TRY
BEGIN CATCH END CATCH;

CREATE TABLE _OnlineOffline
(
[
No.] int PRIMARY KEY IDENTITY (1,1),
[
CharIDint NOT NULL,
[
Charnamevarchar(64NOT NULL,
[
Statusvarchar(20NOT NULL,
[
Datedatetime NOT NULL,
[
Minutesbigint,
[
tMinutesbigint,
[
eSilkint,
[
mOnlinevarchar(maxNULL,
[
Silk/Hourint NOT NULL,
[
stillOnline@] datetime NULL
);

INSERT INTO _OnlineOffline 
    SELECT CharID
CharName16'OnHold'GETDATE(), 000'0 minute(s)', (SELECT DefaultSilk FROM [_Silk/Hour-ConfigWHERE [Desclike 'Rates'), NULL
    FROM SRO_VT_SHARD
.dbo._Char ORDER BY CharID 
كود PHP:
USE SRO_VT_SHARDLOG

BEGIN 
TRY
    
DROP TABLE [_RandomPlayer&Date]
END TRY
BEGIN CATCH END CATCH;

CREATE TABLE [_RandomPlayer&Date] (
    [
NextDatedatetime DEFAULT NULL,
    [
RefreshedDatedatetime,
    [
CharIDint,
    [
Charnamevarchar(64),
    [
Descvarchar(20NULL
);

INSERT INTO [_RandomPlayer&DateSELECT NULL,NULL,NULL,NULL,'Current'
INSERT INTO [_RandomPlayer&DateSELECT NULL,NULL,NULL,NULL,'Next' 
كود PHP:
USE SRO_VT_SHARD
GO

CREATE PROCEDURE _GetRandomTime 
/*by Yui*/

@TodaysDate datetime,
@
EndDate datetime OUTPUT

AS BEGIN

SET 
@EndDate GETDATE();

WHILE (@
EndDate <= GETDATE())
    
BEGIN
        
DECLARE 
                @
BasicDate    varchar(12) = CONVERT(VARCHAR(10), @TodaysDate120),
                @
Hour        varchar(2) = CONVERT(varchar(2),(ROUND(RAND()*23,0))),
                @
Minutes    varchar(2) = CONVERT(varchar(2),(ROUND(RAND()*59,0))),
                @
Seconds    varchar(2) = CONVERT(varchar(2),(ROUND(RAND()*59,0)))

        
SET @EndDate CONVERT(DATETIME,@BasicDate ' ' + @Hour ':' + @Minutes ':' + @Seconds)
    
END

END 
كود PHP:
USE [SRO_VT_SHARD]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE 
[dbo].[_RandomPlayerID/*by Yui*/

as

Declare @
Random int 1, @Bool bit 0;

WHILE (@
Bool 0)
    
BEGIN
        SET 
@Random ROUND(RAND()*(SELECT MAX(CharIDFROM SRO_VT_SHARD.dbo._Char),0)
        IF 
exists (SELECT CharID FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @Random)
            
BEGIN
                SET 
@Bool /*true*/
            
END
    END
    
return @Random 
كود PHP:
USE [SRO_VT_ACCOUNT]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE 
[dbo].[_extraSilk/*by Yui*/

    
@CharID int,
    @
Silk int

as

Declare @
JID int, @Multiplier int = (SELECT [Silk/HourFROM SRO_VT_SHARDLOG.dbo._OnlineOffline WHERE CharID = @CharID);

SET @JID = (
            
SELECT usert.UserJID FROM SRO_VT_SHARD.dbo._User as usert
            JOIN SRO_VT_SHARD
.dbo._Char as chart on usert.CharID chart.CharID
            WHERE chart
.CharID = @CharID
            
);
            
    IF 
not exists (SELECT JID FROM SK_Silk WHERE JID = @JID)
        
BEGIN
            INSERT INTO SK_Silk SELECT 
@JID000
        END
            
    UPDATE SK_Silk
    SET silk_own 
silk_own + (@Silk*@Multiplier)
    
WHERE JID = @JID 
كود PHP:
USE [SRO_VT_SHARDLOG]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE 
[dbo].[_GetSilkperHour/*by Yui*/

@CharID int

as

Declare @
totalMinutes bigint = (SELECT tMinutes FROM _OnlineOffline WHERE CharID = @CharID), @Silkoutput int;

/*Calculating the Silk/Hour-Amount related to the Online Time*/
SET @Silkoutput 
CASE
    
WHEN @totalMinutes >= (SELECT [Step3SilkFROM [_Silk/Hour-ConfigWHERE [Desclike 'Requirements'
        
THEN (SELECT [Step3SilkFROM [_Silk/Hour-ConfigWHERE [Desclike 'Rates')
    
WHEN @totalMinutes >= (SELECT [Step2SilkFROM [_Silk/Hour-ConfigWHERE [Desclike 'Requirements'
        
THEN (SELECT [Step2SilkFROM [_Silk/Hour-ConfigWHERE [Desclike 'Rates')
    
WHEN @totalMinutes >= (SELECT [Step1SilkFROM [_Silk/Hour-ConfigWHERE [Desclike 'Requirements'
        
THEN (SELECT [Step1SilkFROM [_Silk/Hour-ConfigWHERE [Desclike 'Rates')
    ELSE (
SELECT DefaultSilk FROM [_Silk/Hour-ConfigWHERE [Desclike 'Rates')
END

RETURN @Silkoutput 
كود PHP:
USE [SRO_VT_SHARDLOG]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER   procedure 
[dbo].[_AddLogChar
@
CharID        int,
@
EventID        tinyint,
@
Data1        int,
@
Data2        int,
@
strPos        varchar(64),
@
Desc        varchar(128)
as

IF    ( -- 
Skips over the unnecessary Records
        
(@EventID != 11) AND 
        (@
EventID NOT BETWEEN 21 AND 27) AND
        (@
EventID NOT BETWEEN 200 AND 202) AND
        (@
EventID NOT BETWEEN 204 AND 206) AND 
        (@
EventID != 210) AND (@EventID != 214) AND (@EventID != 244)
    )
BEGIN

    
declare @len_pos     int
    
declare @len_desc    int
    set 
@len_pos len(@strPos)
    
set @len_desc len(@Desc)
    if (@
len_pos and @len_desc 0)
    
begin    
        insert _LogEventChar values
(@CharIDGetDate(), @EventID, @Data1, @Data2, @strPos, @Desc)    
    
end
    
else if (@len_pos and @len_desc 0)
    
begin     
        insert _LogEventChar 
(CharIDEventTimeEventIDData1Data2EventPosvalues(@CharIDGetDate(), @EventID, @Data1, @Data2, @strPos)
    
end
    
else if (@len_pos and @len_desc 0)
    
begin     
        insert _LogEventChar 
(CharIDEventTimeEventIDData1Data2strDescvalues(@CharIDGetDate(), @EventID, @Data1, @Data2, @Desc)
    
end
    
else
    
begin
        insert _LogEventChar 
(CharIDEventTimeEventIDData1Data2values(@CharIDGetDate(), @EventID, @Data1, @Data2)
    
end
    
/*Extension*/--> by Yui

IF not exists (SELECT CharID FROM _OnlineOffline WHERE CharID = @CharID)
    
BEGIN
        INSERT INTO _OnlineOffline 
(CharIDCharname, [Status], [Date], [Minutes], [tMinutes], eSilkmOnline, [Silk/Hour], [stillOnline@])
        
VALUES (
                @
CharID,
                (
SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID),
                
'OnHold',
                
GETDATE(),
                
0,0,0,
                
NULL,(SELECT DefaultSilk FROM [_Silk/Hour-ConfigWHERE [Desclike 'Rates'),
                
NULL
                
);
    
END

IF (@EventID OR @EventID 6)
    
BEGIN

    
IF (@EventID AND ((SELECT [StatusFROM _OnlineOffline WHERE CharID = @CharIDlike 'OnHold'))
        
BEGIN
            UPDATE _OnlineOffline
            SET 
[Status] = 'Offline'
            
WHERE CharID = @CharID
        END
        
    
IF (@EventID AND ((SELECT [StatusFROM _OnlineOffline WHERE CharID = @CharIDlike 'Online'))
        
BEGIN
            UPDATE _OnlineOffline
            SET
                
[Status] = 'Offline',
                [
Minutes] = [Minutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
                [
tMinutes] = [tMinutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
                [
mOnline] = NULL,
                [
stillOnline@] = NULL
            WHERE CharID 
= @CharID    
        END
        
    
IF (@EventID 4)
        
BEGIN
            UPDATE _OnlineOffline
            SET 
                
[Status] = 'Online',
                [
Date] = GETDATE(),
                [
stillOnline@] = GETDATE()
            
WHERE CharID = @CharID
        END
    END

    
UPDATE _OnlineOffline
SET 
    
[mOnline] = CAST((DATEDIFF(MINUTE,[Date],GETDATE()))as varchar(max)) + ' minute(s) Online',
    [
Minutes] = [Minutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
    [
tMinutes] = [tMinutes] + (DATEDIFF(MINUTE,[stillOnline@],GETDATE())),
    [
stillOnline@] = GETDATE()
WHERE [Statuslike 'Online'

/*Silk/Hour basic calc*/
IF ((SELECT [tMinutesfrom _OnlineOffline WHERE CharID = @CharID) >= (SELECT [Step1SilkFROM [_Silk/Hour-ConfigWHERE [Desclike 'Requirements'))
    
BEGIN
        
Declare @sph int;
        
exec @sph = [_GetSilkperHour] @CharID
        UPDATE _OnlineOffline SET 
[Silk/Hour] = @sph WHERE CharID = @CharID
    END
/*!Silk/Hour basic calc*/

IF (((SELECT NextDate FROM [_RandomPlayer&DateWHERE [Desclike 'Next'IS NULL))
    
BEGIN
        
DECLARE @FirstDate datetime, @Today datetime GETDATE(), @FirstCharID int;

        
exec @FirstCharID SRO_VT_SHARD.dbo._RandomPlayerID
        exec SRO_VT_SHARD
.dbo._GetRandomTime @Today, @FirstDate OUTPUT
        
        UPDATE 
[_RandomPlayer&Date
            
SET 
                NextDate 
= @FirstDate,
                
RefreshedDate GETDATE(),
                
CharID = @FirstCharID,
                
Charname = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @FirstCharID)
            
WHERE [Desclike 'Next';
    
END
    
IF ((SELECT NextDate FROM [_RandomPlayer&DateWHERE [Desclike 'Next') <= GETDATE())
    
BEGIN
        UPDATE _OnlineOffline
            SET 
[Silk/Hour] = (SELECT RewardSilk FROM [_Silk/Hour-ConfigWHERE [Desclike 'Rates')
            
WHERE CharID = (SELECT CharID FROM [_RandomPlayer&DateWHERE [Desclike 'Next');
        Declare
                @
CurSilkperHour int
                @
OldCharID int = (SELECT CharID FROM [_RandomPlayer&DateWHERE [Desclike 'Current');
        IF (@
OldCharID IS NOT NULL)
            
BEGIN
                exec 
@CurSilkperHour _GetSilkperHour @OldCharID
                UPDATE _OnlineOffline
                    SET 
[Silk/Hour] = @CurSilkperHour
                    WHERE CharID 
= @OldCharID;
            
END
        UPDATE 
[_RandomPlayer&Date]
            
SET
                NextDate 
NULL,
                
RefreshedDate GETDATE(),
                
CharID = (SELECT CharID FROM [_RandomPlayer&DateWHERE [Desclike 'Next'),
                
Charname = (SELECT Charname FROM [_RandomPlayer&DateWHERE [Desclike 'Next')
            
WHERE [Desclike 'Current'
        
        
/*new Random Time of Today+1*/
        
DECLARE @NextDate datetime, @Tomorrow datetime GETDATE()+1, @NewCharID int;
        
        
exec @NewCharID SRO_VT_SHARD.dbo._RandomPlayerID
        exec SRO_VT_SHARD
.dbo._GetRandomTime @Tomorrow, @NextDate OUTPUT
        
        UPDATE 
[_RandomPlayer&Date
            
SET 
                NextDate 
= @NextDate,
                
RefreshedDate GETDATE(),
                
CharID = @NewCharID,
                
Charname = (SELECT CharName16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @NewCharID)
            
WHERE [Desclike 'Next'
        
/*!new Random...*/
    
END
    
    
/*Calculation of the silk amount*/
    
Declare @tMinutes bigint = (SELECT [Minutesfrom _OnlineOffline WHERE CharID = @CharID), @Silk int;
    
        IF (@
tMinutes >= 60)
            
BEGIN
                SET 
@Silk CAST(((SELECT [MinutesFROM _OnlineOffline WHERE CharID = @CharID) / 60) as int)
                
UPDATE _OnlineOffline
                SET 
[Minutes] = [Minutes] % 60
                WHERE CharID 
= @CharID
                
            
IF exists (SELECT [WEEKDAYSFROM [_Silk/Hour-ConfigWHERE [WEEKDAYSlike DATENAME(WEEKDAYGETDATE()))
                
BEGIN
                    UPDATE _OnlineOffline
                    SET 
[eSilk] = [eSilk] + (@Silk*[Silk/Hour])
                    
WHERE CharID = @CharID
                    
                    exec SRO_VT_ACCOUNT
.dbo._extraSilk @CharID, @Silk
                END
            END
    
/*Yui*/
    
/*!Extension*/

END -- !Skipping 



التعديل الأخير تم بواسطة Hamza FiGo ; 05-06-2015 الساعة 11:45 PM

رد مع اقتباس
إعلانات google

 


يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر)
 
أدوات الموضوع
انواع عرض الموضوع

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى الردود آخر مشاركة
Kharoon Online | 110 Cap EU-CH | Drop System | Coin System | Free Silk | 14.04.2023 Kharoon Online قـسـم الـسـيـرفـرات الـخـاصـة 1 16-03-2024 07:03 PM
Pioneer II • Cap 100 • Job Based System • Free Silk • Play2Win • GO: 07.05.2022 Midnight1 قـسـم الـسـيـرفـرات الـخـاصـة 2 10-02-2023 05:06 PM
Crew-Online Cap 100 | EU-CH|Play2Win |Silk/hour-Coins System 3omargaber منتدى سـيـرفـرات وجـايـلـدات [ Silkroad Online ] 1 07-11-2015 07:56 AM
مساعده بخصوص Auto free Silk System per/hour pop2009 قسم المواضيع المكررة و المخالفة 14 31-03-2014 09:47 PM
سؤال بخصوص auto free silk/hour Mr.Romeo قسم المواضيع المكررة و المخالفة 4 09-10-2013 04:21 AM


الساعة الآن 02:50 PM.