[SQL Guide] vSRO - Premium Free Access System

05/31/2012 19:39 •ᵔBeGodOfWarᵔ•#1
Hello Epvp members
today i'm gonna share the leaked version of new sql revolution

1-you need to drop and re-create dbo.TB_USER
PHP Code:
USE [SRO_VT_ACCOUNT]
GO

/****** Object:  Table [dbo].[TB_User]    Script Date: 05/19/2012 21:52:59 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[TB_User](
    [
JID] [intIDENTITY(1,1NOT NULL,
    [
StrUserID] [varchar](25NOT NULL,
    [
password] [varchar](50NOT NULL,
    [
truepassword] [varchar](50NULL,
    [
Status] [tinyintNULL,
    [
GMrank] [tinyintNULL,
    [
Name] [varchar](25NULL,
    [
Email] [varchar](100NULL,
    [
sex] [char](2NULL,
    [
certificate_num] [varchar](30NULL,
    [
address] [varchar](100NULL,
    [
postcode] [varchar](10NULL,
    [
phone] [varchar](20NULL,
    [
mobile] [varchar](20NULL,
    [
regtime] [datetimeNULL,
    [
reg_ip] [varchar](25NULL,
    [
Time_log] [datetimeNULL,
    [
freetime] [intNULL,
    [
sec_primary] [tinyintNOT NULL,
    [
sec_content] [tinyintNOT NULL,
    [
AccPlayTime] [intNULL,
    [
LatestUpdateTime_ToPlayTime] [intNULL,
    [
at] [smallintNULL,
    [
block] [smallintNULL,
    [
blockreason] [varchar](500NULL,
    [
expired] [datetimeNULL,
    [
emailkey] [varchar](50NULL,
    [
hashigh] [smallintNULL,
    [
lastloginip] [intNULL,
    [
question] [varchar](50NULL,
    [
answer] [varchar](50NULL,
 
CONSTRAINT [PK_TB_UserPRIMARY KEY CLUSTERED 
(
    [
JIDASC
)WITH (PAD_INDEX  OFFSTATISTICS_NORECOMPUTE  OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS  ONALLOW_PAGE_LOCKS  ONFILLFACTOR 90ON [PRIMARY],
 
CONSTRAINT [IX_TB_UserUNIQUE NONCLUSTERED 
(
    [
StrUserIDASC
)WITH (PAD_INDEX  OFFSTATISTICS_NORECOMPUTE  OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS  ONALLOW_PAGE_LOCKS  ONFILLFACTOR 90ON [PRIMARY]
ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE 
[dbo].[TB_UserADD  CONSTRAINT [DF_TB_User_Status]  DEFAULT ((1)) FOR [Status]
GO

ALTER TABLE 
[dbo].[TB_UserADD  CONSTRAINT [DF_TB_User_GMrank]  DEFAULT ((0)) FOR [GMrank]
GO

ALTER TABLE 
[dbo].[TB_UserADD  CONSTRAINT [DF_TB_User_regtime]  DEFAULT (getdate()) FOR [regtime]
GO

ALTER TABLE 
[dbo].[TB_UserADD  CONSTRAINT [DF_TB_User_freetime]  DEFAULT ((0)) FOR [freetime]
GO

ALTER TABLE 
[dbo].[TB_UserADD  CONSTRAINT [DF_TB_User_sec_primary]  DEFAULT ((3)) FOR [sec_primary]
GO

ALTER TABLE 
[dbo].[TB_UserADD  CONSTRAINT [DF_TB_User_sec_content]  DEFAULT ((3)) FOR [sec_content]
GO

ALTER TABLE 
[dbo].[TB_UserADD  CONSTRAINT [DF_TB_User_at]  DEFAULT ((0)) FOR [at]
GO

ALTER TABLE 
[dbo].[TB_UserADD  CONSTRAINT [DF_TB_User_block]  DEFAULT ((0)) FOR [block]
GO

ALTER TABLE 
[dbo].[TB_UserADD  CONSTRAINT [DF_TB_User_expired]  DEFAULT (getdate()) FOR [expired]
GO

ALTER TABLE 
[dbo].[TB_UserADD  CONSTRAINT [DF_TB_User_hashigh]  DEFAULT ((0)) FOR [hashigh]
GO

ALTER TABLE 
[dbo].[TB_UserADD  CONSTRAINT [DF_TB_User_lastloginip]  DEFAULT ((0)) FOR [lastloginip]
GO 
2-create dbo._FreeAccess
PHP Code:
USE [SRO_VT_ACCOUNT]
GO

/****** Object:  Table [dbo].[_FreeAccess]    Script Date: 05/19/2012 21:55:16 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE 
[dbo].[_FreeAccess](
    [
JID] [intNOT NULL,
    [
EndTime] [datetimeNOT NULL,
    [
ShardID] [intNOT NULL
ON [PRIMARY]

GO 
3-create dbo.BrutalBlockedIP
PHP Code:
USE [SRO_VT_ACCOUNT]
GO

/****** Object:  Table [dbo].[_BrutalBlockedIP]    Script Date: 05/19/2012 21:55:58 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[_BrutalBlockedIP](
    [
nIdx] [intIDENTITY(1,1NOT NULL,
    [
szIPBegin] [varchar](16NOT NULL,
    [
szIPEnd] [varchar](16NOT NULL,
    [
szGM] [varchar](64NOT NULL,
    [
dIssueDate] [datetimeNOT NULL,
    [
szISP] [varchar](256NULL,
    [
szDesc] [varchar](512NULL,
 
CONSTRAINT [PK__BrutalBlockedIPPRIMARY KEY CLUSTERED 
(
    [
nIdxASC
)WITH (PAD_INDEX  OFFSTATISTICS_NORECOMPUTE  OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS  ONALLOW_PAGE_LOCKS  ONFILLFACTOR 90ON [PRIMARY]
ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO 
4-drop and create dbo._PrivilegedIP
PHP Code:
USE [SRO_VT_ACCOUNT]
GO

/****** Object:  Table [dbo].[_PrivilegedIP]    Script Date: 05/19/2012 21:57:10 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE 
[dbo].[_PrivilegedIP](
    [
nIdx] [intIDENTITY(1,1NOT NULL,
    [
szIPBegin] [varchar](16NOT NULL,
    [
szIPEnd] [varchar](16NOT NULL,
    [
szGM] [varchar](64NOT NULL,
    [
dIssueDate] [datetimeNOT NULL,
    [
szISP] [varchar](256NULL,
    [
szDesc] [varchar](512NULL,
 
CONSTRAINT [PK__PrivilegedIPPRIMARY KEY CLUSTERED 
(
    [
nIdxASC
)WITH (PAD_INDEX  OFFSTATISTICS_NORECOMPUTE  OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS  ONALLOW_PAGE_LOCKS  ONFILLFACTOR 90ON [PRIMARY]
ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO 
Now the required stored procedures for AccountDB

5-CertifyTB_User
PHP Code:
USE [SRO_VT_ACCOUNT]
GO

/****** Object:  StoredProcedure [dbo].[_CertifyTB_User]    Script Date: 05/19/2012 21:59:22 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO



-- 4. ALTER PROCEDURE _CertifyTB_User
CREATE PROCEDURE 
[dbo].[_CertifyTB_User]
    @
szUserID    varchar(25),
    @
szPassword    varchar(50)
AS



    if 
exists 
        
select 
            
'' 
        
from _Punishment with nolock )
        
where SerialNo = ( 
            
select 
                max
SerialNo from _BlockedUser with nolock 
            
where UserJID = ( SELECT JID FROM TB_User WHERE StrUserID = @szUserID ) and 
                
Type 99 and getdate() between timeBegin and timeEnd ) )
    
begin
        select convert
tinyint3), ( select JID from TB_User where StrUserID = @szUserID ), converttinyint0), converttinyint0)

        return
    
end
    
if exists (select 1 from TB_User where StrUserID=@szUserID and block=and expired>=GETDATE())
    
begin
        select convert
tinyint3), ( select JID from TB_User where StrUserID = @szUserID ), converttinyint0), converttinyint0)
        return
    
end
    
declare @nUserJID int
    
declare @sec_primary tinyint
    
declare @sec_content tinyint

    set    
@nUserJID        0
    set    
@sec_primary        0
    set    
@sec_content        0

-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-- ?????? ?????????? ???????? ??????
    declare @
ApplyType            tinyint
    
declare @AccPlayTime             int        
    
declare @LatestUpdateTime_ToPlayTime     int            

    set 
@ApplyType                 0        -- ?????? ?????????? ???????? ?????????? ???????? ???? ?????????? ???? ??????
    
set @AccPlayTime             0        
    set 
@LatestUpdateTime_ToPlayTime     0  
-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

-- ?????? ?????? ???? ????
--    
select @nUserJID JID, @sec_primary sec_primary, @sec_content sec_content from TB_User

    SELECT 
@nUserJID JID, @sec_primary sec_primary, @sec_content sec_content
    
, @AccPlayTime AccPlayTime, @LatestUpdateTime_ToPlayTime LatestUpdateTime_ToPlayTime FROM TB_User
    WHERE StrUserID 
= @szUserID and password = @szPassword 
    
--and AT=1

-- Edit For fatigue system
-- Pleasefill value to @ApplyType TEEN USER ADULT USER from your web database
-- ex ) @ApplyType exec web.proc.certify

    
if( @nUserJID or @nUserJID is null or @@error <> or @@rowcount 0)
    
begin
-- ?????? ?????? ???? ????
        
select converttinyint1), convertint0), converttinyint0), converttinyint0)
        --
select converttinyint1), convertint0), converttinyint0), converttinyint0), convert(tinyint0), convert(int0), convert(int0)
        return
    
end
    
if( existsselect Type from _BlockedUser where UserJID = @nUserJID and Type and getdate() between timeBegin and timeEnd))
    
begin
-- ?????? ?????? ???? ????
        
select converttinyint3), @nUserJIDconverttinyint0), converttinyint0)
        --
select converttinyint3), @nUserJIDconverttinyint0), converttinyint0), convert(tinyint0), convert(int0), convert(int0)
        return
    
end
-- ?????? ?????? ???? ????
select convert(tinyint0), @nUserJID, @sec_primary, @sec_content
    
--select convert(tinyint0), @nUserJID, @sec_primary, @sec_content, @ApplyType, @AccPlayTime, @LatestUpdateTime_ToPlayTime
    
return

GO 
6-create _CheckfreeAccess
PHP Code:
USE [SRO_VT_ACCOUNT]
GO

/****** Object:  StoredProcedure [dbo].[_CheckFreeAccess]    Script Date: 05/19/2012 22:04:52 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO




----------------------------------------------------------------------
-- &
#3616;ฺภฏมขฑูภฬ ฐกดษวัม๖ธฆ ศฎภฮวฯฑโ ภงวั วมทฮฝรมฎ 
----------------------------------------------------------------------
CREATE PROCEDURE [dbo].[_CheckFreeAccess]
    @
JID        INT,
    @
ShardID    INT
AS
    -- &
#3623;ุด็ JID ภว วุด็ ปตๅภว BanLvl ภฬ ฑโบปภฬ พฦดั พึต้ฟก EndTime ภป ฐกมฎฟยดู. 
    
DECLARE @EndTIme DATETIME 
    SET 
@EndTIme 0

    
-- &#3623;๖ภ็ ผณฐ่ ป๓ BANLevel ภฬ 4 ( BanLevel รึฐํฤก ) ภฮ ฐๆฟ์ฟกธธ FA ฐก ฐกดษวฯดู. 
    
SELECT TOP 1 @EndTIme Endtime 
        FROM _FreeAccess 
        WHERE JID 
= @JID 
            
AND ShardID = @ShardID 
        ORDER BY EndTime DESC
    
if exists (select 1 from TB_User where JID=@JID and block=1)
    
begin
        Select 1 
        
return
    
end
    
IF  ( @EndTIme <> )  AND (  DATEDIFFSECONDGETDATE(), @EndTIme  ) > )
     
BEGIN 
        
-- &#3613;รฐฃย๗ฐก พ็ผ๖, ฝรฐฃ ฟฉภฏฐก ภึดยณ๐ 
        
SELECT 1
    END 
    
ELSE 
    
BEGIN
        
-- &#3613;รฐฃย๗ฐก ภฝผ๖, ฝรฐฃ ฟฉภฏฐก พ๘ดยณ๐ 
        
SELECT 0
    END



GO 
7-create _ResetFreeAccess
PHP Code:
USE [SRO_VT_ACCOUNT]
GO

/****** Object:  StoredProcedure [dbo].[_ResetFreeAccess]    Script Date: 05/19/2012 22:06:14 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO




----------------------------------------------------------------------
-- &
#3603;ฏยฅฐก ม๖ณญ พึต้ภบ ป่มฆวุ น๖ธฐดู.
----------------------------------------------------------------------
CREATE PROCEDURE [dbo].[_ResetFreeAccess]
AS
    
DELETE FROM _FreeAccess WHERE GETDATE() > EndTime



GO 
now we finished AccountDB time for ShardDB

8-create table _FreeAccessBanlvl
PHP Code:
USE [SRO_VT_SHARD]
GO

/****** Object:  Table [dbo].[_FreeAccessBanLvl]    Script Date: 05/19/2012 22:07:30 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE 
[dbo].[_FreeAccessBanLvl](
    [
JID] [intNOT NULL,
    [
BanLvl] [intNOT NULL,
    [
EndTime] [datetimeNOT NULL
ON [PRIMARY]

GO 
9-create procedure _GetAllFreeAccessBanlvl
PHP Code:
USE [SRO_VT_SHARD]
GO

/****** Object:  StoredProcedure [dbo].[_GetAllFreeAccessBanLvl]    Script Date: 05/19/2012 22:10:17 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER OFF
GO




CREATE PROCEDURE 
[dbo].[_GetAllFreeAccessBanLvl]
AS
    -- &
#3608;ีภ๚ ฑโฐฃภฬ ม๖ณญ ณัภบ ม๖ฟ๖ น๖ธฐดู!
    
DELETE FROM _FreeAccessBanLvl 
    WHERE GETDATE
() > EndTime

    
IF EXISTS (SELECT JID FROM _FreeAccessBanLvl WITH (NOLOCK))
    
BEGIN
        
-- SELECT ALL!!
        
SELECT JIDBanLvlEndTime 
        FROM _FreeAccessBanLvl WITH 
(NOLOCK)     
    
END
    
ELSE
    
BEGIN
        
-- &#3607;นฤฺตๅฐก พ๘ดย ฐๆฟ์ ด๕นฬภป บธณปมึภฺ.
        
SELECT 00GETDATE()
    
END



GO 
10-create this function because the next stored procedure will ask for it
PHP Code:
USE [SRO_VT_SHARD]
GO

/****** Object:  UserDefinedFunction [dbo].[_DiffTime_CRTTIME_SQLTIME]    Script Date: 05/19/2012 22:13:17 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO



CREATE 
FUNCTION [dbo].[_DiffTime_CRTTIME_SQLTIME]
    (@
CRTTime INT, @SQLTime DATETIME)
RETURNS INT
AS
BEGIN
    
DECLARE @nTimeTo     INT
    
DECLARE @nTimeFrom    INT

    SET 
@nTimeTo     0
    SET 
@nTimeFrom    = @CRTTime

    SET 
@nTimeTo     DATEDIFFss'1970-01-01 09:00:00', @SQLTime )
/*
    DECLARE @nRemainHH    INT
    DECLARE @nRemainMM    INT
    DECLARE @nRemainSS    INT

    SET @nRemainHH     = (@nTimeTo - @nTimeFrom) / 60 / 60
    SET @nRemainMM     = (@nTimeTo - @nTimeFrom) / 60 - (@nRemainHH * 60)
    SET @nRemainSS    = (@nTimeTo - @nTimeFrom) - (@nRemainMM * 60 ) - (@nRemainHH * 60 * 60)
*/
/*
    RETURN cast( abs(@nRemainHH) as varchar(128)) + 'ฝรฐฃ'
        + cast( abs(@nRemainMM) as varchar(128)) + 'บะ'
        + cast( abs(@nRemainSS) as varchar(128)) + 'รส'
*/
    
