[HELP] Database Error

03/23/2017 15:56 yazuka21#1
Hi, everytime I restart the server the character isn't saving and it's returning on character begin location in flaris even if I left the character on darkon...

CQuery-LogFile_20170323.txt
Code:
2017/03/23	19:24:20query:{call CHARACTER_STR('U1','0000001','01','',?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,      0,      0,      0,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}SQLSTATE:42000 error:[Microsoft][SQL Server Native Client 11.0][SQL Server]Procedure or function CHARACTER_STR has too many arguments specified.
error_20170323.log
Code:
2017/ 3/23 19:24:20SavePlayer(Nadela) - Exec RETURN FALSE, ThreadID : 2952

Code:
2017/ 3/23   19:21:34   OP: 102032374, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02017/ 3/23   19:21:36   OP: 2000, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0

Thanks in Advance...

Here's my CHARACTER_STR

Code:
USE [CHARACTER_01_DBF]
GO
/****** Object:  StoredProcedure [dbo].[CHARACTER_STR]    Script Date: 3/23/2017 10:47:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER                proc [dbo].[CHARACTER_STR]
	@iGu        		  				CHAR(2) 			= 'S1', 
	@im_idPlayer   				CHAR(7) 			= '0000001',
	@iserverindex  				CHAR(2) 			= '01',
	/**********************************************
	 INSERT ?
	**********************************************/
	-- CHARACTER_TBL
	@iaccount 						VARCHAR(32)	= '',
	@im_szName 				VARCHAR(32)	= '',
	@iplayerslot 					INT						= 0,
	@idwWorldID 				INT 						= 0,
	@im_dwIndex 				INT 						= 0,
	@im_vPos_x 					REAL 					= 0,
	@im_vPos_y 					REAL 					= 0,
	@im_vPos_z 					REAL 					= 0,
	@im_szCharacterKey 	VARCHAR(32)	= '',
	@im_dwSkinSet 			INT						= 0,
	@im_dwHairMesh 		INT						= 0,
	@im_dwHairColor 		INT						= 0,
	@im_dwHeadMesh 		INT						= 0,
	@im_dwSex 					INT						= 0,
	/**********************************************
	 UPDATE ?
	**********************************************/
	-- CHARACTER_TBL
	@im_vScale_x				REAL					=	0,
	@im_dwMotion				INT						=	0,
	@im_fAngle					REAL					=	0,
	@im_nHitPoint				INT						=	0,
	@im_nManaPoint			INT						=	0,
	@im_nFatiguePoint		INT						=	0,
	@im_dwRideItemIdx		INT						=	0,
	@im_dwGold					INT						=	0,
	@im_nJob						INT						=	0,
	@im_pActMover				VARCHAR(50)	=	'',
	@im_nStr						INT						=	0,
	@im_nSta						INT						=	0,
	@im_nDex						INT						=	0,
	@im_nInt							INT						=	0,
	@im_nLevel					INT						=	0,
	@im_nExp1					BIGINT						=	0,
	@im_nExp2					BIGINT						=	0,
	@im_aJobSkill				VARCHAR(500)	='',
	@im_aLicenseSkill		VARCHAR(500)	='',
	@im_aJobLv					VARCHAR(500)	='',
	@im_dwExpertLv			INT						=	0,
	@im_idMarkingWorld	INT						=	0,
	@im_vMarkingPos_x	REAL					=	0,
	@im_vMarkingPos_y	REAL					=	0,
	@im_vMarkingPos_z	REAL					=	0,
	@im_nRemainGP			INT						=	0,
	@im_nRemainLP			INT						=	0,
	@im_nFlightLv				INT						=	0,
	@im_nFxp						INT						=	0,
	@im_nTxp						INT						=	0,
	@im_lpQuestCntArray	VARCHAR(3072)= '',
	@im_chAuthority			CHAR(1)				= '',
	@im_dwMode				INT						=	0,
	@im_idparty					INT						=	0,
	@im_idMuerderer			INT						=	0,
	@im_nFame					INT						=	0,
	@im_nDeathExp				BIGINT					=  0,
	@im_nDeathLevel				INT					=  0,
	@im_dwFlyTime					INT					=  0,
	@im_nMessengerState 	INT					=  0,
	@iTotalPlayTime			INT						= 	0
	-------------- (ADD : Version8-PK System)
	,@im_nPKValue    		int=0
	,@im_dwPKPropensity    	int=0
	,@im_dwPKExp     		int=0
	-- CARD_CUBE_TBL
	,@im_Card 						VARCHAR(1980)= '',
	@im_Index_Card 			VARCHAR(215) 	= '',
	@im_ObjIndex_Card 	VARCHAR(215) 	= '',
	@im_Cube 						VARCHAR(1980)= '',
	@im_Index_Cube 			VARCHAR(215) 	= '',
	@im_ObjIndex_Cube 	VARCHAR(215) 	= '',
	-- INVENTORY_TBL
	@im_Inventory 				VARCHAR(6940)= '',
	@im_apIndex 				VARCHAR(345) 	= '',
	@im_adwEquipment 	VARCHAR(135) 	= '',
	@im_dwObjIndex 			VARCHAR(345) 	= '',
	-- TASKBAR_TBL
	@im_aSlotApplet 			VARCHAR(3100)= '',
	-- TASKBAR_ITEM_TBL
	@im_aSlotItem 				VARCHAR(6885)= '',
	-- TASKBAR_TBL
	@im_aSlotQueue 			VARCHAR(225)= '',
	@im_SkillBar					SMALLINT			= 0,
	-- BANK_TBL
	@im_Bank						VARCHAR(4290)= '',
	@im_apIndex_Bank		VARCHAR(215)= '',
	@im_dwObjIndex_Bank VARCHAR(215)= '',
	@im_dwGoldBank			INT						= 0,
	@im_nFuel						INT						= -1,
	@im_tmAccFuel				INT 						= 0,
	@im_dwSMTime			VARCHAR(2560)='',
	@iSkillInfluence				varchar(2048) ='',
	@im_dwSkillPoint			INT 						= 0,
	@im_aCompleteQuest	varchar(1024) = '',
	@im_extInventory			varchar(2000) = '',
	@im_extBank					varchar(2000) = '',
	@im_InventoryPiercing varchar(8000) = '',
	@im_BankPiercing		varchar(8000) = '',
	@im_dwReturnWorldID INT		 				= 1,
	@im_vReturnPos_x 		REAL					= 0,
	@im_vReturnPos_y 		REAL					= 0,
	@im_vReturnPos_z 		REAL					= 0,
	-------------- ( Version 7 : Skill Update)
	@im_SkillPoint			int=0,
	@im_SkillLv				int=0,
	@im_SkillExp			bigint=0,
	-------------- (?? ?? : 2006 11 13 Attendant Class)
	@idwEventFlag                   bigint=0,
	@idwEventTime                   int=0,
	@idwEventElapsed                int=0
	-------------- (ADD : Version8-Angel System)
	,@im_nAngelExp		bigint=0
	,@im_nAngelLevel		int=0
	--------------- Version 9 ?? ?? Pet??
,@iszInventoryPet	varchar(4200)     = '$'

,@iszBankPet	varchar(4200)     = '$'
,@im_dwPetId int = -1

,@im_nExpLog int = 0
,@im_nAngelExpLog int = 0
, @im_nCoupon int = 0
---------- Ver.13
, @im_nHonor int = -1
, @im_nLayer int = 0
---------- Ver 15
--, @im_BankPW char(4) = '0000'
, @im_aCheckedQuest varchar(100) =''
, @im_nCampusPoint int = 0
, @im_idCampus int = 0

/*******************************************************
	Gu ??
    S : SELECT
    I  : INSERT
    U : UPDATE
    D : DELETE


2005.04.11 updated

ALTER TABLE  CHARACTER_TBL  ADD   m_aCompleteQuest  varchar(1024) NULL
ALTER TABLE CHARACTER_TBL  ALTER COLUMN   m_lpQuestCntArray	VARCHAR(3072) NULL

*******************************************************/
AS
set nocount on
declare @last_connect tinyint
set @last_connect = 1

DECLARE @om_chLoginAuthority CHAR(1),@oaccount VARCHAR(32),@oplayerslot INT


IF @iGu = 'S2' -- ??? ?? ??????? ??????  ????
	BEGIN
		IF @iaccount = '' OR @im_szName  = ''
 		BEGIN
 			SELECT m_chAuthority = '',fError = '1', fText = '????'
 			RETURN
 		END
			SELECT	A.dwWorldID, 
							A.m_szName,
					 		A.playerslot,
							A.End_Time, 
							A.BlockTime,
							A.m_dwIndex, 
							A.m_idPlayer, 
							A.m_idparty,
							A.m_dwSkinSet, 
							A.m_dwHairMesh, 
							A.m_dwHeadMesh, 
							A.m_dwHairColor, 
							A.m_dwSex, 
							A.m_nJob, 
							A.m_nLevel, 
							A.m_vPos_x, 
							A.m_vPos_y, 
							A.m_vPos_z, 
							A.m_nStr,
							A.m_nSta,
							A.m_nDex,
							A.m_nInt,
							A.m_aJobLv,
							A.m_chAuthority,
							A.m_idCompany,
							A.m_nMessengerState,
							B.m_Inventory, 
							B.m_apIndex,
							B.m_adwEquipment,
							B.m_dwObjIndex,
							m_idGuild = CASE WHEN C.m_idGuild  IS NULL THEN '0' ELSE C.m_idGuild END	,
							m_idWar = CASE WHEN C.m_idWar  IS NULL THEN '0' ELSE C.m_idWar END,
							D.m_extInventory,
							D.m_InventoryPiercing,
							------------- ver. 13
							A.m_nHonor,
							last_connect = @last_connect
			FROM CHARACTER_TBL as A 
				inner join INVENTORY_TBL as B on A.m_idPlayer = B.m_idPlayer and A.serverindex = B.serverindex
				inner join INVENTORY_EXT_TBL as D on B.serverindex = D.serverindex and B.m_idPlayer = D.m_idPlayer
				left outer join GUILD_MEMBER_TBL as C on D.m_idPlayer = C.m_idPlayer and D.serverindex = C.serverindex
			WHERE 	A.isblock = 'F'
				AND A.account = @iaccount  
				AND A.serverindex = @iserverindex
			ORDER BY A.playerslot
			/*
			  FROM 	CHARACTER_TBL A, INVENTORY_TBL B,GUILD_MEMBER_TBL C, INVENTORY_EXT_TBL D
			WHERE 	A.m_idPlayer = B.m_idPlayer
				  AND 	A.serverindex= B.serverindex	
				  AND  B.m_idPlayer = D.m_idPlayer
				  AND  B.serverindex = D.serverindex
				  AND  D.m_idPlayer *= C.m_idPlayer
				  AND  D.serverindex *= C.serverindex
				  AND  A.isblock = 'F'
				  AND  A.account   	= @iaccount  
				  AND 	A.serverindex= @iserverindex
			 ORDER BY A.playerslot
			 */
insert into CHARACTER_TBL_penya_check (account, m_szName, m_dwGold, check_sec, serverindex)
select @iaccount, m_szName, m_dwGold, 9, @iserverindex
from CHARACTER_TBL (nolock)
where account = @iaccount and serverindex = @iserverindex and TotalPlayTime < 1 and m_dwGold >= 1		
				RETURN
 	END
/*
	
	 ??? ?? ??????? ??????  ????
	 ex ) 
	 CHARACTER_STR 'S2',@im_idPlayer (iMode),@iserverindex,@iaccount,@im_szName (iPassword)
	 CHARACTER_STR 'S2','0','02','seghope','1234'


*/

ELSE
IF @iGu = 'S3' -- ??? ????? ?? ???? idPlayer? ? ????
	BEGIN
		 SELECT m_szName, m_idPlayer,m_idCompany
			FROM CHARACTER_TBL 
		 WHERE serverindex = @iserverindex 
--			  AND  isblock = 'F'
		 ORDER BY m_idPlayer
		RETURN
	END
/*
	
	 ??? ????? ?? ???? idPlayer? ? ????
	 ex ) 
	 CHARACTER_STR 'S3','',@iserverindex
	 CHARACTER_STR 'S3','','01'



*/

ELSE
IF @iGu = 'S4' -- ??? ??? ??
	BEGIN
		declare @q1 nvarchar(4000)
		set @q1 = '
				SELECT Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
						m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, m_dwKeepTime, nRandomOptItemId,
						isnull(adwItemId5, 0) as adwItemId5, isnull(adwItemId6, 0) as adwItemId6, isnull(adwItemId7, 0) as adwItemId7, isnull(adwItemId8, 0) as adwItemId8, isnull(adwItemId9, 0) as adwItemId9, isnull(nUMPiercedSize, 0) as nUMPiercedSize,
						isnull(adwUMItemId0, 0) as adwUMItemId0, isnull(adwUMItemId1, 0) as adwUMItemId1, isnull(adwUMItemId2, 0) as adwUMItemId2, isnull(adwUMItemId3, 0) as adwUMItemId3, isnull(adwUMItemId4, 0) as adwUMItemId4
				FROM ITEM_SEND_TBL
				WHERE m_idPlayer = @im_idPlayer AND serverindex = @iserverindex AND ItemFlag = 0'
		exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
/*
		SELECT 	Item_Name, 
						Item_count,
						m_nAbilityOption,
						m_nNo,
						m_bItemResist,

						m_nResistAbilityOption,
						m_bCharged,
						nPiercedSize,
						adwItemId0,
						adwItemId1,
						adwItemId2,
						adwItemId3,
						m_dwKeepTime
		  FROM ITEM_SEND_TBL 
 		 WHERE	m_idPlayer   				= @im_idPlayer 	
			  AND 	serverindex 				= @iserverindex
			  AND   ItemFlag = 0
*/
		RETURN
	END
/*
	

	 ??? ??
	 ex ) 
	 CHARACTER_STR 'S4',@im_idPlayer,@iserverindex
	 CHARACTER_STR 'S4','000001','01'

*/

ELSE
IF @iGu = 'S5' -- ??? ??? ????? ??? ??
	BEGIN
--		DELETE ITEM_SEND_TBL 
		UPDATE ITEM_SEND_TBL SET ProvideDt=getdate(), ItemFlag=1
 		 WHERE	m_nNo  = @iplayerslot
		IF @@ROWCOUNT = 0
		SELECT fError = '0'
		ELSE
		SELECT fError = '1'
		RETURN
	END
/*
	
	 ??? ??? ????? ??? ??
	 ex ) 
	 CHARACTER_STR 'S5',@im_idPlayer,@iserverindex,@iaccount

	 CHARACTER_STR 'S5','000001','01','???',1,1
*/

ELSE
IF @iGu = 'S6' -- ??? ??? ??
	BEGIN
		SELECT 	Item_Name, 
						Item_count,
						m_nAbilityOption,
						m_nNo,
						State,
						m_bItemResist,
						m_nResistAbilityOption
			FROM ITEM_REMOVE_TBL 
 		 WHERE	m_idPlayer   				= @im_idPlayer 	
			  AND 	serverindex 				= @iserverindex
			  AND  	ItemFlag = 0
	RETURN
	END
/*
	??? ??
	ex )
	 CHARACTER_STR 'S6',@im_idPlayer,@iserverindex
	 CHARACTER_STR 'S6','000001','01'
*/	

ELSE
IF @iGu = 'S7' -- ??? ??? ????? ??? ??
	BEGIN
--		DELETE  ITEM_REMOVE_TBL 
		UPDATE ITEM_REMOVE_TBL SET DeleteDt=getdate(), ItemFlag=1
 		 WHERE	m_nNo  = @iplayerslot

		IF @@ROWCOUNT = 0
		SELECT fError = '0'
		ELSE
		SELECT fError = '1'
		RETURN
	END
/*
	 ??? ??? ????? ??? ??
	 ex ) 
	 CHARACTER_STR 'S7',@im_idPlayer,@iserverindex,@iaccount
	 CHARACTER_STR 'S7','000001','01','???',1,1
*/

IF @iGu = 'S8' -- ??? ?? ????
	BEGIN

				-- ?? ?? ???? character ?

				SELECT @om_chLoginAuthority = m_chLoginAuthority
				  FROM  ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL 
				WHERE account   = @iaccount
				
				SELECT	m_chLoginAuthority = @om_chLoginAuthority,
								A.account,
								A.m_idPlayer,
								A.playerslot,
								A.serverindex,
								A.dwWorldID,
								A.m_szName,
								A.m_dwIndex,
								A.m_vScale_x,
								A.m_dwMotion,
								A.m_vPos_x,
								A.m_vPos_y,
								A.m_vPos_z,
								A.m_fAngle,
								A.m_szCharacterKey,
								A.m_idPlayer,
								A.m_nHitPoint,
								A.m_nManaPoint,
								A.m_nFatiguePoint,
								A.m_nFuel,
								A.m_dwSkinSet,
								A.m_dwHairMesh,
								A.m_dwHairColor,
								A.m_dwHeadMesh,
								A.m_dwSex,
								A.m_dwRideItemIdx,
								A.m_dwGold,
								A.m_nJob,
								A.m_pActMover,
								A.m_nStr,
								A.m_nSta,
								A.m_nDex,
								A.m_nInt,
								A.m_nLevel,
								A.m_nMaximumLevel,
								A.m_nExp1,
								A.m_nExp2,
								A.m_aJobSkill,
								A.m_aLicenseSkill,
								A.m_aJobLv,
								A.m_dwExpertLv,
								A.m_idMarkingWorld,
								A.m_vMarkingPos_x,
								A.m_vMarkingPos_y,
								A.m_vMarkingPos_z,
								A.m_nRemainGP,
								A.m_nRemainLP,
								A.m_nFlightLv,
								A.m_nFxp,
								A.m_nTxp,
								A.m_lpQuestCntArray,
								m_aCompleteQuest = ISNULL(A.m_aCompleteQuest,'$'),
								A.m_chAuthority,
								A.m_dwMode,
								A.m_idparty,
								A.m_idCompany,
								A.m_idMuerderer,
								A.m_nFame,
								A.m_nDeathExp,
								A.m_nDeathLevel,
								A.m_dwFlyTime,
								A.m_nMessengerState,
								A.End_Time,
								A.BlockTime,
								A.blockby,
								A.isblock,
								A.TotalPlayTime,
								A.CreateTime,
								A.m_dwSkillPoint,
								B.m_aSlotApplet,								
								B.m_aSlotQueue,
								B.m_SkillBar,
								C.m_aSlotItem,
								D.m_Inventory,
								D.m_apIndex,
								D.m_adwEquipment,
								D.m_dwObjIndex,
								m_idGuild = ISNULL(G.m_idGuild,'0'),
								m_idWar = ISNULL(G.m_idWar,'0'),
								A.m_tmAccFuel,
								A.m_tGuildMember,		
								m_dwSMTime = ISNULL(H.m_dwSMTime,'NULL')	,
								SkillInfluence = ISNULL(E.SkillInfluence,'$'),
								F.m_extInventory,																						 		
								F.m_InventoryPiercing,
								A.m_dwReturnWorldID,
								A.m_vReturnPos_x,
								A.m_vReturnPos_y,
								A.m_vReturnPos_z,
								last_connect = @last_connect,
								A.m_SkillPoint,
								A.m_SkillLv,
						        A.m_SkillExp,
						      -------------- (2006 11 13 ?? ?? : Attedant Event)
						        A.dwEventFlag,
						        A.dwEventTime,
						        A.dwEventElapsed
						      -------------- (Version8 : PK System)
								,A.PKValue 		as m_nPKValue
								,A.PKPropensity as m_dwPKPropensity
								,A.PKExp 		as m_dwPKExp
						      -------------- (Version8 : Angel System)
								,A.AngelExp 	as m_nAngelExp
								,A.AngelLevel 	as m_nAngelLevel
							------------------- Version9 Pet
								,F.szInventoryPet as szInventoryPet
								,A.m_dwPetId
								, A.m_nExpLog, A.m_nAngelExpLog
								, m_nCoupon
								---------------- ver.13
								, A.m_nLayer
								---------- Ver 15
								, A.m_aCheckedQuest	
								, A.m_nCampusPoint
								, A.idCampus
								, isnull(R.m_nRestPoint, 0) m_nRestPoint
								, isnull(R.m_LogOutTime, 0) m_LogOutTime
FROM CHARACTER_TBL A 
					inner join TASKBAR_TBL B on A.m_idPlayer   = B.m_idPlayer and A.serverindex  = B.serverindex
					inner join TASKBAR_ITEM_TBL C on B.m_idPlayer   = C.m_idPlayer and B.serverindex  = C.serverindex
					inner join INVENTORY_TBL D on C.m_idPlayer   = D.m_idPlayer and C.serverindex  = D.serverindex
					inner join SKILLINFLUENCE_TBL E on D.m_idPlayer   = E.m_idPlayer and D.serverindex  = E.serverindex
					inner join INVENTORY_EXT_TBL F on E.m_idPlayer   = F.m_idPlayer and E.serverindex  = F.serverindex
					left outer join GUILD_MEMBER_TBL G on F.serverindex = G.serverindex and F.m_idPlayer = G.m_idPlayer
					left outer join BILING_ITEM_TBL H on F.serverindex = H.serverindex and F.m_idPlayer = H.m_idPlayer
					left outer join tblRestPoint R on F.serverindex = R.serverindex and F.m_idPlayer = R.m_idPlayer
			WHERE A.m_idPlayer = @im_idPlayer
					AND A.serverindex = @iserverindex
					AND A.account = lower(@iaccount)
/*
						FROM    CHARACTER_TBL A,
								TASKBAR_TBL B,
								TASKBAR_ITEM_TBL C,
								INVENTORY_TBL D,
								SKILLINFLUENCE_TBL E,
								INVENTORY_EXT_TBL F,								
								GUILD_MEMBER_TBL G,
								BILING_ITEM_TBL H
								, tblRestPoint R
				WHERE  A.m_idPlayer   = @im_idPlayer
				     AND 	A.serverindex  = @iserverindex
					  AND	A.m_idPlayer   = B.m_idPlayer
				     AND 	A.serverindex  = B.serverindex
				     AND 	B.m_idPlayer   = C.m_idPlayer
				     AND 	B.serverindex  = C.serverindex
				     AND 	C.m_idPlayer   = D.m_idPlayer
				     AND 	C.serverindex  = D.serverindex
				     AND 	D.m_idPlayer   = E.m_idPlayer
				     AND 	D.serverindex  = E.serverindex
				     AND 	E.m_idPlayer   = F.m_idPlayer
				     AND 	E.serverindex  = F.serverindex
					AND  F.serverindex *= G.serverindex
					AND  F.m_idPlayer *= G.m_idPlayer
					AND  F.serverindex *= R.serverindex
					AND  F.m_idPlayer *= R.m_idPlayer
					AND  F.serverindex *= H.serverindex
					AND  F.m_idPlayer *= H.m_idPlayer
					AND A.account = lower(@iaccount)
*/

insert into CHARACTER_TBL_validity_check (m_idPlayer, serverindex, account, m_szName, TotalPlayTime, m_dwGold, m_nLevel, m_nJob, sum_ability, CreateTime)
select m_idPlayer, serverindex, account, m_szName, TotalPlayTime, m_dwGold, m_nLevel, m_nJob, (m_nStr + m_nSta + m_nDex + m_nInt), CreateTime
from CHARACTER_TBL (nolock)
where m_idPlayer = @im_idPlayer and TotalPlayTime <= 1
	and (m_dwGold >= 1 or m_nLevel >= 2 or m_nJob >= 1 or (m_nStr + m_nSta + m_nDex + m_nInt) > 60)


declare @m_dwGold_old bigint, @m_dwGold_now bigint
select @m_dwGold_old = m_dwGold from tblLogout_Penya (nolock) where m_idPlayer = @im_idPlayer
select @m_dwGold_now = m_dwGold from CHARACTER_TBL (nolock) where serverindex = @iserverindex and m_idPlayer = @im_idPlayer
if (@m_dwGold_old <> @m_dwGold_now)
begin
	insert into tblLogout_Penya_Diff_Log (serverindex, m_idPlayer, m_dwGold_old, regdate_old, m_dwGold_now)
	select serverindex, m_idPlayer, @m_dwGold_old, regdate, @m_dwGold_now
	from tblLogout_Penya (nolock)
	where m_idPlayer = @im_idPlayer and serverindex = @iserverindex
end

				-- ?? ?? ???? account ?
	
-- 				DECLARE @bank TABLE (m_idPlayer CHAR(6),serverindex CHAR(2),playerslot INT)
-- 
-- 				INSERT @bank
-- 				(m_idPlayer,serverindex,playerslot)
--               SELECT m_idPlayer,serverindex,playerslot 
--               FROM CHARACTER_TBL 
--               WHERE account = @iaccount 
--               AND isblock = 'F'
--               ORDER BY playerslot

				SELECT  a.m_idPlayer,
								c.playerslot,
 								a.m_Bank,
								a.m_apIndex_Bank,
								a.m_dwObjIndex_Bank,
								a.m_dwGoldBank,
								a.m_BankPw,				 		
								b.m_extBank,
						                            b.m_BankPiercing
								,b.szBankPet
				   FROM 	dbo.BANK_TBL a,
                            dbo.BANK_EXT_TBL b,	
                            dbo.CHARACTER_TBL  c
               WHERE 	a.m_idPlayer = b.m_idPlayer
                    AND a.serverindex = b.serverindex
                    AND b.m_idPlayer = c.m_idPlayer
                    AND b.serverindex = c.serverindex
 					  AND c.account = @iaccount 
                    AND c.isblock = 'F'
				ORDER BY c.playerslot

				-- ?? ?? ????
				
				SELECT	a.nPocket,
					a.szItem,
					a.szIndex,
					a.szObjIndex,
					a.bExpired,
					a.tExpirationDate,
					b.szExt,
					b.szPiercing,
					b.szPet
			FROM	tblPocket as a inner join tblPocketExt as b
				on a.serverindex = b.serverindex AND a.idPlayer = b.idPlayer AND a.nPocket = b.nPocket
			WHERE a.serverindex = @iserverindex AND a.idPlayer = @im_idPlayer
			ORDER BY a.nPocket
		RETURN
	END
/*
	
	 ??? ?? ???? New
	 ex ) 
	 CHARACTER_STR 'S8',@im_idPlayer,@iserverindex,@iaccount
	 CHARACTER_STR 'S8','425120','01','ata3k'
*/
ELSE
IF @iGu = 'U1' -- ??? ??
	BEGIN
		UPDATE CHARACTER_TBL
		      SET	dwWorldID 				= @idwWorldID,
						m_dwIndex 				= @im_dwIndex,			
						m_dwSex	 				= @im_dwSex,
						m_vScale_x 				= @im_vScale_x,						
						m_dwMotion 				= @im_dwMotion,
						m_vPos_x 					= @im_vPos_x,
						m_vPos_y 					= @im_vPos_y,
						m_vPos_z 					= @im_vPos_z,
						m_dwHairMesh    	= @im_dwHairMesh,
						m_dwHairColor	    	= @im_dwHairColor,
						m_dwHeadMesh	   	= @im_dwHeadMesh,  -- 2004/11/08   ??  
						m_fAngle 					= 0, --@im_fAngle,
						m_szCharacterKey 	= @im_szCharacterKey,
						m_nHitPoint 				= @im_nHitPoint,
						m_nManaPoint 			= @im_nManaPoint,
						m_nFatiguePoint 		= @im_nFatiguePoint,
						m_nFuel						= @im_nFuel,
						m_dwRideItemIdx 		= @im_dwRideItemIdx,
						m_dwGold 					= @im_dwGold,
						m_nJob 						= @im_nJob,
						m_pActMover 			= @im_pActMover,
						m_nStr 						= @im_nStr,
						m_nSta 						= @im_nSta,
						m_nDex 						= @im_nDex,
						m_nInt 						= @im_nInt,
						m_nLevel 					= @im_nLevel,
						m_nMaximumLevel	= CASE WHEN m_nMaximumLevel < @im_nLevel THEN @im_nLevel ELSE m_nMaximumLevel END,
						m_nExp1	 				= @im_nExp1,
						m_nExp2 					= @im_nExp2,
						m_aJobSkill 				= @im_aJobSkill,
						m_aLicenseSkill 		= @im_aLicenseSkill,
						m_aJobLv 					= @im_aJobLv,
						m_dwExpertLv 			= @im_dwExpertLv,
						m_idMarkingWorld 	= @im_idMarkingWorld,
						m_vMarkingPos_x 	= @im_vMarkingPos_x,
						m_vMarkingPos_y 	= @im_vMarkingPos_y,

						m_vMarkingPos_z 	= @im_vMarkingPos_z,
						m_nRemainGP 			= @im_nRemainGP,
						m_nRemainLP 			= @im_nRemainLP,
						m_nFlightLv 				= @im_nFlightLv,
						m_nFxp 						= @im_nFxp,
						m_nTxp 						= @im_nTxp,
						m_lpQuestCntArray 	= @im_lpQuestCntArray,
						m_aCompleteQuest = @im_aCompleteQuest,
						m_dwMode 				= @im_dwMode,
						m_idparty 					= @im_idparty,
						m_idMuerderer 		= @im_idMuerderer,
						m_nFame 					= @im_nFame,	
						m_nDeathExp			= @im_nDeathExp,
						m_nDeathLevel			= @im_nDeathLevel,						
						m_nMessengerState = @im_nMessengerState,
						--m_dwFlyTime				= m_dwFlyTime + @im_dwFlyTime,
						m_dwFlyTime = @im_dwFlyTime,
						TotalPlayTime 			= TotalPlayTime + @iTotalPlayTime,
						m_tmAccFuel 			= @im_tmAccFuel,
						m_dwSkillPoint			= @im_dwSkillPoint,
						m_dwReturnWorldID= @im_dwReturnWorldID,
						m_vReturnPos_x		= @im_vReturnPos_x,
						m_vReturnPos_y		= @im_vReturnPos_y,
						m_vReturnPos_z		= @im_vReturnPos_z,
						m_SkillPoint		=@im_SkillPoint,
						m_SkillLv			=@im_SkillLv,
				        m_SkillExp                      =@im_SkillExp
				      -------------- (?? ?? : 2006 11 13 Attendant Event)
				        , dwEventFlag                     =@idwEventFlag
				        , dwEventTime                     =@idwEventTime
				        , dwEventElapsed          =@idwEventElapsed
				      -------------- (ADD: Version8-PK System)
						, PKValue        	= @im_nPKValue
						, PKPropensity   	= @im_dwPKPropensity
						, PKExp         	= @im_dwPKExp
				      -------------- (ADD: Version8-Angel System)
						, AngelExp			= @im_nAngelExp
						, AngelLevel		= @im_nAngelLevel
					--------------------- Version9 Pet
						, m_dwPetId = @im_dwPetId

						, m_nExpLog = @im_nExpLog
						, m_nAngelExpLog = @im_nAngelExpLog
						, m_nCoupon = @im_nCoupon
						------------- ver. 13
						, m_nHonor = @im_nHonor
						, m_nLayer = @im_nLayer
						---------- Ver 15
						, m_aCheckedQuest = @im_aCheckedQuest
						, m_nCampusPoint = @im_nCampusPoint
						, idCampus = @im_idCampus
				WHERE   m_idPlayer                              = @im_idPlayer  
				AND 	serverindex 				= @iserverindex

-- 		if object_id('QUEST_TBL') is not null
-- 			EXEC QUEST_STR 'A1',@im_idPlayer,@iserverindex,@im_lpQuestCntArray

update tblLogout_Penya
set m_dwGold = @im_dwGold, regdate = getdate()
where m_idPlayer = @im_idPlayer and serverindex = @iserverindex

		IF @im_nLevel>=120 BEGIN
			UPDATE 	CHARACTER_TBL 
				SET FinalLevelDt=getdate() 
			WHERE 	serverindex=@iserverindex 
				AND m_idPlayer=@im_idPlayer 
				AND FinalLevelDt='2000-01-01'
		END

		--??? ???? ?? ??
		IF @im_dwSMTime > '' 
			BEGIN
				IF EXISTS(SELECT * FROM BILING_ITEM_TBL WHERE m_idPlayer= @im_idPlayer  AND serverindex 	= @iserverindex)
				UPDATE BILING_ITEM_TBL
						SET m_dwSMTime = @im_dwSMTime
				 WHERE	m_idPlayer   				= @im_idPlayer 	
					  AND 	serverindex 				= @iserverindex
				ELSE
				INSERT BILING_ITEM_TBL
					(m_idPlayer,serverindex,m_dwSMTime)
				VALUES
					(@im_idPlayer,@iserverindex,@im_dwSMTime)
			END
		ELSE
			 DELETE BILING_ITEM_TBL
			 WHERE	m_idPlayer   				= @im_idPlayer 	
			      AND 	serverindex 				= @iserverindex

			
-- 		UPDATE 	CARD_CUBE_TBL 
-- 				SET m_Card 						= @im_Card,
-- 						m_apIndex_Card 		= @im_Index_Card,
-- 						m_dwObjIndex_Card= @im_ObjIndex_Card,
-- 						m_Cube 						= @im_Cube,
-- 						m_apIndex_Cube 	= @im_Index_Cube,
-- 						m_dwObjIndex_Cube=@im_ObjIndex_Cube 
-- 		 WHERE	m_idPlayer   				= @im_idPlayer 	
-- 			  AND 	serverindex 				= @iserverindex
		
		UPDATE INVENTORY_TBL 
		      SET 	m_Inventory 				= @im_Inventory,
						m_apIndex 				= @im_apIndex,
						m_adwEquipment 	= @im_adwEquipment,
						m_dwObjIndex 			= @im_dwObjIndex
		 WHERE 	m_idPlayer   				= @im_idPlayer 	
			  AND 	serverindex 				= @iserverindex
		
		
		UPDATE TASKBAR_TBL 
			  SET 	m_aSlotApplet 			= @im_aSlotApplet,
						m_aSlotQueue 			= @im_aSlotQueue,
						m_SkillBar					= @im_SkillBar
		 WHERE 	m_idPlayer   				= @im_idPlayer 	
			  AND 	serverindex 				= @iserverindex


		UPDATE TASKBAR_ITEM_TBL 
			  SET 	m_aSlotItem 				= @im_aSlotItem						
		 WHERE 	m_idPlayer   				= @im_idPlayer 	
			  AND 	serverindex 				= @iserverindex

		UPDATE BANK_TBL 
			  SET 	m_Bank 						= @im_Bank,
						m_apIndex_Bank 		= @im_apIndex_Bank, 
						m_dwObjIndex_Bank = @im_dwObjIndex_Bank, 
						m_dwGoldBank 		= @im_dwGoldBank
		 WHERE 	m_idPlayer   				= @im_idPlayer 	
			  AND 	serverindex 				= @iserverindex

		UPDATE SKILLINFLUENCE_TBL
			 SET SkillInfluence = @iSkillInfluence
		 WHERE 	m_idPlayer   				= @im_idPlayer 	
			  AND 	serverindex 				= @iserverindex

		UPDATE INVENTORY_EXT_TBL 
		      SET 	m_extInventory 				= @im_extInventory,
						m_InventoryPiercing= @im_InventoryPiercing
			,szInventoryPet	= @iszInventoryPet
		 WHERE 	m_idPlayer   				= @im_idPlayer 	
			  AND 	serverindex 				= @iserverindex

		UPDATE BANK_EXT_TBL 
			  SET 	m_extBank 						= @im_extBank,
						m_BankPiercing			= @im_BankPiercing
			, szBankPet = @iszBankPet
		 WHERE 	m_idPlayer   				= @im_idPlayer 	
			  AND 	serverindex 				= @iserverindex

		SELECT fError = '1', fText = 'OK'
		RETURN
	END
/*
	
	??????
	 ex ) 
	 CHARACTER_STR 'U1', ALL ...
	 CHARACTER_STR 'U1','000001','01' ...
*/

ELSE
IF @iGu = 'U2' --? ???? ??
	BEGIN
		UPDATE CHARACTER_TBL
		      SET	TotalPlayTime 			= TotalPlayTime + @iplayerslot 
		 WHERE	m_szName  				= @im_szName 	
			  AND 	serverindex 				= @iserverindex
		RETURN
	END
/*

	? ???? ??
	 ex ) 
	 CHARACTER_STR 'U2','',@iserverindex,'',@im_szName,@iplayerslot (@iTotalPlayTime)
	 CHARACTER_STR 'U2','','01','','beat',10234
*/

ELSE
IF @iGu = 'U3' --? ???? ?? new
	BEGIN
		UPDATE CHARACTER_TBL
		      SET	TotalPlayTime 			= TotalPlayTime + @iplayerslot 
		 WHERE 	m_idPlayer   				= @im_idPlayer 	
			  AND 	serverindex 				= @iserverindex
		RETURN
	END
/*

	? ???? ?? (new)
	 ex ) 
	 CHARACTER_STR 'U3',@im_idPlayer,@iserverindex,'','',@iplayerslot (@iTotalPlayTime)
	 CHARACTER_STR 'U3','000001','01','','',10234
*/

ELSE
IF @iGu = 'U4' --??? ? ??
	BEGIN
		IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE m_szName  = @im_szName  AND serverindex	= @iserverindex)
			BEGIN
				SELECT fError = '0'
			END
		ELSE
			BEGIN
				UPDATE CHARACTER_TBL
				      SET	m_szName			= @im_szName
				 WHERE 	m_idPlayer   				= @im_idPlayer 	
					  AND 	serverindex 				= @iserverindex
				SELECT fError = '1'
			END
		RETURN
	END

