Is it what you need?
<event type="login" name="SkillStagesLogin" event="script" value="skillstageslogin.lua"/>
<event type="advance" name="SkillStagesAdvance" event="script" value="skillstagesadvance.lua"/>
dofile(getDataDir() .. "lib/stagesconfig.lua")
function onAdvance(cid, skill, oldLevel, newLevel)
if(skillStages[skill] ~= nil) then
local skillRate = 1
local oldRates = getPlayerRates(cid)
for i, skillRateInfo in pairs(skillStages[skill]) do
if(newLevel >= skillRateInfo[1]) then
skillRate = skillRateInfo[2]
else
break
end
end
doPlayerSetRate(cid, skill, skillRate)
if(showInfoOnAdvance and skillRate ~= oldRates[skill]) then
if(skill >= 0 and skill <= 6) then
configRate = skillConfig.skill
else
configRate = skillConfig.magiclevel
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, SKILL_NAMES[skill] .. " rate alterado de " .. oldRates[skill] * configRate .. "x para " .. skillRate * configRate .. "x. " .. getPlayerSkillRatesText(cid))
end
end
return true
end
dofile(getDataDir() .. "lib/stagesconfig.lua")
function onLogin(cid)
for skill, skillStage in pairs(skillStages) do
if(skill >= 0 and skill <= 6) then
nowSkill = getPlayerSkillLevel(cid, skill)
else
nowSkill = getPlayerMagLevel(cid, true)
end
for i, skillRateInfo in pairs(skillStage) do
if(nowSkill >= skillRateInfo[1]) then
skillRate = skillRateInfo[2]
else
break
end
end
doPlayerSetRate(cid, skill, skillRate)
end
if(showInfoOnLogin) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, getPlayerSkillRatesText(cid))
end
registerCreatureEvent(cid, "SkillStagesAdvance")
return TRUE
end
<talkaction words="!skillrates" event="script" value="skillrates.lua"/>
dofile(getDataDir() .. "lib/stagesconfig.lua")
skillConfig = {skill = getConfigValue('rateSkill'), magiclevel = getConfigValue('rateMagic')}
skillStages = {}
skillStages[SKILL_FIST] = {{0,10},{60,0}}
skillStages[SKILL_CLUB] = {{0,10},{60,6},{80,0}}
skillStages[SKILL_SWORD] = {{0,10},{60,6},{80,0}}
skillStages[SKILL_AXE] = {{0,10},{60,6},{80,0}}
skillStages[SKILL_DISTANCE] = {{0,10},{60,6},{80,0}}
skillStages[SKILL_SHIELD] = {{0,10},{60,6},{80,0}}
skillStages[SKILL_FISHING] = {{0,10},{60,6},{80,0}} -- voce pode retirar os -- desse script para ativar, por padrao esta desativado
skillStages[SKILL__MAGLEVEL] = {{0,5},{100,4},{120,3},{135,2},{150,1},{155,0}}
function onSay(cid, words, param, channel)
local skillInfo = getPlayerRates(cid)
doPlayerPopupFYI(cid, "~[Your Skills Rates]~\nMagic Level: " .. skillInfo[SKILL__MAGLEVEL] * skillConfig.magiclevel .. "x\nFist Fighting: " .. skillInfo[SKILL_FIST] * skillConfig.skill .. "x\nClub Fighting: " .. skillInfo[SKILL_CLUB] * skillConfig.skill .. "x\nSword Fighting: " .. skillInfo[SKILL_SWORD] * skillConfig.skill .. "x\nAxe Fighting: " .. skillInfo[SKILL_AXE] * skillConfig.skill .. "x\nDistance Fighting: " .. skillInfo[SKILL_DISTANCE] * skillConfig.skill .. "x\nShielding: " .. skillInfo[SKILL_SHIELD] * skillConfig.skill .. "x")
return true
end
skillConfig = {skill = getConfigValue('rateSkill'), magiclevel = getConfigValue('rateMagic')}
skillStages = {}
skillStages[SKILL_FIST] = {{0,10},{60,0}}
skillStages[SKILL_CLUB] = {{0,10},{60,6},{80,0}}
skillStages[SKILL_SWORD] = {{0,10},{60,6},{80,0}}
skillStages[SKILL_AXE] = {{0,10},{60,6},{80,0}}
skillStages[SKILL_DISTANCE] = {{0,10},{60,6},{80,0}}
skillStages[SKILL_SHIELD] = {{0,10},{60,6},{80,0}}
skillStages[SKILL_FISHING] = {{0,10},{60,6},{80,0}} -- voce pode retirar os -- desse script para ativar, por padrao esta desativado
skillStages[SKILL__MAGLEVEL] = {{0,5},{100,4},{120,3},{135,2},{150,1},{155,0}}
showInfoOnAdvance = true -- envia uma nova mensagem com a sua nova rate
showInfoOnLogin = true -- envia mensagem da rate ao jogador ao logar
function getPlayerSkillRatesText(cid)
local skillInfo = getPlayerRates(cid)
return "Rates Info: [ Magic Level: " .. skillInfo[SKILL__MAGLEVEL] * skillConfig.magiclevel .. "x || Fist Fighting: " .. skillInfo[SKILL_FIST] * skillConfig.skill .. "x | Club Fighting: " .. skillInfo[SKILL_CLUB] * skillConfig.skill .. "x | Sword Fighting: " .. skillInfo[SKILL_SWORD] * skillConfig.skill .. "x | Axe Fighting: " .. skillInfo[SKILL_AXE] * skillConfig.skill .. "x | Distance Fighting: " .. skillInfo[SKILL_DISTANCE] * skillConfig.skill .. " | Shielding: " .. skillInfo[SKILL_SHIELD] * skillConfig.skill .. "x ]"
end