em creaturescripts.xml adiciona isso:
<event type="login" name="SkillStagesLogin" event="script" value="skillstageslogin.lua"/>
<event type="advance" name="SkillStagesAdvance" event="script" value="skillstagesadvance.lua"/>
e cria os seguintes arquivos .lua:
skillstagesadvance
local config = {
savePlayersOnAdvance = true
}
function onAdvance(cid, skill, oldLevel, newLevel)
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
skillstageslogin
dofile(getDataDir() .. "creaturescripts/scripts/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
stagesconfig
skillConfig = {skill = getConfigValue('rateSkill'), magiclevel = getConfigValue('rateMagic')} skillStages = {}
skillStages[SKILL_FIST] = {{0,20},{20,30},{30,40},{40,50},{50,60},{65,0}}
skillStages[SKILL_CLUB] = {{0,20},{20,30},{30,40},{40,50},{50,60},{65,0}}
skillStages[SKILL_SWORD] = {{0,20},{20,30},{30,40},{40,50},{50,60},{65,0}}
skillStages[SKILL_AXE] = {{0,20},{20,30},{30,40},{40,50},{50,60},{65,0}}
skillStages[SKILL_DISTANCE] = {{0,20},{20,30},{30,40},{40,50},{50,60},{65,0}}
skillStages[SKILL_SHIELD] = {{0,40},{20,60},{30,80},{40,100},{50,120},{65,0}}
--skillStages[SKILL_FISHING] = {{0,15},{25,10},{45,5},{50,0}}
skillStages[SKILL__MAGLEVEL] = {{0,0}}
showInfoOnAdvance = false -- send player message about skill rate change
showInfoOnLogin = true -- send player message about skill rates when he login
function getPlayerSkillRatesText(cid)
local skillInfo = getPlayerRates(cid)
return "skill rates: [ Magic Level: " .. skillInfo[SKILL__MAGLEVEL] * skillConfig.magiclevel .. "x || Fist: " .. skillInfo[SKILL_FIST] * skillConfig.skill .. "x | Club: " .. skillInfo[SKILL_CLUB] * skillConfig.skill .. "x | Sword: " .. skillInfo[SKILL_SWORD] * skillConfig.skill .. "x | Axe: " .. skillInfo[SKILL_AXE] * skillConfig.skill .. "x | Distance: " .. skillInfo[SKILL_DISTANCE] * skillConfig.skill .. "x | Shielding: " .. skillInfo[SKILL_SHIELD] * skillConfig.skill .. "x | Fishing: " .. skillInfo[SKILL_FISHING] * skillConfig.skill .. "x ]"
end
Nesse caso o skill fist por exemplo está assim:
a partir do level 0 rate 20
a partir do level 20 rate 30
a partir do level 30 rate 40
a partir do level 40 rate 50
a partir do level 50 rate 60
e a partir do 65 rate 0
level no caso se refere ao level do skill e não do player.
então o skill máximo está configurado para 65.
ps: a rate vai aumentando pq eu usei assim no uwnia, mas vc pode manter a mesmo ou ir diminuindo.
pps: não renomeia os arquivos que pode dar merda, usa os nomes que eu botei aí pra garantir.
*não fui eu que fiz o script. (não lembro quem fez pra mim ou de onde peguei, faz tempo.)
não me dê rep
apenas leia abaixo
###motivos pra você clicar aqui agora e entrar no Uwnia99 OT###
Temos 15 classes e está sempre lançando mais.
A classe Assassin fica invisível até pra players :rip:
A classe Cake Guardian tem uma magia de refletir dano
Temos Eventos próprios acontecendo todo momento
Temos várias sprites únicas do OT
A classe Feral Druid se transforma em vários bichos e tem magias diferentes dependendo da forma que está :beurk:
Temos um contato muito grande entre desenvolvedor e jogador
Temos uma classe chamada CAKE GUARDIAN! ELE ATIRA BOLOS!!!!! :love:
Não temos sistema vip e não vamos ter
Não vendemos nenhum tipo de vantagem na loja do site e nem vamos vender (apenas cosméticos)
24h :ph34r:
Entre no site clicando aqui!