RETURN (@nTimeFrom - @nTimeTo)
END




GO 
11- create procedure _InitializeFreeAccessBanLvl
PHP Code:
USE [SRO_VT_SHARD]
GO

/****** Object:  StoredProcedure [dbo].[_InitializeFreeAccessBanLvl]    Script Date: 05/20/2012 13:15:11 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO



CREATE proc 
[dbo].[_InitializeFreeAccessBanLvl]
as
    
delete _FreeAccessBanLvl where BanLvl in(34)

    declare @
CharID        int
    
declare @Category    int
    
declare @JobID        int
    
declare @TimeToKeep    int
    
declare @Data1        int
    
declare @Data3        int
    
declare @JID        int

    
declare @Gold1D_ItemID      int
    
declare @Gold4W_ItemID      int
    
declare @Silver1D_ItemID int
    
declare @Silver4W_ItemID int

    
declare @EndDateTime    datetime

    select 
@Gold1D_ItemID id  from _RefObjCommon with(nolockwhere codename128 'ITEM_MALL_GOLD_TIME_SERVICE_TICKET_1D'
    
if( @@error <> or @@rowcount )
    
begin
        raiserror
'1ภฯ ฐ๑ตๅลธภำ พฦภฬลภฬ พ๘ฝภดฯดู.'0)
        return -
1
    end

    select 
@Gold4W_ItemID id  from _RefObjCommon with(nolockwhere codename128 =  'ITEM_MALL_GOLD_TIME_SERVICE_TICKET_4W'
    
if( @@error <> or @@rowcount )
    
begin
        raiserror
'4มึ ฐ๑ตๅลธภำ พฦภฬลภฬ พ๘ฝภดฯดู.'0)
        return -
1
    end

    select 
@Silver1D_ItemID id  from _RefObjCommon with(nolockwhere codename128 =  'ITEM_MALL_SILVER_TIME_SERVICE_TICKET_1D'
    
if( @@error <> or @@rowcount )
    
begin
        raiserror
'1ภฯ ฝวน๖ลธภำ พฦภฬลภฬ พ๘ฝภดฯดู.'0)
        return -
1
    end

    select 
@Silver4W_ItemID id  from _RefObjCommon with(nolockwhere codename128 =  'ITEM_MALL_SILVER_TIME_SERVICE_TICKET_4W'
    
if( @@error <> or @@rowcount )
    
begin
        raiserror
'4มึ ฝวน๖ลธภำ พฦภฬลภฬ พ๘ฝภดฯดู.'0)
        return -
1
    end

    set 
@JID 0

    
declare @Date datetime
    
declare @DiffTime int
    set 
@Date cast(getdate() as datetime)

    declare 
timedjob_cursor  cursor fast_forward for    
    
    -- &
#3600;๑ตๅ, ฝวน๖, วมธฎนฬพ๖ พฦภฬล
    
select max(Category), max(JobID), max(TimeToKeep), max(Data1), maxisnull(Data30) ), CharID
    from _TimedJob with 
(nolock)
    
where Category or ( Category and JobID in( @Gold1D_ItemID,@Gold4W_ItemID,@Silver1D_ItemID,@Silver4W_ItemID ) )
    
group by CharID

    open timedjob_cursor

    fetch next from timedjob_cursor into 
@Category, @JobID, @TimeToKeep, @Data1, @Data3, @CharID

    
while @@fetch_status 0
    begin    
        select 
@JID UserJID from _User where CharID = @CharID
        
if @@rowcount or @@error <> 0
        begin
            close timedjob_cursor
            deallocate timedjob_cursor    
            Raiserror
('ฤณธฏลอฟก วุด็วฯดย ฐ่มคภฬ พ๘ณื! [%d]'116, @CharID)
            return -
1
        end

        
if( @Category 3  )
        
begin
            
declare @ItemTotalSecond int
            
            select 
@ItemTotalSecond param1 from _RefObjItem where id in select link from _RefObjCommon where id = @JobID )

            
set @TimeToKeep = @Data1 + ( @ItemTotalSecond + ( @Data3 86400 ) + 86400 )
        
end

        set 
@DiffTime dbo._DiffTime_CRTTIME_SQLTIME( @TimeToKeep, @Date )
        
set @EndDateTime DATEADD(second, @DiffTimegetdate())
        
insert into _FreeAccessBanLvl values(@JID,  4, @EndDateTime)

        
fetch next from timedjob_cursor into @Category, @JobID, @TimeToKeep, @Data1, @Data3, @CharID
    end

    close timedjob_cursor
    deallocate timedjob_cursor    






GO 
12-create procedure _InsertFreeAccessBanLvl_CashItemUsed and watch out from it because it link ShardDB with AccountDB
PHP Code:
USE [SRO_VT_SHARD]
GO

/****** Object:  StoredProcedure [dbo].[_InsertFreeAccessBanLvl_CashItemUsed]    Script Date: 05/19/2012 22:16:01 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO





CREATE PROCEDURE 
[dbo].[_InsertFreeAccessBanLvl_CashItemUsed]
    @
JID        INT,
    @
BanLevel    INT,
    @
ValidityTerm    INT,
    @
ShardID    INT    
AS
    DECLARE @
EndDate DATETIME
    SET 
@EndDate DATEADD(second, @ValidityTermGETDATE())

    -- &
#3616;ฯน ฑโฐฃมฆ พฦภฬลภว ป็ฟ๋ภบ วุด็ ฤณธฏลอทฮ ฑนวัตศดู.
    
INSERT INTO _FreeAccessBanLvl VALUES (@JID, @BanLevel, @EndDate)

-----------------------------------------------------------------------------------------------------------------------
    --[ 
Start !!! ] 2009.05.12FREE_ACCESS &#3600;ณผฑ by ta4rom
-----------------------------------------------------------------------------------------------------------------------
    --
AccountDB &#3617;ขผำ มคบธฟอ ตฅภฬลอบฃภฬฝบภฬธงภบ ม๗มข วฯตๅ ฤฺต๙ตวพ๎มฎ ภึดู. กฺ บฮบะ ศฎภฮ 

    
IF @BanLevel 
    BEGIN    
-- &#3609;ทนบง 4ภฯ ฐๆฟ์ฟกธธ, AcountDB ฟก วุด็ มคบธธฆ ณฒฑไดู. 
        
INSERT INTO SRO_VT_ACCOUNT.dbo._FreeAccess VALUES (@JID, @EndDate, @ShardID )
        -- &
#3585;ฺ _Account_For_SMC ภว Account DB ตฅภฬลอบฃภฬฝบธํภธทฮ พหธยฐิ ผ๖มค 
    
END 

-----------------------------------------------------------------------------------------------------------------------
    --[ 
End !!! ] 2009.05.12FREE_ACCESS &#3600;ณผฑ by ta4rom
-----------------------------------------------------------------------------------------------------------------------
        
    -- &
#3611;ตๅธลดฯภ๚ฟกฐิ พหทมมึฑโ ภงวุ ภฬ มภป วัดู. -_-
    
SELECT @JID, @BanLevel, @EndDate

GO 
look at that
PHP Code:
INSERT INTO SRO_VT_ACCOUNT.dbo._FreeAccess VALUES (@JID, @EndDate
so basically if you're useing the same names of DBs then just execute without edit and if it's not then change SRO_VT_ACCOUNT to w/e

13-create procedure _InsertFreeAccessBanLvl_SilkPurchased
PHP Code:
USE [SRO_VT_SHARD]
GO

/****** Object:  StoredProcedure [dbo].[_InsertFreeAccessBanLvl_SilkPurchased]    Script Date: 05/19/2012 22:19:35 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER OFF
GO



CREATE PROCEDURE 
[dbo].[_InsertFreeAccessBanLvl_SilkPurchased]
    @
JID        INT
AS
    DECLARE @
EndDate DATETIME
    SET 
@EndDate DATEADD(dd30GETDATE())

    
INSERT INTO _FreeAccessBanLvl VALUES (@JID1, @EndDate)

    -- &
#3611;ตๅธลดฯภ๚ฟกฐิ พหทมมึฑโ ภงวุ ภฬ มภป วัดู. -_-
    
SELECT @JID1, @EndDate



GO 
okay that's SQL side now server side and the easy part you will just need to add 2 parameters to server.cfg under Sr_ShardManager
PHP Code:
        EnablePremiumFreeAccess                1
        BanUselessUserWhenFreeAccess            1 
it's not recommended to set BanUselessUserWhenFreeAccess to 0 cause it may make flood when your server get crowded
okay you must download the GW too from Chrenobyl's thread and if you got problem with download server you can replace with BR's one it works too

Credit goes to : SnapPop
05/31/2012 22:35 Disco Teka#2
#approved
06/01/2012 10:20 IceAmStiel#3
You're not respecting others requests - that's extraordinarily disgraceful ;|

Right from RZ:
[Only registered and activated users can see links. Click Here To Register...]
06/01/2012 15:46 SnapPop#4
well i'm not gonna insult or even say anything after what you said Caipi
and the picture says everything
i'm just laughing when i read that "today i'm gonna share the leaked version of new sql revolution"
#ban my ID after this post it's not honor to stay here anymore
06/01/2012 17:08 •ᵔBeGodOfWarᵔ•#5
I've gave the credits guys ;( what the hell happen here?:S
06/01/2012 19:01 badibatu22#6
Quote:
Originally Posted by •ᵔBeGodOfWarᵔ• View Post
I've gave the credits guys ;( what the hell happen here?:S
you didnt understand and you will never , moron.
06/01/2012 23:07 pH33n1x<3#7
Won't work with VSRO Shard.
06/21/2014 18:33 ILowe#8
offline br gateway vsro fıles
06/24/2014 23:24 solomm#9
didn`t work !!