• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Remover item agregado con delay

    Compartir:

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

    1default Remover item agregado con delay Sáb Mar 12, 2022 11:03 am

    zerochile

    zerochile
    Miembro
    Miembro
    Descripcion escribió:Hola muy buenas a todo aquel que vea este post!  Remover item agregado con delay 1f605

    Bueno la idea de este script de "action" era que al usar un item (tipo magic wall rune o wild growth rune) te lanza la spell sin problema, pero al pasar el delay colocado sacara el item colocado (en este caso la magic wall o wild growth)

    SCRIPT QUE HICE Y ESTA MALITO: Sad
    Código:
    function onUse(cid, item, fromPosition, itemEx, toPosition)
    local function DetectItem() -- esto la deberia quitar pero no se como tomar la posición del itemEx
     if getThingPos(itemEx.uid) == 1499 then
     doRemoveItem(getThingPos(itemEx.uid), 1)
     end
    end

     addEvent(DetectItem, 150)
    return false -- esto hara que funcione la magic wall o wild growth de spells.xml
    end

    El problema es que, no logro que detecte en la posición del itemEx para que elimine el item "1499" al ser creado.

    Ojalas alguien pueda ayudarme con esto  Remover item agregado con delay 1f62a
    Laughing
    Imagen Explicativa escribió:Imagen Explicativa: Remover item agregado con delay Tibiaf10
    Version del Scripts: TFs 0.4.0

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

    2default Re: Remover item agregado con delay Sáb Mar 12, 2022 12:10 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    prueba esta es un spells que era para tfs 1.x modifique algunas funciones espero que se ejecute bien o caso contrario em colocas los que te causa error e ir trabajándola

    Código:

    local id = 8753
    local combat = Combat()
    combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
    combat:setParameter(COMBAT_PARAM_CREATEITEM, id)

    function tile_timer(id, pos, delay, color)
      if getTileItemById(pos, id).uid == 0 then
          return true
      end
     
      if delay ~= 1 then
          addEvent(tile_timer, 1000, id, pos, delay - 1, color)
      end
     
      local people = getSpectators((pos, 7, 7, 5, 5, false, true)
      if not people then
          return true
      end
     
      for i = 1, #people do
          people[i]:doPlayerSendTextMessage(cid, MESSAGE_EXPERIENCE, "Magic wall will disappear in " .. delay .. " second" .. (delay > 1 and "s" or "") .. ".", pos, delay, color)
      end
    end

    function removeMw(pos, mw, wall)
      local tile = Tile(pos)
      mw = tile:getItemById(mw)
      wall = tile:getItemById(wall)
      if mw then mw:doRemoveItem() end
      if wall then wall:doRemoveItem() end
    end

    function onCastSpell(cid, var)
      local c = doCombat(cid, combat, var)
      if c then
          local pos = variantToPosition(var)
          local wall = doCreateItem(1027, 1, pos)
          addEvent(removeMw, 20000, pos, id, wall:getId())
          tile_timer(id, pos, 20, TEXTCOLOR_LIGHTBLUE)
      end
      return c
    end



    Remover item agregado con delay YNU5B25
    2 participantes
    https://www.tibiaface.com

    3default Re: Remover item agregado con delay Sáb Mar 12, 2022 1:12 pm

    zerochile

    zerochile
    Miembro
    Miembro
    Idea
    Gracias me ayudaste a aclarar mi mente xD

    Al ver tu código que mandaste, observe el:
    Código:
    function removeMw(pos, mw, wall)

    Y bueno, ahí se me aclaro mas la cosa (con eso igual me habia acordado de que existia un script de magic wall en "actions" con countdown por ahi en algun lugar lejano muahaha  Remover item agregado con delay 1f608 )...

    BUEENO
    Y finalmente el error era debido a que lo estaba creando de la manera erronea, el script lo dejare aquí por si a alguien en un futuro le hará falta utilizarlo, ya sea con cualquier funcion/item o como quiera O-o Remover item agregado con delay 1f605

    Configurado para "actions":
    Código:
    function onUse(cid, item, fromPosition, itemEx, toPosition)
    local delay = 150
    local function DetectItem()
     if(getTileItemById(toPosition, 1498).uid > 0) then
     doRemoveItem(getTileItemById(toPosition, 1498).uid)
     else
     -- If item isnt the indicated then do this
     end
    end

     addEvent(DetectItem, delay)
    return false -- esto hara que funcione la magic wall o wild growth de spells.xml
    end

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

    4default Re: Remover item agregado con delay Sáb Mar 12, 2022 1:16 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Tema Solucionado



    Remover item agregado con delay YNU5B25
    2 participantes
    https://www.tibiaface.com

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