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!

[Release] Dragon Cross Files

Newbie Spellweaver
Joined
Jan 22, 2009
Messages
45
Reaction score
1
This thread contains the ready to Play Dragon cross Files Enjoy

PS: the source is for VS2012
Code:
[URL="https://mega.nz/#F!HVlS3agL!8ptiDlzlp2zY48n7KCQpeg"]https://mega.nz/#F!HVlS3agL!8ptiDlzlp2zY48n7KCQpeg[/URL]
 
Last edited:
Newbie Spellweaver
Joined
Jun 22, 2015
Messages
7
Reaction score
0
When i connect to a channel a message box comes up saying never give your password out in dragon cross and it will not let me proceed pass that message box i cannot close it or skip it how can i remove it.
 
Last edited:
Newbie Spellweaver
Joined
Oct 22, 2015
Messages
7
Reaction score
1
I think if you use SQL 2008, it might let you get away with using these databases. I'm not about to go back that far. HINT: Look for *= in the Character_STR stored procedure under S2. Fix that and it'll let you in. Of course, the SQL needs a -lot- of work anyways, but there's step 1 for you. ^_^ Also, many thanks for the release. I'll give it back once I fix it.
 
Skilled Illusionist
Joined
Nov 29, 2009
Messages
368
Reaction score
15
Compare your CHARACTER_STR against mine, remove some bits or just look whereever you have *= and copy my one there

I originally released this on another forums for those who don't know how to get MSSQL 2008+ working for their servers.

USE [CHARACTER_01_DBF]
GO
/****** Object: StoredProcedure [dbo].[CHARACTER_STR] Script Date: 25/11/2014 18:10:14 ******/
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
, @im_dwMadrigalGiftExp int = 0
, @im_tmLogout bigint = 0
--------------------------------
, @im_nPvpKills int = 0
, @im_nPvpDeads int = 0
---------- Glow System
, @iGlowArmleft int = 0
, @iGlowArmRight int = 0
, @iGlowLegLeft int = 0
, @iGlowLegRight int = 0
, @iGlowBody int = 0
, @iGlowHandLeft int = 0
, @iGlowHandRight 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 A
join INVENTORY_TBL B
on A.m_idPlayer = B.m_idPlayer
AND A.serverindex= B.serverindex
join INVENTORY_EXT_TBL D
on B.m_idPlayer = D.m_idPlayer
AND B.serverindex = D.serverindex
left outer join
GUILD_MEMBER_TBL 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
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
, A.m_dwMadrigalGiftExp
, A.m_tmLogout
, A.m_nPvpKills
, A.m_nPvpDeads
-----------------
, A.GlowArmLeft
, A.GlowArmRight
, A.GlowLegLeft
, A.GlowLegRight
, A.GlowBody
, A.GlowHandLeft
, A.GlowHandRight
------------------
FROM CHARACTER_TBL A
join
TASKBAR_TBL B
on A.m_idPlayer = B.m_idPlayer
AND A.serverindex = B.serverindex
join
TASKBAR_ITEM_TBL C
on B.m_idPlayer = C.m_idPlayer
AND B.serverindex = C.serverindex
join
INVENTORY_TBL D
on C.m_idPlayer = D.m_idPlayer
AND C.serverindex = D.serverindex
join
SKILLINFLUENCE_TBL E
on D.m_idPlayer = E.m_idPlayer
AND D.serverindex = E.serverindex
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)
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
, m_dwMadrigalGiftExp = @im_dwMadrigalGiftExp
, m_tmLogout = @im_tmLogout
, m_nPvpKills = @im_nPvpKills
, m_nPvpDeads = @im_nPvpDeads
------------------------------
, GlowArmLeft = @iGlowArmleft
, GlowArmRight = @iGlowArmRight
, GlowLegLeft = @iGlowLegLeft
, GlowLegRight = @iGlowLegRight
, GlowBody = @iGlowBody
, GlowHandLeft = @iGlowHandLeft
, GlowHandRight = @iGlowHandRight
WHERE m_idPlayer = @im_idPlayer
AND serverindex = @iserverindex


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

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_szNa me
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 retcode 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 retcode = BILLING.QLORD_MASTER.dbo.BX_SP_INSERT_BONUS_IN @iaccount,@iaccount,'FLYF','IN00000004' cash,'??? ?? ???',0,''
--
-- if retcode <> 1
-- set cash = 0
--
-- insert RANKING.RANKING_DBF.dbo.event_member_tbl
-- (account,amount,m_idPlayer,serverindex,retcode,dat e)
-- values
-- (@iaccount cash,@im_idPlayer,@iserverindex retco de,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 playerslot from CHARACTER_TBL where account = @iaccount and playerslot = 0 and isblock = 'F')
if exists(select playerslot from CHARACTER_TBL where account = @iaccount and playerslot = 1 and isblock = 'F')
if exists(select playerslot from CHARACTER_TBL where account = @iaccount and playerslot = 2 and isblock = 'F')
begin
select fError = '0', fText = 'Slot belegt!'
return
end
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
, m_dwMadrigalGiftExp
, m_tmLogout
, m_nPvpKills
, m_nPvpDeads
, GlowArmLeft
, GlowArmRight
, GlowLegLeft
, GlowLegRight
, GlowBody
, GlowHandLeft
, GlowHandRight
)

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
, 0
, 0
, 0
, 0
---
, 0
, 0
, 0
, 0
, 0
, 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 remem_id as varchar (32), @re_serverindex char(2), @re_m_idPlayer char(7)
select remem_id = remem_id from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount
exec MANAGE_DBF.dbo.usp_Highest_Char remem_id, @re_serverindex output, @re_m_idPlayer output
-- select remem_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 remem_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 Sex char(1)
select @a2regdate = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
select Sex = [??] from WEB.ONLINE_DBF.dbo.USER_TBL where [??] = @iaccount

