Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Rappelz > Rappelz Private Server
You last visited: Today at 12:48

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

Advertisement



Hotkeys wont save?

Discussion on Hotkeys wont save? within the Rappelz Private Server forum part of the Rappelz category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2010
Posts: 255
Received Thanks: 14
Hotkeys wont save?

Hey guys, I have a small problem with my skills staying on the skill bar after i log off. I don't really know where to start looking to solve the issue.

The files i am using are the 8.1 files found here:


I would be thankful to receive help from you guys c:.
piratehat2 is offline  
Old 06/24/2013, 06:13   #2
 
elite*gold: 0
Join Date: Mar 2010
Posts: 160
Received Thanks: 24
Open your gameserver.opt ....change

"T game.cash_usable_server:1"
To...
"T game.cash_usable_server:0"

Delete your gameserver.eop....run rappelz compress....drag your newly edited gameserver.opt over to the compress window and drop it in there....poof..now the skill bar wont vanish.
Azreil is offline  
Thanks
2 Users
Old 06/24/2013, 06:55   #3
 
elite*gold: 0
Join Date: Dec 2010
Posts: 255
Received Thanks: 14
Thank you very much for the quick response and easy fix
piratehat2 is offline  
Old 06/24/2013, 12:58   #4
Moderator


 
ThunderNikk's Avatar
 
elite*gold: 1
Join Date: Dec 2012
Posts: 4,779
Received Thanks: 1,461
Not quite as easy as that, Ill be back when you want to figure out how to get HV working again.
ThunderNikk is offline  
Old 06/24/2013, 21:15   #5
 
elite*gold: 0
Join Date: Dec 2010
Posts: 255
Received Thanks: 14
Quote:
Originally Posted by thndr View Post
Not quite as easy as that, Ill be back when you want to figure out how to get HV working again.
I was, and still am aware that changing it to 0 makes HV ineffective. However I have this awesome Zoidberg GM tool that allows me to give myself HV buffs.
piratehat2 is offline  
Old 06/24/2013, 21:40   #6
 
elite*gold: 0
Join Date: Jun 2013
Posts: 45
Received Thanks: 32
The Hotkeys going missing coincide with a message in notice mode (Cannot Connect To Server) which coincides to an error throw both on the GameServer Console Log and in the GameLog.txt located in the server_bin (server folder)

This error is thrown by:

dbo.smp_check_purchased_item

Code:
USE [teal_sky_telecaster_test]
GO
/****** Object:  StoredProcedure [dbo].[smp_check_purchased_item]    Script Date: 6/24/2013 9:38:35 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER PROCEDURE [dbo].[smp_check_purchased_item]

@IN_ACCOUNT_ID INT,
@IN_SID INT,
@OUT_TOTAL_ITEM_COUNT INT OUTPUT,	/* Total Item Count */
@OUT_NEW_ITEM_COUNT INT OUTPUT,		/* New Item Count (AKA New presents received)*/
@OUT_PREMIUM_TICKET INT OUTPUT,		/* Premium Ticket Flag - 0 = No Pass*/
@OUT_PREMIUM_REST_TIME INT OUTPUT,	/* HV Pass Time Remaining */
@OUT_STAMINA_REGEN_TIME INT OUTPUT	/* Stam Regen Time (Stam Bonus) */

AS
SET NOCOUNT ON

SET @OUT_NEW_ITEM_COUNT = 10 
SET @OUT_STAMINA_REGEN_TIME = 20 

SET @OUT_PREMIUM_TICKET = 0
SET @OUT_PREMIUM_REST_TIME = 0

SELECT @OUT_PREMIUM_TICKET = COUNT(*) from PaidItem WITH (NOLOCK) where taken_account_id = @IN_ACCOUNT_ID and item_code = 910000 and valid_time > GETDATE()

IF @OUT_PREMIUM_TICKET > 0
BEGIN

/* Extend the Pass on first login after it is purchased to grant the user to full time on the pass based on the first login */
UPDATE PaidItem set valid_time = DATEADD(s, DATEDIFF(s, bought_time, GETDATE()), valid_time), taken_time = GETDATE() where taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND taken_time IS NULL

