I believe that this solves their many questions ....
and help many others who may be needing it.
Code:
DECLARE
@CH_STYLE int,
@NAME varchar(200),
@CHARACTERIDX int,
@Class_ int,
@N_CHAR_MAX int
SET @N_ACCOUNT_MAX = 34000
SET @CHARACTERIDX = 8
WHILE (@CHARACTERIDX <= @N_CHAR_MAX)
BEGIN
IF EXISTS (SELECT * FROM GAMEDB.DBO.CABAL_CHARACTER_TABLE WHERE CHARACTERIDX=@CHARACTERIDX)
BEGIN
SET @NAME = (SELECT NAME FROM GAMEDB.DBO.CABAL_CHARACTER_TABLE WHERE CHARACTERIDX=@CHARACTERIDX)
SET @CH_STYLE = (SELECT STYLE FROM GAMEDB.DBO.CABAL_CHARACTER_TABLE WHERE CHARACTERIDX=@CHARACTERIDX)
SET @Class_ = (select ((((@CH_STYLE % 67108864) % 131072) % 8192) % 256) - (( convert(int, round(convert(float, ((((@CH_STYLE % 67108864) % 131072) % 8192) % 256)) / convert(float, 8), 0)) - 1) * 8))
--Warrior
IF(@Class_=9)
BEGIN
PRINT N'IDX GU = ' + STR(@CHARACTERIDX)
PRINT N'CHAR GU = ' + @NAME
PRINT N'Style = ' + STR(@CH_STYLE)
UPDATE GAMEDB.DBO.cabal_skilllist_table
SET Data = 0x020001004D01014654010148550101499001014B7C01014E7D01014F7E0101507F010151
WHERE CharacterIdx = @CHARACTERIDX
END
--Wizard
IF(@Class_=11)
BEGIN
PRINT N'IDX MA = ' + STR(@CHARACTERIDX)
PRINT N'CHAR MA = ' + @NAME
PRINT N'Style = ' + STR(@CH_STYLE)
UPDATE GAMEDB.DBO.cabal_skilllist_table
SET Data = 0x640001204D01014658010148590101499401014B
WHERE CharacterIdx = @CHARACTERIDX
END
--Blader
IF(@Class_=10)
BEGIN
PRINT N'IDX DU = ' + STR(@CHARACTERIDX)
PRINT N'CHAR DU = ' + @NAME
PRINT N'Style = ' + STR(@CH_STYLE)
UPDATE GAMEDB.DBO.cabal_skilllist_table
SET Data = 0x020001004D01014656010148570101499201014B8001014E8101014F8201015083010151
WHERE CharacterIdx = @CHARACTERIDX
END
--Force Archer
IF(@Class_=4 OR @Class_=12)
BEGIN
PRINT N'IDX AA = ' + STR(@CHARACTERIDX)
PRINT N'CHAR AA = ' + @NAME
PRINT N'Style = ' + STR(@CH_STYLE)
UPDATE GAMEDB.DBO.cabal_skilllist_table
SET Data = 0xA80101204B0101434D0101465A0101485B0101499601014B8701014E8801014F890101508A010151
WHERE CharacterIdx = @CHARACTERIDX
END
--Force Shielder
IF(@Class_=5 OR @Class_=13)
BEGIN
PRINT N'IDX GA = ' + STR(@CHARACTERIDX)
PRINT N'CHAR GA = ' + @NAME
PRINT N'Style = ' + STR(@CH_STYLE)
UPDATE GAMEDB.DBO.cabal_skilllist_table
SET Data = 0x020001004C0101434D0101465C0101485D0101499801014B8401014E8501014F86010150
WHERE CharacterIdx = @CHARACTERIDX
END
-- Force Blader
IF(@Class_=6 OR @Class_=14)
BEGIN
PRINT N'IDX EA = ' + STR(@CHARACTERIDX)
PRINT N'CHAR EA = ' + @NAME
PRINT N'Style = ' + STR(@CH_STYLE)
UPDATE GAMEDB.DBO.cabal_skilllist_table
SET Data = 0x02000100640001204D0101465E0101485F0101499A01014B
WHERE CharacterIdx = @CHARACTERIDX
END
END
SET @CHARACTERIDX = @CHARACTERIDX + 1
END
Example:
SET @N_CHAR_MAX = 34000
@N_CHAR_MAX = maximum number of characters (characteridx) you have in your database.
SET @CHARACTERIDX = 8
@CHARACTERIDX = first characteridx that will be searched in the database and that will set the new Data Skill for later, be enhanced and redo the whole process again.
I hope that helps.