Galera!! Segue a resposta.
Depois de muito pesquisar e procurar por forums e não conseguir a resposta eu mesmo tive que correr atrás e implementar ehehehe.
Gostaria de agradecer a Linxsis. ele desenvolveu parte desse código depois eu fiz uns ajustes para que funcionasse!
Segue:
1 substituir a função onGainSkillTries (dentro do arquivo data/events/scripts/player.lua) para uma mais completa junto com alguns complementos (no caso + 1 função e uma tabela onde vai ficar os stages).
função antiga
function Player:onGainSkillTries(skill, tries)
if APPLY_SKILL_MULTIPLIER == false then
return tries
end
if skill == SKILL_MAGLEVEL then
return tries * configManager.getNumber(configKeys.RATE_MAGIC)
end
return tries * configManager.getNumber(configKeys.RATE_SKILL)
end
como vai ficar o arquivo no lugar dessa função
SkillsTable = {
[0] = { --[[ SKILL_FIST ]]
stage = {
[{10, 30}] = 50,
[{31, 50}] = 30,
[{51, 70}] = 20,
[{71, 90}] = 10,
[{91, 110}] = 5,
[{111, 300}] = 3
},
rate = configKeys.RATE_SKILL
},
[1] = { --[[ SKILL_CLUB ]]
stage = {
[{10, 30}] = 50,
[{31, 50}] = 30,
[{51, 70}] = 20,
[{71, 90}] = 10,
[{91, 110}] = 5,
[{111, 300}] = 3
},
rate = configKeys.RATE_SKILL
},
[2] = { --[[ SKILL_SWORD ]]
stage = {
[{10, 30}] = 50,
[{31, 50}] = 30,
[{51, 70}] = 20,
[{71, 90}] = 10,
[{91, 110}] = 5,
[{111, 300}] = 3
},
rate = configKeys.RATE_SKILL
},
[3] = { --[[ SKILL_AXE ]]
stage = {
[{10, 30}] = 50,
[{31, 50}] = 30,
[{51, 70}] = 20,
[{71, 90}] = 10,
[{91, 110}] = 5,
[{111, 300}] = 3
},
rate = configKeys.RATE_SKILL
},
[4] = { --[[ SKILL_DISTANCE ]]
stage = {
[{10, 30}] = 50,
[{31, 50}] = 30,
[{51, 70}] = 20,
[{71, 90}] = 10,
[{91, 110}] = 5,
[{111, 300}] = 3
},
rate = configKeys.RATE_SKILL
},
[5] = { --[[ SKILL_SHIELD ]]
stage = {
[{10, 30}] = 50,
[{31, 50}] = 30,
[{51, 70}] = 20,
[{71, 90}] = 10,
[{91, 110}] = 5,
[{111, 300}] = 3
},
rate = configKeys.RATE_SKILL
},
[6] = { --[[ SKILL_FISHING ]]
stage = {
[{10, 30}] = 50,
[{31, 50}] = 30,
[{51, 70}] = 20,
[{71, 90}] = 10,
[{91, 110}] = 5,
[{111, 300}] = 3
},
rate = configKeys.RATE_SKILL
},
[7] = { --[[ SKILL_MAGLEVEL ]]
stage = {
[{0, 50}] = 10,
[{51, 70}] = 8,
[{71, 80}] = 7,
[{81, 90}] = 6,
[{91, 110}] = 5,
[{111, 300}] = 2
},
rate = configKeys.RATE_MAGIC
}
}
function getSkillsRate(level, skill)
local skillRange = SkillsTable[skill]
if next(skillRange.stage) then
for sLevel, multiplier in pairs(skillRange.stage) do
if level >= sLevel[1] and level <= sLevel[2] then
return multiplier
end
end
end
return 1
end
function Player:onGainSkillTries(skill, tries)
if APPLY_SKILL_MULTIPLIER == false then
return tries
end
local skills = SkillsTable[skill]
if next(skills) and skills.rate then
local rate = configManager.getNumber(skills.rate)
if rate > 0 then
return tries * rate
else
return tries * getSkillsRate(self:getEffectiveSkillLevel(skill), skill)
end
end
end
2 mudar no config.lua o rateSkill e rateMagic para 0 (zero)
-- rateSkill = 8
rateSkill = 0
-- rateMagic = 5
rateMagic = 0
isso é tudo pe-pessoal!