Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Private Server
You last visited: Today at 08:32

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

Advertisement



[Error]Charakter Speichert nicht

Discussion on [Error]Charakter Speichert nicht within the Flyff Private Server forum part of the Flyff category.

Reply
 
Old   #1
 
elite*gold: 6
Join Date: Jun 2008
Posts: 309
Received Thanks: 34
[Error]Charakter Speichert nicht

Hallo,
Es entsteht eine Error.log und ein LogFile.
Der Charakter ist nach dem neustart der Server wieder auf Lvl 1 und resetet
CQuery-LogFile_20120304.txt:
Quote:
2012/03/04 15:49:14
query:{call CHARACTER_STR('U1','0000002','01','',?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?, 0, 0, 0,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
SQLSTATE:42000 error:[Microsoft][SQL Server Native Client 10.0][SQL Server]Error converting data type varchar to int.
error_20120304.log:
Code:
2012/ 3/ 4 15:49:14
SavePlayer(Test2) - Exec RETURN FALSE, ThreadID : 3216
I<3-electro&house is offline  
Old 03/04/2012, 19:27   #2
 
stefan29102009's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 40
Received Thanks: 4
Hast die die Sprache bei allen 4 einträgen auf englisch gesetzt? Schaut so aus als wäre da der fehler
stefan29102009 is offline  
Thanks
1 User
Old 03/04/2012, 19:30   #3
 
elite*gold: 0
Join Date: Feb 2012
Posts: 2,107
Received Thanks: 651
habe keine ahnung aber hat das vllt damit was zu tun?
BattleTale is offline  
Thanks
1 User
Old 03/04/2012, 19:49   #4
 
elite*gold: 6
Join Date: Jun 2008
Posts: 309
Received Thanks: 34
Quote:
Originally Posted by stefan29102009 View Post
Hast die die Sprache bei allen 4 einträgen auf englisch gesetzt? Schaut so aus als wäre da der fehler
Ja habe bei allen 4 einträgen die Sprache auf englisch
wenn ich auf fertig stellen gehe kommt das und der test is auch erfolgreich:
Quote:
Microsoft SQL Server Native Client Version 10.50.1617

Data Source Name: character01
Data Source Description:
Server: MY-PC\SQLSERVER
Use Integrated Security: Yes
Database: CHARACTER_01_DBF
Language: English
Data Encryption: No
Trust Server Certificate: No
Multiple Active Result Sets(MARS): No
Mirror Server:
Translate Character Data: Yes
Log Long Running Queries: No
Log Driver Statistics: No
Use Regional Settings: No
Use ANSI Quoted Identifiers: Yes
Use ANSI Null, Paddings and Warnings: Yes
Quote:
Originally Posted by xXEpicSlayerXx View Post
habe keine ahnung aber hat das vllt damit was zu tun?
ich denke auch das es was damit zu tun hat aber wie kann ich das fixxen
I<3-electro&house is offline  
Old 03/04/2012, 19:52   #5
 
elite*gold: 0
Join Date: Feb 2012
Posts: 2,107
Received Thanks: 651
vllt db neu aufsetzen und die sedrika All-In-One DB

Oder halt mal in Character_01_DBF suchen
BattleTale is offline  
Thanks
1 User
Old 03/04/2012, 20:12   #6
 
elite*gold: 6
Join Date: Jun 2008
Posts: 309
Received Thanks: 34
Quote:
Originally Posted by xXEpicSlayerXx View Post
vllt db neu aufsetzen und die sedrika All-In-One DB

Oder halt mal in Character_01_DBF suchen
das hat ja was mit character_str aufruf zu tun aber ich glaube das es iwie an meinem odbc liegt oder so weil db's hab ich schon mehrere ausprobiert und keine geht sollte nicht normalerweise der odbc treiber dazu in der lage sein von varchar nach int zu konvertieren?
villeicht gibt's ja irgendwie ne möglichkeit die odbc treiber manuell zu erneuern hab schon gegoogelt aber nix gescheites gefunden
I<3-electro&house is offline  
Old 03/04/2012, 20:18   #7
 
elite*gold: 0
Join Date: Feb 2012
Posts: 2,107
Received Thanks: 651
welches MsSQL verwendest du?

Hast du in den ODBC´s
SQL Server oder
SQL Server Native Client 10.0?
BattleTale is offline  
Old 03/04/2012, 20:18   #8
ベトナム警察




 
Lumi's Avatar
 
elite*gold: 0
The Black Market: 517/0/0
Join Date: Jan 2012
Posts: 16,496
Received Thanks: 3,518
character01 auf English.. den rest auf German.
Ansonsten spielst du mal die DB neu ein, dann müsste es gehen.
Irgendwas in der Source geändert / verändert ?
Lumi is offline  
Old 03/04/2012, 21:24   #9
 
elite*gold: 6
Join Date: Jun 2008
Posts: 309
Received Thanks: 34
Quote:
Originally Posted by xXEpicSlayerXx View Post
welches MsSQL verwendest du?
2008r2 professional
Hast du in den ODBC´s
SQL Server oder
SQL Server Native Client 10.0?
hab SQL Server Native Client 10.0

Quote:
Originally Posted by Lumi' View Post
character01 auf English.. den rest auf German.
Ansonsten spielst du mal die DB neu ein, dann müsste es gehen.
Irgendwas in der Source geändert / verändert ?
hab die db bereits mehrmals neu eingespielt und auch andere DB's versucht
und als source verwende ich den von Pixelfehler
I<3-electro&house is offline  
Old 03/05/2012, 15:04   #10
 
elite*gold: 0
Join Date: Oct 2010
Posts: 271
Received Thanks: 206
Haste am Db Src rumgespielt? Oder so?
[SQL Server]Error converting data type varchar to int.

Du willst eine Variable von Type VARCHAR zu INTENGER konvertieren, das funzt nit.
Incestus is offline  
Old 03/06/2012, 13:46   #11
 
xTwiLightx's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,741
Received Thanks: 1,674
Wenn es keinen Fehler beim konvertieren gibt, muss das an der Prozedur liegen, oder an einer Tabelle, bei der eine Spalte einen falschen datatype hat.

Quote:
character01 auf English.. den rest auf German.
Ich weiß nicht, warum hier manche Leute ernsthaft die ODBC Einstellungen in Betracht ziehen oO Die haben rein GAR NICHTS damit zu tun, genauso wenig die Sprache. Und mal nebenbei, die Spracheinstellung betrifft NUR die Error-Ausgaben. Also ob Errors in Deutsch/Englisch/etc angezeigt werden sollen.
Also vergesst das mit der Sprache, das ist vollkommener SCHWACHSINN.

Quote:
CHARACTER_STR('U1','0000002','01','',?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?, 0, 0, 0,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?
Code:
    @iGu                                  CHAR(2)             = 'S1', 
    @im_idPlayer                   CHAR(7)             = '0000001',
    @iserverindex                  CHAR(2)             = '01',
    [COLOR=Red]@iaccount                         VARCHAR(32)    = ''[/COLOR],
Scheinbar wird kein Account bei der Prozedur weitergegeben. Das könnte ein Fehler sein, aber auch nicht.

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

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

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

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


2005.04.11 updated

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

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

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


IF @iGu = 'S2' -- 슬롯에 따른 플레이어리스트 인벤토리정보  가져오기
    BEGIN
        IF @iaccount = '' OR @im_szName  = ''
         BEGIN
             SELECT m_chAuthority = '',fError = '1', fText = '암호틀림'
             RETURN
         END
            SELECT    A.dwWorldID, 
                            A.m_szName,
                             A.playerslot,
                            A.End_Time, 
                            A.BlockTime,
                            A.m_dwIndex, 
                            A.m_idPlayer, 
                            A.m_idparty,
                            A.m_dwSkinSet, 
                            A.m_dwHairMesh, 
                            A.m_dwHeadMesh, 
                            A.m_dwHairColor, 
                            A.m_dwSex, 
                            A.m_nJob, 
                            A.m_nLevel, 
                            A.m_vPos_x, 
                            A.m_vPos_y, 
                            A.m_vPos_z, 
                            A.m_nStr,
                            A.m_nSta,
                            A.m_nDex,
                            A.m_nInt,
                            A.m_aJobLv,
                            A.m_chAuthority,
                            A.m_idCompany,
                            A.m_nMessengerState,
                            B.m_Inventory, 
                            B.m_apIndex,
                            B.m_adwEquipment,
                            B.m_dwObjIndex,
                            m_idGuild = CASE WHEN C.m_idGuild  IS NULL THEN '0' ELSE C.m_idGuild END    ,
                            m_idWar = CASE WHEN C.m_idWar  IS NULL THEN '0' ELSE C.m_idWar END,
                            D.m_extInventory,
                            D.m_InventoryPiercing,
                            ------------- ver. 13
                            A.m_nHonor,
                            last_connect = @last_connect
              FROM     CHARACTER_TBL A, INVENTORY_TBL B,GUILD_MEMBER_TBL C, INVENTORY_EXT_TBL D
            WHERE     A.m_idPlayer = B.m_idPlayer
                  AND     A.serverindex= B.serverindex    
                  AND  B.m_idPlayer = D.m_idPlayer
                  AND  B.serverindex = D.serverindex
                  AND  D.m_idPlayer *= C.m_idPlayer
                  AND  D.serverindex *= C.serverindex
                  AND  A.isblock = 'F'
                  AND  A.account       = @iaccount  
                  AND     A.serverindex= @iserverindex
             ORDER BY A.playerslot
insert into CHARACTER_TBL_penya_check (account, m_szName, m_dwGold, check_sec, serverindex)
select @iaccount, m_szName, m_dwGold, 9, @iserverindex
from CHARACTER_TBL (nolock)
where account = @iaccount and serverindex = @iserverindex and TotalPlayTime < 1 and m_dwGold >= 1        
                RETURN
     END
/*
    
     슬롯에 따른 플레이어리스트 인벤토리정보  가져오기
     ex ) 
     CHARACTER_STR 'S2',@im_idPlayer (iMode),@iserverindex,@iaccount,@im_szName (iPassword)
     CHARACTER_STR 'S2','0','02','seghope','1234'


*/

ELSE
IF @iGu = 'S3' -- 서버가 처음실행을 할대 캐릭터의 idPlayer를 다 가지고옴
    BEGIN
         SELECT m_szName, m_idPlayer,m_idCompany
            FROM CHARACTER_TBL 
         WHERE serverindex = @iserverindex 
--              AND  isblock = 'F'
         ORDER BY m_idPlayer
        RETURN
    END
/*
    
     서버가 처음실행을 할대 캐릭터의 idPlayer를 다 가지고옴
     ex ) 
     CHARACTER_STR 'S3','',@iserverindex
     CHARACTER_STR 'S3','','01'



*/

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

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

     아이템 확인
     ex ) 
     CHARACTER_STR 'S4',@im_idPlayer,@iserverindex
     CHARACTER_STR 'S4','000001','01'

*/

ELSE
IF @iGu = 'S5' -- 아이템 지급후 테이블에서 아이템 삭제
    BEGIN
--        DELETE ITEM_SEND_TBL 
        UPDATE ITEM_SEND_TBL SET ProvideDt=getdate(), ItemFlag=1
          WHERE    m_nNo  = @iplayerslot
        IF @@ROWCOUNT = 0
        SELECT fError = '0'
        ELSE
        SELECT fError = '1'
        RETURN
    END
/*
    
     아이템 지급후 테이블에서 아이템 삭제
     ex ) 
     CHARACTER_STR 'S5',@im_idPlayer,@iserverindex,@iaccount

     CHARACTER_STR 'S5','000001','01','빗자루',1,1
*/

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

ELSE
IF @iGu = 'S7' -- 아이템 삭제후 테이블에서 아이템 삭제
    BEGIN
--        DELETE  ITEM_REMOVE_TBL 
        UPDATE ITEM_REMOVE_TBL SET DeleteDt=getdate(), ItemFlag=1
          WHERE    m_nNo  = @iplayerslot

        IF @@ROWCOUNT = 0
        SELECT fError = '0'
        ELSE
        SELECT fError = '1'
        RETURN
    END
/*
     아이템 지급후 테이블에서 아이템 삭제
     ex ) 
     CHARACTER_STR 'S7',@im_idPlayer,@iserverindex,@iaccount
     CHARACTER_STR 'S7','000001','01','빗자루',1,1
*/

IF @iGu = 'S8' -- 데이터 전체 가져오기
    BEGIN

                -- 뱅크 정보 가져오기 character 별

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

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


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

                -- 뱅크 정보 가져오기 account 별
    
--                 DECLARE @bank TABLE (m_idPlayer CHAR(6),serverindex CHAR(2),playerslot INT)
-- 
--                 INSERT @bank
--                 (m_idPlayer,serverindex,playerslot)
--               SELECT m_idPlayer,serverindex,playerslot 
--               FROM CHARACTER_TBL 
--               WHERE account = @iaccount 
--               AND isblock = 'F'
--               ORDER BY playerslot

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

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

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

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

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

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

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

        --송현석 요청사항 빌링 관련
        IF @im_dwSMTime > '' 
            BEGIN
                IF EXISTS(SELECT * FROM BILING_ITEM_TBL WHERE m_idPlayer= @im_idPlayer  AND serverindex     = @iserverindex)
                UPDATE BILING_ITEM_TBL
                        SET m_dwSMTime = @im_dwSMTime
                 WHERE    m_idPlayer                   = @im_idPlayer     
                      AND     serverindex                 = @iserverindex
                ELSE
                INSERT BILING_ITEM_TBL
                    (m_idPlayer,serverindex,m_dwSMTime)
                VALUES
                    (@im_idPlayer,@iserverindex,@im_dwSMTime)
            END
        ELSE
             DELETE BILING_ITEM_TBL
             WHERE    m_idPlayer                   = @im_idPlayer     
                  AND     serverindex                 = @iserverindex

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


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

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

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

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

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

        SELECT fError = '1', fText = 'OK'
        RETURN
    END
/*
    
    정보업데이트
     ex ) 
     CHARACTER_STR 'U1', ALL ...
     CHARACTER_STR 'U1','000001','01' ...
*/

ELSE
IF @iGu = 'U2' --총 이용시간 수정
    BEGIN
        UPDATE CHARACTER_TBL
              SET    TotalPlayTime             = TotalPlayTime + @iplayerslot 
         WHERE    m_szName                  = @im_szName     
              AND     serverindex                 = @iserverindex
        RETURN
    END
/*

    총 이용시간 수정
     ex ) 
     CHARACTER_STR 'U2','',@iserverindex,'',@im_szName,@iplayerslot (@iTotalPlayTime)
     CHARACTER_STR 'U2','','01','','beat',10234
*/

ELSE
IF @iGu = 'U3' --총 이용시간 수정 new
    BEGIN
        UPDATE CHARACTER_TBL
              SET    TotalPlayTime             = TotalPlayTime + @iplayerslot 
         WHERE     m_idPlayer                   = @im_idPlayer     
              AND     serverindex                 = @iserverindex
        RETURN
    END
/*

    총 이용시간 수정 (new)
     ex ) 
     CHARACTER_STR 'U3',@im_idPlayer,@iserverindex,'','',@iplayerslot (@iTotalPlayTime)
     CHARACTER_STR 'U3','000001','01','','',10234
*/

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

-- Ver 15
ELSE
IF @iGu = 'U5' --사제 포인트 업데이트 추가
    BEGIN
        IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex    = @iserverindex)
            BEGIN
                UPDATE CHARACTER_TBL
                      SET    m_nCampusPoint            = m_nCampusPoint + @iplayerslot
                 WHERE     m_idPlayer                   = @im_idPlayer     
                      AND     serverindex                 = @iserverindex

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


/*


    캐릭터 명 변경
     ex ) 
     CHARACTER_STR 'U4',@im_idPlayer,@iserverindex,@iaccount,@im_szName
     CHARACTER_STR 'U4','000001','01','','샛별공주'
*/
ELSE
IF @iGu = 'D1' -- 캐릭터 삭제
    BEGIN
        IF @im_szName = ''
        BEGIN
            SELECT fError = '1', fText = '주민번호틀림'
            RETURN
        END
            if not exists (select * from CHARACTER_TBL where m_idPlayer = @im_idPlayer and account = @iaccount and serverindex = @iserverindex)
            begin
                select fError = '1'
                return
            end

            DECLARE @Exists int
    
            IF EXISTS(SELECT name  from syscolumns where name='m_idPlayer' AND collation= 'Japanese_BIN')
                BEGIN
                    IF EXISTS(SELECT * FROM ACCOUNT.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.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,date)
--                               values
--                               (@iaccount,@cash,@im_idPlayer,@iserverindex,@retcode,getdate())  
--                             
--                          end
--                      end
                     /****************************************************************************************/
                     /****************************************************************************************/
                     /****************************************************************************************/                    


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

    캐릭터 삭제
     ex ) 
     CHARACTER_STR 'D1',@im_idPlayer,@iserverindex,@iaccount (isblock)
     CHARACTER_STR 'D1','001068','01','ata3k','1019311'