/** Combine passes by invalidating older passes and adding the combined extra time onto the most recently purchased pass **/
DECLARE @VALID_PASS_COUNT INT
SET @VALID_PASS_COUNT = 0

DECLARE @COMBINED_TIME INT
SET @COMBINED_TIME = 0

DECLARE @NEWEST_PASS INT
SET @NEWEST_PASS = -1

-- Check for more than one pass in Item Box.  If there are combine them into one pass.
SELECT @VALID_PASS_COUNT = COUNT(*) FROM PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE()

IF @VALID_PASS_COUNT > 1
	BEGIN
		-- Get the combined time of all active passes
		SELECT @COMBINED_TIME = SUM(DATEDIFF(s, GETDATE(), valid_time)) from PaidItem where taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE()
		
		-- Select the most recent pass
		SELECT TOP (1) @NEWEST_PASS = sid from PaidItem where taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE() ORDER BY bought_time DESC
		
		-- Invalidate all but the most recent pass
		SET ROWCOUNT 1
		WHILE 1=1
		BEGIN
			UPDATE PaidItem set valid_time = GETDATE(), rest_item_count=0 WHERE sid IN ( SELECT TOP 1 sid FROM PaidItem WITH (NOLOCK) WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE() AND sid <> @NEWEST_PASS )
			IF @@ROWCOUNT = 0 BREAK
		END
		SET ROWCOUNT 0

		-- Extend the most recent pass by the Combined time - the current time
		UPDATE PaidItem set valid_time = DATEADD(s, @COMBINED_TIME, GETDATE()), rest_item_count=0 WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE()AND sid = @NEWEST_PASS
	END
-- end combine passes
	
SELECT @OUT_PREMIUM_REST_TIME = MAX(DATEDIFF(s, GETDATE(), valid_time)) from PaidItem WITH (NOLOCK) where taken_account_id = @IN_ACCOUNT_ID and item_code = 910000 and valid_time > GETDATE()

SELECT @OUT_TOTAL_ITEM_COUNT = COUNT(*) from PaidItem WITH (NOLOCK) where taken_account_id = @IN_ACCOUNT_ID and rest_item_count > 0;
SELECT @OUT_NEW_ITEM_COUNT = COUNT(*) from PaidItem WITH (NOLOCK) where taken_account_id = @IN_ACCOUNT_ID and rest_item_count > 0 and confirmed = 0;

END

RETURN @@ERROR
dbo.smp_read_purchased_item_list