-- Ver 15
ELSE
IF @iGu = 'U5' --?? ??? ???? ??
	BEGIN
		IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex	= @iserverindex)
			BEGIN
				UPDATE CHARACTER_TBL
				      SET	m_nCampusPoint			= m_nCampusPoint + @iplayerslot
				 WHERE 	m_idPlayer   				= @im_idPlayer 	
					  AND 	serverindex 				= @iserverindex

				declare @u5m_nCampusPoint int
				select @u5m_nCampusPoint = m_nCampusPoint from CHARACTER_TBL (nolock) WHERE  m_idPlayer = @im_idPlayer AND serverindex	= @iserverindex
				SELECT fError = '1', @u5m_nCampusPoint  m_nCampusPoint
			END
		ELSE
		RETURN
	END
ELSE
IF @iGu = 'U6' -- ?? ID ???? ??
	BEGIN
		IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE  m_idPlayer = @im_idPlayer AND serverindex	= @iserverindex)
			BEGIN
				UPDATE CHARACTER_TBL
				      SET	idCampus			= @iplayerslot
				 WHERE 	m_idPlayer   				= @im_idPlayer 	
					  AND 	serverindex 				= @iserverindex
				SELECT fError = '1'
			END
		ELSE
			BEGIN
				SELECT fError = '0'
			END
		RETURN
	END