*/

ELSE
IF @iGu = 'I1' -- 초기 정보 입력
    BEGIN

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

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

            


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

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

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


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


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



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

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

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

                                @om_SkillBar
                            )


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

        INSERT SKILLINFLUENCE_TBL
                            (                                 
                                m_idPlayer,
                                serverindex,
                                SkillInfluence
                            )
                VALUES 
                            (

                                @om_idPlayer,
                                @iserverindex,
                                '$'
                            )

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

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


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



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

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

        /*
        지급 아이템 : 일회용 호버보드
        지급 대상1 : 레벨 1~20 레벨을 가진 모든 캐릭터(인벤토리가 꽉차있으면 지급 하지 않음)
        지급 대상2 : 아래의 일자에 생성되는 캐릭터
        
        테스트 서버 
        패치후 23~27일까지(28 0시에 종료)
        
        정식 서버 
        패치후 24~27일까지(28 0시에 종료)
        */

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

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


/*"캐시받아가세요~!"*/
if (getdate() >= '2009-05-29 00:00:00' and getdate() < '2009-06-29 00:00:00')
begin
    declare @i1_regdate datetime
    select @i1_regdate = regdate from ACCOUNT.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.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.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount

        /* 이벤트 신규계정에 케릭 없이 2계정 생성시 아이템 미 배포 되는 내용 방지*/
        select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
        inner join ACCOUNT.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.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
            inner join ACCOUNT.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.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.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount
