• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Mods] [Mod] Points system 8.60

    Compartir:

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

    1[Mods] [Mod] Points system 8.60 Empty [Mods] [Mod] Points system 8.60 Jue Jun 18, 2015 8:47 pm

    *[Sempai]*

    *[Sempai]*
    Miembro
    Miembro
    !HOLA AMIGOS! Hoy les vengo a traer este mod para su server de tibia.

    ¿como se usa?
    Solo escribes dentro del juego el comando !points y estara la tabla,
    ahi veras cuantos puntos tienes,necesitas, y para comprar por ejemplo vida(hp) tienes
    que hacerle asi : !points add,health,1 depende de los puntos que portes

    Ahora instalacion

    @Creaturescripts
    Primero nos vamos a data/creaturescripts/scripts y abrimos el archivo login.lua,
    con algun editor de texto agregamos esta linea antes de return true.

    >>>>>>>>>>(registerCreatureEvent(cid, "PointSystem"<<<<<<<<<)



    Ahora nos vamos de nuevo a data/creaturescript/scripts ,copie cualquier archivo
    con extension .lua y lo nombras pointssystem,abrelo con algun editor de texto y deletea todo
    y copia en el lo siguiente:


    local VocPoints = {
    [1] = 3,
    [2] = 3,
    [3] = 3,
    [4] = 5,
    [5] = 5,
    [6] = 5,
    [7] = 5,
    [8] = 8,
    }
    function onAdvance(cid, skill, oldlevel, newlevel)
    if not (VocPoints[getPlayerVocation(cid)]) then
    return true
    end
    if (skill == Cool then
    if (getPlayerStorageValue(cid, 14573) < newlevel) then
    if (getPlayerStorageValue(cid, 14574) < 0) then
    setPlayerStorageValue(cid, 14574, 0)
    setPlayerStorageValue(cid, 14573, 0)
    end

    setPlayerStorageValue(cid, 14573, newlevel)
    setPlayerStorageValue(cid, 14574, getPlayerStorageValue(cid, 14574) + (newlevel - oldlevel) * (VocPoints

    [getPlayerVocation(cid)]))
    doSendAnimatedText(getThingPos(cid), "+" .. (newlevel - oldlevel) * (VocPoints[getPlayerVocation(cid)]), 18)
    end
    end

    return true
    end




    Y en creaturescripts.xml agregamos esto:


    <event type="advance" name="PointSystem" event="script" value="PointsSystem.lua"/>





    @Talkactions
    Ahora te vas a data/talkactions/scripts ,copiamos cualquier archivo con
    extension .lua, borramos su contenido ,lo llamamos pointssystem y agregamos lo siguiente

    local VocPoints = {
    [1] = 3,
    [2] = 3,
    [3] = 3,
    [4] = 5,
    [5] = 5,
    [6] = 5,
    [7] = 5,
    [8] = 8,
    }
    function onSay(cid, words, param)
    if not (VocPoints[getPlayerVocation(cid)]) then
    return false
    end

    local param = param:lower()
    local p2 = string.explode(param, ",")
    if (getPlayerStorageValue(cid, 14574) < 0) then
    setPlayerStorageValue(cid, 14574, 0)
    end

    local skillids = {
    ["shielding"] = 5,
    ["sword"] = 2,
    ["axe"] = 3,
    ["club"] = 1,
    ["distance"] = 4
    }

    local attributes = {
    ["health"] = {np = 2, vl = 5, nm = "Hit Points"}, -- Precisa usar 2 points para adicionar 10 de hp
    ["energy"] = {np = 4, vl = 2, nm = "Mana Points"},
    ["magic"] = {np = 30, vl = 1, nm = "Magic Level"},
    ["shielding"] = {np = 40, vl = 1, nm = "Shielding Skill"},
    ["sword"] = {np = 20, vl = 1, nm = "Sword Skill"},
    ["axe"] = {np = 20, vl = 1, nm = "Axe Skill"},
    ["club"] = {np = 20, vl = 1, nm = "Club Skill"},
    ["distance"] = {np = 20, vl = 1, nm = "Distance Skill"},
    }
    if (param == "check") then
    doPlayerPopupFYI(cid, "~*~*~ Agregar Atributos ~*~*~\n\nPuntos Disponibles: ".. getPlayerStorageValue(cid, 14574) .."\nPuntos por level: ".. VocPoints

    [getPlayerVocation(cid)])
    elseif (p2[1] and p2[1] == "add") and (attributes[p2[2]]) and (tonumber(p2[3])) then
    if (getPlayerStorageValue(cid, 14574) < tonumber(p2[3]) * attributes[p2[2]].np) then
    doPlayerSendCancel(cid, "Usted no tiene suficientes puntos para distribuir!")
    return doSendMagicEffect(getThingPos(cid), 2)
    end

    if (p2[2] == "health") then
    setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + attributes[p2[2]].vl * tonumber(p2[3]))
    doCreatureAddHealth(cid, attributes[p2[2]].vl * tonumber(p2[3]))
    elseif (p2[2] == "energy") then
    setCreatureMaxMana(cid, getCreatureMaxMana(cid) + attributes[p2[2]].vl * tonumber(p2[3]))
    doCreatureAddMana(cid, attributes[p2[2]].vl * tonumber(p2[3]))
    elseif(skillids[p2[2]]) then
    for a = 1, tonumber(p2[3]) do
    doPlayerAddSkillTry(cid, skillids[p2[2]], getPlayerRequiredSkillTries(cid, skillids[p2[2]], getPlayerSkillLevel(cid, skillids[p2[2]]) +

    1) - getPlayerSkillTries(cid, skillids[p2[2]]), false)
    end
    end


    doSendMagicEffect(getThingPos(cid), 29)
    doSendMagicEffect(getThingPos(cid), 30)
    doSendAnimatedText(getThingPos(cid), "-" .. tonumber(p2[3]) * attributes[p2[2]].np, 180)
    setPlayerStorageValue(cid, 14574, getPlayerStorageValue(cid, 14574) - tonumber(p2[3]) * attributes[p2[2]].np)
    else
    local msgx = ""
    for i, v in pairs(attributes) do
    local add = (v.np > 1) and "s" or ""
    msgx = msgx .. string.upper(i:sub(1,1)) .. i:sub(2, #i) .. " - ".. v.np .. " ponto".. add .. " ~ " .. v.vl .. " ".. v.nm .. "\n"
    end
    doPlayerPopupFYI(cid, "~*~*~ Agregar Atributos ~*~*~\n\nPuntos necesarios para agregar los skills:\n\n".. msgx .. "\nEjemplo de uso: ".. words .." add,

    health, 5\n\nPuntos disponibles: ".. getPlayerStorageValue(cid, 14574))
    end

    return true
    end







    Ahora en talkactions.xml agregamos lo siguiente:



    <talkaction words="!points" event="script" value="PointsSystem.lua"/>





    CONFIGURACION!
    El archivo pointssystem.lua que esta en data/creaturscripts/scripts:


    local VocPoints = {
    [1] = 3,
    [2] = 3,
    [3] = 3,
    [4] = 5,
    [5] = 5,
    [6] = 5,
    [7] = 5,
    [8] = 8,
    }


    Los numeros que estan entre [] son las id de las vocaciones, esto significa que los numeros
    que estan al lado derecho son los points que se les dara a dicha vocacion al subir de level

    Ahora el archivo pointssystem.lua que esta en /data/talkactions/scripts :




    local VocPoints = {
    [1] = 3,
    [2] = 3,
    [3] = 3,
    [4] = 5,
    [5] = 5,
    [6] = 5,
    [7] = 5,
    [8] = 8,
    }





    Los numeros que estan entre [] son las id de las vocaciones, esto significa que los numeros
    que estan al lado derecho son los points que se les dara a dicha vocacion al subir de level



    local attributes = {
    ["health"] = {np = 2, vl = 5, nm = "Hit Points"}, -- Precisa usar 2 points para adicionar 10 de hp
    ["energy"] = {np = 4, vl = 2, nm = "Mana Points"},
    ["magic"] = {np = 30, vl = 1, nm = "Magic Level"},
    ["shielding"] = {np = 40, vl = 1, nm = "Shielding Skill"},
    ["sword"] = {np = 20, vl = 1, nm = "Sword Skill"},
    ["axe"] = {np = 20, vl = 1, nm = "Axe Skill"},
    ["club"] = {np = 20, vl = 1, nm = "Club Skill"},
    ["distance"] = {np = 20, vl = 1, nm = "Distance Skill"},
    }






    np=cantidad de puntos que se necesitan.

    vl=Cantidad de skill que adicionara.
    Ejemplo:




    ["Health"] = {np = 2, vl = 5, nm = "Hit Points"}


    CREDITOS: Sempai


    PORFAVOR DEN MEGUSTA GRACIAS

    FELIZ NOCHE

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