• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

TFS 0.X Skills stages + Movemment change skill

sucibob

Member
Joined
Mar 28, 2017
Messages
128
Reaction score
13
I used to have skills rates 10 magic level 5

config.lua
Code:
    rateSkill = 10.0
    rateMagic = 5.0

Until i found this skills stages script: CreatureEvent - Skills & magic level stages (https://otland.net/threads/skills-magic-level-stages.49165/)

But it broke a movemment i used to use:
Code:
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    setPlayerStorageValue(cid, 17000, 5)
    doPlayerSetRate(cid, SKILL_FIST, 5)
    doPlayerSetRate(cid, SKILL_CLUB, 5)
    doPlayerSetRate(cid, SKILL_SWORD, 5)
    doPlayerSetRate(cid, SKILL_AXE, 5)
    doPlayerSetRate(cid, SKILL_DISTANCE, 5)
    doPlayerSetRate(cid, SKILL_SHIELD, 5)
    doPlayerSetRate(cid, SKILL_FISHING, 5)
    doPlayerSetRate(cid, SKILL__MAGLEVEL, 25)
    return true
end

function onStepOut(cid, item, position, fromPosition)
    setPlayerStorageValue(cid, 17000, 0)
    doPlayerSetRate(cid, SKILL_FIST, 10)
    doPlayerSetRate(cid, SKILL_CLUB, 10)
    doPlayerSetRate(cid, SKILL_SWORD, 10)
    doPlayerSetRate(cid, SKILL_AXE, 10)
    doPlayerSetRate(cid, SKILL_DISTANCE, 10)
    doPlayerSetRate(cid, SKILL_SHIELD, 10)
    doPlayerSetRate(cid, SKILL_FISHING, 10)
    doPlayerSetRate(cid, SKILL__MAGLEVEL, 5)
    return true
end

How to make it change skills depending on player skill stages?

I tried it:
Code:
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    dofile(getDataDir() .. "creaturescripts/scripts/stagesconfig.lua")
    local mlRates = skillInfo[SKILL__MAGLEVEL] * skillConfig.magiclevel
    local fistRates = skillInfo[SKILL_FIST] * skillConfig.skill
    local clubRates = skillInfo[SKILL_CLUB] * skillConfig.skill
    local swordRates = skillInfo[SKILL_SWORD] * skillConfig.skill
    local axeRates = skillInfo[SKILL_AXE] * skillConfig.skill
    local distRates = skillInfo[SKILL_DISTANCE] * skillConfig.skill
    local shieldRates = skillInfo[SKILL_SHIELD] * skillConfig.skill
    local fishingRates = skillInfo[SKILL_FISHING] * skillConfig.skill
    print(mlRates)
    print(swordRates)
    setPlayerStorageValue(cid, 17000, 1)
    doPlayerSetRate(cid, SKILL_FIST, 1)
    doPlayerSetRate(cid, SKILL_CLUB, 1)
    doPlayerSetRate(cid, SKILL_SWORD, 1)
    doPlayerSetRate(cid, SKILL_AXE, 1)
    doPlayerSetRate(cid, SKILL_DISTANCE, 1)
    doPlayerSetRate(cid, SKILL_SHIELD, 1)
    doPlayerSetRate(cid, SKILL_FISHING, 1)
    doPlayerSetRate(cid, SKILL__MAGLEVEL, 0.5)
    return true
end

function onStepOut(cid, item, position, fromPosition)
    setPlayerStorageValue(cid, 17000, 0)
    doPlayerSetRate(cid, SKILL_FIST, 2)
    doPlayerSetRate(cid, SKILL_CLUB, 2)
    doPlayerSetRate(cid, SKILL_SWORD, 2)
    doPlayerSetRate(cid, SKILL_AXE, 2)
    doPlayerSetRate(cid, SKILL_DISTANCE, 2)
    doPlayerSetRate(cid, SKILL_SHIELD, 2)
    doPlayerSetRate(cid, SKILL_FISHING, 2)
    doPlayerSetRate(cid, SKILL__MAGLEVEL, 1)
    return true
end

Code:
[2:11:44.270] [Error - MoveEvents Interface]
[2:11:44.270] data/movements/scripts/trainers_room.lua:onStepIn
[2:11:44.270] Description:
[2:11:44.270] data/movements/scripts/trainers_room.lua:3: attempt to index global 'skillInfo' (a nil value)
[2:11:44.271] stack traceback:
[2:11:44.271]     data/movements/scripts/trainers_room.lua:3: in function <data/movements/scripts/trainers_room.lua:1>
[2:11:44.271]     [C]: in function 'doTeleportThing'
[2:11:44.271]     data/movements/scripts/trainerstp.lua:12: in function <data/movements/scripts/trainerstp.lua:1>

What should i do?
 
Back
Top