--        select @itcount = count(*) from ACCOUNT.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.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
        inner join ACCOUNT.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.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.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount
    select @itcount = count(*) from ACCOUNT.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.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.ACCOUNT_DBF.dbo.tblEvent_Board_Provide where account = @iaccount
        select @regdate = regdate from ACCOUNT.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.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.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.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.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.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,@iplayerslot,@idwWorldID,
                                            @im_dwIndex,@im_vPos_x,@im_vPos_y,@im_vPos_z,@im_szCharacterKey,
                                            @im_dwSkinSet,@im_dwHairMesh,@im_dwHairColor,@im_dwHeadMesh,@im_dwSex
     CHARACTER_STR 'I1','','01','beat','샛별공주3',0,0,

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

*/
set nocount off
RETURN
GO
Hier die Prozedur, vielleicht hilft die.
xTwiLightx is offline  
Thanks
1 User
Old 03/06/2012, 14:13   #12
 
elite*gold: 6
Join Date: Jun 2008
Posts: 309
Received Thanks: 34
Quote:
Originally Posted by xTwiLightx View Post
Wenn es keinen Fehler beim konvertieren gibt, muss das an der Prozedur liegen, oder an einer Tabelle, bei der eine Spalte einen falschen datatype hat.


Ich weiß nicht, warum hier manche Leute ernsthaft die ODBC Einstellungen in Betracht ziehen oO Die haben rein GAR NICHTS damit zu tun, genauso wenig die Sprache. Und mal nebenbei, die Spracheinstellung betrifft NUR die Error-Ausgaben. Also ob Errors in Deutsch/Englisch/etc angezeigt werden sollen.
Also vergesst das mit der Sprache, das ist vollkommener SCHWACHSINN.