Code:
USE [teal_sky_telecaster_test]
GO
/****** Object:  StoredProcedure [dbo].[smp_read_purchased_item_list]    Script Date: 6/24/2013 9:39:17 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[smp_read_purchased_item_list]

@IN_ACCOUNT_ID          INT
 
AS
SET NOCOUNT ON

-- ¾ئہجإغ ب®ہخ ؟©؛خ¸¦ ¼¼ئأ
UPDATE dbo.PaidItem set confirmed = 1, confirmed_time = GETDATE() WHERE taken_account_id = @IN_ACCOUNT_ID and confirmed = 0;

SELECT  sid,                          -- ID
        account_id,            -- ±¸¸إار °èء¤ ID
        avatar_id,             -- ±¸¸إار ؤ³¸¯ ID        ( -1 ہد°و؟ىب¨اا؟،¼*±¸¸إار°حہس)
        avatar_name,           -- ±¸¸إار ؤ³¸¯ ہج¸§        ( -1 ہد°و؟ىب¨اا؟،¼*±¸¸إار°حہس)
        server_name,                      -- ±¸¸إار ¼*¹ِ ہج¸§
        item_code,             -- ¾ئہجإغؤعµه
        item_count,            -- ±¸¸إار ¾ئہجإغ°¹¼ِ
        rest_item_count,                  -- ³²ہ؛ ¾ئہجإغ °¹¼ِ
        bought_time,           -- ±¸¸إ½أ°£
        valid_time             -- ہ¯ب؟½أ°£( ء¦ار¾ّہ»°و؟ى-12-31 )
               
        FROM dbo.PaidItem WITH (NOLOCK) WHERE taken_account_id = @IN_ACCOUNT_ID and rest_item_count > 0 
        -- The below shows items after they have been taken
        --or sid in ( select sid from dbo.PaidItem WITH(NOLOCK) WHERE taken_account_id =@IN_ACCOUNT_ID and rest_item_count = 0)

RETURN @@ERROR
dbo.smp_takeout_commercial_item

Code:
USE [teal_sky_telecaster_test]
GO
/****** Object:  StoredProcedure [dbo].[smp_takeout_commercial_item]    Script Date: 6/24/2013 9:39:39 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[smp_takeout_commercial_item]

@OUT_ITEM_CODE          INT OUTPUT,
@IN_SID                 INT,
@IN_COUNT               INT,
@IN_ACCOUNT_ID          INT,
@IN_AVATAR_ID           INT,
@IN_AVATAR_NAME         VARCHAR(61),
@IN_SERVER_NAME         VARCHAR(30),
@IN_TRANSACTION_CODE	INT,
@IN_IDX					INT
 
AS
SET NOCOUNT ON

SET @OUT_ITEM_CODE = 0

DECLARE @RET INT
SET @RET = -1

DECLARE @REST_ITEM_COUNT INT
SET @REST_ITEM_COUNT = -1

-- °¹¼ِ ہج»َ
IF @IN_COUNT < 1
BEGIN
    GOTO ON_END
END

BEGIN TRANSACTION

	SELECT @REST_ITEM_COUNT = rest_item_count FROM dbo.PaidItem WHERE sid = @IN_SID;

	IF @REST_ITEM_COUNT < @IN_COUNT
	BEGIN
		ROLLBACK TRANSACTION
        GOTO ON_END
	END

	-- Remove item(s) from Item Box
	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_SID and taken_account_id = @IN_ACCOUNT_ID;
    SET @RET = 0

	DECLARE @ACCOUNT_ID INT
	SET @ACCOUNT_ID = -1

	SELECT @OUT_ITEM_CODE = item_code, @ACCOUNT_ID = taken_account_id from dbo.PaidItem where sid = @IN_SID;

	IF @ACCOUNT_ID <> @IN_ACCOUNT_ID
		BEGIN
			SET @OUT_ITEM_CODE = 0
			ROLLBACK TRANSACTION
			GOTO ON_END
		END

	-- Add the item(s) to the character
	INSERT INTO dbo.Item (

		sid,							-- 0
		owner_id,						-- 1
		account_id,						-- 2
		summon_id,						-- 3
		auction_id,						-- 4
		keeping_id,						-- 5
		idx,							-- 6
		code,							-- 7
		flag,							-- 8
		cnt,							-- 9
		[level],						-- 10
		enhance,
		ethereal_durability,						-- 11
		endurance,						-- 12
		gcode,							-- 13
		create_time,						-- 14
		wear_info,						-- 15
		socket_0,						-- 16
		socket_1,						-- 17
		socket_2,						-- 18
		socket_3,						-- 19
		remain_time,						-- 20
		elemental_effect_type,					-- 21
		elemental_effect_expire_time,				-- 22
		elemental_effect_attack_point,				-- 23
		elemental_effect_magic_point,				-- 24
		update_time						-- 25

	)
	VALUES (
	
		@IN_TRANSACTION_CODE,					-- 0
		@IN_AVATAR_ID,						-- 1
		@IN_ACCOUNT_ID,						-- 2
		0,							-- 3
		0,							-- 4
		0,							-- 5
		@IN_IDX,						-- 6
		@OUT_ITEM_CODE,						-- 7
		0,							-- 8
		@IN_COUNT,						-- 9
		0,							-- 10
		0,
		0,							-- 11
		0,							-- 12
		0,							-- 13
		GETDATE(),						-- 14	
		-1,							-- 15
		0,							-- 16
		0,							-- 17
		0,							-- 18
		0,							-- 19
		0,							-- 20
		0,							-- 21
		0,							-- 22
		0,							-- 23
		0,							-- 24
		GETDATE()						-- 25
	);

	SET @RET = @@ERROR

	IF @RET <> 0
	BEGIN
		ROLLBACK TRANSACTION
        GOTO ON_END
	END

COMMIT TRANSACTION

ON_END:
RETURN @RET
The above setup was originally intended for 7.3/7.4 but is applicable in 8.1 as-well. (Be warned that is completely removes the whole "billing" schema as I found it to be useless. Hope this helps!
TealSky is offline  
Thanks
4 Users
Old 06/24/2013, 21:47   #7
Moderator


 
ThunderNikk's Avatar
 
elite*gold: 1
Join Date: Dec 2012
Posts: 4,779
Received Thanks: 1,461
USE [teal_sky_telecaster_test]

Bet you mean to do this to Telecaster but that is the path you did while testing the SMP alterations to an off line database?

I still would find it easier and less altering to turn cash_usable_server off

Then all you need to do is change the spawn_type of all secroute NPCs from 4 to 0

Code:
Use Arcadia
Update dbo.NPCResource set spawn_type = 0 where contact_script like '%secroute%'
ThunderNikk is offline  
Thanks
2 Users
Old 06/24/2013, 23:39   #8
 
elite*gold: 0
Join Date: Jun 2013
Posts: 45
Received Thanks: 32
I figure the OP is smart enough to change teal_sky_telecaster_test (if not, oh boy)

The spawn_type would be a good work around, but you should tell him if he disables the native Cash-Shop System (e.g. Paid) he will also be disabling his ability to use the PaidItem-Box (e.g. Item Box)

Just a note, whichever path he chooses -- good luck.
TealSky is offline  
Thanks
2 Users
Old 06/25/2013, 04:43   #9
 
elite*gold: 0
Join Date: Dec 2010
Posts: 255
Received Thanks: 14
I got it guys, thanks.
piratehat2 is offline  
Old 07/06/2013, 02:47   #10
 
elite*gold: 0
Join Date: Jul 2013
Posts: 20
Received Thanks: 1
I tried both and nothing worked
Excalibur-Rappelz is offline  
Old 08/01/2013, 20:57   #11
 
elite*gold: 0
Join Date: Nov 2010
Posts: 4
Received Thanks: 0
Quote:
Originally Posted by Azreil View Post
Open your gameserver.opt ....change

"T game.cash_usable_server:1"
To...
"T game.cash_usable_server:0"

Delete your gameserver.eop....run rappelz compress....drag your newly edited gameserver.opt over to the compress window and drop it in there....poof..now the skill bar wont vanish.
i tried it but my hotkeys still not saved :/
joladani is offline  
Old 08/01/2013, 22:00   #12
Moderator


 
ThunderNikk's Avatar
 
elite*gold: 1
Join Date: Dec 2012
Posts: 4,779
Received Thanks: 1,461
Quote:
Originally Posted by joladani View Post
i tried it but my hotkeys still not saved :/
Something was not done correctly then.
ThunderNikk is offline  
Old 08/02/2013, 12:25   #13
 
Spacer19's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 46
Received Thanks: 11
Hi,

For the problem, uses the database named "Billing.bak"
It saves the shortcuts etc. .. You must be inserted as the Telecaster or auth or Arcadia.

Scan Virus Total:

Link File Billing.bak:

Sincerely,

PS: sorry for my bad English.
Spacer19 is offline  
Old 08/02/2013, 12:55   #14
 
c1ph3r's Avatar
 
elite*gold: 0
Join Date: Sep 2008
Posts: 1,606
Received Thanks: 1,210
Quote:
Originally Posted by TealSky View Post
The Hotkeys going missing coincide with a message in notice mode (Cannot Connect To Server) which coincides to an error throw both on the GameServer Console Log and in the GameLog.txt located in the server_bin (server folder)

This error is thrown by:

dbo.smp_check_purchased_item

Code:
USE [teal_sky_telecaster_test]
GO
/****** Object:  StoredProcedure [dbo].[smp_check_purchased_item]    Script Date: 6/24/2013 9:38:35 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER PROCEDURE [dbo].[smp_check_purchased_item]

@IN_ACCOUNT_ID INT,
@IN_SID INT,
@OUT_TOTAL_ITEM_COUNT INT OUTPUT,	/* Total Item Count */
@OUT_NEW_ITEM_COUNT INT OUTPUT,		/* New Item Count (AKA New presents received)*/
@OUT_PREMIUM_TICKET INT OUTPUT,		/* Premium Ticket Flag - 0 = No Pass*/
@OUT_PREMIUM_REST_TIME INT OUTPUT,	/* HV Pass Time Remaining */
@OUT_STAMINA_REGEN_TIME INT OUTPUT	/* Stam Regen Time (Stam Bonus) */

