Couple of problems.

Results 1 to 8 of 8
  1. #1
    Elite Member denenom is offline
    Member +Rank
    Nov 2010 Join Date
    NO!Location
    115Posts

    Couple of problems.

    I'm using this source: http://forum.ragezone.com/f457/source-v16-772363/


    • I can't delete a character; everytime i press "delete" and then "ok", I get this "Oops try again" message box.




    • I'm trying to add v18 objects by roughly copying + pasting missing content from mdlObj and mdlDyna (mainly new instances related stuff) and replaced my old WdMadrigal folder with v18 eflyff one. Now my world server crashes and leaves this error log:
      Spoiler:

      Code:
      2011/12/25   21:22:39   FileName character.inc(7270) : SetImage Not Found. : SetImage
      
      		(
      
      			IDS_CHARACTER_INC_000737
      
      		);
      
      		m_szDialog= "MaFl_CardMaste
      
      2011/12/25   21:22:39   FileName character.inc(9375) : SetImage Not Found. : SetImage
      
      		(
      
      			IDS_CHARACTER_INC_000914
      
      		);
      
      		m_szDialog= "MaEw_Epie.txt"
      
      2011/12/25   21:22:40   propQuest.inc(35162) SetEndCondKillNPC¿¡¼­ Idx °ª ¹üÀ§ Ãʰú(0~1)
      
      2011/12/25   21:22:40   propQuest.inc(35229) SetEndCondKillNPC¿¡¼­ Idx °ª ¹üÀ§ Ãʰú(0~1)
      
      2011/12/25   21:22:40   propQuest.inc(35296) SetEndCondKillNPC¿¡¼­ Idx °ª ¹üÀ§ Ãʰú(0~1)
      
      2011/12/25   21:22:40   propQuest.inc(35363) SetEndCondKillNPC¿¡¼­ Idx °ª ¹üÀ§ Ãʰú(0~1)
      
      2011/12/25   21:22:40   propQuest.inc(35430) SetEndCondKillNPC¿¡¼­ Idx °ª ¹üÀ§ Ãʰú(0~1)
      
      2011/12/25   21:22:40   propQuest.inc(35497) SetEndCondKillNPC¿¡¼­ Idx °ª ¹üÀ§ Ãʰú(0~1)
      
      2011/12/25   21:22:40   propQuest.inc(35565) SetEndCondKillNPC¿¡¼­ Idx °ª ¹üÀ§ Ãʰú(0~1)
      
      2011/12/25   21:22:40   propQuest.inc(35632) SetEndCondKillNPC¿¡¼­ Idx °ª ¹üÀ§ Ãʰú(0~1)
      
      2011/12/25   21:22:40   LoadPropMoverEx::m_nAttackFirstRange ÀÌ»ó:40
      
      
      2011/12/25   21:22:40   LoadPropMoverEx::m_nAttackFirstRange ÀÌ»ó:60
      
      
      2011/12/25   21:22:40   LoadPropMoverEx::m_nAttackFirstRange ÀÌ»ó:40
      
      
      2011/12/25   21:22:40   LoadPropMoverEx::m_nAttackFirstRange ÀÌ»ó:60
      
      
      2011/12/25   21:22:40   LoadPropMoverEx::m_nAttackFirstRange ÀÌ»ó:40
      
      
      2011/12/25   21:22:40   LoadPropMoverEx::m_nAttackFirstRange ÀÌ»ó:60
      
      
      2011/12/25   21:22:40   FileName propEvent.inc(125) : LANG_ENG Not Found. : LANG_ENG
      
      		LANG_JAP
      
      		LANG_CHI
      
      		LANG_THA
      
      		LANG_TWN
      
      		LANG_GER
      
      	}
      
      	Time
      
      2011/12/25   21:22:40   FileName propEvent.inc(148) : LANG_ENG Not Found. : LANG_ENG
      
      		LANG_JAP
      
      		LANG_CHI
      
      		LANG_THA
      
      		LANG_TWN
      
      		LANG_GER
      
      	}
      
      	Time
      
      2011/12/25   21:22:40   Out of Skill Level Range -> CMonsterSkill::LoadScript() - 1354, SI_ELE_MULTY_METEOSHOWER, 20
      
      2011/12/25   21:22:40   OP: 110294442, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
      
      
      2011/12/25   21:22:42   GetModelElem - out of range: type=5, size=1509, index=1495
      
      2011/12/25   21:22:42   CModelMng::loadModel mdlObj/mdlDyna ¿¡ objtype=5 index=1495 bpart=0 ÀÇ Á¤º¸°¡ ¾ø±º¿©.
      
      2011/12/25   21:22:42   GetModelElem - out of range: type=5, size=1509, index=1495
      
      2011/12/25   21:22:42   MakeMotionName GetModelElem dwType:5 dwIndex:1495, dwMotion:-1


      I've had the stuff at the top for quite a while now since I didn't bother fixing it (for now) so I'm guessing its this part that causes it:
      Code:
      2011/12/25   21:22:42   GetModelElem - out of range: type=5, size=1509, index=1495
      
      2011/12/25   21:22:42   CModelMng::loadModel mdlObj/mdlDyna ¿¡ objtype=5 index=1495 bpart=0 ÀÇ Á¤º¸°¡ ¾ø±º¿©.
      
      2011/12/25   21:22:42   GetModelElem - out of range: type=5, size=1509, index=1495
      
      2011/12/25   21:22:42   MakeMotionName GetModelElem dwType:5 dwIndex:1495, dwMotion:-1
      I though it would be something like an object missing, however, when i searched for "1495" in mdlObj, it was already there. It's called something like bf_yellow and I'm guessing its the yellow butterfly. I just don't understand what's wrong...
    Last edited by denenom; 28-12-11 at 10:30 PM.


  2. #2
    Member emman112 is offline
    MemberRank
    Apr 2010 Join Date
    30Posts

    Re: Couple of problems.

    About the deletion of character, Open your database.
    CHARACTER_01_DBF > Programability > Stored Procedures > dbo.CHARACTER_STR (Right Click dbo.CHARACTER_STR and select modify.)

    Copy all and delete then, copy and paste this query below and execute it.

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

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

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

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


    2005.04.11 updated

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

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

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


    IF @iGu 'S2' -- ??? ?? ??????? ??????  ????
        
    BEGIN
            
    IF @iaccount '' OR @im_szName  ''
             
    BEGIN
                 SELECT m_chAuthority 
    '',fError '1'fText '????'
                 
    RETURN
             
    END
                SELECT    A
    .dwWorldID
                                
    A.m_szName,
                                 
    A.playerslot,
                                
    A.End_Time
                                
    A.BlockTime,
                                
    A.m_dwIndex
                                
    A.m_idPlayer
                                
    A.m_idparty,
                                
    A.m_dwSkinSet
                                
    A.m_dwHairMesh
                                
    A.m_dwHeadMesh
                                
    A.m_dwHairColor
                                
    A.m_dwSex
                                
    A.m_nJob
                                
    A.m_nLevel
                                
    A.m_vPos_x
                                
    A.m_vPos_y
                                
    A.m_vPos_z
                                
    A.m_nStr,
                                
    A.m_nSta,
                                
    A.m_nDex,
                                
    A.m_nInt,
                                
    A.m_aJobLv,
                                
    A.m_chAuthority,
                                
    A.m_idCompany,
                                
    A.m_nMessengerState,
                                
    B.m_Inventory
                                
    B.m_apIndex,
                                
    B.m_adwEquipment,
                                
    B.m_dwObjIndex,
                                
    m_idGuild = CASE WHEN C.m_idGuild  IS NULL THEN '0' ELSE C.m_idGuild END    ,
                                
    m_idWar = CASE WHEN C.m_idWar  IS NULL THEN '0' ELSE C.m_idWar END,
                                
    D.m_extInventory,
                                
    D.m_InventoryPiercing,
                                ------------- 
    ver13
                                A
    .m_nHonor,
                                
    last_connect = @last_connect
                  FROM     CHARACTER_TBL A
    INVENTORY_TBL B,GUILD_MEMBER_TBL CINVENTORY_EXT_TBL D
                WHERE     A
    .m_idPlayer B.m_idPlayer
                      
    AND     A.serverindexB.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 
    (accountm_szNamem_dwGoldcheck_secserverindex)
    select @iaccountm_szNamem_dwGold9, @iserverindex
    from CHARACTER_TBL 
    (nolock)
    where account = @iaccount and serverindex = @iserverindex and TotalPlayTime 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 @q1N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
    /*
            SELECT     Item_Name, 
                            Item_count,
                            m_nAbilityOption,
                            m_nNo,
                            m_bItemResist,

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

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

    */

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

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

    ELSE
    IF @
    iGu 'S6' -- ??? ??? ??
        
    BEGIN
            SELECT     Item_Name

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

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

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

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

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

                    
    SELECT @om_chLoginAuthority m_chLoginAuthority
                      FROM  ACCOUNT_DBF
    .dbo.ACCOUNT_TBL_DETAIL 
                    WHERE account   
    = @iaccount
                    
                    SELECT    m_chLoginAuthority 
    = @om_chLoginAuthority,
                                    
    A.account,
                                    
    A.m_idPlayer,
                                    
    A.playerslot,
                                    
    A.serverindex,
                                    
    A.dwWorldID,
                                    
    A.m_szName,
                                    
    A.m_dwIndex,
                                    
    A.m_vScale_x,
                                    
    A.m_dwMotion,
                                    
    A.m_vPos_x,
                                    
    A.m_vPos_y,
                                    
    A.m_vPos_z,
                                    
    A.m_fAngle,
                                    
    A.m_szCharacterKey,
                                    
    A.m_idPlayer,
                                    
    A.m_nHitPoint,
                                    
    A.m_nManaPoint,
                                    
    A.m_nFatiguePoint,
                                    
    A.m_nFuel,
                                    
    A.m_dwSkinSet,
                                    
    A.m_dwHairMesh,
                                    
    A.m_dwHairColor,
                                    
    A.m_dwHeadMesh,
                                    
    A.m_dwSex,
                                    
    A.m_dwRideItemIdx,
                                    
    A.m_dwGold,
                                    
    A.m_nJob,
                                    
    A.m_pActMover,
                                    
    A.m_nStr,
                                    
    A.m_nSta,
                                    
    A.m_nDex,
                                    
    A.m_nInt,
                                    
    A.m_nLevel,
                                    
    A.m_nMaximumLevel,
                                    
    A.m_nExp1,
                                    
    A.m_nExp2,
                                    
    A.m_aJobSkill,
                                    
    A.m_aLicenseSkill,
                                    
    A.m_aJobLv,
                                    
    A.m_dwExpertLv,
                                    
    A.m_idMarkingWorld,
                                    
    A.m_vMarkingPos_x,
                                    
    A.m_vMarkingPos_y,
                                    
    A.m_vMarkingPos_z,
                                    
    A.m_nRemainGP,
                                    
    A.m_nRemainLP,
                                    
    A.m_nFlightLv,
                                    
    A.m_nFxp,
                                    
    A.m_nTxp,
                                    
    A.m_lpQuestCntArray,
                                    
    m_aCompleteQuest ISNULL(A.m_aCompleteQuest,'$'),
                                    
    A.m_chAuthority,
                                    
    A.m_dwMode,
                                    
    A.m_idparty,
                                    
    A.m_idCompany,
                                    
    A.m_idMuerderer,
                                    
    A.m_nFame,
                                    
    A.m_nDeathExp,
                                    
    A.m_nDeathLevel,
                                    
    A.m_dwFlyTime,
                                    
    A.m_nMessengerState,
                                    
    A.End_Time,
                                    
    A.BlockTime,
                                    
    A.blockby,
                                    
    A.isblock,
                                    
    A.TotalPlayTime,
                                    
    A.CreateTime,
                                    
    A.m_dwSkillPoint,
                                    
    B.m_aSlotApplet,                                
                                    
    B.m_aSlotQueue,
                                    
    B.m_SkillBar,
                                    
    C.m_aSlotItem,
                                    
    D.m_Inventory,
                                    
    D.m_apIndex,
                                    
    D.m_adwEquipment,
                                    
    D.m_dwObjIndex,
                                    
    m_idGuild ISNULL(G.m_idGuild,'0'),
                                    
    m_idWar ISNULL(G.m_idWar,'0'),
                                    
    A.m_tmAccFuel,
                                    
    A.m_tGuildMember,        
                                    
    m_dwSMTime ISNULL(H.m_dwSMTime,'NULL')    ,
                                    
    SkillInfluence ISNULL(E.SkillInfluence,'$'),
                                    
    F.m_extInventory,                                                                                                 
                                    
    F.m_InventoryPiercing,
                                    
    A.m_dwReturnWorldID,
                                    
    A.m_vReturnPos_x,
                                    
    A.m_vReturnPos_y,
                                    
    A.m_vReturnPos_z,
                                    
    last_connect = @last_connect,
                                    
    A.m_SkillPoint,
                                    
    A.m_SkillLv,
                                    
    A.m_SkillExp,
                                  -------------- (
    2006 11 13 ?? ?? : Attedant Event)
                                    
    A.dwEventFlag,
                                    
    A.dwEventTime,
                                    
    A.dwEventElapsed
                                  
    -------------- (Version8 PK System)
                                    ,
    A.PKValue         as m_nPKValue
                                    
    ,A.PKPropensity as m_dwPKPropensity
                                    
    ,A.PKExp         as m_dwPKExp
                                  
    -------------- (Version8 Angel System)
                                    ,
    A.AngelExp     as m_nAngelExp
                                    
    ,A.AngelLevel     as m_nAngelLevel
                                
    ------------------- Version9 Pet
                                    
    ,F.szInventoryPet as szInventoryPet
                                    
    ,A.m_dwPetId
                                    
    A.m_nExpLogA.m_nAngelExpLog
                                    
    m_nCoupon
                                    
    ---------------- ver.13
                                    
    A.m_nLayer
                                    
    ---------- Ver 15
                                    
    A.m_aCheckedQuest    
                                    
    A.m_nCampusPoint
                                    
    A.idCampus
                                    
    isnull(R.m_nRestPoint0m_nRestPoint
                                    
    isnull(R.m_LogOutTime0m_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_idPlayerserverindexaccountm_szNameTotalPlayTimem_dwGoldm_nLevelm_nJobsum_abilityCreateTime)
    select m_idPlayerserverindexaccountm_szNameTotalPlayTimem_dwGoldm_nLevelm_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 >= or m_nLevel >= or m_nJob >= 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 (nolockwhere m_idPlayer = @im_idPlayer
    select 
    @m_dwGold_now m_dwGold from CHARACTER_TBL (nolockwhere serverindex = @iserverindex and m_idPlayer = @im_idPlayer
    if (@m_dwGold_old <> @m_dwGold_now)
    begin
        insert into tblLogout_Penya_Diff_Log 
    (serverindexm_idPlayerm_dwGold_oldregdate_oldm_dwGold_now)
        
    select serverindexm_idPlayer, @m_dwGold_oldregdate, @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
                          
    -------------- (ADDVersion8-PK System)
                            , 
    PKValue            = @im_nPKValue
                            
    PKPropensity       = @im_dwPKPropensity
                            
    PKExp             = @im_dwPKExp
                          
    -------------- (ADDVersion8-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
                            
    ------------- ver13
                            
    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_dwGoldregdate 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 (nolockWHERE  m_idPlayer = @im_idPlayer AND serverindex    = @iserverindex
                    SELECT fError 
    '1', @u5m_nCampusPoint  m_nCampusPoint
                END
            
    ELSE
            RETURN
        
    END
    ELSE
    IF @
    iGu 'U6' -- ?? ID ???? ??
        
    BEGIN
            
    IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE  m_idPlayer = @im_idPlayer AND serverindex    = @iserverindex)
                
    BEGIN
                    UPDATE CHARACTER_TBL
                          SET    idCampus            
    = @iplayerslot
                     WHERE     m_idPlayer                   
    = @im_idPlayer     
                          
    AND     serverindex                 = @iserverindex
                    SELECT fError 
    '1'
                
    END
            
    ELSE
                
    BEGIN
                    SELECT fError 
    '0'
                
    END
            
    RETURN
        
    END


    /*


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

                
    DECLARE @Exists int
        
                
    IF EXISTS(SELECT name  from syscolumns where name='m_idPlayer' AND collation'Japanese_BIN')
                    
    BEGIN
                        
    IF EXISTS(SELECT FROM ACCOUNT_DBF.dbo.ACCOUNT_TBL  WHERE account = @iaccount AND (password =  @im_szName OR member 'B' ))
                          
    SET @Exists 1
                        
    ELSE
                            
    SET @Exists 0                
                    END
                
    ELSE
                    
    BEGIN
                        
    IF EXISTS(SELECT *  FROM ACCOUNT_DBF.dbo.ACCOUNT_TBL  WHERE account = @iaccount 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(),120between '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
    (serverindexPlayerIDSkillIDSkillLvSkillPosition)
                
    VALUES (@iserverindex, @om_idPlayer100)
            
    INSERT INTO tblSkillPoint(serverindexPlayerIDSkillIDSkillLvSkillPosition)
                
    VALUES (@iserverindex, @om_idPlayer201)
            
    INSERT INTO tblSkillPoint(serverindexPlayerIDSkillIDSkillLvSkillPosition)
                
    VALUES (@iserverindex, @om_idPlayer302)



            -- 
    Pocket
        INSERT  tblPocket 
    serverindexidPlayernPocketszItemszIndexszObjIndexbExpiredtExpirationDate )
        
    VALUES ( @iserverindex, @om_idPlayer0'$''$''$'0)
        
        
    INSERT  tblPocketExt serverindexidPlayernPocketszExtszPiercingszPet )
        
    VALUES ( @iserverindex, @om_idPlayer0'$''$''$' )
        
        
    INSERT  tblPocket serverindexidPlayernPocketszItemszIndexszObjIndexbExpiredtExpirationDate )
        
    VALUES ( @iserverindex, @om_idPlayer1'$''$''$'1)
        
        
    INSERT  tblPocketExt serverindexidPlayernPocketszExtszPiercingszPet )
        
    VALUES ( @iserverindex, @om_idPlayer1'$''$''$' )
        
        
    INSERT  tblPocket serverindexidPlayernPocketszItemszIndexszObjIndexbExpiredtExpirationDate )
        
    VALUES ( @iserverindex, @om_idPlayer2'$''$''$'1)
        
        
    INSERT  tblPocketExt serverindexidPlayernPocketszExtszPiercingszPet )
        
    VALUES ( @iserverindex, @om_idPlayer2'$''$''$' )

        ------------------- 
    ver13
        insert into tblMaster_all 
    (serverindexm_idPlayersec)
        
    select @iserverindex, @om_idPlayer1
        insert into tblMaster_all 
    (serverindexm_idPlayersec)
        
    select @iserverindex, @om_idPlayer2
        insert into tblMaster_all 
    (serverindexm_idPlayersec)
        
    select @iserverindex, @om_idPlayer3

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

        
    ------------------- ver15
        insert into tblRestPoint 
    (serverindexm_idPlayer)
        
    select @iserverindex, @om_idPlayer

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


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

                
    insert into MANAGE_DBF.dbo.tblEvent_NewAcc_090529 (accountserverindexm_idPlayerm_szName)
                
    select @iaccount, @iserverindex, @om_idPlayer, @im_szName
            end
        end
    end


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

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

            
    /* ??? ????? ?? ?? 2?? ??? ??? ? ?? ?? ?? ??*/
            
    select @itcount count(*) from ACCOUNT_DBF.dbo.ACCOUNT_TBL AA
            inner join ACCOUNT_DBF
    .dbo.ACCOUNT_TBL_DETAIL BB on AA.account BB.account
            where id_no1 
    = @id_no1 and left ((right(AA.account4)), 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 (serverindexm_idPlayerItem_NameItem_countm_bChargedidSender)
                
    select @iserverindex, @om_idPlayer'26314'31'0000000'

                
    insert into MANAGE_DBF.dbo.tbl_Event_NewAccount_0912 (accountserverindexm_idPlayerm_Jumin)
                
    select @iaccount, @iserverindex, @om_idPlayer, @id_no1
            end
        end

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

                    
    insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001 (accountserverindexm_idPlayerm_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 (nolockwhere account = @iaccount)
            
    begin
                
    -- ?? 3? ??
                
    insert into ITEM_SEND_TBL (serverindexm_idPlayerItem_NameItem_countm_bChargedidSender)
                
    select @iserverindex, @om_idPlayer'26919'11'0000000'
            
                
    insert into ITEM_SEND_TBL (serverindexm_idPlayerItem_NameItem_countm_bChargedidSender)
                
    select @iserverindex, @om_idPlayer'26920'11'0000000'
            
                
    insert into ITEM_SEND_TBL (serverindexm_idPlayerItem_NameItem_countm_bChargedidSender)
                
    select @iserverindex, @om_idPlayer'26921'11'0000000'

                
    insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001 (accountserverindexm_idPlayerm_Type)
                
    select @iaccount, @iserverindex, @om_idPlayer'H'
            
    end
        end
    end

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            if ((@check = 0) and (@regdate >= '2008-01-08 11:00:00'))
            begin
                declare @channel_check char(4)
                set @channel_check = right(@iaccount, 4)

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

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

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

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

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

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


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


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

    /*
        
        ?? ?? ??
         ex ) 
         CHARACTER_STR 'I1','',@iserverindex,@iaccount,@im_szName,@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 
    credits to Elchix3 of epvpers

    And for the weird character selection. I think what causes that is your Themes in your client folder. You can use clean Themes folder from official flyff to fix it and you can apply your custom theme.

  3. #3
    Elite Member denenom is offline
    Member +Rank
    Nov 2010 Join Date
    NO!Location
    115Posts

    Re: Couple of problems.

    Did everything you said, executed it and got these warnings:
    Code:
    Msg 4147, Level 15, State 1, Procedure CHARACTER_STR, Line 211
    The query uses non-ANSI outer join operators ("*=" or "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes.
    Msg 4147, Level 15, State 1, Procedure CHARACTER_STR, Line 509
    The query uses non-ANSI outer join operators ("*=" or "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes.
    I had a go at deleting a character and it still doesn't work.

  4. #4
    Elite Member denenom is offline
    Member +Rank
    Nov 2010 Join Date
    NO!Location
    115Posts

    Re: Couple of problems.

    bump :c

  5. #5
    Flyff Developer ShadowDragon is offline
    Grand MasterRank
    Apr 2009 Join Date
    1,915Posts

    Re: Couple of problems.

    [/PHP]I just did some research on this, cause I'm somewhat interested in this fix. The problem is those Join operators are SQL 2000 syntax and are no longer supported in 2005. I just figured out how to 'convert' it and made the changes. Let me know if this works, cause I'm unable to test this right now.

    Spoiler:
    PHP Code:
    USE [CHARACTER_01_DBF
    GO 
    /****** Object:  StoredProcedure [dbo].[CHARACTER_STR]    Script Date: 11/15/2011 13:18:50 ******/ 
    SET ANSI_NULLS ON 
    GO 
    SET QUOTED_IDENTIFIER ON 
    GO 
    ALTER                proc 
    [dbo].[CHARACTER_STR
        @
    iGu                                  CHAR(2)             = 'S1',  
        @
    im_idPlayer                   CHAR(7)             = '0000001'
        @
    iserverindex                  CHAR(2)             = '01'
        
    /********************************************** 
         INSERT ? 
        **********************************************/ 
        
    -- CHARACTER_TBL 
        
    @iaccount                         VARCHAR(32)    = ''
        @
    im_szName                 VARCHAR(32)    = ''
        @
    iplayerslot                     INT                        0
        @
    idwWorldID                 INT                         0
        @
    im_dwIndex                 INT                         0
        @
    im_vPos_x                     REAL                     0
        @
    im_vPos_y                     REAL                     0
        @
    im_vPos_z                     REAL                     0
        @
    im_szCharacterKey     VARCHAR(32)    = ''
        @
    im_dwSkinSet             INT                        0
        @
    im_dwHairMesh         INT                        0
        @
    im_dwHairColor         INT                        0
        @
    im_dwHeadMesh         INT                        0
        @
    im_dwSex                     INT                        0
        
    /********************************************** 
         UPDATE ? 
        **********************************************/ 
        
    -- CHARACTER_TBL 
        
    @im_vScale_x                REAL                    =    0
        @
    im_dwMotion                INT                        =    0
        @
    im_fAngle                    REAL                    =    0
        @
    im_nHitPoint                INT                        =    0
        @
    im_nManaPoint            INT                        =    0
        @
    im_nFatiguePoint        INT                        =    0
        @
    im_dwRideItemIdx        INT                        =    0
        @
    im_dwGold                    INT                        =    0
        @
    im_nJob                        INT                        =    0
        @
    im_pActMover                VARCHAR(50)    =    ''
        @
    im_nStr                        INT                        =    0
        @
    im_nSta                        INT                        =    0
        @
    im_nDex                        INT                        =    0
        @
    im_nInt                            INT                        =    0
        @
    im_nLevel                    INT                        =    0
        @
    im_nExp1                    BIGINT                        =    0
        @
    im_nExp2                    BIGINT                        =    0
        @
    im_aJobSkill                VARCHAR(500)    =''
        @
    im_aLicenseSkill        VARCHAR(500)    =''
        @
    im_aJobLv                    VARCHAR(500)    =''
        @
    im_dwExpertLv            INT                        =    0
        @
    im_idMarkingWorld    INT                        =    0
        @
    im_vMarkingPos_x    REAL                    =    0
        @
    im_vMarkingPos_y    REAL                    =    0
        @
    im_vMarkingPos_z    REAL                    =    0
        @
    im_nRemainGP            INT                        =    0
        @
    im_nRemainLP            INT                        =    0
        @
    im_nFlightLv                INT                        =    0
        @
    im_nFxp                        INT                        =    0
        @
    im_nTxp                        INT                        =    0
        @
    im_lpQuestCntArray    VARCHAR(3072)= ''
        @
    im_chAuthority            CHAR(1)                = ''
        @
    im_dwMode                INT                        =    0
        @
    im_idparty                    INT                        =    0
        @
    im_idMuerderer            INT                        =    0
        @
    im_nFame                    INT                        =    0
        @
    im_nDeathExp                BIGINT                    =  0
        @
    im_nDeathLevel                INT                    =  0
        @
    im_dwFlyTime                    INT                    =  0
        @
    im_nMessengerState     INT                    =  0
        @
    iTotalPlayTime            INT                        =     
        
    -------------- (ADD Version8-PK System
        ,@
    im_nPKValue            int=
        
    ,@im_dwPKPropensity        int=
        
    ,@im_dwPKExp             int=
        
    -- 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=
        
    -------------- (ADD Version8-Angel System
        ,@
    im_nAngelExp        bigint=
        
    ,@im_nAngelLevel        int=
        
    --------------- Version 9 ?? ?? Pet?? 
    ,@
    iszInventoryPet    varchar(4200)     = '$' 

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

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

    /******************************************************* 
        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 

    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
                                ------------- 
    ver13 
                                A
    .m_nHonor
                                
    last_connect = @last_connect 
                  FROM     CHARACTER_TBL A
    INVENTORY_TBL B,GUILD_MEMBER_TBL C
                  LEFT OUTER JOIN INVENTORY_EXT_TBL D ON 
    (C.m_idPlayer D.m_idPlayer AND C.serverindex D.serverindex)
                
    WHERE     A.m_idPlayer B.m_idPlayer 
                      
    AND     A.serverindexB.serverindex     
                      
    AND  B.m_idPlayer D.m_idPlayer 
                      
    AND  B.serverindex D.serverindex 
                      
    AND  A.isblock 'F' 
                      
    AND  A.account       = @iaccount   
                      
    AND     A.serverindex= @iserverindex 
                 ORDER BY A
    .playerslot 
    insert into CHARACTER_TBL_penya_check 
    (accountm_szNamem_dwGoldcheck_secserverindex
    select @iaccountm_szNamem_dwGold9, @iserverindex 
    from CHARACTER_TBL 
    (nolock
    where account = @iaccount and serverindex = @iserverindex and TotalPlayTime 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 @q1N'@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=
              WHERE    m_nNo  
    = @iplayerslot 
            
    IF @@ROWCOUNT 
            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 
        
    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=
              WHERE    m_nNo  
    = @iplayerslot 

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

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

                    
    -- ?? ?? ???? character 

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

                                    
    TASKBAR_TBL B
                                    
    TASKBAR_ITEM_TBL C
                                    
    INVENTORY_TBL D
                                    
    SKILLINFLUENCE_TBL E
                                    
    INVENTORY_EXT_TBL F
                            LEFT OUTER JOIN GUILD_MEMBER_TBL G ON 
    (F.serverindex G.serverindex AND F.m_idPlayer G.m_idPlayer)
                            
    LEFT OUTER JOIN BILING_ITEM_TBL H ON (F.serverindex H.serverindex AND F.m_idPlayer H.m_idPlayer)
                            
    LEFT OUTER JOIN tblRestPoint R ON (F.serverindex R.serverindex AND F.m_idPlayer R.m_idPlayer)
                    
    WHERE  A.m_idPlayer   = @im_idPlayer 
                         
    AND     A.serverindex  = @iserverindex 
                          
    AND    A.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 A.account lower(@iaccount

    insert into CHARACTER_TBL_validity_check (m_idPlayerserverindexaccountm_szNameTotalPlayTimem_dwGoldm_nLevelm_nJobsum_abilityCreateTime
    select m_idPlayerserverindexaccountm_szNameTotalPlayTimem_dwGoldm_nLevelm_nJob, (m_nStr m_nSta m_nDex m_nInt), CreateTime 
    from CHARACTER_TBL 
    (nolock
    where m_idPlayer = @im_idPlayer and TotalPlayTime <= 
        
    and (m_dwGold >= or m_nLevel >= or m_nJob >= 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 (nolockwhere m_idPlayer = @im_idPlayer 
    select 
    @m_dwGold_now m_dwGold from CHARACTER_TBL (nolockwhere serverindex = @iserverindex and m_idPlayer = @im_idPlayer 
    if (@m_dwGold_old <> @m_dwGold_now
    begin 
        insert into tblLogout_Penya_Diff_Log 
    (serverindexm_idPlayerm_dwGold_oldregdate_oldm_dwGold_now
        
    select serverindexm_idPlayer, @m_dwGold_oldregdate, @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 
                    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 
                          
    -------------- (ADDVersion8-PK System
                            , 
    PKValue            = @im_nPKValue 
                            
    PKPropensity       = @im_dwPKPropensity 
                            
    PKExp             = @im_dwPKExp 
                          
    -------------- (ADDVersion8-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 
                            
    ------------- ver13 
                            
    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_dwGoldregdate 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 (nolockWHERE  m_idPlayer = @im_idPlayer AND serverindex    = @iserverindex 
                    SELECT fError 
    '1', @u5m_nCampusPoint  m_nCampusPoint 
                END 
            
    ELSE 
            RETURN 
        
    END 
    ELSE 
    IF @
    iGu 'U6' -- ?? ID ???? ?? 
        
    BEGIN 
            
    IF EXISTS(SELECT m_idPlayer FROM CHARACTER_TBL WHERE  m_idPlayer = @im_idPlayer AND serverindex    = @iserverindex
                
    BEGIN 
                    UPDATE CHARACTER_TBL 
                          SET    idCampus            
    = @iplayerslot 
                     WHERE     m_idPlayer                   
    = @im_idPlayer      
                          
    AND     serverindex                 = @iserverindex 
                    SELECT fError 
    '1' 
                
    END 
            
    ELSE 
                
    BEGIN 
                    SELECT fError 
    '0' 
                
    END 
            
    RETURN 
        
    END 


    /* 


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

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

                
    IF @Exists 
                    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(),120between '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 
    --      
    --                          
    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 <> 
    --                             set @cash 
    --  
    --                                 
    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 
                                
    '$' 
                                

                                

                                



                    
    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
    (serverindexPlayerIDSkillIDSkillLvSkillPosition
                
    VALUES (@iserverindex, @om_idPlayer100
            
    INSERT INTO tblSkillPoint(serverindexPlayerIDSkillIDSkillLvSkillPosition
                
    VALUES (@iserverindex, @om_idPlayer201
            
    INSERT INTO tblSkillPoint(serverindexPlayerIDSkillIDSkillLvSkillPosition
                
    VALUES (@iserverindex, @om_idPlayer302



            -- 
    Pocket 
        INSERT  tblPocket 
    serverindexidPlayernPocketszItemszIndexszObjIndexbExpiredtExpirationDate 
        
    VALUES ( @iserverindex, @om_idPlayer0'$''$''$'0
         
        
    INSERT  tblPocketExt serverindexidPlayernPocketszExtszPiercingszPet 
        
    VALUES ( @iserverindex, @om_idPlayer0'$''$''$' 
         
        
    INSERT  tblPocket serverindexidPlayernPocketszItemszIndexszObjIndexbExpiredtExpirationDate 
        
    VALUES ( @iserverindex, @om_idPlayer1'$''$''$'1
         
        
    INSERT  tblPocketExt serverindexidPlayernPocketszExtszPiercingszPet 
        
    VALUES ( @iserverindex, @om_idPlayer1'$''$''$' 
         
        
    INSERT  tblPocket serverindexidPlayernPocketszItemszIndexszObjIndexbExpiredtExpirationDate 
        
    VALUES ( @iserverindex, @om_idPlayer2'$''$''$'1
         
        
    INSERT  tblPocketExt serverindexidPlayernPocketszExtszPiercingszPet 
        
    VALUES ( @iserverindex, @om_idPlayer2'$''$''$' 

        ------------------- 
    ver13 
        insert into tblMaster_all 
    (serverindexm_idPlayersec
        
    select @iserverindex, @om_idPlayer
        insert into tblMaster_all 
    (serverindexm_idPlayersec
        
    select @iserverindex, @om_idPlayer
        insert into tblMaster_all 
    (serverindexm_idPlayersec
        
    select @iserverindex, @om_idPlayer

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

        
    ------------------- ver15 
        insert into tblRestPoint 
    (serverindexm_idPlayer
        
    select @iserverindex, @om_idPlayer 

    ------------ Penay check default setting 
    insert into tblLogout_Penya 
    (serverindexm_idPlayer
    select @iserverindex, @om_idPlayer 


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

                
    insert into MANAGE_DBF.dbo.tblEvent_NewAcc_090529 (accountserverindexm_idPlayerm_szName
                
    select @iaccount, @iserverindex, @om_idPlayer, @im_szName 
            end 
        end 
    end 


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

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

            
    /* ??? ????? ?? ?? 2?? ??? ??? ? ?? ?? ?? ??*/ 
            
    select @itcount count(*) from ACCOUNT_DBF.dbo.ACCOUNT_TBL AA 
            inner join ACCOUNT_DBF
    .dbo.ACCOUNT_TBL_DETAIL BB on AA.account BB.account 
            where id_no1 
    = @id_no1 and left ((right(AA.account4)), 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 (serverindexm_idPlayerItem_NameItem_countm_bChargedidSender
                
    select @iserverindex, @om_idPlayer'26314'31'0000000' 

                
    insert into MANAGE_DBF.dbo.tbl_Event_NewAccount_0912 (accountserverindexm_idPlayerm_Jumin
                
    select @iaccount, @iserverindex, @om_idPlayer, @id_no1 
            end 
        end 

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

                    
    insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001 (accountserverindexm_idPlayerm_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 (nolockwhere account = @iaccount
            
    begin 
                
    -- ?? 3? ?? 
                
    insert into ITEM_SEND_TBL (serverindexm_idPlayerItem_NameItem_countm_bChargedidSender
                
    select @iserverindex, @om_idPlayer'26919'11'0000000' 
             
                
    insert into ITEM_SEND_TBL (serverindexm_idPlayerItem_NameItem_countm_bChargedidSender
                
    select @iserverindex, @om_idPlayer'26920'11'0000000' 
             
                
    insert into ITEM_SEND_TBL (serverindexm_idPlayerItem_NameItem_countm_bChargedidSender
                
    select @iserverindex, @om_idPlayer'26921'11'0000000' 

                
    insert into MANAGE_DBF.dbo.tbl_Event_WSNB_1001 (accountserverindexm_idPlayerm_Type
                
    select @iaccount, @iserverindex, @om_idPlayer'H' 
            
    end 
        end 
    end 

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            if ((@check = 0) and (@regdate >= '2008-01-08 11:00:00')) 
            begin 
                declare @channel_check char(4) 
                set @channel_check = right(@iaccount, 4) 

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

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

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

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

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

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


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


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

    /* 
         
        ?? ?? ?? 
         ex )  
         CHARACTER_STR 'I1','',@iserverindex,@iaccount,@im_szName,@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 

  6. #6
    Elite Member denenom is offline
    Member +Rank
    Nov 2010 Join Date
    NO!Location
    115Posts

    Re: Couple of problems.

    Code:
    Msg 207, Level 16, State 1, Procedure CHARACTER_STR, Line 459
    Invalid column name 'm_SkillPoint'.
    Msg 207, Level 16, State 1, Procedure CHARACTER_STR, Line 460
    Invalid column name 'm_SkillLv'.
    Msg 207, Level 16, State 1, Procedure CHARACTER_STR, Line 461
    Invalid column name 'm_SkillExp'.
    Msg 207, Level 16, State 1, Procedure CHARACTER_STR, Line 0
    Invalid column name 'm_SkillPoint'.
    Msg 207, Level 16, State 1, Procedure CHARACTER_STR, Line 0
    Invalid column name 'm_SkillLv'.
    Msg 207, Level 16, State 1, Procedure CHARACTER_STR, Line 0
    Invalid column name 'm_SkillExp'.

  7. #7
    Elite Member denenom is offline
    Member +Rank
    Nov 2010 Join Date
    NO!Location
    115Posts

    Re: Couple of problems.

    bumper pack!

  8. #8
    Elite Member denenom is offline
    Member +Rank
    Nov 2010 Join Date
    NO!Location
    115Posts

    Re: Couple of problems.

    eh bump



Advertisement