/*


	??? ? ??
	 ex ) 
	 CHARACTER_STR 'U4',@im_idPlayer,@iserverindex,@iaccount,@im_szName
	 CHARACTER_STR 'U4','000001','01','','????'
*/
ELSE
IF @iGu = 'D1' -- ??? ??
	BEGIN
		IF @im_szName = ''
		BEGIN
			SELECT fError = '1', fText = '??????'
			RETURN
		END
			if not exists (select * from CHARACTER_TBL where m_idPlayer = @im_idPlayer and account = @iaccount and serverindex = @iserverindex)
			begin
				select fError = '1'
				return
			end

			DECLARE @Exists int
	
			IF EXISTS(SELECT name  from syscolumns where name='m_idPlayer' AND collation= 'Japanese_BIN')
				BEGIN
					IF EXISTS(SELECT * FROM ACCOUNT_DBF.dbo.ACCOUNT_TBL  WHERE account = @iaccount AND (password =  @im_szName OR member = 'B' ))
		              SET @Exists = 1
					ELSE
						SET @Exists = 0				
				END
			ELSE
				BEGIN
					IF EXISTS(SELECT *  FROM ACCOUNT_DBF.dbo.ACCOUNT_TBL  WHERE account = @iaccount AND (id_no2 =  @im_szName OR member = 'B' ))
		              SET @Exists = 1
					ELSE
						SET @Exists = 0		
				END

			IF @Exists > 0
				BEGIN
					DECLARE @currDate char(12)				
					SET @currDate = CONVERT(CHAR(8),GETDATE(),112) 
											   + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(hh,GETDATE())),2) 
											   + RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(mi,GETDATE())),2)



					IF EXISTS(SELECT m_idPlayer FROM GUILD_MEMBER_TBL WHERE 	m_idPlayer = @im_idPlayer AND serverindex = @iserverindex	AND m_idWar > 0)
						BEGIN
						SELECT fError = '3', fText = '????'
						RETURN
						END
					ELSE
						BEGIN
						UPDATE CHARACTER_TBL
							  SET isblock 						= 'D',
									  End_Time						= @currDate ,	
									  BlockTime					= LEFT(@currDate,8)
						WHERE 	m_idPlayer   				= @im_idPlayer 	
							  AND 	serverindex 				= @iserverindex	
	
						UPDATE MESSENGER_TBL
							   SET State = 'D'
						 WHERE 	m_idPlayer   				= @im_idPlayer 	
							  AND 	serverindex 				= @iserverindex	
	
						UPDATE MESSENGER_TBL
							   SET State = 'D'

						 WHERE 	f_idPlayer   				= @im_idPlayer 	
							  AND 	serverindex 				= @iserverindex	



                     /****************************************************************************************/
                     /**                     200506 event                                                                                                          **/
                     /****************************************************************************************/


