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

Solved problem with revscripts, set skills. can't login into game

Jeyci

Banned User
Joined
May 6, 2023
Messages
289
Solutions
3
Reaction score
36
problem revscript

Hello i used to use this script in my war server which was tfs 1.3

now im trying to use it again n my tfs 1.5 i don't get errors, in console but i can't log into the game if i enable it

Lua:
local loginSkills = CreatureEvent("LoginSkills")

function loginSkills.onLogin(player)--agregado war

    local vocation = player:getVocation():getId()
    local promotion = player:getVocation():getPromotion()
 
--    if player:getLastLoginSaved() <= 0 then
--        player:setStorageValue(fragStor, 0)
--        player:setStorageValue(totalFragStor, 0)
--    end

    --local warTown = Town(getWarTown())

    --if player:getTown() ~= warTown then
    --    player:setWarTown()
    --    player:teleportTo(warTown:getTemplePosition())
    --end
 
        --player:setStorageValue(totalFragStor, (player:getStorageValue(totalFragStor) + player:getStorageValue(fragStor)))
        --player:setStorageValue(fragStor, 0)
 
        --if player:getLevel() < 30 then
        --    if player:getGroup():getId() < 2 then
        --        player:addExperience(getExpForLevel(30) - player:getExperience())
        --    end
    ---    end
            if vocation == 1 or vocation == 5 then
                while player:getSkillLevel(SKILL_SHIELD) < 45 do
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getBaseMagicLevel() < 55 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end
    
            if vocation == 2 or vocation == 6 then
                while player:getSkillLevel(SKILL_SHIELD) < 45 do
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getBaseMagicLevel() < 55 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end

            if vocation == 3 or vocation == 7 then
                while player:getSkillLevel(SKILL_SHIELD) < 75 do
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getSkillLevel(SKILL_DISTANCE) < 90 do
                    player:addSkillTries(SKILL_DISTANCE, player:getVocation():getRequiredSkillTries(SKILL_DISTANCE, player:getSkillLevel(SKILL_DISTANCE) + 1) - player:getSkillTries(SKILL_DISTANCE))
                end
                while player:getBaseMagicLevel() < 25 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end
            if vocation == 4 or vocation == 8 then
                while player:getSkillLevel(SKILL_SHIELD) < 90 do
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getSkillLevel(SKILL_SWORD) < 90 do
                    player:addSkillTries(SKILL_SWORD, player:getVocation():getRequiredSkillTries(SKILL_SWORD, player:getSkillLevel(SKILL_SWORD) + 1) - player:getSkillTries(SKILL_SWORD))
                end
                while player:getSkillLevel(SKILL_AXE) < 90 do
                    player:addSkillTries(SKILL_AXE, player:getVocation():getRequiredSkillTries(SKILL_AXE, player:getSkillLevel(SKILL_AXE) + 1) - player:getSkillTries(SKILL_AXE))
                end
                while player:getSkillLevel(SKILL_CLUB) < 90 do
                    player:addSkillTries(SKILL_CLUB, player:getVocation():getRequiredSkillTries(SKILL_CLUB, player:getSkillLevel(SKILL_CLUB) + 1) - player:getSkillTries(SKILL_CLUB))
                end
                while player:getBaseMagicLevel() < 15 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end
    player:save()
    return true
end

loginSkills:register()

have this at data/lib/core/player.lua. nothing changed
Lua:
function Player.addSkillLevel(self, skillId, value)
    local currentSkillLevel = self:getSkillLevel(skillId)
    local sum = 0

    if value > 0 then
        while value > 0 do
            sum = sum + self:getVocation():getRequiredSkillTries(skillId, currentSkillLevel + value)
            value = value - 1
        end

        return self:addSkillTries(skillId, sum - self:getSkillTries(skillId))
    else
        value = math.min(currentSkillLevel, math.abs(value))
        while value > 0 do
            sum = sum + self:getVocation():getRequiredSkillTries(skillId, currentSkillLevel - value + 1)
            value = value - 1
        end

        return self:removeSkillTries(skillId, sum + self:getSkillTries(skillId), true)
    end
end

function Player.addSkill(self, skillId, value, round)
    if skillId == SKILL_LEVEL then
        return self:addLevel(value, round or false)
    elseif skillId == SKILL_MAGLEVEL then
        return self:addMagicLevel(value)
    end
    return self:addSkillLevel(skillId, value)