AS
SET NOCOUNT ON

SET @OUT_NEW_ITEM_COUNT = 10 
SET @OUT_STAMINA_REGEN_TIME = 20 

SET @OUT_PREMIUM_TICKET = 0
SET @OUT_PREMIUM_REST_TIME = 0

SELECT @OUT_PREMIUM_TICKET = COUNT(*) from PaidItem WITH (NOLOCK) where taken_account_id = @IN_ACCOUNT_ID and item_code = 910000 and valid_time > GETDATE()

IF @OUT_PREMIUM_TICKET > 0
BEGIN

/* Extend the Pass on first login after it is purchased to grant the user to full time on the pass based on the first login */
UPDATE PaidItem set valid_time = DATEADD(s, DATEDIFF(s, bought_time, GETDATE()), valid_time), taken_time = GETDATE() where taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND taken_time IS NULL

/** Combine passes by invalidating older passes and adding the combined extra time onto the most recently purchased pass **/
DECLARE @VALID_PASS_COUNT INT
SET @VALID_PASS_COUNT = 0

DECLARE @COMBINED_TIME INT
SET @COMBINED_TIME = 0

DECLARE @NEWEST_PASS INT
SET @NEWEST_PASS = -1

-- Check for more than one pass in Item Box.  If there are combine them into one pass.
SELECT @VALID_PASS_COUNT = COUNT(*) FROM PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE()