Code:
    @iGu                                  CHAR(2)             = 'S1', 
    @im_idPlayer                   CHAR(7)             = '0000001',
    @iserverindex                  CHAR(2)             = '01',
    [COLOR=Red]@iaccount                         VARCHAR(32)    = ''[/COLOR],
Scheinbar wird kein Account bei der Prozedur weitergegeben. Das könnte ein Fehler sein, aber auch nicht.

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

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

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

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


2005.04.11 updated

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

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

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


IF @iGu = 'S2' -- 슬롯에 따른 플레이어리스트 인벤토리정보  가져오기
    BEGIN
        IF @iaccount = '' OR @im_szName  = ''
         BEGIN
             SELECT m_chAuthority = '',fError = '1', fText = '암호틀림'
             RETURN
         END
            SELECT    A.dwWorldID, 
                            A.m_szName,
                             A.playerslot,
                            A.End_Time, 
                            A.BlockTime,
                            A.m_dwIndex, 
                            A.m_idPlayer, 
                            A.m_idparty,
                            A.m_dwSkinSet, 
                            A.m_dwHairMesh, 
                            A.m_dwHeadMesh, 
                            A.m_dwHairColor, 
                            A.m_dwSex, 
                            A.m_nJob, 
                            A.m_nLevel, 
                            A.m_vPos_x, 
                            A.m_vPos_y, 
                            A.m_vPos_z, 
                            A.m_nStr,
                            A.m_nSta,
                            A.m_nDex,
                            A.m_nInt,
                            A.m_aJobLv,
                            A.m_chAuthority,
                            A.m_idCompany,
                            A.m_nMessengerState,
                            B.m_Inventory, 
                            B.m_apIndex,
                            B.m_adwEquipment,
                            B.m_dwObjIndex,
                            m_idGuild = CASE WHEN C.m_idGuild  IS NULL THEN '0' ELSE C.m_idGuild END    ,
                            m_idWar = CASE WHEN C.m_idWar  IS NULL THEN '0' ELSE C.m_idWar END,
                            D.m_extInventory,
                            D.m_InventoryPiercing,
                            ------------- ver. 13
                            A.m_nHonor,
                            last_connect = @last_connect
              FROM     CHARACTER_TBL A, INVENTORY_TBL B,GUILD_MEMBER_TBL C, INVENTORY_EXT_TBL D
            WHERE     A.m_idPlayer = B.m_idPlayer
                  AND     A.serverindex= B.serverindex    
                  AND  B.m_idPlayer = D.m_idPlayer
                  AND  B.serverindex = D.serverindex
                  AND  D.m_idPlayer *= C.m_idPlayer
                  AND  D.serverindex *= C.serverindex
                  AND  A.isblock = 'F'
                  AND  A.account       = @iaccount  
                  AND     A.serverindex= @iserverindex
             ORDER BY A.playerslot
