• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    Skills & magic level stages

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1default Skills & magic level stages el Sáb Mar 02, 2013 3:15 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Con este script podrás añadir stages a los Skills (First, Club, Magic, Axe, Sword, Distance & Fishing).
    Vamos a data/creaturescripts/scripts y creamos un archivo que se llame stagesconfig.lua. Dentro añadimos lo siguiente:

    En data\creaturescripts\scripts\ crean una rchivo stagesconfig.lua and paste:

    Código:
    skillConfig = {skill = getConfigValue('rateSkill'), magiclevel = getConfigValue('rateMagic')}
    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}} -- uncomment it to make it work, you can remove other skill config if you dont need it
    skillStages[SKILL__MAGLEVEL] = {{0,10},{6,5},{15,7},{80,5},{90,2},{99,1}}
    showInfoOnAdvance = true -- 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 "YOUR 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 .. " | Shielding: " .. skillInfo[SKILL_SHIELD] * skillConfig.skill .. "x | Fishing: " .. skillInfo[SKILL_FISHING] * skillConfig.skill .. "x ]"
    end


    En data\creaturescripts\scripts\ Crean otro archivo con el nombre de skillstagesadvance.lua and paste:

    Código:
    dofile(getDataDir() .. "creaturescripts/scripts/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 changed from " .. oldRates[skill] * configRate .. "x to " .. skillRate * configRate .. "x. " .. getPlayerSkillRatesText(cid))
            end
        end
        return true
    end

    En data\creaturescripts\scripts\ crean tambien otro archivo skillstageslogin.lua and paste:

    dofile(getDataDir() .. "creaturescripts/scripts/stagesconfig.lua")

    Código:
    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



    En data/creaturescripts/creaturescripts.xml añaden estas lineas:

    Código:
    <event type="login" name="SkillStagesLogin" event="script" value="skillstageslogin.lua"/>
        <event type="advance" name="SkillStagesAdvance" event="script" value="skillstagesadvance.lua"/>



    Config ejemplo:

    Código:
    skillStages[SKILL_FIST] = {{0,8},{60,5},{80,3},{100,2}} 

    miremos el primer {0,8}-----> esto sigi nifica que desde lvl 0 tendra un rate de 8x hasta lvl 59 por que si miran en de su alado dice asi {60,5} es quiere decir que desde lvl 60 asia 79 tendra un rate de 5x bueno ustedes pueden configurar aasu manera espero que haya gustado se cuidan atte: god maya



    Ver perfil de usuario http://www.tibiaface.com

    2default Re: Skills & magic level stages el Miér Mar 20, 2013 6:04 pm

    [GOD] Alfredithow

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Oye hermano este scrip de skill stages es compatible con The Otx?

    Ver perfil de usuario http://darksoul-online.webpin.com/

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).