• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Spells] aydua con spell

    Compartir:

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

    1default [Spells] aydua con spell Sáb Dic 18, 2021 11:52 pm

    Xanax

    Xanax
    Nuevo Miembro
    Nuevo Miembro
    Descripcion escribió:Hola buenas Lo que pasa que nesesito Hacer un spell en que

    cuando use el spell aparesca esa estatua o cualquier otro ID

    y que al rededor de la estatua salgan 2 summons y dps la estatua dps de unos segundos se borre



    [Spells] aydua con spell Test




    Imagen Explicativa escribió:Imagen Explicativa: [Spells] aydua con spell Tibiaf10
    Version del Scripts: TFs 0.3.7



    Última edición por Xanax el Vie Dic 24, 2021 5:11 am, editado 1 vez

    2 participantes

    2default Re: [Spells] aydua con spell Vie Dic 24, 2021 1:14 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    prueba si es esto lo que quieres

    Código:

    local config = {
    velocidade = 350, -- intervalo entre os giros (quanto menor, mais rapido)
    hits = 24, -- quantos hits vai dar
    msg = "Frozen Orb", -- msg ao soltar a spell
    key = 13871, -- storage que sera utilizado pro cooldown
    cooldown = 3, -- tempo em segundos de cooldown entre um uso da spell e outro.
    effect1 = 36, -- efeito de distancia que vai ficar rodando
    effect2 = 56, -- efeito no sqm do item
    effect3 = 37, -- efeito ao castar a spell
    effect4 = 43 -- efeito ao acertar a roda no player
    }
    --[[Note que a velocidade multiplicada pelo numero de hits deve dar algo proximo de 8550 pra que a magia nao fique ruim ou um efeito acabe antes do outro.
    Nos valores que eu utilizei eles dao 8400, oque ja eh considerado perto pois temos 200 milisegundos iniciais,
    8550 eh o tempo que o item sera removido e coincide com o tempo de duracao do efeito 56 (config.effect2)]]

    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, 255)
    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)
    function onTargetCreature(cid, target)
      doSendMagicEffect(getCreaturePosition(target), config.effect4)
    end
    setCombatCallback(combat, 4, "onTargetCreature")

    local arr = {
    {1, 1, 1},
    {1, 3, 1}, -- area que vai acertar a spell enquanto estiver rodando
    {1, 1, 1},
    }

    local area = createCombatArea(arr)
    setCombatArea(combat, area)

    function initEffect(position)
       for i = 0, 3 do
          local pos = {x = position.x, y = position.y, z = position.z}
          local dir = getPosByDir(pos, i)
          doSendDistanceShoot(position, dir, config.effect1)
       end
    addEvent(doSendMagicEffect, 300, position, config.effect2)
    return true
    end

    function middleEffect(cid, param, position, lim, count)
    n = count or 0
       if isCreature(cid) and n < lim then
          for i = 0, 3 do
             local pos = {x = position.x, y = position.y, z = position.z}
             local pos2 = {x = position.x, y = position.y, z = position.z}
             local dir = getPosByDir(pos, i)
             local dir2 = getPosByDir(pos2, i + 1 <= 3 and i + 1 or 0)
             doSendDistanceShoot(dir, dir2, config.effect1)
          end
          doCombat(cid, combat, param)
          addEvent(middleEffect, config.velocidade, cid, param, position, lim, n + 1)
       end
    return true
    end

    function endEffect(position)
       for i = 0, 3 do
          local pos = {x = position.x, y = position.y, z = position.z}
          local dir = getPosByDir(pos, i)
          doSendDistanceShoot(dir, position, config.effect1)
       end
       local item = getTileItemById(position, 2180)
       if item.uid > 0 then
          doRemoveItem(item.uid)
       end
    return true
    end

    function onCastSpell(cid, var)
    if getPlayerStorageValue(cid, config.key) - os.time() <= 0 then
       setPlayerStorageValue(cid, config.key, os.time() + config.cooldown)
       local position = getCreaturePosition(cid)
       doCreatureSay(cid, config.msg, 20)
       local orb = doCreateItem(2180, 1, position)
       addEvent(endEffect, 8.55 * 1000, position)
       doSendMagicEffect(position, config.effect3)
       initEffect(position)
       addEvent(middleEffect, 200, cid, var, position, config.hits)
    else
       doPlayerSendCancel(cid, "You're exhausted.")
       return false
    end
    return true
    end


    Código:

    <instant name="Frozen Orb" words="exori grav frigo" lvl="80" manapercent="3" prem="1" maglv="50" exhaustion="1000" needlearn="0" event="script" value="attack/frozenorb.lua">
       <vocation id="5"/>
       <vocation id="6"/>
       <vocation id="7"/>
       <vocation id="8"/>
    </instant>



    [Spells] aydua con spell YNU5B25
    2 participantes
    https://www.tibiaface.com

    3default Re: [Spells] aydua con spell Vie Dic 24, 2021 5:06 am

    Xanax

    Xanax
    Nuevo Miembro
    Nuevo Miembro
    No eso no maya ese es el que yo tengo Lo puse de ejemplo XD!!!! yo quiero el de lap riemra imagen una estatua que invoque 2 summons y que luego la estatua se borre



    [Admin] God Maya escribió:prueba si es esto lo que quieres

    Código:

    local config = {
    velocidade = 350, -- intervalo entre os giros (quanto menor, mais rapido)
    hits = 24, -- quantos hits vai dar
    msg = "Frozen Orb", -- msg ao soltar a spell
    key = 13871, -- storage que sera utilizado pro cooldown
    cooldown = 3, -- tempo em segundos de cooldown entre um uso da spell e outro.
    effect1 = 36, -- efeito de distancia que vai ficar rodando
    effect2 = 56, -- efeito no sqm do item
    effect3 = 37, -- efeito ao castar a spell
    effect4 = 43 -- efeito ao acertar a roda no player
    }
    --[[Note que a velocidade multiplicada pelo numero de hits deve dar algo proximo de 8550 pra que a magia nao fique ruim ou um efeito acabe antes do outro.
    Nos valores que eu utilizei eles dao 8400, oque ja eh considerado perto pois temos 200 milisegundos iniciais,
    8550 eh o tempo que o item sera removido e coincide com o tempo de duracao do efeito 56 (config.effect2)]]

    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, 255)
    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)
    function onTargetCreature(cid, target)
      doSendMagicEffect(getCreaturePosition(target), config.effect4)
    end
    setCombatCallback(combat, 4, "onTargetCreature")

    local arr = {
    {1, 1, 1},
    {1, 3, 1}, -- area que vai acertar a spell enquanto estiver rodando
    {1, 1, 1},
    }

    local area = createCombatArea(arr)
    setCombatArea(combat, area)

    function initEffect(position)
       for i = 0, 3 do
          local pos = {x = position.x, y = position.y, z = position.z}
          local dir = getPosByDir(pos, i)
          doSendDistanceShoot(position, dir, config.effect1)
       end
    addEvent(doSendMagicEffect, 300, position, config.effect2)
    return true
    end

    function middleEffect(cid, param, position, lim, count)
    n = count or 0
       if isCreature(cid) and n < lim then
          for i = 0, 3 do
             local pos = {x = position.x, y = position.y, z = position.z}
             local pos2 = {x = position.x, y = position.y, z = position.z}
             local dir = getPosByDir(pos, i)
             local dir2 = getPosByDir(pos2, i + 1 <= 3 and i + 1 or 0)
             doSendDistanceShoot(dir, dir2, config.effect1)
          end
          doCombat(cid, combat, param)
          addEvent(middleEffect, config.velocidade, cid, param, position, lim, n + 1)
       end
    return true
    end

    function endEffect(position)
       for i = 0, 3 do
          local pos = {x = position.x, y = position.y, z = position.z}
          local dir = getPosByDir(pos, i)
          doSendDistanceShoot(dir, position, config.effect1)
       end
       local item = getTileItemById(position, 2180)
       if item.uid > 0 then
          doRemoveItem(item.uid)
       end
    return true
    end

    function onCastSpell(cid, var)
    if getPlayerStorageValue(cid, config.key) - os.time() <= 0 then
       setPlayerStorageValue(cid, config.key, os.time() + config.cooldown)
       local position = getCreaturePosition(cid)
       doCreatureSay(cid, config.msg, 20)
       local orb = doCreateItem(2180, 1, position)
       addEvent(endEffect, 8.55 * 1000, position)
       doSendMagicEffect(position, config.effect3)
       initEffect(position)
       addEvent(middleEffect, 200, cid, var, position, config.hits)
    else
       doPlayerSendCancel(cid, "You're exhausted.")
       return false
    end
    return true
    end


    Código:

    <instant name="Frozen Orb" words="exori grav frigo" lvl="80" manapercent="3" prem="1" maglv="50" exhaustion="1000" needlearn="0" event="script" value="attack/frozenorb.lua">
       <vocation id="5"/>
       <vocation id="6"/>
       <vocation id="7"/>
       <vocation id="8"/>
    </instant>

    2 participantes

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