insert into CHARACTER_TBL_penya_check (account, m_szName, m_dwGold, check_sec, serverindex)
select @iaccount, m_szName, m_dwGold, 9, @iserverindex
from CHARACTER_TBL (nolock)
where account = @iaccount and serverindex = @iserverindex and TotalPlayTime < 1 and m_dwGold >= 1        
                RETURN
     END
/*
    
     슬롯에 따른 플레이어리스트 인벤토리정보  가져오기
     ex ) 
     CHARACTER_STR 'S2',@im_idPlayer (iMode),@iserverindex,@iaccount,@im_szName (iPassword)
     CHARACTER_STR 'S2','0','02','seghope','1234'


*/

ELSE
IF @iGu = 'S3' -- 서버가 처음실행을 할대 캐릭터의 idPlayer를 다 가지고옴
    BEGIN
         SELECT m_szName, m_idPlayer,m_idCompany
            FROM CHARACTER_TBL 
         WHERE serverindex = @iserverindex 
--              AND  isblock = 'F'
         ORDER BY m_idPlayer
        RETURN
    END
/*
    
     서버가 처음실행을 할대 캐릭터의 idPlayer를 다 가지고옴
     ex ) 
     CHARACTER_STR 'S3','',@iserverindex
     CHARACTER_STR 'S3','','01'



*/

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

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

     아이템 확인
     ex ) 
     CHARACTER_STR 'S4',@im_idPlayer,@iserverindex
     CHARACTER_STR 'S4','000001','01'