-- 						if (not exists(select account from RANKING.RANKING_DBF.dbo.last_1_month_tbl where account = @iaccount)
--                           and convert(char(10),getdate(),120) between '2005-07-05' and '2005-07-12')
-- 
--                      begin  --: 1?? ?? ????? ?? ???? ?? 
-- 							declare @cash int,@get_cach int
-- 							select @cash = case when m_nLevel between 10 and 19 then 500
-- 	                                                       when m_nLevel between 20 and 39 then 1000 
-- 	                                                       when m_nLevel between 40 and 49 then 1500 
-- 	                                                       when m_nLevel between 50 and 59 then 2000
-- 	                                                       when m_nLevel between 60 and 69 then 2500
-- 	                                                       when m_nLevel >=	70 then 3000
-- 	                                                       else 0 end
-- 	                     from CHARACTER_TBL
-- 	                     where m_idPlayer = @im_idPlayer and serverindex = @iserverindex
-- 	
-- 	                     select @get_cach = isnull(sum(amount),0)
-- 	                     from  RANKING.RANKING_DBF.dbo.event_member_tbl  
-- 	                     where account = @iaccount
-- 	                     group by account
-- 	
-- 							if @cash + @get_cach > 5000
-- 	                     set @cash = 5000 - @get_cach
-- 	                    
-- 	                     if @cash > 0
-- 	
-- 	                     begin
-- 								declare [MENTION=297845]ReT[/MENTION]code int
-- 	
-- 			                 if not exists(select * from BILLING.QLORD_MASTER.dbo.BX_TG_USERINFO where USER_ID = @iaccount)
-- 			                 exec BILLING.QLORD_MASTER.dbo.BX_SP_PROCESS_USERINFO @iaccount,@iaccount,'FLYF',' ','1111111111118',' ',' ',''
-- 		
-- 			                 exec [MENTION=297845]ReT[/MENTION]code = BILLING.QLORD_MASTER.dbo.BX_SP_INSERT_BONUS_IN @iaccount,@iaccount,'FLYF','IN00000004',@cash,'??? ?? ???',0,''
-- 	
-- 								if [MENTION=297845]ReT[/MENTION]code <> 1
--                             set @cash = 0
-- 
-- 		 					   insert  RANKING.RANKING_DBF.dbo.event_member_tbl 
-- 								 (account,amount,m_idPlayer,serverindex,retcode,date)
-- 					          values
-- 		                      (@iaccount,@cash,@im_idPlayer,@iserverindex [MENTION=297845]ReT[/MENTION]code,getdate())  
-- 	                        
-- 	                     end
--                      end
                     /****************************************************************************************/
                     /****************************************************************************************/
                     /****************************************************************************************/					


						IF EXISTS(SELECT m_idPlayer FROM GUILD_MEMBER_TBL   WHERE 	m_idPlayer = @im_idPlayer AND serverindex = @iserverindex) 
							BEGIN
								SELECT fError = '4', fText = m_idGuild FROM GUILD_MEMBER_TBL   WHERE 	m_idPlayer = @im_idPlayer AND serverindex = @iserverindex
								RETURN
							END
						ELSE
							BEGIN
								SELECT fError = '0', fText = 'DELETE OK'
								RETURN
							END
							
						END
				END
			ELSE
				BEGIN
					SELECT fError = '1', fText = '??????'
					RETURN
				END
	END