if (@a2regdate >= '2009-03-03 09:00:00' and Sex = '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 @regdate datetime, Check int
select Check = count(*) from ACCOUNT_DBF.dbo.tblEvent_Board_Provide where account = @iaccount
select @regdate = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount

if ( Check = 0) and (@regdate >= '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 Reaccount 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 Reaccount 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 iPlaye rslot,@idwWorldID,
@im_dwIndex,@im_vPos_x,@im_vPos_y,@im_vPos_z,@im_s zCharacterKey,
@im_dwSkinSet,@im_dwHairMesh,@im_dwHairColor,@im_d wHeadMesh,@im_dwSex
CHARACTER_STR 'I1','','01','beat','????3',0,0,

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

*/
set nocount off
RETURN
 
Newbie Spellweaver
Joined
Nov 14, 2016
Messages
83
Reaction score
1
Is this working? I saw 3 files, 1 is database, 1 rar with 2.5gb and server 1.5gb. Do I need to download all?
 
Owner
Loyal Member
Joined
May 13, 2011
Messages
1,497
Reaction score
157
Yes its still working and yes you need all files.
 
Banned
Banned
Joined
Dec 12, 2015
Messages
76
Reaction score
19
I already run all programs. my problem now is i cant get pass the server selection screen it says some German Phrase that when translated it says "Do not give your password to anyone -Dragon cross" how can i fix it please
 
Newbie Spellweaver
Joined
Nov 14, 2016
Messages
83
Reaction score
1
Hi, can you upload it again cause the file is too large, i"m having hard time downloading it. Can you please compressed it to smaller or ultra size XD
This thread contains the ready to Play Dragon cross Files Enjoy PS: the source is for VS2012
Code:
[URL]https://mega.nz/#F!HVlS3agL!8ptiDlzlp2zY48n7KCQpeg[/URL][/QUOTE]
 
Banned
Banned
Joined
Dec 12, 2015
Messages
76
Reaction score
19
read the thread

hello sir. Sorry for being a nuisance. I used to Dc database that cones with the files. Yet its stkll says That.. Hoping to have the working database for this. Or if someone can teach me to edit the dc database for it to work.. Advance thanks
 
Skilled Illusionist
Joined
Nov 29, 2009
Messages
368
Reaction score
15
read the thread

No it isn't a database problem entirely. It is more a problem with the version of database you have installed. So stating it is a "Database" problems to noobs is completely unhelpful as they will assume it is a problem with the database backups/sql provided. If anyone has MSSQL 2008+ they will require my released CHARACTER_STR procedure to make it work without problems (is in this post).
anbukirito read above for help in solving your problem, the answer is in this thread and posted by me.
 
Banned
Banned
Joined
Dec 12, 2015
Messages
76
Reaction score
19
No it isn't a database problem entirely. It is more a problem with the version of database you have installed. So stating it is a "Database" problems to noobs is completely unhelpful as they will assume it is a problem with the database backups/sql provided. If anyone has MSSQL 2008+ they will require my released CHARACTER_STR procedure to make it work without problems (is in this post).
@anbukirito read above for help in solving your problem, the answer is in this thread and posted by me.

Hello thanks for that. but im jsut a newbie on developing. so i cant seem to understand that 100%. if i were to use sql 2012 and use the database for it. will it let me enter the game without fixing the character _str? also if i need to fix something please ellaborate please
 
Joined
Nov 12, 2009
Messages
701
Reaction score
113
Hello thanks for that. but im jsut a newbie on developing. so i cant seem to understand that 100%. if i were to use sql 2012 and use the database for it. will it let me enter the game without fixing the character _str? also if i need to fix something please ellaborate please

You can try to run the script Nick posted a few posts up to alter/change the CHARACTER_STR procedure. Theres no need to re-install a different version of SQL before trying this. Execute the code in the spoiler in SSMS:

Compare your CHARACTER_STR against mine, remove some bits or just look whereever you have *= and copy my one there

I originally released this on another forums for those who don't know how to get MSSQL 2008+ working for their servers.

USE [CHARACTER_01_DBF]
GO
/****** Object: StoredProcedure [dbo].[CHARACTER_STR] Script Date: 25/11/2014 18:10:14 ******/
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
, @im_dwMadrigalGiftExp int = 0
, @im_tmLogout bigint = 0
--------------------------------
, @im_nPvpKills int = 0
, @im_nPvpDeads int = 0
---------- Glow System
, @iGlowArmleft int = 0
, @iGlowArmRight int = 0
, @iGlowLegLeft int = 0
, @iGlowLegRight int = 0
, @iGlowBody int = 0
, @iGlowHandLeft int = 0
, @iGlowHandRight 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 A
join INVENTORY_TBL B
on A.m_idPlayer = B.m_idPlayer
AND A.serverindex= B.serverindex
join INVENTORY_EXT_TBL D
on B.m_idPlayer = D.m_idPlayer
AND B.serverindex = D.serverindex
left outer join
GUILD_MEMBER_TBL 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
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
, A.m_dwMadrigalGiftExp
, A.m_tmLogout
, A.m_nPvpKills
, A.m_nPvpDeads
-----------------
, A.GlowArmLeft
, A.GlowArmRight
, A.GlowLegLeft
, A.GlowLegRight
, A.GlowBody
, A.GlowHandLeft
, A.GlowHandRight
------------------
FROM CHARACTER_TBL A
join
TASKBAR_TBL B
on A.m_idPlayer = B.m_idPlayer
AND A.serverindex = B.serverindex
join
TASKBAR_ITEM_TBL C
on B.m_idPlayer = C.m_idPlayer
AND B.serverindex = C.serverindex
join
INVENTORY_TBL D
on C.m_idPlayer = D.m_idPlayer
AND C.serverindex = D.serverindex
join
SKILLINFLUENCE_TBL E
on D.m_idPlayer = E.m_idPlayer
AND D.serverindex = E.serverindex
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)
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
, m_dwMadrigalGiftExp = @im_dwMadrigalGiftExp
, m_tmLogout = @im_tmLogout
, m_nPvpKills = @im_nPvpKills
, m_nPvpDeads = @im_nPvpDeads
------------------------------
, GlowArmLeft = @iGlowArmleft
, GlowArmRight = @iGlowArmRight
, GlowLegLeft = @iGlowLegLeft
, GlowLegRight = @iGlowLegRight
, GlowBody = @iGlowBody
, GlowHandLeft = @iGlowHandLeft
, GlowHandRight = @iGlowHandRight
WHERE m_idPlayer = @im_idPlayer
AND serverindex = @iserverindex


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

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_szNa me
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 retcode 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 retcode = BILLING.QLORD_MASTER.dbo.BX_SP_INSERT_BONUS_IN @iaccount,@iaccount,'FLYF','IN00000004' cash,'??? ?? ???',0,''
--
-- if retcode <> 1
-- set cash = 0
--
-- insert RANKING.RANKING_DBF.dbo.event_member_tbl
-- (account,amount,m_idPlayer,serverindex,retcode,dat e)
-- values
-- (@iaccount cash,@im_idPlayer,@iserverindex retco de,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 playerslot from CHARACTER_TBL where account = @iaccount and playerslot = 0 and isblock = 'F')
if exists(select playerslot from CHARACTER_TBL where account = @iaccount and playerslot = 1 and isblock = 'F')
if exists(select playerslot from CHARACTER_TBL where account = @iaccount and playerslot = 2 and isblock = 'F')
begin
select fError = '0', fText = 'Slot belegt!'
return
end
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
, m_dwMadrigalGiftExp
, m_tmLogout
, m_nPvpKills
, m_nPvpDeads
, GlowArmLeft
, GlowArmRight
, GlowLegLeft
, GlowLegRight
, GlowBody
, GlowHandLeft
, GlowHandRight
)

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
, 0
, 0
, 0
, 0
---
, 0
, 0
, 0
, 0
, 0
, 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 remem_id as varchar (32), @re_serverindex char(2), @re_m_idPlayer char(7)
select remem_id = remem_id from WEB.ONLINE_DBF.dbo.USER_Recommand_TBL where mem_id = @iaccount
exec MANAGE_DBF.dbo.usp_Highest_Char remem_id, @re_serverindex output, @re_m_idPlayer output
-- select remem_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 remem_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 Sex char(1)
select @a2regdate = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount
select Sex = [??] from WEB.ONLINE_DBF.dbo.USER_TBL where [??] = @iaccount