*/

ELSE
IF @iGu = 'S5' -- 아이템 지급후 테이블에서 아이템 삭제
    BEGIN
--        DELETE ITEM_SEND_TBL 
        UPDATE ITEM_SEND_TBL SET ProvideDt=getdate(), ItemFlag=1
          WHERE    m_nNo  = @iplayerslot
        IF @@ROWCOUNT = 0
        SELECT fError = '0'
        ELSE
        SELECT fError = '1'
        RETURN
    END
/*
    
     아이템 지급후 테이블에서 아이템 삭제
     ex ) 
     CHARACTER_STR 'S5',@im_idPlayer,@iserverindex,@iaccount

     CHARACTER_STR 'S5','000001','01','빗자루',1,1
*/

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

ELSE
IF @iGu = 'S7' -- 아이템 삭제후 테이블에서 아이템 삭제
    BEGIN
--        DELETE  ITEM_REMOVE_TBL 
        UPDATE ITEM_REMOVE_TBL SET DeleteDt=getdate(), ItemFlag=1
          WHERE    m_nNo  = @iplayerslot

        IF @@ROWCOUNT = 0
        SELECT fError = '0'
        ELSE
        SELECT fError = '1'
        RETURN
    END
/*
     아이템 지급후 테이블에서 아이템 삭제
     ex ) 
     CHARACTER_STR 'S7',@im_idPlayer,@iserverindex,@iaccount
     CHARACTER_STR 'S7','000001','01','빗자루',1,1
*/

IF @iGu = 'S8' -- 데이터 전체 가져오기
    BEGIN

                -- 뱅크 정보 가져오기 character 별

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

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


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

                -- 뱅크 정보 가져오기 account 별
    
--                 DECLARE @bank TABLE (m_idPlayer CHAR(6),serverindex CHAR(2),playerslot INT)
-- 
--                 INSERT @bank
--                 (m_idPlayer,serverindex,playerslot)
--               SELECT m_idPlayer,serverindex,playerslot 
--               FROM CHARACTER_TBL 
--               WHERE account = @iaccount 
--               AND isblock = 'F'
--               ORDER BY playerslot

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

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

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

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

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

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

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

        --송현석 요청사항 빌링 관련
        IF @im_dwSMTime > '' 
            BEGIN
                IF EXISTS(SELECT * FROM BILING_ITEM_TBL WHERE m_idPlayer= @im_idPlayer  AND serverindex     = @iserverindex)
                UPDATE BILING_ITEM_TBL
                        SET m_dwSMTime = @im_dwSMTime
                 WHERE    m_idPlayer                   = @im_idPlayer     
                      AND     serverindex                 = @iserverindex
                ELSE
                INSERT BILING_ITEM_TBL
                    (m_idPlayer,serverindex,m_dwSMTime)
                VALUES
                    (@im_idPlayer,@iserverindex,@im_dwSMTime)
            END
        ELSE
             DELETE BILING_ITEM_TBL
             WHERE    m_idPlayer                   = @im_idPlayer     
                  AND     serverindex                 = @iserverindex

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


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

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

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

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

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

        SELECT fError = '1', fText = 'OK'
        RETURN
    END
/*
    
    정보업데이트
     ex ) 
     CHARACTER_STR 'U1', ALL ...
     CHARACTER_STR 'U1','000001','01' ...
*/

ELSE
IF @iGu = 'U2' --총 이용시간 수정
    BEGIN
        UPDATE CHARACTER_TBL
              SET    TotalPlayTime             = TotalPlayTime + @iplayerslot 
         WHERE    m_szName                  = @im_szName     
              AND     serverindex                 = @iserverindex
        RETURN
    END
/*

    총 이용시간 수정
     ex ) 
     CHARACTER_STR 'U2','',@iserverindex,'',@im_szName,@iplayerslot (@iTotalPlayTime)
     CHARACTER_STR 'U2','','01','','beat',10234
*/