/*

	??? ??
	 ex ) 
	 CHARACTER_STR 'D1',@im_idPlayer,@iserverindex,@iaccount (isblock)
	 CHARACTER_STR 'D1','001068','01','ata3k','1019311'

*/

ELSE
IF @iGu = 'I1' -- ?? ?? ??
	BEGIN

	IF EXISTS(SELECT m_szName FROM CHARACTER_TBL
		  WHERE  m_szName = @im_szName AND serverindex = @iserverindex)
		BEGIN
			SELECT  fError = '0', fText = '??? ??!' 
			RETURN
		END
	ELSE
		BEGIN
			DECLARE
								@om_idPlayer 					CHAR		(7)		,
								@om_vScale_x					REAL					,
								@om_dwMotion					INT						,
								@om_fAngle						REAL					,
								@om_nHitPoint					INT						,
								@om_nManaPoint				INT						,
								@om_nFatiguePoint			INT						,
								@om_dwRideItemIdx		INT						,
								@om_dwGold					INT						,
								@om_nJob							INT						,
								@om_pActMover				VARCHAR(50)	,
								@om_nStr							INT						,
								@om_nSta							INT						,
								@om_nDex							INT						,
								@om_nInt							INT						,
								@om_nLevel						INT						,
								@om_nExp1						BIGINT						,
								@om_nExp2						BIGINT						,	
								@om_aJobSkill					VARCHAR	(500),
								@om_aLicenseSkill			VARCHAR	(500),
								@om_aJobLv						VARCHAR	(500),
								@om_dwExpertLv				INT						,
								@om_idMarkingWorld		INT						,
								@om_vMarkingPos_x		REAL					,
								@om_vMarkingPos_y		REAL					,
								@om_vMarkingPos_z		REAL					,
								@om_nRemainGP				INT						,
								@om_nRemainLP				INT						,
								@om_nFlightLv					INT						,
								@om_nFxp							INT						,
								@om_nTxp							INT						,
								@om_lpQuestCntArray		VARCHAR(1024),
								@om_chAuthority				CHAR(1)				,
								@om_dwMode					INT						,
								@oblockby							VARCHAR(32)	,
								@oTotalPlayTime				INT						,
								@oisblock							CHAR(1)				,
								@oEnd_Time						CHAR(12)	,
								@om_Inventory					VARCHAR(6940),
								@om_apIndex					VARCHAR(345)	,
								@om_adwEquipment		VARCHAR(135)	,
								@om_aSlotApplet				VARCHAR(3100),
								@om_aSlotItem					VARCHAR(6885),
								@om_aSlotQueue				VARCHAR(225),
								@om_SkillBar						SMALLINT,
								@om_dwObjIndex				VARCHAR(345)	,
								@om_Card							VARCHAR(1980),
								@om_Cube						VARCHAR(1980),
								@om_apIndex_Card			VARCHAR(215)	,
								@om_dwObjIndex_Card	VARCHAR(215)	,
								@om_apIndex_Cube		VARCHAR(215)	,
								@om_dwObjIndex_Cube	VARCHAR(215)	,
								@om_idparty						INT						,
								@om_idMuerderer			INT						,
								@om_nFame						INT						,
								@om_nDeathExp				BIGINT						,
								@om_nDeathLevel			INT						,
								@om_dwFlyTime				INT						,
								@om_nMessengerState	INT						,
								@om_Bank							VARCHAR(4290),
								@om_apIndex_Bank		 	VARCHAR(215)	,
								@om_dwObjIndex_Bank VARCHAR(215)	,
								@om_dwGoldBank			INT						
								---------- Ver 15
								, @om_aCheckedQuest varchar(100) 
								, @om_nCampusPoint int 
								, @om_idCampus int

				 IF EXISTS (SELECT * FROM CHARACTER_TBL WHERE  serverindex = @iserverindex)
				 SELECT @om_idPlayer = RIGHT('0000000' + CONVERT(VARCHAR(7),MAX(m_idPlayer)+1),7)
			       FROM CHARACTER_TBL
				  WHERE  serverindex = @iserverindex
				ELSE		
				SELECT @om_idPlayer = '0000001'	
			
				 SELECT @om_vScale_x 				= m_vScale_x,
								@om_dwMotion 				= m_dwMotion,
								@om_fAngle 						= m_fAngle,
								@om_nHitPoint 					= m_nHitPoint,
								@om_nManaPoint 			= m_nManaPoint,
								@om_nFatiguePoint 			= m_nFatiguePoint,
								@om_dwRideItemIdx 		= m_dwRideItemIdx,
								@om_dwGold 					= m_dwGold,
								@om_nJob 						= m_nJob,
								@om_pActMover 				= m_pActMover,
								@om_nStr 							= m_nStr,
								@om_nSta 							= m_nSta,
								@om_nDex 						= m_nDex,
								@om_nInt 							= m_nInt,
								@om_nLevel 						= m_nLevel,
								@om_nExp1 						= m_nExp1,
								@om_nExp2 						= m_nExp2,
								@om_aJobSkill 					= m_aJobSkill,
								@om_aLicenseSkill 			= m_aLicenseSkill,
								@om_aJobLv 					= m_aJobLv,
								@om_dwExpertLv 				= m_dwExpertLv,
								@om_idMarkingWorld 		= m_idMarkingWorld,
								@om_vMarkingPos_x 		= m_vMarkingPos_x,
								@om_vMarkingPos_y 		= m_vMarkingPos_y,
								@om_vMarkingPos_z 		= m_vMarkingPos_z,
								@om_nRemainGP 			= m_nRemainGP,
								@om_nRemainLP 			= m_nRemainLP,
								@om_nFlightLv 					= m_nFlightLv,
								@om_nFxp 						= m_nFxp,
								@om_nTxp 						= m_nTxp,
								@om_lpQuestCntArray		= m_lpQuestCntArray,
								@om_chAuthority 				= m_chAuthority,
								@om_dwMode 					= m_dwMode,
								@oblockby 						= blockby,
								@oTotalPlayTime 				= TotalPlayTime,
								@oisblock 							= isblock,
								@oEnd_Time 					= CONVERT(CHAR(8),DATEADD(yy,3,GETDATE()),112) + '0000',
								@om_Inventory 					= m_Inventory,
								@om_apIndex 					= m_apIndex,
								@om_adwEquipment 		= m_adwEquipment,
								@om_aSlotApplet 				= m_aSlotApplet,
								@om_aSlotItem 					= m_aSlotItem,
								@om_aSlotQueue 			= m_aSlotQueue,
								@om_SkillBar						= m_SkillBar,
								@om_dwObjIndex 			= m_dwObjIndex,
								@om_Card 						= m_Card,
								@om_Cube 						= m_Cube,
								@om_apIndex_Card 		= m_apIndex_Card,
								@om_dwObjIndex_Card	= m_dwObjIndex_Card,
								@om_apIndex_Cube 		= m_apIndex_Cube,
								@om_dwObjIndex_Cube = m_dwObjIndex_Cube,
								@om_idparty 						= m_idparty,			
								@om_idMuerderer 			= m_idMuerderer,
								@om_nFame 						= m_nFame,
								@om_nDeathExp				= m_nDeathExp,
								@om_nDeathLevel			= m_nDeathLevel,
								@om_dwFlyTime				= m_dwFlyTime,
								@om_nMessengerState 	= m_nMessengerState,
								@om_Bank							= m_Bank,
								@om_apIndex_Bank		 	= m_apIndex_Bank,
								@om_dwObjIndex_Bank 	= m_dwObjIndex_Bank,
								@om_dwGoldBank			= m_dwGoldBank			
	
			       FROM BASE_VALUE_TBL
				 WHERE g_nSex 								= @im_dwSex

			


				INSERT CHARACTER_TBL
							(
								m_idPlayer,
								serverindex,
								account,
								m_szName,
								playerslot,
								dwWorldID,
								m_dwIndex,
								m_vScale_x,
								m_dwMotion,
								m_vPos_x,
								m_vPos_y,
								m_vPos_z,
								m_fAngle,
								m_szCharacterKey,
								m_nHitPoint,
								m_nManaPoint,
								m_nFatiguePoint,
								m_nFuel,
								m_dwSkinSet,
								m_dwHairMesh,
								m_dwHairColor,
								m_dwHeadMesh,
								m_dwSex,
								m_dwRideItemIdx,
								m_dwGold,
								m_nJob,
								m_pActMover,
								m_nStr,
								m_nSta,
								m_nDex,
								m_nInt,
								m_nLevel,
								m_nMaximumLevel,
								m_nExp1,
								m_nExp2,
								m_aJobSkill,
								m_aLicenseSkill,
								m_aJobLv,
								m_dwExpertLv,
								m_idMarkingWorld,
								m_vMarkingPos_x,
								m_vMarkingPos_y,
								m_vMarkingPos_z,
								m_nRemainGP,
								m_nRemainLP,
								m_nFlightLv,
								m_nFxp,
								m_nTxp,
								m_lpQuestCntArray,
								m_aCompleteQuest,
								m_chAuthority,
								m_dwMode,
								m_idparty,
								m_idCompany,
								m_idMuerderer,
								m_nFame,
								m_nDeathExp,
								m_nDeathLevel,
								m_dwFlyTime,
								m_nMessengerState,
								blockby,
								TotalPlayTime,
								isblock,
								End_Time,
								BlockTime,
								CreateTime,
								m_tmAccFuel,
								m_tGuildMember,
								m_dwSkillPoint,
								m_dwReturnWorldID,
								m_vReturnPos_x,
								m_vReturnPos_y,
								m_vReturnPos_z,
								m_SkillPoint,
								m_SkillLv,
								m_SkillExp
								---------- Ver 15
								, m_aCheckedQuest
								, m_nCampusPoint
								, idCampus
							)

				VALUES
							(
								@om_idPlayer,
								@iserverindex,
								@iaccount,
								@im_szName,
								@iplayerslot,
								@idwWorldID,
								@im_dwIndex,
								@om_vScale_x,
								@om_dwMotion,
								@im_vPos_x,
								@im_vPos_y,
								@im_vPos_z,
								@om_fAngle,
								@im_szCharacterKey,
								@om_nHitPoint,
								@om_nManaPoint,

								@om_nFatiguePoint,
								-1, --m_nFuel
								@im_dwSkinSet,
								@im_dwHairMesh,
								@im_dwHairColor,
								@im_dwHeadMesh,
								@im_dwSex,
								@om_dwRideItemIdx,
								@om_dwGold,
								@om_nJob,
								@om_pActMover,
								@om_nStr,
								@om_nSta,
								@om_nDex,
								@om_nInt,
								@om_nLevel,
								1, --m_nMaximumLevel
								@om_nExp1,
								@om_nExp2,
								@om_aJobSkill,
								@om_aLicenseSkill,
								@om_aJobLv,
								@om_dwExpertLv,
								@om_idMarkingWorld,
								@om_vMarkingPos_x,
								@om_vMarkingPos_y,
								@om_vMarkingPos_z,
								@om_nRemainGP,
								@om_nRemainLP,
								@om_nFlightLv,
								@om_nFxp,
								@om_nTxp,
								@om_lpQuestCntArray,
								'$', -- m_aCompleteQuest
								@om_chAuthority,
								@om_dwMode,
								@om_idparty,
								'000000', -- m_idCompany
								@om_idMuerderer,
								@om_nFame,
								@om_nDeathExp,
								@om_nDeathLevel,
								@om_dwFlyTime	,
								@om_nMessengerState,
								@oblockby,
								@oTotalPlayTime,
								@oisblock,
								@oEnd_Time,
								CONVERT(CHAR(8),DATEADD(d,-1,GETDATE()),112),
								GETDATE(),
								0,
								CONVERT(CHAR(8),DATEADD(d,-1,GETDATE()),112) 
									+ RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(hh,DATEADD(d,-1,GETDATE()))),2) 
									+ RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(mi,DATEADD(d,-1,GETDATE()))),2) 
									+ RIGHT('00' + CONVERT(VARCHAR(2),DATEPART(ss,DATEADD(d,-1,GETDATE()))),2),
								0, --m_dwSkillPoint
                            1,
                            0, 
                            0,
                            0,
							@im_SkillPoint,
							@im_SkillLv,
							@im_SkillExp
							-- Ver 15
							, '$'
							, 0
							, 0
							)


				INSERT INVENTORY_TBL
							(
								m_idPlayer,
								serverindex,
								m_Inventory,
								m_apIndex,
								m_adwEquipment,
								m_dwObjIndex
							)
				VALUES 
							(
								@om_idPlayer,
								@iserverindex,
								@om_Inventory,
								@om_apIndex,
								@om_adwEquipment,
								@om_dwObjIndex
							)