end

have i missing something in global.lua? have reviewed my other datapack and an't find no diferences, the only diference is that this script was not revscript

tried as normal script is not working either

edit: made this now i can log in but ain't receiving skills

Lua:
local loginSkills = CreatureEvent("LoginSkills")

function loginSkills.onLogin(player)--agregado war

    local vocation = player:getVocation():getId()
    local promotion = player:getVocation():getPromotion()
 
--    if player:getLastLoginSaved() <= 0 then
--        player:setStorageValue(fragStor, 0)
--        player:setStorageValue(totalFragStor, 0)
--    end

    --local warTown = Town(getWarTown())

    --if player:getTown() ~= warTown then
    --    player:setWarTown()
    --    player:teleportTo(warTown:getTemplePosition())
    --end
 
        --player:setStorageValue(totalFragStor, (player:getStorageValue(totalFragStor) + player:getStorageValue(fragStor)))
        --player:setStorageValue(fragStor, 0)
    
        --if player:getLevel() < 30 then
        --    if player:getGroup():getId() < 2 then
        --        player:addExperience(getExpForLevel(30) - player:getExperience())
        --    end
    ---    end
            if vocation == "sorcerer" or vocation == "master sorcerer" then
                while player:getSkillLevel(SKILL_SHIELD) < 45 do
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getBaseMagicLevel() < 55 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end
        
             if vocation == "druid" or vocation == "elder druid" then
                while player:getSkillLevel(SKILL_SHIELD) < 45 do
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getBaseMagicLevel() < 55 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end

             if vocation == "paladin" or vocation == "royal paladin" then
                while player:getSkillLevel(SKILL_SHIELD) < 75 do
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getSkillLevel(SKILL_DISTANCE) < 90 do
                    player:addSkillTries(SKILL_DISTANCE, player:getVocation():getRequiredSkillTries(SKILL_DISTANCE, player:getSkillLevel(SKILL_DISTANCE) + 1) - player:getSkillTries(SKILL_DISTANCE))
                end
                while player:getBaseMagicLevel() < 25 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end
             if vocation == "knight" or vocation == "elite knight" then
                while player:getSkillLevel(SKILL_SHIELD) < 90 do
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getSkillLevel(SKILL_SWORD) < 90 do
                    player:addSkillTries(SKILL_SWORD, player:getVocation():getRequiredSkillTries(SKILL_SWORD, player:getSkillLevel(SKILL_SWORD) + 1) - player:getSkillTries(SKILL_SWORD))
                end
                while player:getSkillLevel(SKILL_AXE) < 90 do
                    player:addSkillTries(SKILL_AXE, player:getVocation():getRequiredSkillTries(SKILL_AXE, player:getSkillLevel(SKILL_AXE) + 1) - player:getSkillTries(SKILL_AXE))
                end
                while player:getSkillLevel(SKILL_CLUB) < 90 do
                    player:addSkillTries(SKILL_CLUB, player:getVocation():getRequiredSkillTries(SKILL_CLUB, player:getSkillLevel(SKILL_CLUB) + 1) - player:getSkillTries(SKILL_CLUB))
                end
                while player:getBaseMagicLevel() < 15 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end
    player:save()
    return true
end

loginSkills:register()

EDIT2: OK I FOUND OUT WHAT'S CAUSING THE PROBLEM IS THIS CODE.
Lua:
local vocation = player:getVocation():getId()
how it must be?

edit3: tried this
Lua:
if (player:getVocation():getId() == 2) or (player:getVocation():getId() == 6) then
not working either

edit3: finnaly i get something in console
Lua:
local loginSkills = CreatureEvent("LoginSkills")

function loginSkills.onLogin(player)--agregado war

    --local vocation = player:getVocation():getId()
    --local promotion = player:getVocation():getPromotion()
   