IF @VALID_PASS_COUNT > 1
	BEGIN
		-- Get the combined time of all active passes
		SELECT @COMBINED_TIME = SUM(DATEDIFF(s, GETDATE(), valid_time)) from PaidItem where taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE()
		
		-- Select the most recent pass
		SELECT TOP (1) @NEWEST_PASS = sid from PaidItem where taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE() ORDER BY bought_time DESC
		
		-- Invalidate all but the most recent pass
		SET ROWCOUNT 1
		WHILE 1=1
		BEGIN
			UPDATE PaidItem set valid_time = GETDATE(), rest_item_count=0 WHERE sid IN ( SELECT TOP 1 sid FROM PaidItem WITH (NOLOCK) WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE() AND sid <> @NEWEST_PASS )
			IF @@ROWCOUNT = 0 BREAK
		END
		SET ROWCOUNT 0

		-- Extend the most recent pass by the Combined time - the current time
		UPDATE PaidItem set valid_time = DATEADD(s, @COMBINED_TIME, GETDATE()), rest_item_count=0 WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE()AND sid = @NEWEST_PASS
	END
-- end combine passes
	
SELECT @OUT_PREMIUM_REST_TIME = MAX(DATEDIFF(s, GETDATE(), valid_time)) from PaidItem WITH (NOLOCK) where taken_account_id = @IN_ACCOUNT_ID and item_code = 910000 and valid_time > GETDATE()

SELECT @OUT_TOTAL_ITEM_COUNT = COUNT(*) from PaidItem WITH (NOLOCK) where taken_account_id = @IN_ACCOUNT_ID and rest_item_count > 0;
SELECT @OUT_NEW_ITEM_COUNT = COUNT(*) from PaidItem WITH (NOLOCK) where taken_account_id = @IN_ACCOUNT_ID and rest_item_count > 0 and confirmed = 0;

END

RETURN @@ERROR
dbo.smp_read_purchased_item_list

