Problem Silk/h

09/21/2017 23:31 eiron2010#1
Silk/h First it works without a program
He worked for me 100% but after a day or two he did not work
I do not know what the problem is
i want all tablet's and proc work 100% please

and i want quray for Job Trade rate for gold

and thanks
09/22/2017 10:15 EdwardTeach+-#2
PHP Code:
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 Code:
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 Code:
USE SRO_VT_SHARD

GO



CREATE PROCEDURE _GetRandomTime 
/*by Caipi*/


  
[MENTION=3390459]todays[/MENTION]Date datetime,

@
EndDate datetime OUTPUT



AS BEGIN



SET 
@EndDate GETDATE();



WHILE (@
EndDate <= GETDATE())

    
BEGIN

        
DECLARE 

                @
BasicDate    varchar(12) = CONVERT(VARCHAR(10),  [MENTION=3390459]todays[/MENTION]Date120),

                @
Hour        varchar(2) = CONVERT(varchar(2),(ROUND(RAND()*23,0))),

                @
Minutes    varchar(2) = CONVERT(varchar(2),(ROUND(RAND()*59,0))),

                [
MENTION=712874]seconds[/MENTION]    varchar(2) = CONVERT(varchar(2),(ROUND(RAND()*59,0)))



        
SET @EndDate CONVERT(DATETIME,@BasicDate ' ' + @Hour ':' + @Minutes ':' + [MENTION=712874]seconds[/MENTION])

    
END



END 


PHP Code:
USE [SRO_VT_SHARD]

GO



SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO



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



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 Code:
USE [SRO_VT_ACCOUNT]

GO



SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO



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



    
@CharID int,

    [
MENTION=292158]Silk[/MENTIONint



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 +  [MENTION=292158]Silk[/MENTION]*@Multiplier)

    
WHERE JID = @JID 


PHP Code:
USE [USE SRO_VT_SHARDLOG]

GO



SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO



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



@CharID int



as



Declare  [
MENTION=399344]total[/MENTION]Minutes bigint = (SELECT tMinutes FROM _OnlineOffline WHERE CharID = @CharID), [MENTION=1227097]silko[/MENTION]utput int;



/*Calculating the Silk/Hour-Amount related to the Online Time*/

SET [MENTION=1227097]silko[/MENTION]utput 

CASE

    
WHEN  [MENTION=399344]total[/MENTION]Minutes >= (SELECT [Step3SilkFROM [_Silk/Hour-ConfigWHERE [Desclike 'Requirements'

        
THEN (SELECT [Step3SilkFROM [_Silk/Hour-ConfigWHERE [Desclike 'Rates')

    
WHEN  [MENTION=399344]total[/MENTION]Minutes >= (SELECT [Step2SilkFROM [_Silk/Hour-ConfigWHERE [Desclike 'Requirements'

        
THEN (SELECT [Step2SilkFROM [_Silk/Hour-ConfigWHERE [Desclike 'Rates')

    
WHEN  [MENTION=399344]total[/MENTION]Minutes >= (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 [MENTION=1227097]silko[/MENTION]utput 


PHP Code:
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,
 [
MENTION=414808]str[/MENTION]Pos        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 [MENTION=414808]str[/MENTION]Pos)

    
set @len_desc len(@Desc)

    if (@
len_pos and @len_desc 0)

    
begin    

        insert _LogEventChar values
(@CharIDGetDate(), @EventID, @Data1, @Data2, [MENTION=414808]str[/MENTION]Pos, @Desc)    

    
end

    
else if (@len_pos and @len_desc 0)

    
begin     

        insert _LogEventChar 
(CharIDEventTimeEventIDData1Data2EventPosvalues(@CharIDGetDate(), @EventID, @Data1, @Data2, [MENTION=414808]str[/MENTION]Pos)

    
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 Caipi



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 [MENTION=955435]SPH[/MENTIONint;

        
exec [MENTION=955435]SPH[/MENTION] = [_GetSilkperHour] @CharID

        UPDATE _OnlineOffline SET 
[Silk/Hour] = [MENTION=955435]SPH[/MENTIONWHERE CharID = @CharID

    END

/*!Silk/Hour basic calc*/



IF (((SELECT NextDate FROM [_RandomPlayer&DateWHERE [Desclike 'Next'IS NULL))

    
BEGIN

        
DECLARE @FirstDate datetime,  [MENTION=456996]today[/MENTIONdatetime GETDATE(), @FirstCharID int;



        
exec @FirstCharID SRO_VT_SHARD.dbo._RandomPlayerID

        exec SRO_VT_SHARD
.dbo._GetRandomTime  [MENTION=456996]today[/MENTION], @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,  [MENTION=348406]Tomorrow[/MENTIONdatetime GETDATE()+1, @NewCharID int;

        

        
exec @NewCharID SRO_VT_SHARD.dbo._RandomPlayerID

        exec SRO_VT_SHARD
.dbo._GetRandomTime  [MENTION=348406]Tomorrow[/MENTION], @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  [MENTION=3394895]Tmi[/MENTION]nutes bigint = (SELECT [Minutesfrom _OnlineOffline WHERE CharID = @CharID), [MENTION=292158]Silk[/MENTIONint;

    

        IF   [
MENTION=3394895]Tmi[/MENTION]nutes >= 60)

            
BEGIN

                SET 
[MENTION=292158]Silk[/MENTION] = 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] +  [MENTION=292158]Silk[/MENTION]*[Silk/Hour])

                    
WHERE CharID = @CharID

                    

                    exec SRO_VT_ACCOUNT
.dbo._extraSilk @CharID, [MENTION=292158]Silk[/MENTION]

                
END

            END

    
/*!Calc*/

    

/*!Extension*/



END -- !Skipping 
09/22/2017 17:34 eiron2010#3
There are problems because [MENTION=292158]

Up