Ir para conteúdo
  • 0

Limite de Skills


lucasromero0110

Pergunta

Então pessoal, creio que aqui seja a parte onde mexão com sources.
Eu queria por limite em skills por exemplo:
O Player pega skill 80, depois disso a skill não sobe mais.
Queria por o limite para:
Distance, Axe, Club, Sword.


Versão: 8.54
Só isso, espero a resposta.
Valeu

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

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.)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...