Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Custom Overlord SQL system

Newbie Spellweaver
Joined
Jan 23, 2021
Messages
57
Reaction score
27
Hello guys I will release a simple overlord system that i haven't used but it's working it's simple SQL code that updates the skills based on character exp, some ppl asked me for that but i don't need it so that's why i will release it maybe some newbie will use it for their server. Planning to release even more basic things in the future if i don't forget.
(if it's useless etc i can delete it anytime)

Place this SQL code in dbo.get_cabal_character.
use control + F for search and place this code below : SET @CH_DPLASTTIME = 0.


SQL:
IF @CH_EXP >= 300000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = data + 0x3B01025200
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 320000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01025200', '3B01035200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 304000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01035200', '3B01045200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 306000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01045200', '3B01055200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 308000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01055200', '3B01065200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 310000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01065200', '3B01075200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 312000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01075200', '3B01085200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 314000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01085200', '3B01095200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 316000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01095200', '3B010A5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 318000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B010A5200', '3B010B5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 320000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B010B5200', '3B010C5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 345000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B010C5200', '3B010D5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 370000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B010D5200', '3B010E5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 395000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B010E5200', '3B010F5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 420000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B010F5200', '3B01105200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 445000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01105200', '3B01115200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 470000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01115200', '3B01125200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 495000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01125200', '3B01135200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
    END

    IF @CH_EXP >= 520000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01135200', '3B01145200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 545000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01145200', '3B01155200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 570000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01155200', '3B01165200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 595000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01165200', '3B01175200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 620000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01175200', '3B01185200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 645000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01185200', '3B01195200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 670000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01195200', '3B011A5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 695000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B011A5200', '3B011B5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 720000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B011B5200', '3B011C5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 745000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B011C5200', '3B011E5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 770000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B011E5200', '3B011F5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 795000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B011F5200', '3B01205200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 820000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01205200', '3B01215200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 845000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01215200', '3B01225200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 870000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01225200', '3B01235200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 895000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01235200', '3B01245200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 920000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01245200', '3B01255200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 945000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01255200', '3B01265200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 970000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01265200', '3B01275200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 995000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01275200', '3B01285200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1020000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01285200', '3B01295200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1045000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01295200', '3B012A5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1070000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B012A5200', '3B012B5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1095000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B012B5200', '3B012C5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1120000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B012C5200', '3B012D5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1145000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B012D5200', '3B012E5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1170000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B012E5200', '3B012F5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1195000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B012F5200', '3B01305200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1220000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01305200', '3B01315200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1245000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01315200', '3B01325200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1270000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01325200', '3B01335200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1295000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01335200', '3B01345200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
    IF @CH_EXP >= 1320000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01345200', '3B01355200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END   
        IF @CH_EXP >= 1345000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01355200', '3B01365200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END   
IF @CH_EXP >= 1370000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01365200', '3B01375200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END   
IF @CH_EXP >= 1395000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01375200', '3B01385200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END   
IF @CH_EXP >= 1420000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01385200', '3B01395200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END   
IF @CH_EXP >= 1445000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01395200', '3B013A5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END   
IF @CH_EXP >= 1470000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B013A5200', '3B013B5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1495000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B013B5200', '3B013C5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END   
IF @CH_EXP >= 1520000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B013C5200', '3B013D5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END   
IF @CH_EXP >= 1545000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B013D5200', '3B013E5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END   
IF @CH_EXP >= 1570000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B013E5200', '3B013F5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1595000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B013F5200', '3B01405200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1620000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01405200', '3B01415200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1645000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01415200', '3B01425200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1670000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01425200', '3B01435200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1695000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01435200', '3B01445200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1720000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01445200', '3B01455200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1745000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01455200', '3B01465200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1770000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01465200', '3B01475200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1795000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01475200', '3B01485200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1820000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01485200', '3B01495200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1845000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01495200', '3B014A5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1870000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B014A5200', '3B014B5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1895000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B014B5200', '3B014C5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1920000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B014C5200', '3B014D5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1945000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B014D5200', '3B014E5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1970000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B014E5200', '3B014F5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 1995000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B014F5200', '3B01505200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2020000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01505200', '3B01515200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2045000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01515200', '3B01525200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2070000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01525200', '3B01535200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2095000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01535200', '3B01545200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2120000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01545200', '3B01555200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2145000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01555200', '3B01565200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2170000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01565200', '3B01575200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2195000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01575200', '3B01585200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2220000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01585200', '3B01595200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2245000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01595200', '3B015A5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2270000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B015A5200', '3B015B5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2295000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B015B5200', '3B015C5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2320000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B015C5200', '3B015D5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2345000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B015D5200', '3B015E5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2370000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B015E5200', '3B015F5200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2395000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B015F5200', '3B01605200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2420000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01605200', '3B01615200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2445000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01615200', '3B01625200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2470000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01625200', '3B01635200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END
IF @CH_EXP >= 2495000000000
BEGIN
    UPDATE CABAL_SKILLLIST_TABLE
    SET DATA = CONVERT(VARBINARY(MAX), REPLACE(CONVERT(VARCHAR(MAX), DATA, 1), '3B01635200', '3B01645200'), 1)
    WHERE CHARACTERIDX = @CHARACTERIDX
END

The Skill which have to be edited in skill.scp and cabal.enc

<msg id="skill0315" cont="Overlord" /> upgrade skill i'm using for overlord
--------------------------------------------------------------------------------
cabal.enc :
<skill_main id="315" name="skill0315" type="4" multi="0" group="0" dur="" bfx_dur="0" value_ref="1" bfx_ref="0" intensity="0" element="0" desc="skill_desc0315" icon_id="J_icn_skill315" >
<attribute target="4" max_target="1" reach="0" mreach="-1" range="0" range_type="-1" >
<code grip_calc="0" anicode="-1" fxcode_on="-1" fxcode_keep="-1" />
<frame term="0" blendlimit="-1" hit_frame="-1" firing_frame="-1" ani_f="0" local_f="0" />
<effect visual_type="-1" movemethod="-1" />
<condition twohand="0" dual="1" onehand="0" bracer="0" exclusive="1" usecase="7429" />
</attribute>
<skill_param exp1="0" exp2="0" >
<power atk="0,0" ar="10,100" critrate="0,0" critdmg="0,0" />
<cost ctime="0,0" mp="0,0" mpadd="" sp="-1" />
<mission_cost upkeepctime="1" mission_ctime="0,0" />
</skill_param>
</skill_main>
---------------------------------------------------------------------------------
<skill_order id="315" order_level="1" rank="1" rankpoint="0" start_level="1" end_level="100" train_type="8" train_price="0" untrain_price="2000000000" stylemastery="63" twohand="1" dual="1" magic="1" magic_arrow="1" sword_shield="1" magic_sword="1" exclusive="" inclusive="" inclusive_level="0" />
---------------------------------------------------------------------------------
<con level="200" exp="2200000000000" accuexp="2500000000000" />
exp that you need for the overlord

---------------------------------------------------------------------------------
Skill.scp

[SkillOrder] SkillIdx Rank RankPoint SkillLv MaxSkillLv ExcSkillIdx ReqSkillIdx ReqSkillLv PriceTrain PriceUnTrain TrainType StyleMastery

2001 315 8 0 1 1 <null> <null> 0 1 2000000000 8 63
2002 315 8 0 2 2 <null> <null> 0 1 2000000000 8 63
2003 315 8 0 3 3 <null> <null> 0 1 2000000000 8 63
2004 315 8 0 4 4 <null> <null> 0 1 2000000000 8 63
2005 315 8 0 5 5 <null> <null> 0 1 2000000000 8 63
2006 315 8 0 6 6 <null> <null> 0 1 2000000000 8 63
2007 315 8 0 7 7 <null> <null> 0 1 2000000000 8 63
2008 315 8 0 8 8 <null> <null> 0 1 2000000000 8 63
2010 315 8 0 10 10 <null> <null> 0 1 2000000000 8 63



-----------------------------------------------------------------------------
301 315 0 4 1 4 0 <null> <null> 1 0 0 0 <null> <null> 4 1 7429 0 0 <null> <null> <null> -1 0,0 10,100 0,0 0,0 0,0 <null> -1 0 0 1 0 0 0

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

stats you can make them whatever you want

----------------------------------------------------------------------------
Level.scp

200 2200000000000

I hope you like it , if you need anything else you can contact me on my discord.
 
Initiate Mage
Joined
Nov 23, 2023
Messages
3
Reaction score
6
Awesome, just gotta throw in a few more things:

  • Try to cut back on using too many IF/ELSE statements and opt for CASE instead.
  • For easier maintenance, it's always better to store everything in tables in INT format. You can format and concatenate to VARBINARY using the Int2Bin() function with some INT value. But don't forget to use indexes to keep performance up.
  • And finally, never set the end of a skill to be the same (XXXXXX5200). At some point, it'll stop counting attributes for the character. The best thing you can do is map out the entire VARBINARY and calculate what the last value should be to keep things going. But keep in mind, this can be pretty resource-intensive for SQL Server. I'll leave you to work on that part a bit šŸ˜…
 
Newbie Spellweaver
Joined
Jan 23, 2021
Messages
57
Reaction score
27
Awesome, just gotta throw in a few more things:

  • Try to cut back on using too many IF/ELSE statements and opt for CASE instead.
  • For easier maintenance, it's always better to store everything in tables in INT format. You can format and concatenate to VARBINARY using the Int2Bin() function with some INT value. But don't forget to use indexes to keep performance up.
  • And finally, never set the end of a skill to be the same (XXXXXX5200). At some point, it'll stop counting attributes for the character. The best thing you can do is map out the entire VARBINARY and calculate what the last value should be to keep things going. But keep in mind, this can be pretty resource-intensive for SQL Server. I'll leave you to work on that part a bit šŸ˜…
Thanks for advice. ā¤ļø
I made it long time ago i could've improve it now but lack of time .
I have few more like merit via sql which i will also post later gotta find it first.
 
Last edited:
Newbie Spellweaver
Joined
Jan 6, 2014
Messages
15
Reaction score
2
Thanks for advice. ā¤ļø
I made it long time ago i could've improve it now but lack of time .
I have few more like merit via sql which i will also post later gotta find it first.
really appreciate it you've shared more works to continue <3 god bless you always
 
Back
Top