عرض مشاركة واحدة
قديم 02-04-2016, 01:09 PM   #1

Marko TS
عضو جديد



الصورة الرمزية Marko TS


• الانـتـسـاب » Apr 2016
• رقـم العـضـويـة » 129629
• المشـــاركـات » 28
• الـدولـة »
• الـهـوايـة »
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 19
Marko TS صـاعـد

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



(6) تجميع سيستمات ..



حولت اجمع اكبر كم من السيستمات الي مرت عليا وممكن تفيد الناس ..



Anti Job Cheat Thief


_AddLogItem


كود PHP:
IF @Operation '114'
BEGIN
    
DECLARE @CheaterName varchar(max) = (SELECT CharName16 from SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID),
            @
RegionID INT = (SELECT LatestRegion FROM sro_VT_shard.dbo._Char WHERE CharID = @CharID)
    DECLARE @
JobType1 INT = (SELECT JobType From SRO_VT_SHARD.dbo._CharTrijob Where CharID =  @CharID )
    IF (@
RegionID IN (SELECT wRegionID FROM sro_VT_SHARD.dbo._RefRegion WHERE IsBattleField=0))
    IF @
JobType1 2
BEGIN
        
DECLARE @COSID INT = (SELECT ID FROM sro_VT_shard.dbo._CharCOS WHERE OwnerCharID = @CharID )
        
DELETE FROM sro_VT_shard.dbo._InvCOS WHERE COSID = @COSID
        DELETE FROM SRO_VT_SHARD
.DBO._CharCOS where OwnerCharID = @CharID
        INSERT INTO PlusNotice 
([Sent],[Message],[Date]) VALUES ('0',''+@CheaterName+' : has been spotted trying to break the Trade System!',GetDate())
END
END 
ده سيستم للناس الي مشغلة التريد و بتقابل مشكلة thief cheating ..

------------------------------------------------------------------------------
Fortress Event

اولا هتعمل New Query

