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

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

    [Admin] God Maya

    avatar
    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%



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

    2default teste el Mar Nov 14, 2017 2:03 pm

    Cristhiann

    avatar
    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;

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    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"/>



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

    Cristhiann

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

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:creo que ninguno me funciona ya que el servidor es 8.40!!!
    ese script tampoco me funciono we!

    no manera entonces



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

    Contenido patrocinado


    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.