• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Actions] Mana y Health Potion (Curan segun Cantidad Maxima de Mana y Health) (tfs 0.3.7 and 0.4.0)

    Compartir:

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

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuario de Tibiaface



    Bueno aqui le traigo un scripts remarcado espero sea de su utilidad, este scripts de potions.lua cura la vida del player segun cantidad maxima de health del player con un multiplicador 0.5 que ustedes podran modificar segun su utilidad igualmente para el mana cura segun el maximo de mana del player con un multiplicador 0.5

    muestra del multiplicador

    Código:
    local hlevel =  getCreatureMaxHealth(cid) * 0.5

    0.5 ------> lo pueden modificar por el valor que ustedes requieran mientras mas alto mas cura

    Código:
    local mlevel = getCreatureMaxMana(cid) * 0.5

    0.5 ------> lo pueden modificar por el valor que ustedes requieran mientras mas alto mas cura

    bueno y aqui esta el scripts

    Nos vamos a:

    data\actions\scripts\liquids
    y buscamos el archivo potions.lua y remplazamos el contenido de adentro por esto:

    Código:
    local config = {
        removeOnUse = "no",
        usableOnTarget = "yes", -- can be used on target? (fe. healing friend)
        splashable = "no",
        range = -1,
        realAnimation = "no", -- make text effect visible only for players in range 1x1
        multiplier = {
            health = 1.0,
            mana = 1.0
        }
    }
     
    config.removeOnUse = getBooleanFromString(config.removeOnUse)
    config.usableOnTarget = getBooleanFromString(config.usableOnTarget)
    config.splashable = getBooleanFromString(config.splashable)
    config.realAnimation = getBooleanFromString(config.realAnimation)
     
    local POTIONS = {
        [8704] = {empty = 7636, splash = 42, health = {50, 100}}, -- small health potion
        [7618] = {empty = 7636, splash = 42, health = {150, 220}}, -- health potion
        [7588] = {empty = 7634, splash = 42, health = {220, 450}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion
        [7591] = {empty = 7635, splash = 42, health = {500, 750}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion
        [8473] = {empty = 7635, splash = 42, health = {1000, 1500}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion
     
        [7620] = {empty = 7636, splash = 47, mana = {100, 150}}, -- mana potion
        [7589] = {empty = 7634, splash = 47, mana = {150, 210}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion
        [7590] = {empty = 7635, splash = 47, mana = {320, 420}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion
     
        [8472] = {empty = 7635, splash = 43, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion
    }
     
    local exhaust = createConditionObject(CONDITION_EXHAUST)
    setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))
     
    function onUse(cid, item, fromPosition, itemEx, toPosition)
        local potion = POTIONS[item.itemid]
        if(not potion) then
            return false
        end
     
        if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then
            if(not config.splashable) then
                return false
            end
     
            if(toPosition.x == CONTAINER_POSITION) then
                toPosition = getThingPos(item.uid)
            end
     
            doDecayItem(doCreateItem(POOL, potion.splash, toPosition))
            doRemoveItem(item.uid, 1)
            if(not potion.empty or config.removeOnUse) then
                return true
            end
     
            if(fromPosition.x ~= CONTAINER_POSITION) then
                doCreateItem(potion.empty, fromPosition)
            else
                doPlayerAddItem(cid, potion.empty, 1)
            end
     
            return true
        end
     
        if(hasCondition(cid, CONDITION_EXHAUST)) then
            doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
            return true
        end
     
        if(((potion.level and getPlayerLevel(itemEx.uid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(itemEx.uid)))) and
            not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES))
        then
            doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1)
            return true
        end
     
        if(config.range > 0 and cid ~= itemEx.uid and getDistanceBetween(getThingPos(cid), getThingPos(itemEx.uid)) > config.range) then
            return false
        end
     
     
        local hlevel =  getCreatureMaxHealth(cid) * 0.5
        local health = potion.health
        if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1] + hlevel, health[2] + hlevel) * config.multiplier.health))) then
            return false
        end
        
        
        local mlevel = getCreatureMaxMana(cid) * 0.5
        local mana = potion.mana
        if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1] + mlevel, mana[2] + mlevel) * config.multiplier.mana))) then
            return false
        end
     
        doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
        if(not config.realAnimation) then
            doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
        else
            for i, tid in ipairs(getSpectators(getThingPos(itemEx.uid), 1, 1)) do
                if(isPlayer(tid)) then
                    doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid)
                end
            end
        end
     
        doAddCondition(cid, exhaust)
        doRemoveItem(item.uid, 1)
        if(not potion.empty or config.removeOnUse) then
            return true
        end
     
        if(fromPosition.x ~= CONTAINER_POSITION) then
            doCreateItem(potion.empty, fromPosition)
        else
            doPlayerAddItem(cid, potion.empty, 1)
        end
     
        return true
    end

    God Maya - 100%



    [Actions] Mana y Health Potion (Curan segun Cantidad Maxima de Mana y Health) (tfs 0.3.7 and 0.4.0) YNU5B25
    4 participantes
    http://www.tibiaface.com

    2[Actions] Mana y Health Potion (Curan segun Cantidad Maxima de Mana y Health) (tfs 0.3.7 and 0.4.0) Empty teste Mar Nov 14, 2017 2:03 pm

    Cristhiann

    Cristhiann
    Nuevo Miembro
    Nuevo Miembro
    Muchas Gracias Te Escribiré cuando lo tenga listo Smile


    no me funciona el lua de potions.lua cada 1 esta por separado ejemplo great_mana.lua strong_mana.lua etc!.
    y no se como cambiar para que sea con potions.lua.. espero y me entiendas!


    Espero respuesta pronto D;

    4 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    me dices que estan por separado bueno lo que puedes haer es buscar los id de la posiones en actions.xml

    aqui te dejo los id : 7588-7591;8472-8473;7618;7620;8704

    y eliminas las linea que contenga ese itemid osea todas esa id en actions.xml


    y la remplzas por esta de abajo

    Código:

    <action itemid="7588-7591;8472-8473;7618;7620;8704" event="script" value="potions.lua"/>



    [Actions] Mana y Health Potion (Curan segun Cantidad Maxima de Mana y Health) (tfs 0.3.7 and 0.4.0) YNU5B25
    4 participantes
    http://www.tibiaface.com

    Cristhiann

    Cristhiann
    Nuevo Miembro
    Nuevo Miembro
    creo que ninguno me funciona ya que el servidor es 8.40!!!
    ese script tampoco me funciono we!

    4 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Cristhiann escribió:creo que ninguno me funciona ya que el servidor es 8.40!!!
    ese script tampoco me funciono we!

    no manera entonces



    test

    4 participantes
    http://www.tibiaface.com

    sacraf123

    sacraf123
    Nuevo Miembro
    Nuevo Miembro
    Podrias ayudarme, como hacer para que con este sistema las pociones sean infinitas?

    4 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    sacraf123 escribió:Podrias ayudarme, como hacer para que con este sistema las pociones sean infinitas?

    Código:

                    local config = {
                removeOnUse = "no",
                usableOnTarget = "yes", -- can be used on target? (fe. healing friend)
                splashable = "no",
                range = -1,
                realAnimation = "no", -- make text effect visible only for players in range 1x1
                multiplier = {
                    health = 1.0,
                    mana = 1.0
                }
            }
           
            config.removeOnUse = getBooleanFromString(config.removeOnUse)
            config.usableOnTarget = getBooleanFromString(config.usableOnTarget)
            config.splashable = getBooleanFromString(config.splashable)
            config.realAnimation = getBooleanFromString(config.realAnimation)
           
            local POTIONS = {
                [8704] = {empty = 7636, splash = 42, health = {50, 100}}, -- small health potion
                [7618] = {empty = 7636, splash = 42, health = {150, 220}}, -- health potion
                [7588] = {empty = 7634, splash = 42, health = {220, 450}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion
                [7591] = {empty = 7635, splash = 42, health = {500, 750}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion
                [8473] = {empty = 7635, splash = 42, health = {1000, 1500}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion
           
                [7620] = {empty = 7636, splash = 47, mana = {100, 150}}, -- mana potion
                [7589] = {empty = 7634, splash = 47, mana = {150, 210}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion
                [7590] = {empty = 7635, splash = 47, mana = {320, 420}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion
           
                [8472] = {empty = 7635, splash = 43, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion
            }
           
            local exhaust = createConditionObject(CONDITION_EXHAUST)
            setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))
           
            function onUse(cid, item, fromPosition, itemEx, toPosition)
                local potion = POTIONS[item.itemid]
                if(not potion) then
                    return false
                end
           
                if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then
                    if(not config.splashable) then
                        return false
                    end
           
                    if(toPosition.x == CONTAINER_POSITION) then
                        toPosition = getThingPos(item.uid)
                    end
           
                    doDecayItem(doCreateItem(POOL, potion.splash, toPosition))
                   
                    if(not potion.empty or config.removeOnUse) then
                        return true
                    end
           
                    if(fromPosition.x ~= CONTAINER_POSITION) then
                       
                    else
                       
                    end
           
                    return true
                end
           
                if(hasCondition(cid, CONDITION_EXHAUST)) then
                    doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
                    return true
                end
           
                if(((potion.level and getPlayerLevel(itemEx.uid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(itemEx.uid)))) and
                    not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES))
                then
                    doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1)
                    return true
                end
           
                if(config.range > 0 and cid ~= itemEx.uid and getDistanceBetween(getThingPos(cid), getThingPos(itemEx.uid)) > config.range) then
                    return false
                end
           
           
                local hlevel =  getCreatureMaxHealth(cid) * 0.5
                local health = potion.health
                if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1] + hlevel, health[2] + hlevel) * config.multiplier.health))) then
                    return false
                end
               
               
                local mlevel = getCreatureMaxMana(cid) * 0.5
                local mana = potion.mana
                if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1] + mlevel, mana[2] + mlevel) * config.multiplier.mana))) then
                    return false
                end
           
                doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
                if(not config.realAnimation) then
                    doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
                else
                    for i, tid in ipairs(getSpectators(getThingPos(itemEx.uid), 1, 1)) do
                        if(isPlayer(tid)) then
                            doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid)
                        end
                    end
                end
           
                doAddCondition(cid, exhaust)
               
                if(not potion.empty or config.removeOnUse) then
                    return true
                end
           
                if(fromPosition.x ~= CONTAINER_POSITION) then
                 
                else
                   
                end
           
                return true
            end



    [Actions] Mana y Health Potion (Curan segun Cantidad Maxima de Mana y Health) (tfs 0.3.7 and 0.4.0) YNU5B25
    4 participantes
    http://www.tibiaface.com

    3zequi3l

    3zequi3l
    Miembro
    Miembro
    Como hago para que sea por medio de un spell y no una pocion?

    4 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    3zequi3l escribió:Como hago para que sea por medio de un spell y no una pocion?

    use un spells normal si piensa hacerlo con esto no se puede



    [Actions] Mana y Health Potion (Curan segun Cantidad Maxima de Mana y Health) (tfs 0.3.7 and 0.4.0) YNU5B25
    4 participantes
    http://www.tibiaface.com

    Contenido patrocinado


    4 participantes

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