--    if player:getLastLoginSaved() <= 0 then
--        player:setStorageValue(fragStor, 0)
--        player:setStorageValue(totalFragStor, 0)
--    end

    --local warTown = Town(getWarTown())

    --if player:getTown() ~= warTown then
    --    player:setWarTown()
    --    player:teleportTo(warTown:getTemplePosition())
    --end
   
        --player:setStorageValue(totalFragStor, (player:getStorageValue(totalFragStor) + player:getStorageValue(fragStor)))
        --player:setStorageValue(fragStor, 0)
       
        --if player:getLevel() < 30 then
        --    if player:getGroup():getId() < 2 then
        --        player:addExperience(getExpForLevel(30) - player:getExperience())
        --    end
    ---    end
    --if player:getVocation():getId() == 1 or player:getVocation():getId() == 5 then -- Sorcerer
    if player:getVocation():getId() == 1 or player:getVocation():getId() == 5 then
            --if vocation == 1 or vocation == 5 then
                --while player:getSkillLevel(SKILL_SHIELD) < 45 do
                while player:getSkillLevel(SKILL_SHIELD) < 45 do
                player:addSkillTries
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getBaseMagicLevel() < 55 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end
            if player:getVocation():getId() == 2 or player:getVocation():getId() == 6 then
            --if vocation == 2 or vocation == 6 then
                while player:getSkillLevel(SKILL_SHIELD) < 45 do
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getBaseMagicLevel() < 55 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end

            --if vocation == 3 or vocation == 7 then
            if player:getVocation():getId() == 3 or player:getVocation():getId() == 7 then
                while player:getSkillLevel(SKILL_SHIELD) < 75 do
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getSkillLevel(SKILL_DISTANCE) < 90 do
                    player:addSkillTries(SKILL_DISTANCE, player:getVocation():getRequiredSkillTries(SKILL_DISTANCE, player:getSkillLevel(SKILL_DISTANCE) + 1) - player:getSkillTries(SKILL_DISTANCE))
                end
                while player:getBaseMagicLevel() < 25 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end
            --if vocation == 4 or vocation == 8 then
            if player:getVocation():getId() == 4 or player:getVocation():getId() == 8 then
                while player:getSkillLevel(SKILL_SHIELD) < 90 do
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                while player:getSkillLevel(SKILL_SWORD) < 90 do
                    player:addSkillTries(SKILL_SWORD, player:getVocation():getRequiredSkillTries(SKILL_SWORD, player:getSkillLevel(SKILL_SWORD) + 1) - player:getSkillTries(SKILL_SWORD))
                end
                while player:getSkillLevel(SKILL_AXE) < 90 do
                    player:addSkillTries(SKILL_AXE, player:getVocation():getRequiredSkillTries(SKILL_AXE, player:getSkillLevel(SKILL_AXE) + 1) - player:getSkillTries(SKILL_AXE))
                end
                while player:getSkillLevel(SKILL_CLUB) < 90 do
                    player:addSkillTries(SKILL_CLUB, player:getVocation():getRequiredSkillTries(SKILL_CLUB, player:getSkillLevel(SKILL_CLUB) + 1) - player:getSkillTries(SKILL_CLUB))
                end
                while player:getBaseMagicLevel() < 15 do
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 1) - player:getManaSpent())
                end
            end
    player:save()
    return true
end

loginSkills:register()

Code:
login_skills.lua:34: function arguments expected near 'player'
Solved here is the solution, at least for me
Lua:
local loginSkills = CreatureEvent("LoginSkills")

function loginSkills.onLogin(player)--agregathen war

    --local vocation = player:getVocation():getId()
    --local promotion = player:getVocation():getPromotion()
    
