• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Actions] item que da effecto v-8.54/8.60

    Compartir:

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

    1[Actions] item que da effecto v-8.54/8.60 Empty [Actions] item que da effecto v-8.54/8.60 Dom Mayo 14, 2023 1:36 am

    wakessface

    wakessface
    Nuevo Miembro
    Nuevo Miembro
    Descripcion escribió:queria saber si me podrian ayudar con un script que se trata basicamente de que usas el item y te sale un effecto en ti mismo y cuando logueas no se te quita el effecto Gracias por su Ayuda Smile [Actions] item que da effecto v-8.54/8.60 1f600
    Imagen Explicativa escribió:Imagen Explicativa: [Actions] item que da effecto v-8.54/8.60 Tibiaf10
    Version del Scripts: TFs 0.4.0

    2 participantes

    zerochile

    zerochile
    Miembro
    Miembro
    El sistema se encuentra aqui:
    [Actions] item que da effecto v-8.54/8.60 (tibiaface.com)



    Última edición por zerochile el Dom Mayo 14, 2023 3:44 am, editado 1 vez

    2 participantes
    http://venore-war.sytes.net

    wakessface

    wakessface
    Nuevo Miembro
    Nuevo Miembro
    Muchas Gracias

    2 participantes

    zerochile

    zerochile
    Miembro
    Miembro
    El action.lua que había hecho era un poco problematico, asi que lo rehíce para que lo puedas usar de acuerdo al item que tú quieras otorgar, vender o de la forma que quieras lucrar jaja.

    Ahora se configura de esta manera:
    Código:
    local itemsEffects = {
     [5000] = {effectid = 30, rango = 1, storage = 545045, mensaje = "Efecto de noseque"},
     [5003] = {effectid = 43, rango = 2, storage = 545046, mensaje = "Efecto de hielo."},
     [5004] = {effectid = 34, rango = 3, storage = 545044, mensaje = "Efecto de gas."},
     [5006] = {effectid = 36, rango = 3, storage = 545047, mensaje = "Efecto de fuego."},
    }

    En donde:
    [5000] = Es el actionID del objeto.
    effectid = Sera el efecto que te va a otorgar el objeto.
    rango = Es el tipo de rango que tendrá el objeto (no se pueden usar rangos inferiores o iguales, de esta manera el jugador se tendrá que decidir entre 1 de los efectos del mismo rango).
    storage = Esto siempre debes cambiarle el valor (podrías aumentarle simplemente +1).
    mensaje = Es el mensaje que reproducira en el jugador al usar el objeto.

    HORA DE INTEGRARLO
    1) En data/lib, crea un nuevo archivo .lua en base a otro que tengas ahi mismo en esa carpeta, le pones como nombre new_functions.lua y luego en su interior colocas esto:
    Código:
    local storageEffects = 543543
    function sendAutoEffect(cid, effectID)
     if isPlayer(cid) then
     if getPlayerStorageValue(cid, storageEffects) == effectID then
     doSendMagicEffect(getCreaturePosition(cid), effectID)
     addEvent(sendAutoEffect, 2 * 1000, cid, effectID)
     end
     end
    end

    2) En data/actions/actions.xml
    Código:
    <action actionid="5000-5010" event="script" value="NAME.lua"/>

    3) Despues en data/actions/scripts/etc... 
    Código:
    local configZERO = {
    storageEffects = 543543, -- No mover esto a menos que sepas.
    storageRango = 543544, -- No mover esto a menos que sepas.
    removeItem = true, -- Si quieres que el item se elimine, dejalo en "true", si quieres que se borre entonces colocas "false".
    }

    -- Aqui se configura como: actionid, efecto, rango, storage, mensaje.
    local itemsEffectsZR = {
     [5000] = {effectid = 30, rango = 1, storage = 545045, mensaje = "Efecto de noseque"},
     [5003] = {effectid = 43, rango = 2, storage = 545046, mensaje = "Efecto de hielo."},
     [5004] = {effectid = 34, rango = 3, storage = 545044, mensaje = "Efecto de gas."},
     [5006] = {effectid = 36, rango = 3, storage = 545044, mensaje = "Efecto de fuego."},
    }

    function onUse(cid, item, fromPosition, itemEx, toPosition)
     local effect = itemsEffectsZR[item.actionid]
     if effect then
     effectid = effect.effectid
     mensaje = effect.mensaje
     
     -- Aca le puse un chequeo de rango
     if effect.rango <= getPlayerStorageValue(cid, configZERO.storageRango) then
     doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Este efecto es de inferior rango o igual rango, si es de mismo rango no podras porque tu ya has usado otro!")
     doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF, cid)
     return true
     end
     
     if getPlayerStorageValue(cid, effect.storage) < 1 then
     setPlayerStorageValue(cid, effect.storage, 1)
     setPlayerStorageValue(cid, configZERO.storageEffects, effectid)
     setPlayerStorageValue(cid, configZERO.storageRango, effect.rango)
     sendAutoEffect(cid, effectid)
     doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, mensaje)
     doSendMagicEffect(getCreaturePosition(cid), effectid)
     
     if configZERO.removeItem then
     doRemoveItem(item.uid, 1)
     end
     else
     doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Tu ya habias usado este item anteriormente.")
     doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF, cid)
     end
     end
     return true
    end

    4) Ahora en data/creaturescripts/login.lua buscas algo que diga como:
    if(not isPlayerGhost(cid)) then
    doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
    end

    Y abajo de eso colocas esto:
    Código:
    -- Send Auto Effect
    local getEffect = getPlayerStorageValue(cid, 543543)
    if getEffect >= 1 then
     sendAutoEffect(cid, getEffect)
    end

    > MOSTRANDO COMO FUNCIONA <

    [Actions] item que da effecto v-8.54/8.60 Giphy

    2 participantes
    http://venore-war.sytes.net

    Contenido patrocinado


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