ELSE
IF @iGu = 'U3' --총 이용시간 수정 new
    BEGIN
        UPDATE CHARACTER_TBL
              SET    TotalPlayTime             = TotalPlayTime + @iplayerslot 
         WHERE     m_idPlayer                   = @im_idPlayer     
              AND     serverindex                 = @iserverindex
        RETURN
    END
/*

    총 이용시간 수정 (new)
     ex ) 
     CHARACTER_STR 'U3',@im_idPlayer,@iserverindex,'','',@iplayerslot (@iTotalPlayTime)
     CHARACTER_STR 'U3','000001','01','','',10234
*/

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

-- Ver 15
ELSE
IF @iGu = 'U5' --사제 포인트 업데이트 추가
    BEGIN
        IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE m_idPlayer = @im_idPlayer AND serverindex    = @iserverindex)
            BEGIN
                UPDATE CHARACTER_TBL
                      SET    m_nCampusPoint            = m_nCampusPoint + @iplayerslot
                 WHERE     m_idPlayer                   = @im_idPlayer     
                      AND     serverindex                 = @iserverindex

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


/*


    캐릭터 명 변경
     ex ) 
     CHARACTER_STR 'U4',@im_idPlayer,@iserverindex,@iaccount,@im_szName
     CHARACTER_STR 'U4','000001','01','','샛별공주'
*/
ELSE
IF @iGu = 'D1' -- 캐릭터 삭제
    BEGIN
        IF @im_szName = ''
        BEGIN
            SELECT fError = '1', fText = '주민번호틀림'
            RETURN
        END
            if not exists (select * from CHARACTER_TBL where m_idPlayer = @im_idPlayer and account = @iaccount and serverindex = @iserverindex)
            begin
                select fError = '1'
                return
            end

            DECLARE @Exists int
    
            IF EXISTS(SELECT name  from syscolumns where name='m_idPlayer' AND collation= 'Japanese_BIN')
                BEGIN
                    IF EXISTS(SELECT * FROM ACCOUNT.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.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,date)
--                               values
--                               (@iaccount,@cash,@im_idPlayer,@iserverindex,@retcode,getdate())  
--                             
--                          end
--                      end
                     /****************************************************************************************/
                     /****************************************************************************************/
                     /****************************************************************************************/                    


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

    캐릭터 삭제
     ex ) 
     CHARACTER_STR 'D1',@im_idPlayer,@iserverindex,@iaccount (isblock)
     CHARACTER_STR 'D1','001068','01','ata3k','1019311'

*/

ELSE
IF @iGu = 'I1' -- 초기 정보 입력
    BEGIN

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

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

            


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

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

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


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


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



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

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

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

                                @om_SkillBar
                            )


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

        INSERT SKILLINFLUENCE_TBL
                            (                                 
                                m_idPlayer,
                                serverindex,
                                SkillInfluence
                            )
                VALUES 
                            (

                                @om_idPlayer,
                                @iserverindex,
                                '$'
                            )

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

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


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



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

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

        /*
        지급 아이템 : 일회용 호버보드
        지급 대상1 : 레벨 1~20 레벨을 가진 모든 캐릭터(인벤토리가 꽉차있으면 지급 하지 않음)
        지급 대상2 : 아래의 일자에 생성되는 캐릭터
        
        테스트 서버 
        패치후 23~27일까지(28 0시에 종료)
        
        정식 서버 
        패치후 24~27일까지(28 0시에 종료)
        */

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

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


/*"캐시받아가세요~!"*/
if (getdate() >= '2009-05-29 00:00:00' and getdate() < '2009-06-29 00:00:00')
begin
    declare @i1_regdate datetime
    select @i1_regdate = regdate from ACCOUNT.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.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.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount

        /* 이벤트 신규계정에 케릭 없이 2계정 생성시 아이템 미 배포 되는 내용 방지*/
        select @itcount = count(*) from ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
        inner join ACCOUNT.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.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
            inner join ACCOUNT.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.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.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount
--        select @itcount = count(*) from ACCOUNT.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.ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
        inner join ACCOUNT.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.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.ACCOUNT_DBF.dbo.ACCOUNT_TBL where account = @iaccount
    select @itcount = count(*) from ACCOUNT.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.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.ACCOUNT_DBF.dbo.tblEvent_Board_Provide where account = @iaccount
        select @regdate = regdate from ACCOUNT.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.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.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.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.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.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,@iplayerslot,@idwWorldID,
                                            @im_dwIndex,@im_vPos_x,@im_vPos_y,@im_vPos_z,@im_szCharacterKey,
                                            @im_dwSkinSet,@im_dwHairMesh,@im_dwHairColor,@im_dwHeadMesh,@im_dwSex
     CHARACTER_STR 'I1','','01','beat','샛별공주3',0,0,

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