--    if player:getLastLoginSaved() <= 0 then
--        player:setStorageValue(fragStor, 0)
--        player:setStorageValue(totalFragStor, 0)
--    end

    --local warTown = Town(getWarTown())

    --if player:getTown() ~= warTown then
    --    player:setWarTown()
    --    player:teleportTo(warTown:getTemplePosition())
    --end
    
        --player:setStorageValue(totalFragStor, (player:getStorageValue(totalFragStor) + player:getStorageValue(fragStor)))
        --player:setStorageValue(fragStor, 0)
        
        --if player:getLevel() < 30 then
        --    if player:getGroup():getId() < 2 then
        --        player:addExperience(getExpForLevel(30) - player:getExperience())
        --    end
    ---    end
    --if player:getVocation():getId() == 1 or player:getVocation():getId() == 5 then -- Sorcerer
    if player:getVocation():getId() == 1 or player:getVocation():getId() == 5 then
            --if vocation == 1 or vocation == 5 then
                --if player:getSkillLevel(SKILL_SHIELD) < 45 then
                if player:getSkillLevel(SKILL_SHIELD) < 45 then
                --player:addSkillTries
                 player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 40) - player:getSkillTries(SKILL_SHIELD), true)
    
                    --player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                end
                if player:getBaseMagicLevel() < 55 then
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 55) - player:getManaSpent())
                end
            end
            if player:getVocation():getId() == 2 or player:getVocation():getId() == 6 then
            --if vocation == 2 or vocation == 6 then
                if player:getSkillLevel(SKILL_SHIELD) < 45 then
                    --player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                    -- player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD), true)
    endplayer:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 40) - player:getSkillTries(SKILL_SHIELD), true)
                end
                if player:getBaseMagicLevel() < 55 then
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 55) - player:getManaSpent())
                end
            end

            --if vocation == 3 or vocation == 7 then
            if player:getVocation():getId() == 3 or player:getVocation():getId() == 7 then
                if player:getSkillLevel(SKILL_SHIELD) < 75 then
                    --player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 75) - player:getSkillTries(SKILL_SHIELD), true)
                end
                if player:getSkillLevel(SKILL_DISTANCE) < 90 then
                    --player:addSkillTries(SKILL_DISTANCE, player:getVocation():getRequiredSkillTries(SKILL_DISTANCE, player:getSkillLevel(SKILL_DISTANCE) + 1) - player:getSkillTries(SKILL_DISTANCE))
                    player:addSkillTries(SKILL_DISTANCE, player:getVocation():getRequiredSkillTries(SKILL_DISTANCE, player:getSkillLevel(SKILL_DISTANCE) + 90) - player:getSkillTries(SKILL_DISTANCE), true)
                end
                if player:getBaseMagicLevel() < 25 then
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 25) - player:getManaSpent())
                end
            end
            --if vocation == 4 or vocation == 8 then
            if player:getVocation():getId() == 4 or player:getVocation():getId() == 8 then
                if player:getSkillLevel(SKILL_SHIELD) < 90 then
                    --player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 1) - player:getSkillTries(SKILL_SHIELD))
                    player:addSkillTries(SKILL_SHIELD, player:getVocation():getRequiredSkillTries(SKILL_SHIELD, player:getSkillLevel(SKILL_SHIELD) + 90) - player:getSkillTries(SKILL_SHIELD), true)
                end
                if player:getSkillLevel(SKILL_SWORD) < 90 then
                    --player:addSkillTries(SKILL_SWORD, player:getVocation():getRequiredSkillTries(SKILL_SWORD, player:getSkillLevel(SKILL_SWORD) + 1) - player:getSkillTries(SKILL_SWORD))
                    player:addSkillTries(SKILL_SWORD, player:getVocation():getRequiredSkillTries(SKILL_SWORD, player:getSkillLevel(SKILL_SWORD) + 90) - player:getSkillTries(SKILL_SWORD), true)
                end
                if player:getSkillLevel(SKILL_AXE) < 90 then
                    --player:addSkillTries(SKILL_AXE, player:getVocation():getRequiredSkillTries(SKILL_AXE, player:getSkillLevel(SKILL_AXE) + 1) - player:getSkillTries(SKILL_AXE))
                    player:addSkillTries(SKILL_AXE, player:getVocation():getRequiredSkillTries(SKILL_AXE, player:getSkillLevel(SKILL_AXE) + 90) - player:getSkillTries(SKILL_AXE), true)
                end
                if player:getSkillLevel(SKILL_CLUB) < 90 then
                    --player:addSkillTries(SKILL_CLUB, player:getVocation():getRequiredSkillTries(SKILL_CLUB, player:getSkillLevel(SKILL_CLUB) + 1) - player:getSkillTries(SKILL_CLUB))
                    player:addSkillTries(SKILL_CLUB, player:getVocation():getRequiredSkillTries(SKILL_CLUB, player:getSkillLevel(SKILL_CLUB) + 90) - player:getSkillTries(SKILL_CLUB), true)
                end
                if player:getBaseMagicLevel() < 15 then
                    player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel() + 15) - player:getManaSpent())
                end
            end
    player:save()
    return true
end

loginSkills:register()
 
Last edited:
Back
Top