• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Usar fluids o potions en el piso

    Compartir:

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

    1Usar fluids o potions en el piso Empty Usar fluids o potions en el piso Miér Ago 09, 2023 1:01 am

    felipe93x2

    felipe93x2
    Miembro
    Miembro
    Descripcion escribió:mi servidor es 8.6 - tfs 1.5
    Cuando uno usa una potion en el piso se deberia crear un splash, pero cuando trato de hacer eso me da un message en el cliente que dice que no puedo usar ese objeto

    este es mi potions.lua
    [Tienes que estar registrado y conectado para ver este vínculo]

    y este mi fluid.lua

    [Tienes que estar registrado y conectado para ver este vínculo]

    espero alguien me pueda ayudar, muchas gracias
    Captura del Error escribió:Imagen del error: Usar fluids o potions en el piso Empty
    El error radica en: Otro Problema

    2 participantes

    2Usar fluids o potions en el piso Empty Re: Usar fluids o potions en el piso Miér Ago 09, 2023 5:12 am

    zerochile

    zerochile
    Miembro
    Miembro
    ~ Como funciona? ~
    El código toma 3 tipos, los cuales son: health & mana, health, mana... Al reconocer el primero lanzara el fluid de spirit, si reconoce el de health lanzara el fluid de blood, y si reconoce mana lanzara el de manafluid.
    if potion.health and potion.mana then
       Game.createItem(2025, 3, toPosition)
    elseif potion.health then
       Game.createItem(2025, 2, toPosition)
    elseif potion.mana then
       Game.createItem(2025, 7, toPosition)
    end

    ~ Código ~
    Solo reemplaza "function onUse" en potions.lua con esto:
    Código:
    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
       local potion = potions[item:getId()]
       
       local tile = Tile(toPosition)
       local items = tile:getItems()
       if items then
          for i, item in ipairs(items) do
             local targetItemType = ItemType(item:getId())
             if targetItemType and targetItemType:getType() == ITEM_TYPE_TELEPORT then
                return false
             end
          end
       end
       
       if type(target) == "userdata" and not target:isPlayer() then
          if potion.health and potion.mana then
             Game.createItem(2025, 3, toPosition)
          elseif potion.health then
             Game.createItem(2025, 2, toPosition)
          elseif potion.mana then
             Game.createItem(2025, 7, toPosition)
          end
          if configManager.getBoolean(configKeys.REMOVE_POTION_CHARGES) then
             item:remove(1)
             if potion.flask and potion.flask > 0 then
                player:addItem(potion.flask)
             end
          end
          return true
       end
       
       if not player:getGroup():getAccess() and (potion.level and player:getLevel() < potion.level or potion.vocations and not table.contains(potion.vocations, player:getVocation():getId())) then
          player:say(potion.description, TALKTYPE_POTION)
          return true
       end

       if potion.condition then
          if potion.capacity then
             potion.capacity(player)
          end
          player:addCondition(potion.condition)
          player:say(potion.text, TALKTYPE_POTION)
          player:getPosition():sendMagicEffect(potion.effect)
       elseif potion.transform then
          local reward = potion.transform[math.random(#potion.transform)]
          if fromPosition.x == CONTAINER_POSITION then
             local targetContainer = Container(item:getParent().uid)
             targetContainer:addItem(reward, 1)
          else
             Game.createItem(reward, 1, fromPosition)
          end

          item:getPosition():sendMagicEffect(potion.effect)
          item:remove(1)
          return true
       else
          if potion.health then
             doTargetCombat(player, target, COMBAT_HEALING, potion.health[1], potion.health[2])
          end

          if potion.mana then
             doTargetCombat(player, target, COMBAT_MANADRAIN, potion.mana[1], potion.mana[2])
          end

          if potion.antidote then
             target:removeCondition(CONDITION_POISON)
          end

          player:addAchievementProgress("Potion Addict", 100000)
          player:addItem(potion.flask)
          target:say("Aaaah...", TALKTYPE_POTION)
          target:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
       end

       if not configManager.getBoolean(configKeys.REMOVE_POTION_CHARGES) then
          return true
       end

       item:remove(1)
       return true
    end

    Smile (y) Basketball

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

    3Usar fluids o potions en el piso Empty Re: Usar fluids o potions en el piso Miér Ago 09, 2023 7:51 pm

    felipe93x2

    felipe93x2
    Miembro
    Miembro
    Funciona gracias!



    UP, me podrias dar el script para usar potions o fluids en general en los pots, baldes etc? porfavor?


    gracias de antemano

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