*/
set nocount off
RETURN
GO
Hier die Prozedur, vielleicht hilft die.
Bekomme wenn ich die Prozedur ausführe denn error, dass es sich um nicht ansi operatoren handelt:
Code:
Meldung 4147, Ebene 15, Status 1, Prozedur CHARACTER_STR, Zeile 211
Die Abfrage verwendet Nicht-ANSI-Operatoren für äußere Joins ('*=' oder '=*'). Um diese Abfrage unverändert auszuführen, legen Sie mit der SET COMPATIBILITY_LEVEL-Option von ALTER DATABASE den Kompatibilitätsgrad für die aktuelle Datenbank auf 80 fest. Es wird dringend empfohlen, die Abfrage umzuschreiben und ANSI-Operatoren für äußere Joins (LEFT OUTER JOIN, RIGHT OUTER JOIN) zu verwenden. In zukünftigen Versionen von SQL Server werden Nicht-ANSI-Joinoperatoren nicht unterstützt, auch nicht in Abwärtskompatibilitätsmodi.
Meldung 4147, Ebene 15, Status 1, Prozedur CHARACTER_STR, Zeile 509
Die Abfrage verwendet Nicht-ANSI-Operatoren für äußere Joins ('*=' oder '=*'). Um diese Abfrage unverändert auszuführen, legen Sie mit der SET COMPATIBILITY_LEVEL-Option von ALTER DATABASE den Kompatibilitätsgrad für die aktuelle Datenbank auf 80 fest. Es wird dringend empfohlen, die Abfrage umzuschreiben und ANSI-Operatoren für äußere Joins (LEFT OUTER JOIN, RIGHT OUTER JOIN) zu verwenden. In zukünftigen Versionen von SQL Server werden Nicht-ANSI-Joinoperatoren nicht unterstützt, auch nicht in Abwärtskompatibilitätsmodi.
Wenn ich dann die Kompatibilität auf 80 setze und ausführen will kommt konflikt mit der Sortierung:
Code:
Meldung 468, Ebene 16, Status 9, Prozedur CHARACTER_STR, Zeile 206
Ein Sortierungskonflikt zwischen 'Latin1_General_BIN' und 'Latin1_General_CI_AS' im equal to-Vorgang kann nicht aufgelöst werden.
I<3-electro&house is offline  
Reply


Similar Threads Similar Threads
NDS R4i spiel speichert nicht
12/30/2011 - Consoles - 1 Replies
Hi, mein kleiner bruder hat zu weihnachten ein r4i sdhc modul bekommen und wollte natürlich gleich pokemon weiss drauf haben. ich habs ihm auch drauf gemacht und alles und er hat dann auch gespielt aber als er dann eine pause machte und weiter spiele wollte war sein spielstand weg. ich habs dann ausprobiert und musste leider feststellen das wenn man speichert das beim nächstenmal nichtsmehr da ist. weiß den einer von euch woran das liegt? ich hab nämlich überhaupt keine ahnung von dem ding....
Server Speichert IP nicht
11/13/2011 - Metin2 Private Server - 2 Replies
Hey Leute. Mein server Speichert einfach nicht meine Hamachi ip in sysinstall oder wenn ich die bei daroo das make_install done oder wie das heißt mache. Hamachi ist als Netzwerkadapter ausgewählt
Navicat speichert nicht.
02/06/2010 - Metin2 Private Server - 5 Replies
moin moin, hab mich mal an nem eigenen server rangesetzt(just4fun) ich bekomme ihn auch ans laufen.mit mit dem "rain" charakter im spiel drinne. ich wollte einige sachen in de database änder.also habe ich mir navicat besorgt.ich konnte auch auf die db zugreifen. allerdings anders als beschrieben.ich benutze den ssh-tunnel,da bei mir bei der option allgemein(verbindung erstellen bei navicat) das passowrt 123456 nicht anerkannt wird. in der db habe ich dann sachen...
Speichert Ip nicht
12/02/2009 - Metin2 - 2 Replies
Hey Leute, also eig. funtzt mein p-server supüer aber ist i-ein fehler und jetzt ist die 2 ip weg hab schon 100 mal wieder eingegeben aber sie verschwindet immer wida wenn ich unten auf ok dann ok dann chancel chancel exit install und dann rc..... eingeben und dann zurücksetzen oder reboot. Wieso speichert er die nicht? MFG brunsi
datenbank speichert nicht!
09/10/2008 - Flyff Private Server - 6 Replies
wenn ich mich einlogge udn ien paar schritte laufe oder stats hinzufüge udn dann relogge ist wenn ich wieder drinn bin alles wieder beim alten! was kann ich machen? €: noch ne frage was muss ich ändern damit der chara gm is??



All times are GMT +1. The time now is 08:34.


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

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