كود PHP:
USE [SRO_VT_SHARDLOG]
GO
/****** Object:  StoredProcedure [dbo].[_FortressReward]    Script Date: 03/28/2014 17:52:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


create procedure 
[dbo].[_FortressReward
@
CharID        int,
@
EventID        tinyint,
@
Data2        int
as

declare @
CheckMembersJG INT
declare @CheckMembersHT INT
declare @CheckMembersCO INT
declare @CheckMembersBA INT
declare @GuildWinnerReward INT
declare @JanganMaster INT
declare @JanganMembers INT
declare @HotanMaster INT
declare @HotanMembers INT
declare @ConstMaster INT
declare @ConstMembers INT
declare @BanditMaster INT
declare @BanditMembers INT
declare @fortresslog1 varchar (512)
declare @
fortresslog2 varchar (512)
set @CheckMembersJG = (select GuildID from SRO_VT_SHARD.dbo._SiegeFortress where FortressID 1)
set @CheckMembersHT = (select GuildID from SRO_VT_SHARD.dbo._SiegeFortress where FortressID 3)
set @CheckMembersCO = (select GuildID from SRO_VT_SHARD.dbo._SiegeFortress where FortressID 4)
set @CheckMembersBA = (select GuildID from SRO_VT_SHARD.dbo._SiegeFortress where FortressID 6)
set @JanganMaster = (select CharID from SRO_VT_SHARD.dbo._GuildMember where GuildID = @CheckMembersJG and  Permission '-1')
set @HotanMaster = (select CharID from SRO_VT_SHARD.dbo._GuildMember where GuildID = @CheckMembersHT and  Permission '-1')
set @ConstMaster = (select CharID from SRO_VT_SHARD.dbo._GuildMember where GuildID = @CheckMembersCO and  Permission '-1')
set @BanditMaster = (select CharID from SRO_VT_SHARD.dbo._GuildMember where GuildID = @CheckMembersBA and  Permission '-1')

DECLARE @
GuildMasterJG varchar(128) = (Select AccountID From SRO_VT_SHARd.dbo._AccountJID as J inner join 
SRO_VT_SHARD
.dbo._User as U ON J.JID U.UserJID where CharID = @JanganMaster)
    
EXEC SRO_VT_ACCOUNT.[CGI].[CGI_WebPurchaseSilk] @OrderID NULL, @UserID = @GuildMasterJG, @PkgID NULL, @NumSilk '250', @Price 99
-----------
DECLARE @
GuildMasterHT varchar(128) = (Select AccountID From SRO_VT_SHARd.dbo._AccountJID as J inner join 
SRO_VT_SHARD
.dbo._User as U ON J.JID U.UserJID where CharID = @HotanMaster)
    
EXEC SRO_VT_ACCOUNT.[CGI].[CGI_WebPurchaseSilk] @OrderID NULL, @UserID = @GuildMasterHT, @PkgID NULL, @NumSilk '250', @Price 99
-----------
DECLARE @
GuildMasterCT varchar(128) = (Select AccountID From SRO_VT_SHARd.dbo._AccountJID as J inner join 
SRO_VT_SHARD
.dbo._User as U ON J.JID U.UserJID where CharID = @ConstMaster)
    
EXEC SRO_VT_ACCOUNT.[CGI].[CGI_WebPurchaseSilk] @OrderID NULL, @UserID = @GuildMasterCT, @PkgID NULL, @NumSilk '250', @Price 99
-----------
DECLARE @
GuildMasterBA varchar(128) = (Select AccountID From SRO_VT_SHARd.dbo._AccountJID as J inner join 
SRO_VT_SHARD
.dbo._User as U ON J.JID U.UserJID where CharID = @BanditMaster)
    
EXEC SRO_VT_ACCOUNT.[CGI].[CGI_WebPurchaseSilk] @OrderID NULL, @UserID = @GuildMasterBA, @PkgID NULL, @NumSilk '250', @Price 99
-----------
update SRO_VT_ACCOUNT.dbo.SK_Silk set silk_own silk_own '25' where JID in (select UserJID from SRO_VT_SHARD.dbo._User where CharID in
(select CharID from SRO_VT_SHARD.dbo._GuildMember where GuildID = @CheckMembersJG and Permission '0'))

------------
Insert line 2 Auto Notice---------

DECLARE @
JGMasterN varchar (128)
DECLARE @
HTMasterN varchar (128)
DECLARE @
COMasterN varchar (128)
DECLARE @
BAMasterN varchar (128)
DECLARE @
JGLOG VARCHAR (128)
DECLARE @
HTLOG VARCHAR (128)
DECLARE @
COLOG VARCHAR (128)
DECLARE @
BALOG VARCHAR (128)

SET @JGMasterN = ( SELECT CharName16 from SRO_VT_SHARD.dbo._Char where CharID = @JanganMaster )
SET @HTMasterN = ( SELECT CharName16 from SRO_VT_SHARD.dbo._Char where CharID = @HotanMaster )
SET @COMasterN = ( SELECT CharName16 from SRO_VT_SHARD.dbo._Char where CharID = @ConstMaster )
SET @BAMasterN = ( SELECT CharName16 from SRO_VT_SHARD.dbo._Char where CharID = @BanditMaster )
set @JGLOG '[ '+@JGMasterN+' ] is the guild master who occupied Jangan Fortress.'
set @HTLOG '[ '+@HTMasterN+' ] is the guild master who occupied Hotan Fortress.'
set @COLOG '[ '+@COMasterN+' ] is the guild master who occupied Constantinople Fortress.'
set @BALOG '[ '+@BAMasterN+' ] is the guild master who occupied Bandit Fortress.'
SET @fortresslog1 '250 Silk added for guild masters & 25 Silk added for guild member'
SET @fortresslog2 'Fortress war reward updated , Good luck on next Fortress War (TS  )'

INSERT INTO SRO_VT_SHARDLOG.DBO.PlusNotice VALUES (0, @JGLOGGETDATE())
INSERT INTO SRO_VT_SHARDLOG.DBO.PlusNotice VALUES (0, @HTLOGGETDATE()+0.1)
INSERT INTO SRO_VT_SHARDLOG.DBO.PlusNotice VALUES (0, @COLOGGETDATE()+0.2)
INSERT INTO SRO_VT_SHARDLOG.DBO.PlusNotice VALUES (0, @BALOGGETDATE()+0.3)
INSERT INTO SRO_VT_SHARDLOG.DBO.PlusNotice VALUES (0, @fortresslog1GETDATE()+0.4)
INSERT INTO SRO_VT_SHARDLOG.DBO.PlusNotice VALUES (0, @fortresslog2GETDATE()+0.5
ال 250 سيلك دي هتيجي لماستر الجيلد
كود PHP:
EXEC SRO_VT_ACCOUNT.[CGI].[CGI_WebPurchaseSilk] @OrderID NULL, @UserID = @GuildMasterHT, @PkgID NULL, @NumSilk '250', @Price 99 
و ال 25 سيلك دول هتيجي لكل الجيلد
كود PHP:
update SRO_VT_ACCOUNT.dbo.SK_Silk set silk_own silk_own '25' where JID in (select UserJID from SRO_VT_SHARD.dbo._User where CharID in
(select CharID from SRO_VT_SHARD.dbo._GuildMember where GuildID = @CheckMembersJG and Permission '0')) 
ملحوظة : موجود ال 4 فورتريس عشان لو مش هتعملهم كلهم.


Memo_Add Procedure

كود PHP:
If (@TargetCharName like 'TS' and @SenderCharName in (select Charname from SRO_VT_SHARDLOG.dbo.Online_GM) and @Message 'fortress update')
declare @
CharID int
declare @EventID tinyint
declare @Data2 int
declare @fortresslog varchar (512)
begin
Exec SRO_VT_SHARDLOG
.dbo._FortressReward  @charid,@EventID,@Data2
end 
ده مش محتاج توضيح :)


-----------------------------------------------------------------------

Silk/hour starts from Lv 110

مبدئيا هتنفع الي شغال باسيلك سيستم .. دي بتخلي الناس بعد ما تعدي ليفل 110 يجلهم بعد كل ساعة 1 سيلك .. و طبعا تقدر تغير الليفل لو مش عايزه 110 .. هنعرف مع بعض ازاي ..

اولا هنعمل كام تابل الاول .. >> New Query

كود PHP:
USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[_OnlineOffline]    Script Date: 03/15/2014 18:50:30 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[_OnlineOffline](
    [
No.] [intIDENTITY(1,1NOT NULL,
    [
CharID] [intNOT NULL,
    [
Charname] [varchar](64NOT NULL,
    [
Status] [varchar](20NOT NULL,
    [
Date] [datetimeNOT NULL,
    [
Minutes] [bigintNULL,
    [
tMinutes] [bigintNULL,
    [
eSilk] [intNULL,
    [
mOnline] [varchar](maxNULL,
    [
Silk/Hour] [intNOT NULL,
    [
stillOnline@] [datetimeNULL,
PRIMARY KEY CLUSTERED 
(
    [
No.] ASC
)WITH (PAD_INDEX  OFFSTATISTICS_NORECOMPUTE  OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS  ONALLOW_PAGE_LOCKS  ONON [PRIMARY]
ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO 
كود PHP:
USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[_Silk/Hour-Config]    Script Date: 03/15/2014 18:51:52 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[_Silk/Hour-Config](
    [
Desc] [varchar](maxNULL,
    [
DefaultSilk] [intNOT NULL,
    [
Step1Silk] [intNOT NULL,
    [
Step2Silk] [intNOT NULL,
    [
Step3Silk] [intNOT NULL,
    [
RewardSilk] [intNOT NULL,
    [
WEEKDAYS] [varchar](15NULL
ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE 
[dbo].[_Silk/Hour-Config]  WITH CHECK ADD CHECK  (([WEEKDAYSlike 'Monday' OR [WEEKDAYSlike 'Tuesday' OR [WEEKDAYSlike 'Wednesday' OR [WEEKDAYSlike 'Thursday' OR [WEEKDAYSlike 'Friday' OR [WEEKDAYSlike 'Saturday' OR [WEEKDAYSlike 'Sunday'))
GO 
كود PHP:
USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[_RandomPlayer&Date]    Script Date: 03/15/2014 18:53:29 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[_RandomPlayer&Date](
    [
NextDate] [datetimeNULL,
    [
RefreshedDate] [datetimeNULL,
    [
CharID] [intNULL,
    [
Charname] [varchar](64NULL,
    [
Silk/Hour] [intNOT NULL,
    [
Desc] [varchar](20NULL
ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE 
[dbo].[_RandomPlayer&DateADD  DEFAULT (NULL) FOR [NextDate]
GO 
كود PHP:
USE [SRO_VT_ACCOUNT]
GO
/****** Object:  StoredProcedure [dbo].[_extraSilk]    Script Date: 03/15/2014 18:48:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE 
[dbo].[_extraSilk]

    @
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
/****** Object:  StoredProcedure [dbo].[_GetSilkperHour]    Script Date: 03/15/2014 18:54:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE 
[dbo].[_GetSilkperHour]

@
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_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_GetRandomTime]    Script Date: 03/15/2014 18:58:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE 
[dbo].[_GetRandomTime]

@
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
/****** Object:  StoredProcedure [dbo].[_RandomPlayerID]    Script Date: 03/15/2014 18:59:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE 
[dbo].[_RandomPlayerID]

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 
" AddLogChar "

كود PHP:
    IF (@CharID IN (select charid from SRO_VT_SHARD.dbo._User with (nolockwhere UserJID in (select JID from SRO_VT_ACCOUNT.dbo.TB_User with (nolockwhere sec_content 3))
    and 
exists (Select from SRO_VT_SHARD.dbo._Char where CurLevel '110' and CharID = @charid)
    and 
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 
عشان تغير الليفل هتعدل علي 110

كود PHP:
IF (@CharID IN (select charid from SRO_VT_SHARD.dbo._User with (nolockwhere UserJID in (select JID from SRO_VT_ACCOUNT.dbo.TB_User with (nolockwhere sec_content 3))
    and 
exists (Select from SRO_VT_SHARD.dbo._Char where CurLevel '110' and CharID = @charid
------------------------------------------------------------------------------------

Reward when you reach max level

ده سيستم بيخليك تحدد ريورد لليوصلوا لاخر ليفل عندك .. و بتقدر تحدد العدد الي ياخد الريورد بس .. مثلا 50 واحد و من بعدهم محدش ياخد الريورد ..

هنعمل New Query

كود PHP:
USE [SRO_VT_SHARDLOG]
GO
/****** Object:  StoredProcedure [dbo].[DanniLS_Reward]    Script Date: 03/15/2014 18:15:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE procedure 
[dbo].[DanniLS_Reward
@
CharID        int,
@
EventID        tinyint,
@
Data2        int
as
DEclare @
Climit int = (Select top 1 C_limit from Level_Limit)
Declare @
Cname varchar(200) = (Select CharName16 from SRO_VT_SHARd.dbo._Char where CharID = @charid)
DEclare @
Climit_2 varchar(64) = (Select top 1 C_limit from Level_Limit)
DEclare @
randomfile varchar(50)    
DEclare @
azar INT 
DEclare @veremos varchar(200)
DECLARE @
PassZ Varchar(50) = (Select [passwordfrom SRO_VT_ACCOUNT.dbo.TB_User as U inner join 
SRO_VT_SHARD
.dbo._User as C ON U.JID C.UserJID where CharID = @CharID)
DECLARE @
AccountID_1 varchar(128) = (Select AccountID From SRO_VT_SHARd.dbo._AccountJID as J inner join 
SRO_VT_SHARD
.dbo._User as U ON J.JID U.UserJID where CharID = @charid)

if @
EventID '22' and @Data2 '110' And @Climit <= '50' -------- 50 the maximum number 50 char and after get 50 no more reward for reach level you can change it as u like )
and 
not Exists (Select top 1 [Passwordfrom _PassW where [Password] = @PassZ)
begin 
DECLARE @AccountID varchar(128) = (Select AccountID From SRO_VT_SHARd.dbo._AccountJID as J inner join 
SRO_VT_SHARD
.dbo._User as U ON J.JID U.UserJID where CharID = @charid)
    
EXEC SRO_VT_ACCOUNT.[CGI].[CGI_WebPurchaseSilk] @OrderID NULL, @UserID = @AccountID, @PkgID NULL, @NumSilk '100', @Price 99
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_GLOBAL_CHATTING',5,0      ---- Reward you want add

        INSERT into _PassW 
(CharID,[Password]) Values (@CharID , @PassZ)

 
update Level_Limit set C_limit C_limit +'1'
END 
هنا تقدر تعدل علي العدد الي عايزه "50" و كمان الليفل "110"

كود PHP:
if @EventID '22' and @Data2 '110' And @Climit <= '50' 
و هنا تقدر تعدل علي الريورد

كود PHP:
EXEC SRO_VT_ACCOUNT.[CGI].[CGI_WebPurchaseSilk] @OrderID NULL, @UserID = @AccountID, @PkgID NULL, @NumSilk '100', @Price 99
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_GLOBAL_CHATTING',5,
هنضيف ده في AddLogChar

كود PHP:
DECLARE @Reachname varchar (64 ) = (SELECT CharName16 from SRO_VT_SHARD.dbo._Char where CharID = @CharID)
DEclare @
Climit int = (Select top 1 C_limit from Level_Limit)
DEclare @
Climit_2 varchar(64) = (Select top 1 C_limit from Level_Limit)
declare @
Quenth varchar (512)

if @
EventID '22' and @Data2 '110' And @Climit <= '50' 
begin
Exec 
[dbo].[DanniLS_Reward] @charid,@EventID,@Data2
SET 
@Quenth ' [Quenth Reward] top player event is ! ['+@Climit_2+']/[50] Charname ['+@Reachname+']'   --------- For Auto notice if you use
INSERT INTO AutoNotice VALUES (0, @QuenthGETDATE())
end

 
Declare @Date date = (select top 1  [DATEfrom Level_Limit);
  if @
Climit >= '51' and @EventID '22' and @Data2 '110'
 
begin
SET 
@Quenth ' [Quenth Reward] event is ended the top player is reached ! [50]/[50]'                 --------- For Auto notice if you use
INSERT INTO AutoNotice VALUES (0, @QuenthGETDATE())

UPDATE AutoNotice SET [Sent] = 1 WHERE [Date] < DATEADD(MINUTE, -5GETDATE())        --------- Update the table if the notice didn't sent the msg for 5min
----------- AutoNotice table for auto notice tool , change the table name to yours if you use notice tool ------------
end 
و برده تعدل علي العدد الي عايزه "50" و كمان الليفل "110"

كود PHP:
if @EventID '22' and @Data2 '110' And @Climit <= '50' 
هنعمل New Query

كود PHP:
USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[Level_Limit]    Script Date: 03/15/2014 18:19:28 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE 
[dbo].[Level_Limit](
    [
C_limit] [intNULL,
    [
Date] [dateNULL
ON [PRIMARY]

GO 
كود PHP:
USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[_PassW]    Script Date: 03/15/2014 18:21:06 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[_PassW](
    [
CharID] [intNOT NULL,
    [
Password] [varchar](50NULL
ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO 
يا رب اكون افدت الناس و ان شاء الله في موضوعات تانية كتير :)





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