• 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!

[1.2] Skill rates

xKrazyx

Old School
Joined
Oct 23, 2012
Messages
899
Solutions
6
Reaction score
677
Converted Gesiors skill rates for 1.2, thought I would share since im usually selfish.

/data/events/scripts/player.lua/


replace the onGainSkillTries with this one

Code:
skillStages = {}
skillStages[SKILL_FIST] = {{0,8},{60,5},{80,3},{100,2}}
skillStages[SKILL_CLUB] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_SWORD] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_AXE] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_DISTANCE] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_SHIELD] = {{0,9},{60,8},{80,7},{100,6},{110,3}}
skillStages[SKILL_FISHING] = {{0,5},{60,4},{80,3},{100,2},{110,1}}
skillStages[SKILL_MAGLEVEL] = {{0,10},{6,5},{15,7},{80,5},{90,2},{99,1}}
   
function Player:onGainSkillTries(skill, tries)
    if APPLY_SKILL_MULTIPLIER == false then
        return tries
    end
   
local skillName
local skillRate
    if(skill==0)then
        skillName=SKILL_FIST
    elseif(skill==1)then
        skillName=SKILL_CLUB
    elseif(skill==2)then
        skillName=SKILL_SWORD
    elseif(skill==3)then
        skillName=SKILL_AXE
    elseif(skill==4)then
        skillName=SKILL_DISTANCE
    elseif(skill==5)then
        skillName=SKILL_SHIELD
    elseif(skill==6)then
        skillName=FISHING
    end
     if(skillStages[skill] ~= nil) then
        skillRate = 1
        for i, skillRateInfo in pairs(skillStages[skill]) do
            if(getPlayerSkill(self, skillName) >= skillRateInfo[1]) then
                skillRate = skillRateInfo[2]
            else
                break
            end
        end
    end
   
    if skill == SKILL_MAGLEVEL then
        return tries * configManager.getNumber(configKeys.RATE_MAGIC) * skillRate
    end
    return tries * configManager.getNumber(configKeys.RATE_SKILL) * skillRate
end
 
apply the same logic
just a different config ? xD This is more simple imo, but could be easily changed for those who want more usability I guess. I just copied Gesior.pl's script :D
 
Question so if i use this skill rates i dont need to use this in XML/vocations
Code:
        <skill id="0" multiplier="1.5" />
        <skill id="1" multiplier="1.8" />
        <skill id="2" multiplier="1.8" />
        <skill id="3" multiplier="1.8" />
        <skill id="4" multiplier="1.8" />
        <skill id="5" multiplier="1.5" />
        <skill id="6" multiplier="1.1" />
?
 
Back
Top