Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Rappelz > Rappelz Private Server
You last visited: Today at 15:27

  • Please register to post and access all features, it's quick, easy and FREE!

 

[small contribution] 9.1 real hidden village pass without official billing

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Apr 2012
Posts: 99
Received Thanks: 34
[small contribution] 9.1 real hidden village pass without official billing

Hy all ,
after a lot of search and test , i wan't to give you this good thing to replace the Ismokedrow smp_check_purchased_item function 'add buff/item' for 5 hour before lvl 30 :

this modded Telecaster.smp_insert_item check the item.id and if it's 910000 will insert it on Telecaster.dbo.paiditem with all needed infos, else insert normal item on Telecaster.dbo.item

after relog character , the real 910023 warp hv ticket as auto add on Telecaster.dbo.item and the char get the hv state for 30 days because you have the 910000 paiditem .

this smp are only tested on the 9.1 serverfiles modded of the [how-to] Setup 9.1 complete ( databases Auth and Telecaster released by Ismokedrow , Auth emu by Glandu2 and Arcadia and Gameserver by Ghost Informatics / Team Revolution ; THANK'S A LOT FOR ALL OF YOU)

this smp need :

--THIS dbo.paiditem :
Code:
USE [telecaster]
GO

/****** Object:  Table [dbo].[PaidItem]    Script Date: 29/03/2015 12:29:54 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[PaidItem](
	[sid] [int] IDENTITY(1,1) NOT NULL,
	[buy_id] [int] NOT NULL,
	[account_id] [int] NOT NULL,
	[avatar_id] [int] NOT NULL,
	[avatar_name] [varchar](61) NOT NULL,
	[server_name] [varchar](30) NOT NULL,
	[taken_account_id] [int] NOT NULL,
	[taken_avatar_id] [int] NOT NULL,
	[taken_avatar_name] [varchar](61) NOT NULL,
	[taken_server_name] [varchar](30) NOT NULL,
	[item_code] [int] NOT NULL,
	[item_count] [int] NOT NULL,
	[type] [tinyint] NOT NULL,
	[rest_item_count] [int] NOT NULL,
	[confirmed] [bit] NOT NULL,
	[confirmed_time] [datetime] NOT NULL,
	[bought_time] [datetime] NOT NULL,
	[valid_time] [datetime] NOT NULL,
	[taken_time] [datetime] NOT NULL,
	[isCancel] [bit] NOT NULL,
 CONSTRAINT [PK_IDX_PaidItem] PRIMARY KEY NONCLUSTERED 
(
	[sid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_avatar_id]  DEFAULT ((0)) FOR [avatar_id]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_avatar_name]  DEFAULT ('') FOR [avatar_name]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_server_name]  DEFAULT ('') FOR [server_name]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_taken_account_id]  DEFAULT ((0)) FOR [taken_account_id]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_taken_avatar_id]  DEFAULT ((0)) FOR [taken_avatar_id]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_taken_avatar_name]  DEFAULT ('') FOR [taken_avatar_name]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_taken_server_name]  DEFAULT ('') FOR [taken_server_name]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_type]  DEFAULT ((0)) FOR [type]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_is_taken]  DEFAULT ((0)) FOR [rest_item_count]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_confirmed]  DEFAULT ((0)) FOR [confirmed]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_confirmed_time]  DEFAULT ('9999-12-31') FOR [confirmed_time]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_valid_time]  DEFAULT ('9999-12-31') FOR [valid_time]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_taken_time]  DEFAULT ('9999-12-31') FOR [taken_time]
GO

ALTER TABLE [dbo].[PaidItem] ADD  CONSTRAINT [DF_PaidItem_isCancel_1]  DEFAULT ((0)) FOR [isCancel]
GO
--THIS smp_check_purchase_item :

Code:
USE [telecaster]
GO
/****** Object:  StoredProcedure [dbo].[smp_check_purchased_item]    Script Date: 3/29/2015 6:06:47 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- smp_read_purchased_item_list

-- start of smp_check_purchased_item   某浆袍 芒绊俊 酒捞袍 乐绰瘤 咯何 八荤
ALTER PROCEDURE [dbo].[smp_check_purchased_item]
@IN_ACCOUNT_ID			INT,
@IN_CHARACTER_ID		INT,
@OUT_TOTAL_ITEM_COUNT	INT		OUTPUT,
@OUT_NEW_ITEM_COUNT		INT		OUTPUT,
@OUT_PREMIUM_TICKET		INT		OUTPUT,
@OUT_PREMIUM_REST_TIME	INT		OUTPUT,
@OUT_STAMINA_REGEN_TIME	INT		OUTPUT

 
AS
SET NOCOUNT ON

	SET @OUT_PREMIUM_TICKET  = 0
	SET @OUT_PREMIUM_REST_TIME = 0
	SET @OUT_STAMINA_REGEN_TIME = 0

	SELECT @OUT_PREMIUM_TICKET = COUNT(*), @OUT_PREMIUM_REST_TIME = DATEDIFF( second, GETDATE(), MAX( valid_time ) ) FROM dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE() AND isCancel = 0

	IF @OUT_PREMIUM_TICKET < 1
	BEGIN
		SET @OUT_PREMIUM_REST_TIME = 0

		DECLARE @LOGOUT_TIME		DATETIME
		SET @LOGOUT_TIME = GETDATE()

		SELECT @LOGOUT_TIME = logout_time FROM Character WITH (NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND sid = @IN_CHARACTER_ID
		SELECT @OUT_STAMINA_REGEN_TIME = DATEDIFF( minute, @LOGOUT_TIME, MAX( valid_time ) ) FROM dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > @LOGOUT_TIME AND isCancel = 0

		IF @OUT_STAMINA_REGEN_TIME < 1 OR @OUT_STAMINA_REGEN_TIME IS NULL
		BEGIN
			SET @OUT_STAMINA_REGEN_TIME = 0
		END

	--DECLARE @NO_LV INT
	--DECLARE @NO_Total_JP INT
	--SELECT @NO_LV = MAX(lv), @NO_Total_JP = MAX(total_jp) from character WITH(NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND Name not like '@%'

	--IF  @NO_LV < 30 AND @NO_Total_JP < 100000
	--BEGIN
	--SET @OUT_PREMIUM_TICKET  = 1
	--SET @OUT_PREMIUM_REST_TIME = 3600 * 5
	--END

END

--IF  @OUT_PREMIUM_REST_TIME < 3600 * 5
--BEGIN
	
	--DECLARE @LV INT
	--DECLARE @Total_JP INT
	--SELECT @LV = MAX(lv), @Total_JP = MAX(total_jp) from character WITH(NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND Name not like '@%'

	--IF  @LV < 30 AND @Total_JP < 100000
	--BEGIN
	--SET @OUT_PREMIUM_TICKET  = 1
	--SET @OUT_PREMIUM_REST_TIME = 3600 * 5
	--END
--END


	SELECT @OUT_TOTAL_ITEM_COUNT = COUNT(*) from dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code <> 910000 AND rest_item_count > 0  AND valid_time > GETDATE() AND isCancel = 0
	SELECT @OUT_NEW_ITEM_COUNT   = COUNT(*) from dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code <> 910000 AND rest_item_count > 0  AND confirmed = 0 AND valid_time > GETDATE() AND isCancel = 0

RETURN @@ERROR
--THIS smp_read_purchased_item :

Code:
USE [telecaster]
GO
/****** Object:  StoredProcedure [dbo].[smp_read_purchased_item_list]    Script Date: 3/29/2015 6:07:33 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- smp_takeout_commercial_item

-- start of smp_read_purchased_item_list   某浆袍 芒绊 焊绰芭
ALTER PROCEDURE [dbo].[smp_read_purchased_item_list]

@IN_ACCOUNT_ID		INT
 
AS
SET NOCOUNT ON

-- 捞窍 郴侩篮 Billing 辑滚俊辑 角青
-- 酒捞袍 犬牢 咯何甫 技泼
UPDATE dbo.PaidItem SET confirmed = 1, confirmed_time = GETDATE() WHERE taken_account_id = @IN_ACCOUNT_ID AND confirmed = 0 AND isCancel = 0

SELECT  sid,                          -- ID
        account_id,            -- 备概茄 拌沥 ID
        avatar_id,             -- 备概茄 某腐 ID        ( "" 老版快权乔俊辑备概茄巴烙)
        avatar_name,           -- 备概茄 某腐 捞抚        ( "" 老版快权乔俊辑备概茄巴烙)
        server_name,			  -- 备概茄 辑滚 捞抚
        item_code,             -- 酒捞袍内靛
        item_count,            -- 备概茄 酒捞袍肮荐
        rest_item_count,		  -- 巢篮 酒捞袍 肮荐
        bought_time,           -- 备概矫埃
        valid_time             -- 蜡瓤矫埃( 力茄绝阑版快 9999-12-31 )
        FROM dbo.PaidItem WHERE taken_account_id [email protected]_ACCOUNT_ID AND rest_item_count > 0 AND item_code <> 910000 AND isCancel = 0 ORDER BY sid

RETURN @@ERROR
--THIS smp_update_takeout_info :

Code:
USE [telecaster]
GO
/****** Object:  StoredProcedure [dbo].[smp_update_takeout_info]    Script Date: 3/29/2015 6:08:11 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- start of dbo.smp_update_takeout_info

CREATE PROCEDURE [dbo].[smp_update_takeout_info]

@IN_CID				INT,
@IN_ACCOUNT_ID		INT,
@IN_COUNT			INT,
@IN_AVATAR_ID		INT,
@IN_AVATAR_NAME		VARCHAR(61),
@IN_SERVER_NAME		VARCHAR(30)

AS
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED  

UPDATE dbo.PaidItem SET

    rest_item_count = ( rest_item_count - @IN_COUNT ),
    taken_avatar_id = @IN_AVATAR_ID,
    taken_avatar_name = @IN_AVATAR_NAME,
    taken_server_name = @IN_SERVER_NAME,
    taken_time = GETDATE()

    WHERE sid = @IN_CID AND taken_account_id = @IN_ACCOUNT_ID
-- end of dbo.smp_update_takeout_info
--THIS smp_takeout_commercial_item :

Code:
USE [telecaster]
GO
/****** Object:  StoredProcedure [dbo].[smp_takeout_commercial_item]    Script Date: 3/29/2015 6:07:50 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- start of smp_takeout_commercial    某浆袍 芒绊俊辑 酒捞袍 波郴绰芭
ALTER PROCEDURE [dbo].[smp_takeout_commercial_item]
@OUT_ITEM_CODE		INT OUTPUT,
@IN_CID				INT,
@IN_COUNT			BIGINT,
@IN_ACCOUNT_ID		INT,
@IN_AVATAR_ID		INT,
@IN_AVATAR_NAME		VARCHAR(61),
@IN_SERVER_NAME		VARCHAR(30),
@IN_SID				INT,
@IN_REMAIN_TIME		INT

AS
SET NOCOUNT ON

SET @OUT_ITEM_CODE = 0

DECLARE @RET INT
SET @RET = 0

-- 肮荐 捞惑
IF @IN_COUNT < 1
BEGIN
	SET @RET = -1
    GOTO ON_END
END

DECLARE @REST_ITEM_COUNT INT
SET @REST_ITEM_COUNT = -1

-- 困狼 橇肺矫历绰 Billing DB俊辑 酒贰狼 郴侩阑 荐青
SELECT @REST_ITEM_COUNT = rest_item_count FROM dbo.PaidItem WITH (NOLOCK) WHERE sid = @IN_CID AND isCancel = 0;
IF @@ERROR <> 0
BEGIN
	SET @RET = -11
    GOTO ON_END
END

IF @REST_ITEM_COUNT < @IN_COUNT
BEGIN
	SET @RET = -2
    GOTO ON_END
END

-- 家蜡鼻 八荤 棺 酒捞袍 内靛 掘扁
DECLARE @ACCOUNT_ID INT
SET @ACCOUNT_ID = -1

-- 困狼 橇肺矫历绰 Billing DB俊辑 酒贰狼 郴侩阑 荐青
SELECT @OUT_ITEM_CODE = item_code, @ACCOUNT_ID = taken_account_id FROM dbo.PaidItem WITH (NOLOCK) WHERE sid = @IN_CID;
IF @@ERROR <> 0
BEGIN
	SET @RET = -12
    GOTO ON_END
END

IF @OUT_ITEM_CODE = 910000
BEGIN
	SET @RET = -3
    GOTO ON_END
END

IF @ACCOUNT_ID <> @IN_ACCOUNT_ID
BEGIN
    SET @OUT_ITEM_CODE = 0
	SET @RET = -4
    GOTO ON_END
END

-- 波辰促
EXEC dbo.smp_update_takeout_info @IN_CID, @IN_ACCOUNT_ID, @IN_COUNT, @IN_AVATAR_ID, @IN_AVATAR_NAME, @IN_SERVER_NAME
-- 困狼 橇肺矫历绰 Billing DB俊辑 酒贰狼 郴侩阑 荐青
-- DECLARE @REST_ITEM_COUNT INT
-- SELECT @REST_ITEM_COUNT = rest_item_count FROM dbo.PaidItem WITH (NOLOCK) WHERE sid = @IN_CID AND isCancel = 0;

-- UPDATE dbo.PaidItem SET

--     rest_item_count = ( @REST_ITEM_COUNT - @IN_COUNT ),
--     taken_avatar_id = @IN_AVATAR_ID,
--     taken_avatar_name = @IN_AVATAR_NAME,
--     taken_server_name = @IN_SERVER_NAME,
--     taken_time = GETDATE()
    
--     WHERE sid = @IN_CID AND taken_account_id = @IN_ACCOUNT_ID
IF @@ERROR <> 0
BEGIN
	SET @RET = 1
    GOTO ON_END
END

-- 霸烙 DB 俊 火涝
INSERT INTO Item
	(
	sid,							-- 0
	owner_id,						-- 1
	account_id,						-- 2
	summon_id,						-- 3
	auction_id,						-- 4
	keeping_id,						-- 5
	previous_sid,					-- 6
	code,							-- 7
	flag,							-- 8
	cnt,							-- 9
	level,							-- 10
	enhance,						-- 11
	ethereal_durability,					-- 12
	endurance,						-- 13
	gcode,							-- 14
	create_time,					-- 15
	wear_info,						-- 16
	socket_0,						-- 17
	socket_1,						-- 18
	socket_2,						-- 19
	socket_3,						-- 20
	remain_time,					-- 21
	elemental_effect_type,			-- 22
	elemental_effect_expire_time,	-- 23
	elemental_effect_attack_point,	-- 24
	elemental_effect_magic_point,	-- 25
	update_time						-- 26
	)
	VALUES
	(
	@IN_SID,								-- 0
	@IN_AVATAR_ID,							-- 1
	0,										-- 2 (Account_ID甫 持阑 荐绰 乐瘤父 某腐磐 牢亥配府肺 荐飞捞骨肺 0捞 嘎澜)
	0,										-- 3
	0,										-- 4
	0,										-- 5
	0,										-- 6
	@OUT_ITEM_CODE,							-- 7
	0,										-- 8
	@IN_COUNT,								-- 9
	1,										-- 10
	0,										-- 11
	0,										-- 12
	0,										-- 13
	30,										-- 14
	GETDATE(),								-- 15
	-1,										-- 16
	0,										-- 17
	0,										-- 18
	0,										-- 19
	0,										-- 20
	@IN_REMAIN_TIME,						-- 21
	0,										-- 22
	CONVERT( DATETIME, '1970-01-01', 120 ),	-- 23
	0,										-- 24
	0,										-- 25
	GETDATE()								-- 26
	);

IF @@ERROR <> 0
BEGIN
	SET @RET = 2
    GOTO ON_END
END

SET @RET = 0

ON_END:
RETURN @RET
--hv pass (910000) to an market :

PHP Code:
USE Arcadia
INSERT INTO dbo
.MarketResource ([sort_id] ,[name] ,[code],[price_ratio],[huntaholic_ratio],[arena_ratio])
VALUES (2000000001,'hvpass',910000,10.000,0.000,0.000)
GO
2 000 000 Rupy 
--add 'hvpass' market on the npc you want ( lua )

and

--THIS smp_insert_item :

Code:
USE [Telecaster]
GO
/****** Object:  StoredProcedure [dbo].[smp_insert_item]    Script Date: 04/04/2015 01:57:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- start of smp_insert_item
ALTER PROCEDURE [dbo].[smp_insert_item]
	@IN_SID								BIGINT,
	@IN_OWNER_ID						INT,
	@IN_ACCOUNT_ID						INT,
	@IN_SUMMON_ID						INT,
	@IN_AUCTION_ID						INT,
	@IN_KEEPING_ID						INT,
	@IN_CODE							INT,  
	@IN_PREVIOUS_SID					BIGINT,
	@IN_FLAG							INT,
	@IN_CNT								BIGINT,
	@IN_LEVEL							INT,
	@IN_ENHANCE							INT,
	@IN_ETHEREAL_DURABILITY				INT,
	@IN_ENDURANCE						INT,
	@IN_SOCKET_0						INT,
	@IN_SOCKET_1						INT,
	@IN_SOCKET_2						INT,
	@IN_SOCKET_3						INT,
	@IN_GCODE							INT,
	@IN_REMAIN_TIME						INT,
	@IN_ELEMENTAL_EFFECT_TYPE			TINYINT,
	@IN_ELEMENTAL_EFFECT_EXPIRE_TIME	DATETIME,
	@IN_ELEMENTAL_EFFECT_ATTACK_POINT	INT,
	@IN_ELEMENTAL_EFFECT_MAGIC_POINT	INT,
	@IN_APPEARANCE_CODE					INT,
	@IN_SUMMON_CODE						INT
AS
BEGIN
	SET NOCOUNT ON
	
	IF @IN_CODE = 910000
		BEGIN
		DECLARE @IN_ACCOUNT					INT;
		SELECT @IN_ACCOUNT = account_id FROM dbo.Character where sid = @IN_OWNER_ID
		DECLARE @IN_AVATAR_NAME				NVARCHAR(31);
		SELECT @IN_AVATAR_NAME = name FROM dbo.Character where sid = @IN_OWNER_ID
		INSERT INTO [dbo].[PaidItem]
           ([buy_id]
           ,[account_id]
           ,[avatar_id]
           ,[avatar_name]
           ,[server_name]
           ,[taken_account_id]
           ,[taken_avatar_id]
           ,[taken_avatar_name]
           ,[taken_server_name]
           ,[item_code]
           ,[item_count]
           ,[type]
           ,[rest_item_count]
           ,[confirmed]
           ,[confirmed_time]
           ,[bought_time]
           ,[valid_time]
           ,[taken_time]
           ,[isCancel])
		VALUES
           (1
           ,@IN_ACCOUNT
           ,@IN_OWNER_ID
           ,@IN_AVATAR_NAME
           ,'RappelZFamilY'        --EDIT THIS WITH YOUR SERVER NAME
           ,@IN_ACCOUNT
           ,@IN_OWNER_ID
           ,@IN_AVATAR_NAME
           ,'RappelZFamilY'        --EDIT THIS WITH YOUR SERVER NAME
           ,910000
           ,@IN_CNT
           ,1
           ,0
           ,1
           ,GETDATE()
           ,GETDATE()
           ,CONVERT( DATETIME, DATEADD(s, @IN_REMAIN_TIME, '1970-01-01 00:00:00.000' ))
           ,GETDATE()
           ,0)
		END
	ELSE
		BEGIN
		DECLARE @RET INT
		SET @RET = 0

		INSERT INTO dbo.Item (
			sid,					-- 0
			owner_id,				-- 1
			account_id,				-- 2
			summon_id,				-- 3
			auction_id,				-- 4
			keeping_id,				-- 5
			previous_sid,			-- 6
			code,					-- 7
			flag,					-- 8
			cnt,					-- 9
			level,					-- 10
			enhance,				-- 11
			ethereal_durability,	-- 12
			endurance,				-- 13
			gcode,					-- 14
			create_time,			-- 15
			wear_info,				-- 16
			socket_0,				-- 17
			socket_1,				-- 18
			socket_2,				-- 19
			socket_3,				-- 20
			awaken_sid,				-- 21
			random_option_sid,		-- 22
			remain_time,			-- 23
			elemental_effect_type,	-- 24
			elemental_effect_expire_time,	-- 25
			elemental_effect_attack_point,	-- 26
			elemental_effect_magic_point,	-- 27
			appearance_code,		-- 28
			update_time,			-- 29
			summon_code				-- 30
		)
		VALUES
		(
			@IN_SID,				-- 0
			@IN_OWNER_ID,			-- 1
			@IN_ACCOUNT_ID,			-- 2
			@IN_SUMMON_ID,			-- 3
			@IN_AUCTION_ID,			-- 4
			@IN_KEEPING_ID,			-- 5
			@IN_PREVIOUS_SID,		-- 6
			@IN_CODE,				-- 7
			@IN_FLAG,				-- 8
			@IN_CNT,				-- 9
			@IN_LEVEL,				-- 10
			@IN_ENHANCE,			-- 11
			@IN_ETHEREAL_DURABILITY,	-- 12
			@IN_ENDURANCE,			-- 13
			@IN_GCODE,				-- 14
			GETDATE(),				-- 15	
			-1,						-- 16
			@IN_SOCKET_0,			-- 17
			@IN_SOCKET_1,			-- 18
			@IN_SOCKET_2,			-- 19
			@IN_SOCKET_3,			-- 20
			0,						-- 21
			0,						-- 22
			@IN_REMAIN_TIME,		-- 23
			@IN_ELEMENTAL_EFFECT_TYPE,	-- 24
			@IN_ELEMENTAL_EFFECT_EXPIRE_TIME,	-- 25
			@IN_ELEMENTAL_EFFECT_ATTACK_POINT,	-- 26
			@IN_ELEMENTAL_EFFECT_MAGIC_POINT,	-- 27
			@IN_APPEARANCE_CODE,	-- 28
			GETDATE(),				-- 29
			@IN_SUMMON_CODE			-- 30
			);
	END

	SET @RET = @@ERROR
	RETURN @RET
	-- end of smp_insert_item
END
ENJOY

I'm work on update the relog char obligation to auto control paiditem , but not this night



nimoht is offline  
Thanks
4 Users
Old   #2
 
elite*gold: 0
Join Date: Oct 2010
Posts: 2,557
Received Thanks: 2,411
I just made a check on_login.lua that says if user has HV to give him the ticket @ login.


ismokedrow is offline  
Old   #3
 
elite*gold: 0
Join Date: Apr 2012
Posts: 99
Received Thanks: 34
Quote:
Originally Posted by ismokedrow View Post
I just made a check on_login.lua that says if user has HV to give him the ticket @ login.
the smp_check_purchased_item you released are this :
Code:
USE [telecaster]
GO
/****** Object:  StoredProcedure [dbo].[smp_check_purchased_item]    Script Date: 3/29/2015 6:06:47 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- smp_read_purchased_item_list

-- start of smp_check_purchased_item   某浆袍 芒绊俊 酒捞袍 乐绰瘤 咯何 八荤
ALTER PROCEDURE [dbo].[smp_check_purchased_item]
@IN_ACCOUNT_ID			INT,
@IN_CHARACTER_ID		INT,
@OUT_TOTAL_ITEM_COUNT	INT		OUTPUT,
@OUT_NEW_ITEM_COUNT		INT		OUTPUT,
@OUT_PREMIUM_TICKET		INT		OUTPUT,
@OUT_PREMIUM_REST_TIME	INT		OUTPUT,
@OUT_STAMINA_REGEN_TIME	INT		OUTPUT

 
AS
SET NOCOUNT ON

	SET @OUT_PREMIUM_TICKET  = 0
	SET @OUT_PREMIUM_REST_TIME = 0
	SET @OUT_STAMINA_REGEN_TIME = 0

	SELECT @OUT_PREMIUM_TICKET = COUNT(*), @OUT_PREMIUM_REST_TIME = DATEDIFF( second, GETDATE(), MAX( valid_time ) ) FROM dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE() AND isCancel = 0

	IF @OUT_PREMIUM_TICKET < 1
	BEGIN
		SET @OUT_PREMIUM_REST_TIME = 0

		DECLARE @LOGOUT_TIME		DATETIME
		SET @LOGOUT_TIME = GETDATE()

		SELECT @LOGOUT_TIME = logout_time FROM Character WITH (NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND sid = @IN_CHARACTER_ID
		SELECT @OUT_STAMINA_REGEN_TIME = DATEDIFF( minute, @LOGOUT_TIME, MAX( valid_time ) ) FROM dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > @LOGOUT_TIME AND isCancel = 0

		IF @OUT_STAMINA_REGEN_TIME < 1 OR @OUT_STAMINA_REGEN_TIME IS NULL
		BEGIN
			SET @OUT_STAMINA_REGEN_TIME = 0
		END

	DECLARE @NO_LV INT
	DECLARE @NO_Total_JP INT
	SELECT @NO_LV = MAX(lv), @NO_Total_JP = MAX(total_jp) from character WITH(NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND Name not like '@%'

	IF  @NO_LV < 30 AND @NO_Total_JP < 100000
	BEGIN
	SET @OUT_PREMIUM_TICKET  = 1
	SET @OUT_PREMIUM_REST_TIME = 3600 * 5
	END

END

--IF  @OUT_PREMIUM_REST_TIME < 3600 * 5
--BEGIN
	
	--DECLARE @LV INT
	--DECLARE @Total_JP INT
	--SELECT @LV = MAX(lv), @Total_JP = MAX(total_jp) from character WITH(NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND Name not like '@%'

	--IF  @LV < 30 AND @Total_JP < 100000
	--BEGIN
	--SET @OUT_PREMIUM_TICKET  = 1
	--SET @OUT_PREMIUM_REST_TIME = 3600 * 5
	--END
--END


	SELECT @OUT_TOTAL_ITEM_COUNT = COUNT(*) from dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code <> 910000 AND rest_item_count > 0  AND valid_time > GETDATE() AND isCancel = 0
	SELECT @OUT_NEW_ITEM_COUNT   = COUNT(*) from dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code <> 910000 AND rest_item_count > 0  AND confirmed = 0 AND valid_time > GETDATE() AND isCancel = 0

RETURN @@ERROR
your smp set premium if you not for 5 hours before lvl30 and just this ,
not needed ticket 910000 or 910023 , it give buff and ticket at all the characters on login .

with my smp's if you spend Rupy to buy ticket you have it for 1 month
if no , you haren't premium
nimoht is offline  
Old   #4
 
elite*gold: 20
Join Date: Sep 2010
Posts: 57
Received Thanks: 25
i dont know why you guys made it so complicated.

Just create a little addon in smp_insert_character.

Code:
IF NOT EXISTS(select * from dbo.PaidItem where account_id = @IN_ACCOUNT_ID and item_code = 910000)
BEGIN
INSERT INTO [dbo].[PaidItem]([account_id],[avatar_id],[avatar_name],[item_code],[item_count],[rest_item_count],[bought_time],[valid_time]
,[server_name],[taken_avatar_id],[taken_avatar_name],[taken_server_name],[taken_time],[taken_account_id],[confirmed],[confirmed_time],[isCancel])
VALUES(@IN_ACCOUNT_ID,@OUT_SID,NULL,910000,1,0,GETDATE(),GETDATE()+700,NULL,NULL,NULL,NULL,NULL,@IN_ACCOUNT_ID,NULL,NULL,0) 
END
P.S. The above code is used for 6.2 Files, i didnt test it on 9.1 since im not downloading creepy epic's :P


Saltaya is offline  
Old   #5
 
elite*gold: 0
Join Date: Apr 2012
Posts: 99
Received Thanks: 34
Smile

Quote:
Originally Posted by Saltaya View Post
i dont know why you guys made it so complicated.

Just create a little addon in smp_insert_character.

Code:
IF NOT EXISTS(select * from dbo.PaidItem where account_id = @IN_ACCOUNT_ID and item_code = 910000)
BEGIN
INSERT INTO [dbo].[PaidItem]([account_id],[avatar_id],[avatar_name],[item_code],[item_count],[rest_item_count],[bought_time],[valid_time]
,[server_name],[taken_avatar_id],[taken_avatar_name],[taken_server_name],[taken_time],[taken_account_id],[confirmed],[confirmed_time],[isCancel])
VALUES(@IN_ACCOUNT_ID,@OUT_SID,NULL,910000,1,0,GETDATE(),GETDATE()+700,NULL,NULL,NULL,NULL,NULL,@IN_ACCOUNT_ID,NULL,NULL,0) 
END
P.S. The above code is used for 6.2 Files, i didnt test it on 9.1 since im not downloading creepy epic's :P
it's i'm made on smp_insert_item with if item_code = 910000
insert to paiditem else insert to item
nimoht is offline  
Old   #6

 
elite*gold: 44
Join Date: Sep 2014
Posts: 104
Received Thanks: 162
maybe this problem cu'z you don't add arcadiainfo database iforgot to Share it with files .. i will publish them in the future
Ghost Informatics is offline  
Old   #7
 
elite*gold: 0
Join Date: Apr 2012
Posts: 99
Received Thanks: 34
Ok thanks in advance Ghost
nimoht is offline  
Old   #8
 
elite*gold: 0
Join Date: Aug 2012
Posts: 312
Received Thanks: 252
Quote:
Originally Posted by Ghost Informatics View Post
maybe this problem cu'z you don't add arcadiainfo database iforgot to Share it with files .. i will publish them in the future
but easy to re create it you have all the insert function into smp just look them
gr4ph0s is offline  
Old   #9
 
elite*gold: 0
Join Date: Apr 2011
Posts: 273
Received Thanks: 69
take the shortest way. check if premium > return true ... and that's it
TheSuperKiller is offline  
Old   #10
 
elite*gold: 0
Join Date: Apr 2012
Posts: 99
Received Thanks: 34
Quote:
Originally Posted by gr4ph0s View Post
but easy to re create it you have all the insert function into smp just look them
Thank you Graphos , i will search on this when i have some time


nimoht is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
[Help]hidden Village
Hello, please help how to make a hidden village for 30 days as on the official server. thanks in advance
2 Replies - Rappelz Private Server
Hidden Village pass.... it's impossible, but serenity?
opening this thread only to be reassured: it's impossible to have clikkable HV pass that doesn't disppear @ login. I've been in a lot of different...
22 Replies - Rappelz Private Server
rappelz hidden village pass 30 days code
hi, rappelz hidden village pass 30 day code?
6 Replies - Rappelz Private Server
A Small Contribution
Since I am pretty crap at scripting, hacking and generally life :p I can't contribute a great deal to this community in those terms, but I do...
8 Replies - Lin2 Exploits, Hacks, Bots, Tools & Macros



All times are GMT +2. The time now is 15:27.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy
Copyright ©2017 elitepvpers All Rights Reserved.