Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Gamble item Error

Experienced Elementalist
Joined
Mar 3, 2013
Messages
268
Reaction score
25
please help me!
error log..

[09/13/17 06:08:37] MMatchDBMgr::ExceptionHandlerErrSQL( {CALL spChangeGambleItemToRewardSpendableItem (1944, 36836, 1003103, 203, 405005, 0)} ), ErrCode( -1 )ErrMsg - El nombre de columna 'RentHourPeriod' no es válido.El nombre de columna 'ItemCnt' no es válido.State:S0022,Native:207,Origin:[Microsoft][SQL Server Native Client 11.0][SQL Server]
dbo.sp
USE [GUNZARMYDBAren]GO/****** Object: StoredProcedure [dbo].[spChangeGambleItemToRewardItem] Script Date: 13/09/2017 17:35:12 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROC [dbo].[spChangeGambleItemToRewardItem] -- CREATE PROC dbo.spChangeGambleItemToRewardItem @CID INT , @CIID INT , @GIID INT , @GRIID INT , @RewardItemID INTAS BEGIN SET NOCOUNT ON; DECLARE @RentHourPeriod INT DECLARE @GambleItemCount INT; ----------------------------------------------------------------------------- SELECT @RentHourPeriod = ISNULL(RentHourPeriod, 0) FROM GambleRewardItem gri(NOLOCK) WHERE GRIID = @GRIID AND GIID = @GIID AND (ItemIDMale = @RewardItemID OR ItemIDFemale = @RewardItemID) IF (0 = @@ROWCOUNT) BEGIN SELECT -1 AS 'Ret' RETURN END SELECT @GambleItemCount = ISNULL(Cnt, 1) FROM CharacterItem(NOLOCK) WHERE CIID = @CIID; ----------------------------------------------------------------------------- DECLARE @NowDate DATETIME; SET @NowDate = GETDATE(); ----------------------------------------------------------------------------- BEGIN TRAN ----------- ---------------------------------------------------------------------------------------- IF( @GambleItemCount > 1 ) BEGIN UPDATE CharacterItem SET Cnt = Cnt - 1 WHERE CID = @CID AND CIID = @CIID IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN ROLLBACK TRAN SELECT -2 AS 'Ret' RETURN END END ELSE BEGIN UPDATE CharacterItem SET CID = NULL WHERE CID = @CID AND CIID = @CIID IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN ROLLBACK TRAN SELECT -3 AS 'Ret' RETURN END END --------------------------------------------------------------------------------------- INSERT CharacterItem(CID, ItemID, RegDate, RentDate, RentHourPeriod, Cnt) VALUES (@CID, @RewardItemID, @NowDate, @NowDate, @RentHourPeriod, 1) DECLARE @OrderCIID INT; SET @OrderCIID = @@IDENTITY; IF (0 <> @@ERROR) BEGIN ROLLBACK TRAN SELECT -4 AS 'Ret' RETURN END INSERT dbo.ItemChangeLog_CharacterItem(ChangeType, ChangeDate, CID, CIID, ItemID, [Count]) VALUES (202, @NowDate, @CID, @CIID, @GIID, 1); IF (0 <> @@ERROR) BEGIN ROLLBACK TRAN SELECT -5 AS 'Ret' RETURN END INSERT dbo.ItemChangeLog_CharacterItem(ChangeType, ChangeDate, CID, CIID, ItemID, [Count]) VALUES (102, @NowDate, @CID, @OrderCIID, @RewardItemID, 1); IF (0 <> @@ERROR) BEGIN ROLLBACK TRAN SELECT -6 AS 'Ret' RETURN END INSERT INTO LogDB..GambleLog(CID, GIID, RewardItemID, RegDate) VALUES (@CID, @GIID, @RewardItemID, @NowDate); IF (0 <> @@ERROR) BEGIN ROLLBACK TRAN SELECT -7 AS 'Ret' RETURN END ---------------------------------------------------------------------------------------- COMMIT TRAN ----------- SELECT 0 AS 'Ret', @OrderCIID AS 'ORDERCIID'END

other error:
first open normal open
2N0mRzQ - Gamble item Error - RaGEZONE Forums



2º normal items open
XgBzMZB - Gamble item Error - RaGEZONE Forums


3º no update item no view item
7pPTqLo - Gamble item Error - RaGEZONE Forums


4º relogin server view item
zCxVFWz - Gamble item Error - RaGEZONE Forums


Help Fix Please
 

Attachments

You must be registered for see attachments list
Last edited:
I'm retired, I'm already
Banned
Joined
Oct 3, 2011
Messages
832
Reaction score
155
I also had that same problem close 3 years ago and I had to leave it like this.

You can check these lines to see if you can find a solution to this.

PHP:
USE [GunzDB]
GO

/****** Object:  Table [dbo].[GambleItem]    Script Date: 04/05/2015 14:32:49 By Jorklenis2 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[GambleItem](
	[GIID] [int] NOT NULL,
	[Name] [varchar](128) NOT NULL,
	[Description] [varchar](256) NOT NULL,
	[Price] [int] NOT NULL,
	[RegDate] [datetime] NOT NULL,
	[StartDate] [datetime] NOT NULL,
	[LifeTimeHour] [smallint] NOT NULL,
	[IsCash] [tinyint] NOT NULL,
	[Opened] [tinyint] NOT NULL,
 CONSTRAINT [PK_GambleItem] PRIMARY KEY CLUSTERED 
(
	[GIID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[GambleItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleItem] ADD  DEFAULT (getdate()) FOR [RegDate]
GO

ALTER TABLE [dbo].[GambleItem] ADD  DEFAULT ((0)) FOR [StartDate]
GO

ALTER TABLE [dbo].[GambleItem] ADD  DEFAULT ((0)) FOR [LifeTimeHour]
GO

ALTER TABLE [dbo].[GambleItem] ADD  DEFAULT ((0)) FOR [IsCash]
GO

ALTER TABLE [dbo].[GambleItem] ADD  DEFAULT ((0)) FOR [Opened]
GO


USE [GunzDB]
GO

/****** By Jorklenis2 Object:  Table [dbo].[GambleRewardItem]    Script Date: 04/05/2015 14:33:47 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[GambleRewardItem](
	[GRIID] [int] IDENTITY(1,1) NOT NULL,
	[GIID] [int] NOT NULL,
	[ItemIDMale] [int] NOT NULL,
	[ItemIDFemale] [int] NOT NULL,
	[RentHourPeriod] [int] NOT NULL,
	[RatePerThousand] [smallint] NOT NULL,
 CONSTRAINT [PK_GambleRewardItem] PRIMARY KEY CLUSTERED 
(
	[GRIID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD FOREIGN KEY([GIID])
REFERENCES [dbo].[GambleItem] ([GIID])
GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD FOREIGN KEY([GIID])
REFERENCES [dbo].[GambleItem] ([GIID])
GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD FOREIGN KEY([GIID])
REFERENCES [dbo].[GambleItem] ([GIID])
GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD FOREIGN KEY([GIID])
REFERENCES [dbo].[GambleItem] ([GIID])
GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD FOREIGN KEY([GIID])
REFERENCES [dbo].[GambleItem] ([GIID])
GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleRewardItem]  WITH CHECK ADD CHECK  (([GIID]>(1000000)))
GO

ALTER TABLE [dbo].[GambleRewardItem] ADD  DEFAULT ((0)) FOR [RentHourPeriod]
GO


USE [GunzDB]
GO
/****** By Jorklenios2 Object:  StoredProcedure [dbo].[spChangeGambleItemToRewardNormalItem]    Script Date: 04/05/2015 14:35:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- Ŭ·£ »ý¼ºÇϱâ
ALTER PROC [dbo].[spChangeGambleItemToRewardNormalItem]
 [USER=369615]Cid[/USER]				INT
	, @CIID				INT
	, [USER=503186]Gii[/USER]D				INT
	, @GRIID			INT
	, @RewardItemID		INT
    , @RewardRentPeriod INT
AS BEGIN

	SET NOCOUNT ON;

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

    DECLARE @NowDate DATETIME;
	SET @NowDate = GETDATE();	

	DECLARE [USER=474740]Gamble[/USER]ItemCount	INT;
			
	SELECT [USER=474740]Gamble[/USER]ItemCount = ISNULL(Cnt, 1)
	FROM	CharacterItem(NOLOCK)
	WHERE	CIID = @CIID
	AND		CID IS NOT NULL;
		
	-----------------------------------------------------------------------------
	
    SET XACT_ABORT ON;

	BEGIN TRAN -----------  
	
		----------------------------------------------------------------------------------------
		
		IF( [USER=474740]Gamble[/USER]ItemCount > 1 ) BEGIN
		
			UPDATE	CharacterItem 
			SET		Cnt = Cnt - 1
			WHERE	CID = [USER=369615]Cid[/USER] 
			AND		CIID = @CIID 
			
		END
		ELSE BEGIN
		
			DELETE  CharacterItem 
			WHERE	CID = [USER=369615]Cid[/USER] 
			AND		CIID = @CIID
			
		END
		
		---------------------------------------------------------------------------------------	
		
		INSERT CharacterItem(CID, ItemID, RegDate, RentDate, RentHourPeriod, Cnt)
		VALUES  [USER=369615]Cid[/USER], @RewardItemID, @NowDate, @NowDate, @RewardRentPeriod, 1)
		
		DECLARE [USER=518004]Order[/USER]CIID INT;			
		SET [USER=518004]Order[/USER]CIID = @@IDENTITY;			

	COMMIT TRAN  -----------

    SET XACT_ABORT OFF;
		

    INSERT dbo.ItemChangeLog_CharacterItem(ChangeType, ChangeDate, CID, CIID, ItemID, [Count])
    VALUES (202, @NowDate, [USER=369615]Cid[/USER], @CIID, [USER=503186]Gii[/USER]D, 1);	

    INSERT dbo.ItemChangeLog_CharacterItem(ChangeType, ChangeDate, CID, CIID, ItemID, [Count])
    VALUES (102, @NowDate, [USER=369615]Cid[/USER], [USER=518004]Order[/USER]CIID, @RewardItemID, 1);

    INSERT INTO LogDB..GambleLog(CID, GIID, RewardItemID, RegDate, RentHourPeriod, ItemCnt)
    VALUES  [USER=369615]Cid[/USER], [USER=503186]Gii[/USER]D, @RewardItemID, @NowDate, @RewardRentPeriod, 1);

    ----------------------------------------------------------------------------------------
		
	SELECT [USER=518004]Order[/USER]CIID AS 'ORDERCIID'
END  

USE [GunzDB]
GO
/****** By Jorklenios2 Object:  StoredProcedure [dbo].[spChangeGambleItemToRewardNormalItem]    Script Date: 04/05/2015 14:35:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- Ŭ·£ »ý¼ºÇϱâ
ALTER PROC [dbo].[spChangeGambleItemToRewardNormalItem]
 [USER=369615]Cid[/USER]				INT
	, @CIID				INT
	, [USER=503186]Gii[/USER]D				INT
	, @GRIID			INT
	, @RewardItemID		INT
    , @RewardRentPeriod INT
AS BEGIN

	SET NOCOUNT ON;

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

    DECLARE @NowDate DATETIME;
	SET @NowDate = GETDATE();	

	DECLARE [USER=474740]Gamble[/USER]ItemCount	INT;
			
	SELECT [USER=474740]Gamble[/USER]ItemCount = ISNULL(Cnt, 1)
	FROM	CharacterItem(NOLOCK)
	WHERE	CIID = @CIID
	AND		CID IS NOT NULL;
		
	-----------------------------------------------------------------------------
	
    SET XACT_ABORT ON;

	BEGIN TRAN -----------  
	
		----------------------------------------------------------------------------------------
		
		IF( [USER=474740]Gamble[/USER]ItemCount > 1 ) BEGIN
		
			UPDATE	CharacterItem 
			SET		Cnt = Cnt - 1
			WHERE	CID = [USER=369615]Cid[/USER] 
			AND		CIID = @CIID 
			
		END
		ELSE BEGIN
		
			DELETE  CharacterItem 
			WHERE	CID = [USER=369615]Cid[/USER] 
			AND		CIID = @CIID
			
		END
		
		---------------------------------------------------------------------------------------	
		
		INSERT CharacterItem(CID, ItemID, RegDate, RentDate, RentHourPeriod, Cnt)
		VALUES  [USER=369615]Cid[/USER], @RewardItemID, @NowDate, @NowDate, @RewardRentPeriod, 1)
		
		DECLARE [USER=518004]Order[/USER]CIID INT;			
		SET [USER=518004]Order[/USER]CIID = @@IDENTITY;			

	COMMIT TRAN  -----------

    SET XACT_ABORT OFF;
		

    INSERT dbo.ItemChangeLog_CharacterItem(ChangeType, ChangeDate, CID, CIID, ItemID, [Count])
    VALUES (202, @NowDate, [USER=369615]Cid[/USER], @CIID, [USER=503186]Gii[/USER]D, 1);	

    INSERT dbo.ItemChangeLog_CharacterItem(ChangeType, ChangeDate, CID, CIID, ItemID, [Count])
    VALUES (102, @NowDate, [USER=369615]Cid[/USER], [USER=518004]Order[/USER]CIID, @RewardItemID, 1);

    INSERT INTO LogDB..GambleLog(CID, GIID, RewardItemID, RegDate, RentHourPeriod, ItemCnt)
    VALUES  [USER=369615]Cid[/USER], [USER=503186]Gii[/USER]D, @RewardItemID, @NowDate, @RewardRentPeriod, 1);

    ----------------------------------------------------------------------------------------
		
	SELECT [USER=518004]Order[/USER]CIID AS 'ORDERCIID'
END  

USE [GunzDB]
GO
/****** Object:  StoredProcedure [dbo].[spChangeGambleItemToRewardItem]    Script Date: 04/05/2015 14:36:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[spChangeGambleItemToRewardItem]  
-- CREATE PROC dbo.spChangeGambleItemToRewardItem  
 [USER=369615]Cid[/USER]				INT
	, @CIID				INT
	, [USER=503186]Gii[/USER]D				INT
	, @GRIID			INT
	, @RewardItemID		INT
AS BEGIN

	SET NOCOUNT ON;

	DECLARE [USER=2000189957]Ren[/USER]tHourPeriod		INT  
	DECLARE [USER=474740]Gamble[/USER]ItemCount	INT;
	
	-----------------------------By Jorklenis2---------------------------------
			
	SELECT [USER=2000189957]Ren[/USER]tHourPeriod = ISNULL(RentHourPeriod, 0)
	FROM	GambleRewardItem gri(NOLOCK)  
	WHERE	GRIID = @GRIID
	AND		GIID = [USER=503186]Gii[/USER]D 
	AND		(ItemIDMale = @RewardItemID OR ItemIDFemale = @RewardItemID)  
	
	IF (0 = @@ROWCOUNT) BEGIN
		SELECT -1 AS 'Ret'  
		RETURN
	END
			
	SELECT [USER=474740]Gamble[/USER]ItemCount = ISNULL(Cnt, 1)
	FROM	CharacterItem(NOLOCK)
	WHERE	CIID = @CIID;
		
	-----------------------------------------------------------------------------
	
	DECLARE @NowDate	DATETIME;
	SET @NowDate = GETDATE();	
	
	-----------------------------------------------------------------------------
			
	BEGIN TRAN -----------  
	
		----------------------------------------------------------------------------------------
		
		IF( [USER=474740]Gamble[/USER]ItemCount > 1 ) BEGIN
		
			UPDATE	CharacterItem 
			SET		Cnt = Cnt - 1
			WHERE	CID = [USER=369615]Cid[/USER] 
			AND		CIID = @CIID 
			
			IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN  
				ROLLBACK TRAN  
				SELECT -2 AS 'Ret'  
				RETURN
			END
			
		END
		ELSE BEGIN
		
			UPDATE	CharacterItem 
			SET		CID = NULL
			WHERE	CID = [USER=369615]Cid[/USER] 
			AND		CIID = @CIID
			
			IF (0 <> @@ERROR) OR (0 = @@ROWCOUNT) BEGIN  
				ROLLBACK TRAN  
				SELECT -3 AS 'Ret'  
				RETURN
			END
			
		END
		
		---------------------------------------------------------------------------------------	
		
		INSERT CharacterItem(CID, ItemID, RegDate, RentDate, RentHourPeriod, Cnt)
		VALUES  [USER=369615]Cid[/USER], @RewardItemID, @NowDate, @NowDate, [USER=2000189957]Ren[/USER]tHourPeriod, 1)
		
		DECLARE [USER=518004]Order[/USER]CIID INT;			
		SET [USER=518004]Order[/USER]CIID = @@IDENTITY;
			
		IF (0 <> @@ERROR) BEGIN  
			ROLLBACK TRAN  
			SELECT -4 AS 'Ret'  
			RETURN
		END
			
			
		INSERT dbo.ItemChangeLog_CharacterItem(ChangeType, ChangeDate, CID, CIID, ItemID, [Count])
		VALUES (202, @NowDate, [USER=369615]Cid[/USER], @CIID, [USER=503186]Gii[/USER]D, 1);	
		
		IF (0 <> @@ERROR) BEGIN  
			ROLLBACK TRAN  
			SELECT -5 AS 'Ret'  
			RETURN
		END

		INSERT dbo.ItemChangeLog_CharacterItem(ChangeType, ChangeDate, CID, CIID, ItemID, [Count])
		VALUES (102, @NowDate, [USER=369615]Cid[/USER], [USER=518004]Order[/USER]CIID, @RewardItemID, 1);
		
		IF (0 <> @@ERROR) BEGIN  
			ROLLBACK TRAN  
			SELECT -6 AS 'Ret'  
			RETURN
		END

		INSERT INTO LogDB..GambleLog(CID, GIID, RewardItemID, RegDate)  
		VALUES  [USER=369615]Cid[/USER], [USER=503186]Gii[/USER]D, @RewardItemID, @NowDate);
		
		IF (0 <> @@ERROR) BEGIN  
			ROLLBACK TRAN  
			SELECT -7 AS 'Ret'  
			RETURN
		END
		
		----------------------------------------------------------------------------------------

	COMMIT TRAN  -----------
		
	SELECT 0 AS 'Ret', [USER=518004]Order[/USER]CIID AS 'ORDERCIID'
END
 
Last edited:
Upvote 0
Newbie Spellweaver
Joined
Jul 2, 2011
Messages
78
Reaction score
21
Well...i think u didn't edit item count (x0) error

You can see this part : MMatchDBMgr::GetGambleRewardItemList
Code:
bool MMatchDBMgr::GetGambleRewardItemList( vector<MMatchGambleRewardItem*>& vGambleRewardItemList )
{
....
	for( int nIndex = 0; ! rs.IsEOF(); rs.MoveNext() )
	{
		dwGRIID				= (DWORD)rs.Field("GRIID").AsInt();
		dwGIID				= (DWORD)rs.Field("GIID" ).AsInt();
		dwItemIDMale		= (DWORD)rs.Field("ItemIDMale").AsInt();
		dwItemIDFemale		= (DWORD)rs.Field("ItemIDFemale").AsInt();
		dwItemCnt			= (DWORD)rs.Field("[COLOR="#FF0000"]ItemCnt[/COLOR]").AsInt();
		wRentHourPeriod		= (WORD)rs.Field( "RentHourPeriod" ).AsInt();
		wRatePerThousand	= (WORD)rs.Field( "RatePerThousand" ).AsInt();
....

Ok... DB is wrong.

Fix : dbo.GambleRewardItem
Code:
[COLOR="#FF0000"]Add ItemCnt(int)[/COLOR] Default(1)

ScreenShot :
2018.01.24-20.11 - Gamble item Error - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Upvote 0
Back
Top