-- 				INSERT CARD_CUBE_TBL
-- 							(
-- 								m_idPlayer,
-- 								serverindex,
-- 								m_Card,
-- 								m_Cube,
-- 								m_apIndex_Card,
-- 								m_dwObjIndex_Card,
-- 								m_apIndex_Cube,
-- 								m_dwObjIndex_Cube
-- 							)
-- 				VALUES 
-- 							(
-- 								@om_idPlayer,
-- 								@iserverindex,
-- 								@om_Card,
-- 								@om_Cube,
-- 								@om_apIndex_Card,
-- 								@om_dwObjIndex_Card,
-- 								@om_apIndex_Cube,
-- 								@om_dwObjIndex_Cube
-- 							)



				IF @@SERVERNAME = 'WEB' OR  @@SERVERNAME = 'SERVER4'
				SET @om_aSlotApplet = '0,2,400,0,0,0,0/1,2,398,0,1,0,0/2,2,2010,0,2,0,0/3,2,1005,0,3,0,0/4,3,25,0,4,0,0/$'

				INSERT TASKBAR_TBL
							(
								m_idPlayer,
								serverindex,
								m_aSlotApplet,
								m_aSlotQueue,
								m_SkillBar

							)
				VALUES 
							(
								@om_idPlayer,
								@iserverindex,
								@om_aSlotApplet,
								@om_aSlotQueue,

								@om_SkillBar
							)


				INSERT TASKBAR_ITEM_TBL
							(
								m_idPlayer,
								serverindex,
								m_aSlotItem
							)
				VALUES 
							(
								@om_idPlayer,
								@iserverindex,
								@om_aSlotItem
							)
			INSERT BANK_TBL
							(
								m_idPlayer,
								serverindex,
								m_Bank,
								m_BankPw,
								m_apIndex_Bank, 
								m_dwObjIndex_Bank ,
								m_dwGoldBank
							)
				VALUES 
							(
								@om_idPlayer,
								@iserverindex,
								@om_Bank,
								'0000', -- m_BankPw
--								@im_BankPW,
								@om_apIndex_Bank, 
								@om_dwObjIndex_Bank,
								@om_dwGoldBank 
							)

		INSERT SKILLINFLUENCE_TBL
							( 								
								m_idPlayer,
								serverindex,
								SkillInfluence
							)
				VALUES 
							(

								@om_idPlayer,
								@iserverindex,
								'$'
							)

		INSERT INVENTORY_EXT_TBL
							( 								
								m_idPlayer,
								serverindex,
								m_extInventory,
								m_InventoryPiercing
							)
				VALUES 
							(
								@om_idPlayer,
								@iserverindex,
								'$','$'
							)

		INSERT BANK_EXT_TBL
							( 								
								m_idPlayer,
								serverindex,
								m_extBank,
								m_BankPiercing
							)
				VALUES 
							(
								@om_idPlayer,
								@iserverindex,
								'$','$'
							)


		-- Skill Information
		INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
        	VALUES (@iserverindex, @om_idPlayer, 1, 0, 0)
		INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
        	VALUES (@iserverindex, @om_idPlayer, 2, 0, 1)
		INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition)
        	VALUES (@iserverindex, @om_idPlayer, 3, 0, 2)



		-- Pocket
	INSERT  tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
	VALUES ( @iserverindex, @om_idPlayer, 0, '$', '$', '$', 0, 0 )
	
	INSERT  tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
	VALUES ( @iserverindex, @om_idPlayer, 0, '$', '$', '$' )
	
	INSERT  tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
	VALUES ( @iserverindex, @om_idPlayer, 1, '$', '$', '$', 1, 0 )
	
	INSERT  tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
	VALUES ( @iserverindex, @om_idPlayer, 1, '$', '$', '$' )
	
	INSERT  tblPocket ( serverindex, idPlayer, nPocket, szItem, szIndex, szObjIndex, bExpired, tExpirationDate )
	VALUES ( @iserverindex, @om_idPlayer, 2, '$', '$', '$', 1, 0 )
	
	INSERT  tblPocketExt ( serverindex, idPlayer, nPocket, szExt, szPiercing, szPet )
	VALUES ( @iserverindex, @om_idPlayer, 2, '$', '$', '$' )

	------------------- ver. 13
	insert into tblMaster_all (serverindex, m_idPlayer, sec)
	select @iserverindex, @om_idPlayer, 1
	insert into tblMaster_all (serverindex, m_idPlayer, sec)
	select @iserverindex, @om_idPlayer, 2
	insert into tblMaster_all (serverindex, m_idPlayer, sec)
	select @iserverindex, @om_idPlayer, 3

		/*
		?? ??? : ??? ????
		?? ??1 : ?? 1~20 ??? ?? ?? ???(????? ????? ?? ?? ??)
		?? ??2 : ??? ??? ???? ???
		
		??? ?? 
		??? 23~27???(28 0?? ??)
		
		?? ?? 
		??? 24~27???(28 0?? ??)
		*/

	------------------- ver. 15
	insert into tblRestPoint (serverindex, m_idPlayer)
	select @iserverindex, @om_idPlayer