Code:
USE [teal_sky_telecaster_test]
GO
/****** Object:  StoredProcedure [dbo].[smp_read_purchased_item_list]    Script Date: 6/24/2013 9:39:17 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[smp_read_purchased_item_list]

@IN_ACCOUNT_ID          INT
 
AS
SET NOCOUNT ON

-- ¾ئہجإغ ب®ہخ ؟©؛خ¸¦ ¼¼ئأ
UPDATE dbo.PaidItem set confirmed = 1, confirmed_time = GETDATE() WHERE taken_account_id = @IN_ACCOUNT_ID and confirmed = 0;

SELECT  sid,                          -- ID
        account_id,            -- ±¸¸إار °èء¤ ID
        avatar_id,             -- ±¸¸إار ؤ³¸¯ ID        ( -1 ہد°و؟ىب¨اا؟،¼*±¸¸إار°حہس)
        avatar_name,           -- ±¸¸إار ؤ³¸¯ ہج¸§        ( -1 ہد°و؟ىب¨اا؟،¼*±¸¸إار°حہس)
        server_name,                      -- ±¸¸إار ¼*¹ِ ہج¸§
        item_code,             -- ¾ئہجإغؤعµه
        item_count,            -- ±¸¸إار ¾ئہجإغ°¹¼ِ
        rest_item_count,                  -- ³²ہ؛ ¾ئہجإغ °¹¼ِ
        bought_time,           -- ±¸¸إ½أ°£
        valid_time             -- ہ¯ب؟½أ°£( ء¦ار¾ّہ»°و؟ى-12-31 )
               
        FROM dbo.PaidItem WITH (NOLOCK) WHERE taken_account_id = @IN_ACCOUNT_ID and rest_item_count > 0 
        -- The below shows items after they have been taken
        --or sid in ( select sid from dbo.PaidItem WITH(NOLOCK) WHERE taken_account_id =@IN_ACCOUNT_ID and rest_item_count = 0)

RETURN @@ERROR
dbo.smp_takeout_commercial_item

Code:
USE [teal_sky_telecaster_test]
GO
/****** Object:  StoredProcedure [dbo].[smp_takeout_commercial_item]    Script Date: 6/24/2013 9:39:39 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[smp_takeout_commercial_item]

@OUT_ITEM_CODE          INT OUTPUT,
@IN_SID                 INT,
@IN_COUNT               INT,
@IN_ACCOUNT_ID          INT,
@IN_AVATAR_ID           INT,
@IN_AVATAR_NAME         VARCHAR(61),
@IN_SERVER_NAME         VARCHAR(30),
@IN_TRANSACTION_CODE	INT,
@IN_IDX					INT
 
AS
SET NOCOUNT ON

SET @OUT_ITEM_CODE = 0

DECLARE @RET INT
SET @RET = -1

DECLARE @REST_ITEM_COUNT INT
SET @REST_ITEM_COUNT = -1

-- °¹¼ِ ہج»َ
IF @IN_COUNT < 1
BEGIN
    GOTO ON_END
END

BEGIN TRANSACTION

	SELECT @REST_ITEM_COUNT = rest_item_count FROM dbo.PaidItem WHERE sid = @IN_SID;

	IF @REST_ITEM_COUNT < @IN_COUNT
	BEGIN
		ROLLBACK TRANSACTION
        GOTO ON_END
	END

	-- Remove item(s) from Item Box
	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_SID and taken_account_id = @IN_ACCOUNT_ID;
    SET @RET = 0

	DECLARE @ACCOUNT_ID INT
	SET @ACCOUNT_ID = -1

	SELECT @OUT_ITEM_CODE = item_code, @ACCOUNT_ID = taken_account_id from dbo.PaidItem where sid = @IN_SID;

	IF @ACCOUNT_ID <> @IN_ACCOUNT_ID
		BEGIN
			SET @OUT_ITEM_CODE = 0
			ROLLBACK TRANSACTION
			GOTO ON_END
		END

	-- Add the item(s) to the character
	INSERT INTO dbo.Item (

		sid,							-- 0
		owner_id,						-- 1
		account_id,						-- 2
		summon_id,						-- 3
		auction_id,						-- 4
		keeping_id,						-- 5
		idx,							-- 6
		code,							-- 7
		flag,							-- 8
		cnt,							-- 9
		[level],						-- 10
		enhance,
		ethereal_durability,						-- 11
		endurance,						-- 12
		gcode,							-- 13
		create_time,						-- 14
		wear_info,						-- 15
		socket_0,						-- 16
		socket_1,						-- 17
		socket_2,						-- 18
		socket_3,						-- 19
		remain_time,						-- 20
		elemental_effect_type,					-- 21
		elemental_effect_expire_time,				-- 22
		elemental_effect_attack_point,				-- 23
		elemental_effect_magic_point,				-- 24
		update_time						-- 25

	)
	VALUES (
	
		@IN_TRANSACTION_CODE,					-- 0
		@IN_AVATAR_ID,						-- 1
		@IN_ACCOUNT_ID,						-- 2
		0,							-- 3
		0,							-- 4
		0,							-- 5
		@IN_IDX,						-- 6
		@OUT_ITEM_CODE,						-- 7
		0,							-- 8
		@IN_COUNT,						-- 9
		0,							-- 10
		0,
		0,							-- 11
		0,							-- 12
		0,							-- 13
		GETDATE(),						-- 14	
		-1,							-- 15
		0,							-- 16
		0,							-- 17
		0,							-- 18
		0,							-- 19
		0,							-- 20
		0,							-- 21
		0,							-- 22
		0,							-- 23
		0,							-- 24
		GETDATE()						-- 25
	);

	SET @RET = @@ERROR

	IF @RET <> 0
	BEGIN
		ROLLBACK TRANSACTION
        GOTO ON_END
	END

COMMIT TRANSACTION

ON_END:
RETURN @RET
The above setup was originally intended for 7.3/7.4 but is applicable in 8.1 as-well. (Be warned that is completely removes the whole "billing" schema as I found it to be useless. Hope this helps!
This requires the dbo.PaidItem in the telecaster database. In the 8.1 Files the dbo.PaidItem is missing in some repacks.

if it isn't working try to add the dbo.PaidItem to your telecaster database:

Code:
USE [telecaster]
GO

/****** Object:  Table [dbo].[PaidItem]    Script Date: 02.08.2013 12:55:03 ******/
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,
	[account_id] [int] NULL,
	[avatar_id] [int] NULL,
	[avatar_name] [varchar](61) NULL,
	[item_code] [int] NULL,
	[item_count] [int] NULL,
	[rest_item_count] [int] NULL,
	[bought_time] [datetime] NULL,
	[valid_time] [datetime] NULL,
	[server_name] [varchar](30) NULL,
	[taken_avatar_id] [int] NULL,
	[taken_avatar_name] [varchar](61) NULL,
	[taken_server_name] [varchar](30) NULL,
	[taken_time] [datetime] NULL,
	[taken_account_id] [int] NULL,
	[confirmed] [int] NULL,
	[confirmed_time] [date] NULL,
	[isCancel] [int] NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO
c1ph3r is offline  
Thanks
5 Users
Old 09/11/2013, 17:20   #15
 
ninex's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 72
Received Thanks: 18
Awesome worked !!
ninex is offline  
Closed Thread


Similar Threads Similar Threads
sro wont save my skillls in skill bar !!!!
10/04/2009 - SRO Private Server - 9 Replies
help me :P sro wont save my skillls in skill bar !!!!
[Help] StatP wont save
11/02/2008 - CO2 Private Server - 11 Replies
Okay guys I really tired to fix it before i posted but i have no clue what to do now i would appricate your help and give you a thanks after :). but there is what i tryed and it failed i no i musta put it in the wrong area but here. public static void SaveChar(Character Charr) { try { Charr.PackInventory(); Charr.PackEquips(); Charr.PackSkills(); Charr.PackProfs();
[Help] Database Wont Save Password
10/02/2008 - CO2 Private Server - 3 Replies
help i got a problem my database wont save password.... so even if they create an acc.... they can log in with any random password at anytime? any way to solve this problem?



All times are GMT +2. The time now is 12:48.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.