if (@a2regdate >= '2009-03-03 09:00:00' and Sex = '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 @regdate datetime, Check int
select Check = count(*) from ACCOUNT_DBF.dbo.tblEvent_Board_Provide where account = @iaccount
select @regdate = regdate from ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL where account = @iaccount

if ( Check = 0) and (@regdate >= '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 Reaccount 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 Reaccount 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 iPlaye rslot,@idwWorldID,
@im_dwIndex,@im_vPos_x,@im_vPos_y,@im_vPos_z,@im_s zCharacterKey,
@im_dwSkinSet,@im_dwHairMesh,@im_dwHairColor,@im_d wHeadMesh,@im_dwSex
CHARACTER_STR 'I1','','01','beat','????3',0,0,

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

*/
set nocount off
RETURN

NickHough Is your fix is for people 2008+ or people that are NOT 2008+? Your two posts contradict each other.

If anyone has MSSQL 2008+ they will require my released CHARACTER_STR procedure to make it work without problems
I originally released this on another forums for those who don't know how to get MSSQL 2008+ working for their servers.
 
Last edited:
Banned
Banned
Joined
Dec 12, 2015
Messages
76
Reaction score
19
Thankz As always... There is always an error when i execute it on query line 168 near iplayerslots and line on 300+ login authority



No it isn't a database problem entirely. It is more a problem with the version of database you have installed. So stating it is a "Database" problems to noobs is completely unhelpful as they will assume it is a problem with the database backups/sql provided. If anyone has MSSQL 2008+ they will require my released CHARACTER_STR procedure to make it work without problems (is in this post).
@anbukirito read above for help in solving your problem, the answer is in this thread and posted by me.

Sir @NickHough can i ask what to do with this?

Msg 102, Level 15, State 1, Procedure CHARACTER_STR, Line 168
Incorrect syntax near '@Oplayerslot'.
Msg 137, Level 15, State 1, Procedure CHARACTER_STR, Line 381
Must declare the scalar variable "@om_chLoginAuthority".
Msg 137, Level 15, State 2, Procedure CHARACTER_STR, Line 385
Must declare the scalar variable "@om_chLoginAuthority".



last question

so i manage to run all program.. i also can now create character. problem is when i try connect ingame. the character selection screen stuck with the phrases "Dont give your password to anyone"
 
Last edited:
Skilled Illusionist
Joined
Nov 29, 2009
Messages
368
Reaction score
15
Thankz As always... There is always an error when i execute it on query line 168 near iplayerslots and line on 300+ login authority





Sir @NickHough can i ask what to do with this?

Msg 102, Level 15, State 1, Procedure CHARACTER_STR, Line 168
Incorrect syntax near '@Oplayerslot'.
Msg 137, Level 15, State 1, Procedure CHARACTER_STR, Line 381
Must declare the scalar variable "@om_chLoginAuthority".
Msg 137, Level 15, State 2, Procedure CHARACTER_STR, Line 385
Must declare the scalar variable "@om_chLoginAuthority".



last question

so i manage to run all program.. i also can now create character. problem is when i try connect ingame. the character selection screen stuck with the phrases "Dont give your password to anyone"

You just need to remove those lines and any where in character_str that uses those variables.



You can try to run the script Nick posted a few posts up to alter/change the CHARACTER_STR procedure. Theres no need to re-install a different version of SQL before trying this. Execute the code in the spoiler in SSMS:



NickHough Is your fix is for people 2008+ or people that are NOT 2008+? Your two posts contradict each other.

My two posts state the same thing, that if you have 2008+ you require my CHARACTER_STR. You may wish to re-read them as they do not contradict each other.
 
Inactive
Joined
Jan 20, 2009
Messages
1,014
Reaction score
1,830
These files btw belong to the server: Conspiracy Flyff

Also be careful adding anything from these sources released by me or even this thread.
Reality is it's packed with 1120381123123 systems and half of them more then likely have severe issues.
 
Banned
Banned
Joined
Dec 12, 2015
Messages
76
Reaction score
19
Hello can someone help me. It seems like worldserver always crash at some point.. How to fix that? Always crashing with no logs -_-
 
Skilled Illusionist
Joined
Nov 29, 2009
Messages
368
Reaction score
15
Hello can someone help me. It seems like worldserver always crash at some point.. How to fix that? Always crashing with no logs -_-

If you get no logs install debug diag, i have a thread here describing how to use it:

Just replace all steps that include Client.exe with WorldServer.exe and it will work fine. Then all you got to do is debug it in VS2013 or so.



These files btw belong to the server: Conspiracy Flyff

Also be careful adding anything from these sources released by me or even this thread.
Reality is it's packed with 1120381123123 systems and half of them more then likely have severe issues.

Well all programmers makes mistakes and the biggest one is not checking the code they add from other released sources, which can lead to compatibility errors and lets not forget BACKDOORS. But some sources released lately are just the same base source with all these extra systems added from online.

If people are serious in starting up a Flyff server they're best starting with a clean v15 and adding systems in one by one and learning through the process of adding how Flyff works properly.

I mean i don't think i've seen a Flyff server thats started in the last year that has had anything completely custom and never seen before in it. If there is please tell me so i can check it out :)
 
Back
Top