------------ Penay check default setting
insert into tblLogout_Penya (serverindex, m_idPlayer)
select @iserverindex, @om_idPlayer


/*"???????~!"*/
if (getdate() >= '2009-05-29 00:00:00' and getdate() < '2009-06-29 00:00:00')
begin
	declare @i1_regdate datetime
	select @i1_regdate = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
	if (@i1_regdate >= '2009-05-29 00:00:00' and @i1_regdate < '2009-06-29 00:00:00')
	begin
		if not exists (select * from MANAGE_DBF.dbo.tblEvent_NewAcc_090529 where account = @iaccount)
		begin
			insert into ITEM_SEND_TBL (m_idPlayer, serverindex, Item_Name, Item_count, m_bCharged, idSender)
			select @om_idPlayer, @iserverindex, '30191', 1, 1, '0000000'

			insert into MANAGE_DBF.dbo.tblEvent_NewAcc_090529 (account, serverindex, m_idPlayer, m_szName)
			select @iaccount, @iserverindex, @om_idPlayer, @im_szName
		end
	end
end


--[Event.4] ???? ?? ???? 
if (getdate() >= '2009-12-29 10:00:00' and getdate() < '2010-03-02 10:00:00')
begin
	declare @aregdate datetime
	select @aregdate = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
	declare @id_no1 char(6), @id_no2 char(7), @itcount int

	if (@aregdate >= '2009-12-29 10:00:00' and @aregdate < '2010-03-02 10:00:00')
	begin
		select @id_no1 = id_no1, @id_no2 = id_no2 from ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount

		/* ??? ????? ?? ?? 2?? ??? ??? ? ?? ?? ?? ??*/
		select @itcount = count(*) from ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
		inner join ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL BB on AA.account = BB.account
		where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(AA.account, 4)), 2) <> '__'
		and regdate <= '2009-12-29 10:00:00'

		--Event.1 ?? ?? ?? : ??? ???? (????)    
		if (@itcount = 0)
		begin
/*
			DECLARE @nMaxMailID int
			SELECT @nMaxMailID = MAX(nMail) + 1 from MAIL_TBL where serverindex = @iserverindex
			SET @nMaxMailID = ISNULL( @nMaxMailID, 0 )
	
			EXEC dbo.MAIL_STR 'A1', @nMaxMailID, @iserverindex, @om_idPlayer, '0000000', 0, 0, 0, '?? ?? ???', '????? ??? ??????.', '26205', 3, 0, 0, 0, 0, 2
*/
			--ES ??? ????(20) (???: 26205)
			insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
			select @iserverindex, @om_idPlayer, '26314', 3, 1, '0000000'

			insert into MANAGE_DBF.dbo.tbl_Event_NewAccount_0912 (account, serverindex, m_idPlayer, m_Jumin)
			select @iaccount, @iserverindex, @om_idPlayer, @id_no1+@id_no2
		end
	end

	-- Event.2 ????! ??? ????? ( ?? ??)
	if (getdate() >= '2010-02-22 10:00:00' and getdate() < '2010-02-23 10:00:00')
	begin
		--??? ????? ( ?? ??)
		-- @aregdate, @id_no1, @id_no2  ? ????? ???? ?? ??
		if (@aregdate >= '2010-02-02 10:00:00' and @aregdate < '2010-02-23 10:00:00')
		begin
			/* ??? ????? ?? ?? 2?? ??? ??? ? ?? ?? ?? ??*/
			select @itcount = count(*) from ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
			inner join ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL BB on AA.account = BB.account
			where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(AA.account, 4)), 2) <> '__'
			and regdate <= '2010-01-29 10:00:00'
	
			if (@itcount = 0 )
			begin
				-- ?? 3? ??
				insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
				select @iserverindex, @om_idPlayer, '26919', 1, 1, '0000000'
			
				insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
				select @iserverindex, @om_idPlayer, '26920', 1, 1, '0000000'
			
				insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
				select @iserverindex, @om_idPlayer, '26921', 1, 1, '0000000'

				insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001 (account, serverindex, m_idPlayer, m_Type)
				select @iaccount, @iserverindex, @om_idPlayer, 'N'
				
				insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001_account (account)
				select @iaccount
			end
		end
		--??? ????? (?? ??)
		if not exists (select top 1 * from MANAGE_DBF.dbo.tbl_Event_WSNB_1001_account (nolock) where account = @iaccount)
		begin
			-- ?? 3? ??
			insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
			select @iserverindex, @om_idPlayer, '26919', 1, 1, '0000000'
		
			insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
			select @iserverindex, @om_idPlayer, '26920', 1, 1, '0000000'
		
			insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
			select @iserverindex, @om_idPlayer, '26921', 1, 1, '0000000'

			insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001 (account, serverindex, m_idPlayer, m_Type)
			select @iaccount, @iserverindex, @om_idPlayer, 'H'
		end
	end
end

