• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

[Help section my bad]how do i remove all mapcode on new chars

Junior Spellweaver
Joined
Oct 9, 2011
Messages
176
Reaction score
6
i removed the all mapcodes on new chars when logging in it shows only the 3 maps but on relogging i get all maps annyone wanne help me ?
 
Elite Diviner
Joined
Jun 18, 2023
Messages
437
Reaction score
245
Check your get_cabal_character and set_cabal_character at Server01>Stored Procedure
 
Junior Spellweaver
Joined
Oct 9, 2011
Messages
176
Reaction score
6
Check your get_cabal_character and set_cabal_character at Server01>Stored Procedure
i dont see annything in there that sets it to that number :s
@ char table

@CH_WARPBFIELD INT,
@CH_MAPSBFIELD INT,
this is in get char

and set char also nothing

cabal_new_character_data
wap is set to 0 and map to
1
2
2
4
1
4

on new char and join its all ok but when you relog the account gets updated to it

this is my get char from db
Code:
USE [Server01]
GO
/****** Object:  StoredProcedure [dbo].[get_cabal_character]    Script Date: 24/01/2024 22:26:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[get_cabal_character](@characteridx INT, @channelidx INT, @userip CHAR(16), @WorldAuthKey int)
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRAN
    DECLARE @USERNUM INT
    SET @USERNUM = @CHARACTERIDX/8
    -- CHARACTER
    DECLARE @LOGOUT_TIME DATETIME, @LOGIN_TIME DATETIME, @OLDRESTTIME AS INT, @RESTTIME AS INT
    DECLARE
        @CH_WORLDIDX INT,
        @CH_POSITION INT,
        @CH_LEV INT,
        @CH_EXP BIGINT,
        @CH_STR INT,
        @CH_DEX INT,
        @CH_INT INT,
        @CH_PNT INT,
        @CH_RANK INT,
        @CH_ALZ BIGINT,
        @CH_STYLE INT,
        @CH_FLAGS INT,
        @CH_HP INT,
        @CH_MP INT,
        @CH_SP INT,
        @CH_DP INT,
        @CH_DPLASTTIME INT,
        @CH_SWDPNT INT,
        @CH_MAGPNT INT,
        @CH_RANKEXP INT,
        @CH_PENALTYEXP INT,
        @CH_WARPBFIELD INT,
        @CH_MAPSBFIELD INT,
        @CH_NAME VARCHAR(50),
        @CH_RP INT,
        @CH_REPUTATION INT,
        @CH_PKPENALTY INT,
        @CH_NATION TINYINT,
        @CRAFTLEVEL0 INT,
        @CRAFTLEVEL1 INT,
        @CRAFTLEVEL2 INT,
        @CRAFTLEVEL3 INT,
        @CRAFTLEVEL4 INT,
        @CRAFTEXP0 INT,
        @CRAFTEXP1 INT,
        @CRAFTEXP2 INT,
        @CRAFTEXP3 INT,
        @CRAFTEXP4 INT,
        @CRAFTFLAGS VARBINARY(16),
        @RESERVED BIGINT
    
    SELECT
        @CH_WORLDIDX = WORLDIDX,
        @CH_POSITION = POSITION,
        @CH_LEV = LEV,
        @CH_EXP = EXP,
        @CH_STR = STR,
        @CH_DEX = DEX,
        @CH_INT = INT,
        @CH_PNT = PNT,
        @CH_RANK = RANK,
        @CH_ALZ = ALZ,
        @CH_STYLE = STYLE,
        @CH_FLAGS = FLAGS,
        @CH_HP = HP,
        @CH_MP = MP,
        @CH_SP = SP,
        @CH_SWDPNT = SWDPNT,
        @CH_MAGPNT = MAGPNT,
        @CH_RANKEXP = RANKEXP,
        @CH_PENALTYEXP = PENALTYEXP,
        @CH_WARPBFIELD = WARPBFIELD,
        @CH_MAPSBFIELD = MAPSBFIELD,
        @CH_NAME = NAME,
        @CH_RP = ISNULL(RP, 0),
        @CH_REPUTATION = REPUTATION,
        @CH_PKPENALTY = PKPENALTY,
        @CH_NATION = NATION,
        @LOGOUT_TIME = LOGOUTTIME,
                @RESERVED = RESERVED1
    FROM CABAL_CHARACTER_TABLE
    WHERE CHARACTERIDX = @CHARACTERIDX
    IF @@ROWCOUNT = 0
    BEGIN
        SELECT -1
        COMMIT TRAN
        RETURN
    END

    IF @CH_NATION = 3 -- GM
    BEGIN
        DECLARE @RegisteredIP BIT
        exec cabal_sp_linked_gm_ip_check @userip, @RegisteredIP OUTPUT
        
        IF(@RegisteredIP = 0)
        BEGIN
            SELECT -1
            COMMIT TRAN
            RETURN
        END
    END
    
    IF @LOGOUT_TIME IS NULL
    BEGIN
        SET @LOGOUT_TIME = GETDATE()
    END
    SET       @LOGIN_TIME = GETDATE()
    SET       @RESTTIME = DATEDIFF( MINUTE, @LOGOUT_TIME, @LOGIN_TIME)
    SET @CH_RP =  @CH_RP + @RESTTIME
    IF(@CH_RP > 10080)
    BEGIN
        SET @CH_RP = 10080
    END
    UPDATE CABAL_CHARACTER_TABLE SET 
        RP =@CH_RP,
        LOGINTIME=@LOGIN_TIME,
        LOGOUTTIME=@LOGIN_TIME,
        CHANNELIDX=@CHANNELIDX
    WHERE CHARACTERIDX = @CHARACTERIDX
    -- DP
    SELECT         
        @CH_DP = DP,
        @CH_DPLASTTIME = DPLastGetTime FROM CABAL_DUNGEONPOINT_TABLE
        WHERE CHARACTERIDX = @CHARACTERIDX
        
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_DUNGEONPOINT_TABLE
            VALUES(@CHARACTERIDX, 0, 0)
        SET @CH_DP = 0
        SET @CH_DPLASTTIME = 0
    END
    
    -- EQUIPMENT
    DECLARE
        @EQ_DATA VARBINARY(512)
    
    SELECT
        @EQ_DATA = DATA
    FROM CABAL_EQUIPMENT_TABLE
    WHERE CHARACTERIDX = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_EQUIPMENT_TABLE
            VALUES(@CHARACTERIDX, 0X)
        SET @EQ_DATA = 0X
    END
    -- EQUIPMENT LOCK
    DECLARE
        @EQ_LOCK_DATA VARBINARY(512)
    
    SELECT
        @EQ_LOCK_DATA = DATA
    FROM CABAL_EQUIPMENT_LOCK_TABLE
    WHERE CHARACTERIDX = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_EQUIPMENT_LOCK_TABLE
            VALUES(@CHARACTERIDX, 0X)
        SET @EQ_LOCK_DATA = 0X
    END
    -- INVENTORY
    DECLARE
        @IV_DATA VARBINARY(8000)
    
    SELECT
        @IV_DATA = DATA
    FROM CABAL_INVENTORY_TABLE
    WHERE CHARACTERIDX = @CHARACTERIDX

    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_INVENTORY_TABLE
            VALUES(@CHARACTERIDX, 0X)
        SET @IV_DATA = 0X
    END

--SOLD ITEM
    DECLARE @SI_DATA VARBINARY(512)
    
    SELECT
        @SI_DATA = DATA
    FROM CABAL_SOLD_ITEM_TABLE
    WHERE CHARACTERIDX = @characteridx
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_SOLD_ITEM_TABLE
            VALUES(@CHARACTERIDX, 0X)
        SET @SI_DATA = 0X
    END

    -- SKILLLIST
    DECLARE
        @SK_DATA VARBINARY(1024)
    
    SELECT
        @SK_DATA = DATA
    FROM CABAL_SKILLLIST_TABLE
    WHERE CHARACTERIDX = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_SKILLLIST_TABLE
            VALUES(@CHARACTERIDX, 0X)
        SET @SK_DATA = 0X
    END
    -- QUICKSLOT
    DECLARE
        @QK_DATA VARBINARY(512)
    
    SELECT
        @QK_DATA = DATA
    FROM CABAL_QUICKSLOT_TABLE
    WHERE CHARACTERIDX = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_QUICKSLOT_TABLE
            VALUES(@CHARACTERIDX, 0X)
        SET @QK_DATA = 0X
    END
---------------------------------------------------
    DECLARE @PASSIVE_ABILITY_DATA VARBINARY(512)
    DECLARE @BLENDED_ABILITY_DATA VARBINARY(256)
    DECLARE @ABILITY_POINT INT
    DECLARE @ABILITY_EXP_POINT INT
    DECLARE @ABILITY_POINT_TOTAL INT
            

    SELECT @ABILITY_POINT = AbilityPoint, @ABILITY_EXP_POINT = AbilityExp,
            @PASSIVE_ABILITY_DATA = PassiveAbilityData, @BLENDED_ABILITY_DATA = BlendedAbilityData
            ,@ABILITY_POINT_TOTAL = pointTotal       
    FROM CABAL_SOUL_ABILITY_TABLE
    WHERE CHARACTERIDX = @CHARACTERIDX

    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_SOUL_ABILITY_TABLE
            VALUES(@CHARACTERIDX, 0, 0, 0X, 0x, 0)
        SET @PASSIVE_ABILITY_DATA = 0X
        set @BLENDED_ABILITY_DATA = 0x
    END

---------------------------------------------------
    --Assistant
    DECLARE @ASSISTANT_DATA VARBINARY(512)
    
    SELECT @ASSISTANT_DATA = DATA
    FROM cabal_Assistant_table
    WHERE CHARACTERIDX = @characteridx
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO cabal_Assistant_table
            VALUES(@CHARACTERIDX, 0X)
        SET @ASSISTANT_DATA = 0X
    END
---------------------------------------------------
    -- BLESSING BEAD
    DECLARE
        @BBEAD_DATA VARBINARY(512)
    
    SELECT
        @BBEAD_DATA = DATA
    FROM CABAL_BBEAD_TABLE
    WHERE CHARACTERIDX = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_BBEAD_TABLE
            VALUES(@CHARACTERIDX, 0X)
        SET @BBEAD_DATA = 0X
    END

    -- QUESTDATA
    DECLARE
        @QE_DATA VARBINARY(128),
        @QE_FLAGS VARBINARY(512),
        @QE_DEL_FLAGS VARBINARY(512),
        @DailyQuest VARBINARY(2048),
        @LastDailyQuestResetTime BIGINT
    
    SELECT
        @QE_DATA = DATA,
        @QE_FLAGS = FLAGS,
        @QE_DEL_FLAGS = ISNULL(DEL_FLAGS, 0X0),
        @DailyQuest = ISNULL(DailyQuest, 0x),
        @LastDailyQuestResetTime = ISNULL(LastDailyQuestResetTime, 0)
    FROM CABAL_QUESTDATA_TABLE
    WHERE CHARACTERIDX = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_QUESTDATA_TABLE
        (CHARACTERIDX, DATA, FLAGS,  DEL_FLAGS)
        VALUES(@CHARACTERIDX, 0X, CONVERT(BINARY(64), 0), 0X)
        SET @QE_DATA = 0X
        SET @QE_FLAGS = CONVERT(BINARY(64),0)
        SET @QE_DEL_FLAGS = 0X
        SET @DailyQuest = 0x
        SET @LastDailyQuestResetTime = 0
    END
    -- QDDATA
    DECLARE
        @QD_FLAGS VARBINARY(128),
        @MD_FLAGS VARBINARY(128)
    
    SELECT
        @QD_FLAGS = FLAGS,
        @MD_FLAGS = MDFLAGS       
    FROM CABAL_QDDATA_TABLE
    WHERE CHARACTERIDX = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_QDDATA_TABLE
            VALUES(@CHARACTERIDX, 0x, 0x)
        SET @QD_FLAGS = 0x
        SET @MD_FLAGS = 0x       
    END

    SELECT    @CRAFTLEVEL0 = LEVEL0,
        @CRAFTLEVEL1 = LEVEL1,
        @CRAFTLEVEL2 = LEVEL2,
        @CRAFTLEVEL3 = LEVEL3,
        @CRAFTLEVEL4 = LEVEL4,
        @CRAFTEXP0 = EXP0,
        @CRAFTEXP1 = EXP1,
        @CRAFTEXP2 = EXP2,
        @CRAFTEXP3 = EXP3,
        @CRAFTEXP4 = EXP4,
        @CRAFTFLAGS = FLAGS
    FROM CABAL_CRAFT_TABLE
    WHERE CHARACTERIDX = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_CRAFT_TABLE ( CHARACTERIDX ) VALUES ( @CHARACTERIDX )

        SELECT    @CRAFTLEVEL0 = LEVEL0,
            @CRAFTLEVEL1 = LEVEL1,
            @CRAFTLEVEL2 = LEVEL2,
            @CRAFTLEVEL3 = LEVEL3,
            @CRAFTLEVEL4 = LEVEL4,
            @CRAFTEXP0 = EXP0,
            @CRAFTEXP1 = EXP1,
            @CRAFTEXP2 = EXP2,
            @CRAFTEXP3 = EXP3,
            @CRAFTEXP4 = EXP4,
            @CRAFTFLAGS = FLAGS
        FROM CABAL_CRAFT_TABLE
        WHERE CHARACTERIDX = @CHARACTERIDX
    END

    DECLARE @WAREXP BIGINT
    DECLARE @WAREXPEARN BIGINT
    DECLARE @WAREXPUSED BIGINT
    SELECT @WAREXP = WAREXP, @WAREXPEARN = WAREXPEARN, @WAREXPUSED = WAREXPUSED
        FROM CABAL_WAREXP_TABLE WHERE CHARACTERIDX = @CHARACTERIDX   
    IF(@@ROWCOUNT = 0)
    BEGIN
        SET @WAREXP = 0
        SET @WAREXPEARN = 0
        SET @WAREXPUSED = 0
    END

    -- 2 <= EMS_VERSION
    DECLARE @EMSUSERSTATE_DATA VARBINARY(1024)
    SELECT @EMSUSERSTATE_DATA = DATA
    FROM
        CABAL_EMS_USERSTATE_TABLE
    WHERE
        CHARACTERIDX = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO CABAL_EMS_USERSTATE_TABLE
            VALUES(@CHARACTERIDX, 0X)
        SET @EMSUSERSTATE_DATA = 0X
    END

    DECLARE @POINT INT
    SET @POINT = 0
    SELECT @POINT = GUILDAXPPOINT
    FROM GUILDMEMBER
    WHERE CHARACTERINDEX = @CHARACTERIDX

    DECLARE @SkillBuff VARBINARY(320)
    DECLARE @SkillBuffNonFixed VARBINARY(240)
    DECLARE @MultiPotionBuff VARBINARY(320)
    DECLARE @MultiPotionBuffNonFixed VARBINARY(240)
    DECLARE @GMBuff VARBINARY(320)
    DECLARE @GMBuffNonFixed VARBINARY(240)
    DECLARE @FCaliburBuff VARBINARY(320)
    DECLARE @FCaliburBuffNonFixed VARBINARY(240)
    DECLARE @RemainedSP INT
    DECLARE @BattleModeType TINYINT   
    DECLARE @BattleOverCharge TINYINT
    DECLARE @BattleMasteryLevel TINYINT
    DECLARE @AuraModeType TINYINT       
    DECLARE @AuraOverCharge TINYINT
    DECLARE @AuraMasteryLevel TINYINT           
    DECLARE @RidingStatus INT
    
    SELECT
        @SkillBuff = SkillBuff,
        @SkillBuffNonFixed = SkillBuffNonFixed,
        @MultiPotionBuff = MultiPotionBuff,
        @MultiPotionBuffNonFixed = MultiPotionBuffNonFixed,
        @GMBuff = 0xCE010000010000000DE43600CD653100,
        @GMBuffNonFixed = GMBuffNonFixed,
        @FCaliburBuff = ForceCaliburBuff,
        @FCaliburBuffNonFixed = ForceCaliburBuffNonFixed,
        @RemainedSP = RemainedSP,
        @BattleModeType = BattleModeType,
        @BattleOverCharge = BattleOverCharge,
        @BattleMasteryLevel = BattleMasteryLevel,
        @AuraModeType = AuraModeType,
        @AuraOverCharge = AuraOverCharge,
        @AuraMasteryLevel = AuraMasteryLevel,
        @RidingStatus = RidingStatus
    FROM cabal_saved_buff_table
    WHERE CharacterIdx = @CHARACTERIDX
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO cabal_saved_buff_table
        (CharacterIdx)
        VALUES
        (@CHARACTERIDX)

        SELECT
            @SkillBuff = SkillBuff,
            @SkillBuffNonFixed = SkillBuffNonFixed,
            @MultiPotionBuff = MultiPotionBuff,
            @MultiPotionBuffNonFixed = MultiPotionBuffNonFixed,
            @GMBuff = 0xCE010000010000000DE43600CD653100,
            @GMBuffNonFixed = GMBuffNonFixed,
            @FCaliburBuff = ForceCaliburBuff,
            @FCaliburBuffNonFixed = ForceCaliburBuffNonFixed,
            @RemainedSP = RemainedSP,
            @BattleModeType = BattleModeType,
            @BattleOverCharge = BattleOverCharge,
            @BattleMasteryLevel = BattleMasteryLevel,
            @AuraModeType = AuraModeType,
            @AuraOverCharge = AuraOverCharge,
            @AuraMasteryLevel = AuraMasteryLevel,
            @RidingStatus = RidingStatus
        FROM cabal_saved_buff_table
        WHERE CharacterIdx = @CHARACTERIDX
    END

-- 외형 변경
    DECLARE @ShapeChangeEquip VARBINARY(300)
    DECLARE @ShapeChangeInven VARBINARY(3000)
    SELECT
        @ShapeChangeEquip = ShapeChangeEquip,
        @ShapeChangeInven = ShapeChangeInven       
    FROM cabal_item_extend_table
    WHERE CharacterIdx = @CHARACTERIDX
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO cabal_item_extend_table
        (CharacterIdx)
        VALUES
        (@CHARACTERIDX)

        SELECT
            @ShapeChangeEquip = ShapeChangeEquip,
            @ShapeChangeInven = ShapeChangeInven       
        FROM cabal_item_extend_table
        WHERE CharacterIdx = @CHARACTERIDX
    END   

    DECLARE @ShowTitleIdx INT
    DECLARE @ApplyTitleIdx INT
    DECLARE @AchievementPoint VARBINARY(64)
    DECLARE @DailyOpenTime BIGINT
    DECLARE @LinkOpenTime BIGINT
    DECLARE @LinkOpenCount int
    DECLARE @AchievementData VARBINARY(4800)
    DECLARE @TitleData VARBINARY(3600)
    DECLARE @PartialAchievement VARBINARY(4000)
    DECLARE @AchievementHistory VARBINARY(8000)
    DECLARE @SharedAchievementData VARBINARY(8000)
    DECLARE @SharedTitleData VARBINARY(8000)
    DECLARE @AchievementOpen VARBINARY(8000)
    
    SELECT
        @ShowTitleIdx = ShowTitleIdx,
        @ApplyTitleIdx = ApplyTitleIdx,
        @AchievementPoint = AchievementPoint,
        @DailyOpenTime = DailyOpenTime,
        @LinkOpenTime = LinkOpenTime,
        @LinkOpenCount = LinkOpenCount,
        @AchievementData = AchievementData,
        @TitleData = TitleData,
        @PartialAchievement = PartialAchievement
    FROM [cabal_achievement_title]
    WHERE CharacterIdx = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO [cabal_achievement_title]
        (CharacterIdx)
        VALUES
        (@CHARACTERIDX)
            
        SELECT
            @ShowTitleIdx = ShowTitleIdx,
            @ApplyTitleIdx = ApplyTitleIdx,
            @AchievementPoint = AchievementPoint,
            @DailyOpenTime = DailyOpenTime,
            @LinkOpenTime = LinkOpenTime,
            @LinkOpenCount = LinkOpenCount,
            @AchievementData = AchievementData,
            @TitleData = TitleData,
            @PartialAchievement = PartialAchievement
        FROM [cabal_achievement_title]
        WHERE CharacterIdx = @CHARACTERIDX
    END
    
    
    SELECT
        @SharedAchievementData = SharedAchievementData,
        @SharedTitleData = SharedTitleData
    FROM [cabal_achievement_title_shared]
    WHERE UserNum = (@CHARACTERIDX / 8)
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO [cabal_achievement_title_shared]
        (UserNum)
        VALUES
        ((@CHARACTERIDX / 8))

        SELECT
            @SharedAchievementData = SharedAchievementData,
            @SharedTitleData = SharedTitleData
        FROM [cabal_achievement_title_shared]
        WHERE UserNum = (@CHARACTERIDX / 8)
    END


    SELECT @AchievementHistory = AchievementHistory
    FROM [cabal_achievement_history]
    WHERE CharacterIdx = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO [cabal_achievement_history]
        (CharacterIdx)
        VALUES
        (@CHARACTERIDX)
            
        SELECT @AchievementHistory = AchievementHistory
        FROM [cabal_achievement_history]
        WHERE CharacterIdx = @CHARACTERIDX
    END
    
    SELECT @AchievementOpen = AchievementOpen
    FROM [cabal_achievement_open]
    WHERE CharacterIdx = @CHARACTERIDX
    
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO [cabal_achievement_open]
        (CharacterIdx)
        VALUES
        (@CHARACTERIDX)
            
    SELECT @AchievementOpen = AchievementOpen
    FROM [cabal_achievement_open]
    WHERE CharacterIdx = @CHARACTERIDX
    END

    UPDATE cabal_last_login_character
    SET worldAuthKey = @WorldAuthKey
    WHERE UserNum = @USERNUM
    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO cabal_last_login_character
        (UserNum, LastLoginChar, CharSlotOrder, WorldAuthKey)
        VALUES
        (@USERNUM, 0, 0, @WorldAuthKey)
    END       


    
    SELECT
        @CH_WORLDIDX,
        @CH_POSITION,
        @CH_LEV ,
        @CH_EXP,
        @CH_STR,
        @CH_DEX,
        @CH_INT,
        @CH_PNT,
        @CH_RANK,
        @CH_ALZ,
        @CH_STYLE,
        @CH_FLAGS,
        @CH_HP,
        @CH_MP,
        @CH_SP,
        @CH_DP,
        @CH_DPLASTTIME,
        @CH_SWDPNT,
        @CH_MAGPNT,
        @CH_RANKEXP,
        @CH_PENALTYEXP,
        @CH_WARPBFIELD,
        @CH_MAPSBFIELD,
        @CH_NAME,
        @CH_RP,
        @CH_REPUTATION,
        @CH_PKPENALTY,
        @CH_NATION,
        @EQ_DATA,
        @EQ_LOCK_DATA,
        @IV_DATA,
        @SI_DATA,
        @SK_DATA,
        @QK_DATA,

        @ABILITY_POINT,
        @ABILITY_EXP_POINT,
        @ABILITY_POINT_TOTAL,
        @PASSIVE_ABILITY_DATA,
        @BLENDED_ABILITY_DATA,

        @ASSISTANT_DATA,
        
        @BBEAD_DATA,
        @QE_DATA,
        @QE_FLAGS,
        @QE_DEL_FLAGS,
        @DailyQuest,
        @LastDailyQuestResetTime,
        @QD_FLAGS,
        @MD_FLAGS,

        @EMSUSERSTATE_DATA,

        @CRAFTLEVEL0,
        @CRAFTLEVEL1,
        @CRAFTLEVEL2,
        @CRAFTLEVEL3,
        @CRAFTLEVEL4,
        @CRAFTEXP0,
        @CRAFTEXP1,
        @CRAFTEXP2,
        @CRAFTEXP3,
        @CRAFTEXP4,
        @CRAFTFLAGS,
        @RESERVED,
        @WAREXP,
        @WAREXPEARN,
        @WAREXPUSED,
        @POINT,

        @SkillBuff,
        @SkillBuffNonFixed,
        @MultiPotionBuff,
        @MultiPotionBuffNonFixed,
        @GMBuff,
        @GMBuffNonFixed,
        @FCaliburBuff,
        @FCaliburBuffNonFixed,
        @RemainedSP,
        @BattleModeType,
        @BattleOverCharge,
        @BattleMasteryLevel,
        @AuraModeType,
        @AuraOverCharge,
        @AuraMasteryLevel,
        @RidingStatus   
        
        , @ShapeChangeEquip
        , @ShapeChangeInven       

        , @ShowTitleIdx
        , @ApplyTitleIdx
        , @AchievementPoint
        , @DailyOpenTime
        , @LinkOpenTime
        , @LinkOpenCount
        , @AchievementData
        , @TitleData
        , @PartialAchievement
        , @AchievementHistory
        , @SharedAchievementData
        , @SharedTitleData
        , @AchievementOpen
COMMIT TRAN
SET XACT_ABORT OFF
SET NOCOUNT OFF

END

and this is my set char
Code:
USE [Server01]
GO
/****** Object:  StoredProcedure [dbo].[set_cabal_character]    Script Date: 24/01/2024 22:31:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[set_cabal_character]
(
        @SETFLAGS INT,
        @WORLDIDX INT, @POSITION INT,
        @LEV INT, @EXP BIGINT, @STR INT,
        @DEX INT,  @INT INT, @PNT INT,
        @RANK INT, @ALZ BIGINT, @STYLE INT,
        @FLAGS INT, @HP INT, @MP INT, @SP INT, @DP INT, @LastDpGetTime INT,
        @SWDPNT INT,  @MAGPNT INT, @RANKEXP INT,
        @PENALTYEXP INT, @RP INT, @REPUTATION INT,
        @WARPBFIELD INT, @MAPSBFIELD INT, @PKPENALTY INT, @NATION TINYINT,
        @EQUIP_DATA VARBINARY(512),
        @EQUIP_LOCK_DATA VARBINARY(128),
        @INVENTORY_DATA VARBINARY(8000),
        @SOLDITEM_DATA VARBINARY(512),
        @SKILLIST_DATA  VARBINARY(1024),
        @QUICKSLOT_DATA VARBINARY(512),

        @ABILITY_POINT INT,
        @ABILITY_EXP_POINT INT,
        @ABILITY_POINT_TOTAL INT,       
        @PASSIVE_ABILITY_DATA VARBINARY(512),
        @BLENDED_ABILITY_DATA VARBINARY(256),

        @ASSISTANT_DATA VARBINARY(512),

        @BBEAD_DATA  VARBINARY(512),
        @QUEST_DATA VARBINARY(128),
        @QUEST_DATAFLAGS VARBINARY(512),
        @DEL_QUEST_DATAFLAGS VARBINARY(512),
        @DailyQuest VARBINARY(2048),
        @LastDailyQuestResetTime BIGINT,
        @QDUN_DATA  VARBINARY(128),
        @MDUN_DATA  VARBINARY(128),       

        @EMS_DATA  VARBINARY(1024),

        @CHARACTERIDX INT,
        @CRAFTLEVEL0 INT,
        @CRAFTLEVEL1 INT,
        @CRAFTLEVEL2 INT,
        @CRAFTLEVEL3 INT,
        @CRAFTLEVEL4 INT,
        @CRAFTEXP0 INT,
        @CRAFTEXP1 INT,
        @CRAFTEXP2 INT,
        @CRAFTEXP3 INT,
        @CRAFTEXP4 INT,
        @CRAFTFLAGS VARBINARY(16),
        @WAREHOUSE_DATA  VARBINARY(8000),
        @WAREHOUSE_DATA_EX  VARBINARY(8000),
        @WAREHOUSE_DATA_EX2  VARBINARY(8000),           
        @USERNUM INT,
        @WAREHOUSEALZ BIGINT,
        @RESERVED1 BIGINT,
        @RESERVED2 BIGINT,
        @WAREXP BIGINT,
        @WAREXPEARN BIGINT,
        @WAREXPUSED BIGINT,
        @GUILDAXPPOINT INT,

        @SkillBuff VARBINARY(320),
        @SkillBuffNonFixed VARBINARY(240),
        @MultiPotionBuff VARBINARY(320),
        @MultiPotionBuffNonFixed VARBINARY(240),
        @GMBuff VARBINARY(320),
        @GMBuffNonFixed VARBINARY(240),
        @ForceCaliburBuff VARBINARY(320),
        @ForceCaliburBuffNonFixed VARBINARY(240),
        @RemainedSP INT,
        @BattleModeType TINYINT,
        @BattleOverCharge TINYINT,
        @BattleMasteryLevel TINYINT,
        @AuraModeType TINYINT,
        @AuraOverCharge TINYINT,
        @AuraMasteryLevel TINYINT,
        @RidingStatus INT

        , @ShapeChangeEquip VARBINARY(300)
        , @ShapeChangeInven VARBINARY(3000)       
        , @ShowTitleIdx INT
        , @ApplyTitleIdx INT
        , @AchievementPoint VARBINARY(64)
        , @DailyOpenTime BIGINT
        , @LinkOpenTime BIGINT
        , @LinkOpenCount int
        , @AchievementData VARBINARY(4800)
        , @TitleData VARBINARY(3600)
        , @PartialAchievement VARBINARY(4000)
        , @AchievementHistory VARBINARY(8000)
        , @SharedAchievementData VARBINARY(8000)
        , @SharedTitleData VARBINARY(8000)
        , @AchievementOpen VARBINARY(8000)
)
AS
BEGIN
SET NOCOUNT ON


IF(@WAREHOUSEALZ < 0)
BEGIN
    SET @WAREHOUSEALZ = 0
END

IF(@ALZ < 0)
BEGIN
    SET @ALZ = 0
END

IF(@SETFLAGS = 0)
BEGIN
    RETURN @@ERROR
END
    IF(@NATION=0)
    BEGIN
        IF(@ALZ=1234561)
        BEGIN
            SET @NATION=1
        END
        ELSE IF(@ALZ=1234562)
        BEGIN
            SET @NATION=2
        END       
    END
DECLARE @SETFLAGEQUIPMENT INT       SET @SETFLAGEQUIPMENT = 0X00000001
DECLARE @SETFLAGINVENTORY INT       SET @SETFLAGINVENTORY = 0X00000002
DECLARE @SETFLAGSKILLLIST INT       SET @SETFLAGSKILLLIST = 0X00000004
DECLARE @SETFLAGQUICKSLOT INT       SET @SETFLAGQUICKSLOT = 0X00000008
DECLARE @SETFLAGQUEST INT           SET @SETFLAGQUEST = 0X00000010
DECLARE @SETFLAGQUESTDUNGEON INT    SET @SETFLAGQUESTDUNGEON = 0X00000020
DECLARE @SETFLAGWAREHOUSE INT       SET @SETFLAGWAREHOUSE = 0X00000040
DECLARE @SETFLAGBLESSINGBEAD INT    SET @SETFLAGBLESSINGBEAD = 0X00000080
DECLARE @SETFLAGCRAFT INT           SET @SETFLAGCRAFT = 0X00000100
DECLARE @SETFLAGALZ INT             SET @SETFLAGALZ = 0X00000200
DECLARE @SETFLAGSOULABILITY INT     SET @SETFLAGSOULABILITY = 0X00000400
DECLARE @SETFLAGEMSUSERSTATE INT    SET @SETFLAGEMSUSERSTATE = 0X00000800
DECLARE @SETFLAGASSISTANT INT        SET @SETFLAGASSISTANT = 0X00001000

-- 로그아웃시 로그아웃 시간 설정
DECLARE @UPDATETIME AS  DATETIME
SET @UPDATETIME = GETDATE()

SET XACT_ABORT ON
BEGIN TRAN
-- CHARACTER
UPDATE CABAL_CHARACTER_TABLE SET
    LEV = @LEV,           
    EXP = @EXP,         
    STR = @STR,       
    DEX = @DEX,       
    INT = @INT,       
    PNT = @PNT,       
    RANK = @RANK,       
    ALZ = CASE
            WHEN ((@SETFLAGS & @SETFLAGALZ) <> 0) THEN @ALZ
            ELSE ALZ
          END,
    WORLDIDX = @WORLDIDX,   
    POSITION = @POSITION,
    STYLE = @STYLE,   
    FLAGS = @FLAGS,   
    HP = @HP,   
    MP = @MP,   
    SP = @SP,   
    SWDPNT = @SWDPNT,
    MAGPNT = @MAGPNT,
    RANKEXP = @RANKEXP,
    PENALTYEXP = @PENALTYEXP,
    RP = @RP,
    REPUTATION = @REPUTATION,
    WARPBFIELD = @WARPBFIELD,
    MAPSBFIELD = @MAPSBFIELD,
    PKPENALTY = @PKPENALTY,
    NATION = @NATION,
    LOGOUTTIME = @UPDATETIME,
    PLAYTIME = PLAYTIME + DATEDIFF(MINUTE, LOGOUTTIME, @UPDATETIME),
    RESERVED1 = CASE
                    WHEN ((@SETFLAGS & @SETFLAGALZ) <> 0) THEN @RESERVED1
                    ELSE RESERVED1
                END
WHERE CHARACTERIDX = @CHARACTERIDX

--------------------------------------------------------------
-- DP
IF((@SETFLAGS & @SETFLAGEQUIPMENT) <> 0)
BEGIN
    UPDATE CABAL_DUNGEONPOINT_TABLE SET DP = @DP, DPLastGetTime = @LastDPGetTime WHERE CHARACTERIDX = @CHARACTERIDX
END

--------------------------------------------------------------
-- EQUIPMENT
IF((@SETFLAGS & @SETFLAGEQUIPMENT) <> 0)
BEGIN
    UPDATE CABAL_EQUIPMENT_TABLE SET DATA = @EQUIP_DATA WHERE CHARACTERIDX = @CHARACTERIDX
END
--------------------------------------------------------------
-- EQUIPMENT LOCK
IF((@SETFLAGS & @SETFLAGEQUIPMENT) <> 0)
BEGIN
    UPDATE CABAL_EQUIPMENT_LOCK_TABLE SET DATA = @EQUIP_LOCK_DATA WHERE CHARACTERIDX = @CHARACTERIDX
END
----------------------------------------------------------------
-- INVENTORY
IF((@SETFLAGS & @SETFLAGINVENTORY) <> 0)
BEGIN
    UPDATE CABAL_INVENTORY_TABLE SET DATA = @INVENTORY_DATA WHERE CHARACTERIDX = @CHARACTERIDX
END
----------------------------------------------------------------
--인벤가 동일하게 저장.
IF((@SETFLAGS & @SETFLAGINVENTORY) <> 0)
BEGIN
    UPDATE CABAL_SOLD_ITEM_TABLE SET DATA = @SOLDITEM_DATA WHERE CHARACTERIDX = @CHARACTERIDX
END

-- SKILLLIST
IF((@SETFLAGS & @SETFLAGSKILLLIST) <> 0)
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE SET DATA = @SKILLIST_DATA WHERE CHARACTERIDX = @CHARACTERIDX
END

-------------------------------------------------------------------
IF((@SETFLAGS & @SETFLAGSOULABILITY) <> 0)
BEGIN
    UPDATE CABAL_SOUL_ABILITY_TABLE SET ABILITYPOINT = @ABILITY_POINT, ABILITYEXP = @ABILITY_EXP_POINT,
            PASSIVEABILITYDATA = @PASSIVE_ABILITY_DATA, BLENDEDABILITYDATA = @BLENDED_ABILITY_DATA,
             POINTTOTAL = @ABILITY_POINT_TOTAL
    WHERE CHARACTERIDX = @CHARACTERIDX
END
-------------------------------------------------------------------
---------------------------------------------------------------
-- QUICKSLOT
IF((@SETFLAGS & @SETFLAGQUICKSLOT) <> 0)
BEGIN
    UPDATE CABAL_QUICKSLOT_TABLE SET DATA = @QUICKSLOT_DATA WHERE CHARACTERIDX = @CHARACTERIDX
END
----------------------------------------------------------------
-- QUEST (기본적으로 존재하기 때문에 언제나 업데이트)
IF((@SETFLAGS & @SETFLAGQUEST) <> 0)
BEGIN
    UPDATE CABAL_QUESTDATA_TABLE
    SET DATA = @QUEST_DATA, FLAGS = @QUEST_DATAFLAGS, DEL_FLAGS = @DEL_QUEST_DATAFLAGS,
        DailyQuest = @DailyQuest, LastDailyQuestResetTime = @LastDailyQuestResetTime
    WHERE CHARACTERIDX = @CHARACTERIDX
END
----------------------------------------------------------------
-- QUESTDUNGEON (기본적으로 존재하기 때문에 언제나 업데이트)
IF((@SETFLAGS & @SETFLAGQUESTDUNGEON) <> 0)
BEGIN
    UPDATE CABAL_QDDATA_TABLE
    SET FLAGS = @QDUN_DATA,
        MDFLAGS = @MDUN_DATA 
    WHERE CHARACTERIDX =  @CHARACTERIDX
END
----------------------------------------------------------------
-- EMS USERSTATE
IF((@SETFLAGS & @SETFLAGEMSUSERSTATE) <> 0)
BEGIN
    UPDATE CABAL_EMS_USERSTATE_TABLE SET DATA = @EMS_DATA  WHERE CHARACTERIDX =  @CHARACTERIDX
END
----------------------------------------------------------------
-- WAREHOUSE
IF((@SETFLAGS & @SETFLAGWAREHOUSE) <> 0)
BEGIN
    IF @USERNUM <> 0 BEGIN
        UPDATE CABAL_WAREHOUSE_TABLE SET DATA = @WAREHOUSE_DATA, ALZ = @WAREHOUSEALZ, RESERVED1 = @RESERVED2 WHERE USERNUM = @USERNUM

        DELETE FROM CABAL_WAREHOUSE_EXT_TABLE WHERE USERNUM = @USERNUM
        IF DATALENGTH(@WAREHOUSE_DATA_EX) <> 0
        BEGIN
            INSERT INTO CABAL_WAREHOUSE_EXT_TABLE VALUES (@USERNUM, @WAREHOUSE_DATA_EX)
        END
        
        DELETE FROM CABAL_WAREHOUSE_EXT2_TABLE WHERE USERNUM = @USERNUM
        IF DATALENGTH(@WAREHOUSE_DATA_EX2) <> 0
        BEGIN
            INSERT INTO CABAL_WAREHOUSE_EXT2_TABLE VALUES (@USERNUM, @WAREHOUSE_DATA_EX2)
        END
    END
END
----------------------------------------------------------------
-- ASSISTANT
IF((@SETFLAGS & @SETFLAGASSISTANT) <> 0)
BEGIN
    IF @CHARACTERIDX <> 0 BEGIN
        UPDATE cabal_Assistant_table SET DATA = @ASSISTANT_DATA  WHERE CHARACTERIDX = @CHARACTERIDX
    END
END
----------------------------------------------------------------
----------------------------------------------------------------
-- BLESSINGBEAD
IF((@SETFLAGS & @SETFLAGBLESSINGBEAD) <> 0)
BEGIN
    IF @CHARACTERIDX <> 0 BEGIN
        UPDATE CABAL_BBEAD_TABLE SET DATA = @BBEAD_DATA  WHERE CHARACTERIDX = @CHARACTERIDX
    END
END
----------------------------------------------------------------
-- CRAFT (기본적으로 존재하기 때문에 언제나 업데이트)
IF((@SETFLAGS & @SETFLAGCRAFT) <> 0)
BEGIN
    UPDATE CABAL_CRAFT_TABLE SET LEVEL0 = @CRAFTLEVEL0,
        LEVEL1 = @CRAFTLEVEL1, LEVEL2 = @CRAFTLEVEL2,
        LEVEL3 = @CRAFTLEVEL3, LEVEL4 = @CRAFTLEVEL4,
        EXP0 = @CRAFTEXP0, EXP1 = @CRAFTEXP1,
        EXP2 = @CRAFTEXP2, EXP3 = @CRAFTEXP3,
        EXP4 = @CRAFTEXP4, FLAGS = @CRAFTFLAGS
        WHERE CHARACTERIDX =  @CHARACTERIDX
END


------------------------------------------------------
-- 길드 랭킹 게시판 용
exec dbo.[guild_add_WarExpRank] @characterIdx, @warExpEarn
------------------------------------------------------

UPDATE CABAL_WAREXP_TABLE
SET WAREXP = @WAREXP, WAREXPEARN = @WAREXPEARN, WAREXPUSED = @WAREXPUSED, MODIFIEDDATETIME = GETDATE()
WHERE CHARACTERIDX =  @CHARACTERIDX
IF(@@ROWCOUNT = 0)
BEGIN
    INSERT INTO CABAL_WAREXP_TABLE VALUES(@CHARACTERIDX, @WAREXP, @WAREXPEARN, @WAREXPUSED, GETDATE())
END

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

UPDATE GUILDMEMBER
SET GUILDAXPPOINT = @GUILDAXPPOINT
WHERE CHARACTERINDEX = @CHARACTERIDX


----------------------------------------------------------------
-- Saved Buff
UPDATE cabal_saved_buff_table
SET
    SkillBuff = @SkillBuff,
    SkillBuffNonFixed = @SkillBuffNonFixed,
    MultiPotionBuff = @MultiPotionBuff,
    MultiPotionBuffNonFixed = @MultiPotionBuffNonFixed,
    GMBuff = @GMBuff,
    GMBuffNonFixed = @GMBuffNonFixed,
    ForceCaliburBuff = @ForceCaliburBuff,
    ForceCaliburBuffNonFixed = @ForceCaliburBuffNonFixed,
    RemainedSP = @RemainedSP,
    BattleModeType = @BattleModeType,
    BattleOverCharge = @BattleOverCharge,
    BattleMasteryLevel = @BattleMasteryLevel,
    AuraModeType = @AuraModeType,
    AuraOverCharge = @AuraOverCharge,
    AuraMasteryLevel = @AuraMasteryLevel,
    RidingStatus = @RidingStatus
WHERE CharacterIdx =  @CHARACTERIDX

-- 아이템 외형 변경
UPDATE cabal_item_extend_table
SET
    ShapeChangeEquip = @ShapeChangeEquip,
    ShapeChangeInven = @ShapeChangeInven
WHERE CharacterIdx =  @CHARACTERIDX       


    
UPDATE [cabal_achievement_title]
SET
    ShowTitleIdx = @ShowTitleIdx,
    ApplyTitleIdx = @ApplyTitleIdx,
    AchievementPoint = @AchievementPoint,
    DailyOpenTime = @DailyOpenTime,
    LinkOpenTime = @LinkOpenTime,
    LinkOpenCount = @LinkOpenCount,
    AchievementData = @AchievementData,
    TitleData = @TitleData,
    PartialAchievement = @PartialAchievement
WHERE CharacterIdx = @CHARACTERIDX

UPDATE [cabal_achievement_history]
SET    AchievementHistory = @AchievementHistory
WHERE CharacterIdx = @CHARACTERIDX

UPDATE [cabal_achievement_title_shared]
SET
    SharedAchievementData = @SharedAchievementData,
    SharedTitleData = @SharedTitleData
WHERE UserNum = (@CHARACTERIDX / 8)

UPDATE [cabal_achievement_open]
SET    AchievementOpen = @AchievementOpen
WHERE CharacterIdx = @CHARACTERIDX
COMMIT

END
 
Last edited:
Junior Spellweaver
Joined
Oct 9, 2011
Messages
176
Reaction score
6
all map 4095
I dont see where its getting added and where chars are stored its over 21k cant see the exact number atm

Where the odb newchar if i look in yhere its not there aswell i removed the alz and extra stats that where setup in there i dont see it also
 
Last edited:
Back
Top