/*[Event.1-2]?? ???? ???? ??~!! ? ???~ ???~ Start 
if (getdate() >= '2009-07-28 10:00:00' and getdate() < '2009-09-01')
begin
    
	declare @aregdate datetime
	select @aregdate = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount

	if (@aregdate >= '2009-07-28 10:00:00')
	begin
		declare @id_no1 char(6), @id_no2 char(7), @itcount int
		select @id_no1 = id_no1, @id_no2 = id_no2 from ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount
--		select @itcount = count(*) from ACCOUNT_DBF.dbo.ACCOUNT_TBL where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(account, 4)), 2) <> '__'

--		 ??? ????? ?? ?? 2?? ??? ??? ? ?? ?? ?? ??
		select @itcount = count(*) from ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
		inner join ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL BB on AA.account = BB.account
		where id_no1 = @id_no1 and id_no2 = @id_no2 and left ((right(AA.account, 4)), 2) <> '__'
		and regdate <= @aregdate


	--Event.1 ?? ?? ?? : ?? ??? ???? (????)    
		if not exists (select * from WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0907 where account = @iaccount)
		begin
			if (@itcount = 1)
			begin
				--??? ?? ??(???: 30191)
				insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
				select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000'

				--??? ?? ??(???: 26770)
				insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
				select @iserverindex, @om_idPlayer, '26770', 1, 1, '0000000'

				insert into WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0907 (account, serverindex, m_idPlayer)
				select @iaccount, @iserverindex, @om_idPlayer
			end
		end

		--Event.2 ?? ?? ? ???? ??? ?? : ??? ??? ???? (????)
		if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount and regdate >= '2009-07-28')
		begin

			--?? ???? ?? (???? ???? ?? : 2082)
			declare [MENTION=2257054]remem[/MENTION]_id as varchar (32), @re_serverindex char(2), @re_m_idPlayer char(7)
			select [MENTION=2257054]remem[/MENTION]_id = remem_id from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount
			exec MANAGE_DBF.dbo.usp_Highest_Char [MENTION=2257054]remem[/MENTION]_id, @re_serverindex output, @re_m_idPlayer output
--			select [MENTION=2257054]remem[/MENTION]_id, @re_serverindex, @re_m_idPlayer 

			if @re_serverindex is not NULL and  @re_m_idPlayer is not NULL
			begin
				if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0907 where account = @iaccount)
			        	begin
					if (@itcount = 1)
					begin
	
						insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
						select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000'
	
						insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0907 (account, serverindex, m_idPlayer, m_Item)
						select @iaccount, @iserverindex, @om_idPlayer, '30191'
	
						-- ???? ???? (??)
						declare @q001 nvarchar(4000)
						set @q001 = '
						insert into CHARACTER_[&server&]_DBF.dbo.ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
						select @re_serverindex, @re_m_idPlayer, ''2082'', 2, 1, ''0000000'''
						set @q001 = replace(@q001, '[&server&]', @re_serverindex)
						exec sp_executesql @q001, N'@re_serverindex char(2), @re_m_idPlayer char(7)', @re_serverindex, @re_m_idPlayer
	
--						insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0907 (account, serverindex, m_idPlayer, m_Item)
--						select [MENTION=2257054]remem[/MENTION]_id, @re_serverindex, @re_m_idPlayer, '2082'
					end
				end
			end
		end
	end
end
--    [Event.1-2]??? ???? ???? ??~!! ? ???~ ???~ End */

/* [Event.2]???~ ??? ????! Start 
if (getdate() >= '2009-02-24 10:00:00' and getdate() <= '2009-03-24 10:00:00')
begin
    
    declare @aregdate datetime
    select @aregdate = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
    
    if (@aregdate >= '2009-02-24 10:00:00')
    begin
	declare @id_no1 char(6), @id_no2 char(7), @itcount int
	select @id_no1 = id_no1, @id_no2 = id_no2 from ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount
	select @itcount = count(*) from ACCOUNT_DBF.dbo.ACCOUNT_TBL where id_no1 + id_no2 = @id_no1 + @id_no2 and left ((right(account, 4)), 2) <> '__'

        --?? ?? ?? : ?? ??? ???? (????)    
        if not exists (select * from WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0902 where account = @iaccount)
        begin
	if (@itcount = 1)
	begin
	            --FLY/FOR/FUN?? 30?
	            insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
	            select @iserverindex, @om_idPlayer, '26666', 30, 1, '0000000'
	            --FLY/FOR/FUN?? 30?
	            insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
	            select @iserverindex, @om_idPlayer, '26667', 30, 1, '0000000'
	            --FLY/FOR/FUN?? 30?                
	            insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
	            select @iserverindex, @om_idPlayer, '26668', 30, 1, '0000000'
	            
	            insert into WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_0902 (account, serverindex, m_idPlayer)
	            select @iaccount, @iserverindex, @om_idPlayer
	end
        end

        --?? ?? ? ???? ??? ?? : ??? ??? ???? (????)
        if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount and regdate >= '2009-02-24')
        begin
        	if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0902 where account = @iaccount)
        	begin
		if (@itcount = 1)
		begin

			-- ??? ?? ????? ?? ???? ?? (2009-02-24 11:40)     by ???
		                insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
		                select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000'
		
		                insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0902 (account, serverindex, m_idPlayer)
		                select @iaccount, @iserverindex, @om_idPlayer
		end
        	end
        end

    end
    
end*/
/* [Event.2]???~ ??? ????! End */

/* [Event.5] ???? ???? ^^ Start 
if (getdate() >= '2009-03-03 09:00:00' and getdate() <= '2009-03-31 09:00:00')
begin
    
    declare @a2regdate datetime
    declare [MENTION=668351]sex[/MENTION] char(1)
    select @a2regdate = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
    select [MENTION=668351]sex[/MENTION] = [??] from WEB.ONLINE_DBF.dbo.USER_TBL where [??] = @iaccount
    
    if (@a2regdate >= '2009-03-03 09:00:00' and [MENTION=668351]sex[/MENTION] = '2')
    begin

        --- ?? ??? ????  (????)    
        if not exists (select * from WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_Women_0903 where account = @iaccount)
        begin
            --??? ?? ??
            insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
            select @iserverindex, @om_idPlayer, '26770', 1, 1, '0000000'
            
            insert into WEB.ONLINE_DBF.dbo.tbl_Event_NewAccount_Women_0903 (account, serverindex, m_idPlayer)
            select @iaccount, @iserverindex, @om_idPlayer
        end

    end
    
end*/
/* [Event.5] ???? ???? ^^ End */	

	/*
		?? ??? : ??? ????

		?? ??1 : ?? 1~20 ??? ?? ?? ???(????? ????? ?? ?? ??)
		?? ??2 : ??? ??? ???? ???
		
		??? ?? 
		??? 23~27???(28 0?? ??)
		
		?? ?? 
		??? 24~27???(28 0?? ??)
		*/

/*	if (getdate() <= '2008-02-12 09:00:00')
	begin
		declare [MENTION=3859046]Regda[/MENTION]te datetime, @check int
		select @check = count(*) from ACCOUNT_DBF.dbo.tblEvent_Board_Provide where account = @iaccount
		select [MENTION=3859046]Regda[/MENTION]te = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount

		if ((@check = 0) and  [MENTION=3859046]Regda[/MENTION]te >= '2008-01-08 11:00:00'))
		begin
			declare @channel_check char(4)
			set @channel_check = right(@iaccount, 4)

			if (@channel_check = '__an')
			begin
				insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender)
				select @om_idPlayer, @iserverindex, '26533', 1, 0, '0000000'

				insert into ACCOUNT_DBF.dbo.tblEvent_Board_Provide (account, serverindex, m_idPlayer, m_szName)
				select @iaccount, @iserverindex, @om_idPlayer, @im_szName
			end
			else if (@channel_check = '__bu')
			begin
				if (getdate() <= '2008-02-08 23:59:59')
				begin
					insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender)
					select @om_idPlayer, @iserverindex, '26534', 1, 0, '0000000'

					insert into ACCOUNT_DBF.dbo.tblEvent_Board_Provide (account, serverindex, m_idPlayer, m_szName)
					select @iaccount, @iserverindex, @om_idPlayer, @im_szName
				end
			end
			else
			begin
				insert into ITEM_SEND_TBL(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, idSender)
				select @om_idPlayer, @iserverindex, '26532', 1, 0, '0000000'

				insert into ACCOUNT_DBF.dbo.tblEvent_Board_Provide (account, serverindex, m_idPlayer, m_szName)
				select @iaccount, @iserverindex, @om_idPlayer, @im_szName
			end
		end
	end
*/
/*	if (getdate() >= '2008-07-30 00:00:00' and getdate() <= '2008-09-15 23:59:59')
	begin
		declare @aregdate datetime
		select @aregdate = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
		if (@aregdate >= '2008-07-30 00:00:00')
		begin
			declare [MENTION=2968676]Reac[/MENTION]count varchar(32)
			if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount)
			begin
				if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL where account = @iaccount)
				begin
					insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
					select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000'

					insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL (account, serverindex, m_idPlayer)
					select @iaccount, @iserverindex, @om_idPlayer
				end
			end
		end
	end
*/
/*	if (getdate() >= '2008-12-17 10:00:00' and getdate() <= '2009-01-27 10:00:00')
	begin
		declare @aregdate datetime
		select @aregdate = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
		if (@aregdate >= '2008-12-17 10:00:00')
		begin
			declare [MENTION=2968676]Reac[/MENTION]count varchar(32)
			if exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount and regdate >= '2008-12-16')
			begin
				if not exists (select * from WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0812 where account = @iaccount)
				begin
					insert into ITEM_SEND_TBL (serverindex, m_idPlayer, Item_Name, Item_count, m_bCharged, idSender)
					select @iserverindex, @om_idPlayer, '30191', 1, 1, '0000000'

					insert into WEB.ONLINE_DBF.dbo.USER_Recommand_Provide_TBL_0812 (account, serverindex, m_idPlayer)
					select @iaccount, @iserverindex, @om_idPlayer
				end
			end
		end
	end


		IF (GETDATE() BETWEEN '2004-06-23 18:00:00.000' AND '2004-06-27 23:59:59.999')
		INSERT ITEM_SEND_TBL
				(m_idPlayer, serverindex, Item_Name, Item_count, m_nAbilityOption, End_Time, m_bItemResist, m_nResistAbilityOption, m_bCharged)
			VALUES
				('261007','01','?? ??? 12',2,0,NULL,0,0,1)
*/


		SELECT fError = '1', fText = 'OK',m_idPlayer=@om_idPlayer
		RETURN
		END
	END

/*
	
	?? ?? ??
	 ex ) 
	 CHARACTER_STR 'I1','',@iserverindex,@iaccount,@im_szName,@iplayerslot,@idwWorldID,
											@im_dwIndex,@im_vPos_x,@im_vPos_y,@im_vPos_z,@im_szCharacterKey,
											@im_dwSkinSet,@im_dwHairMesh,@im_dwHairColor,@im_dwHeadMesh,@im_dwSex
	 CHARACTER_STR 'I1','','01','beat','????3',0,0,

											0,0,0,0,'',
											0,0,0,0,0

*/
set nocount off
RETURN

Please help thank you really appreciated for who can help me :(
03/23/2017 17:31 Kiseku#2
Code:
Procedure or function CHARACTER_STR has too many arguments specified.