• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Codigo] Ayuda con script funciona pero mal

    Compartir:

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

    Felipe93

    Felipe93
    Miembro
    Miembro
    Descripcion escribió:Hola he convertido un scrip de othire a tfs 1.3, funciona, pero el problma es que cuando uso el potion en el piso o en un lugar queno sea el jugador mismo , de cualquier manera igual lo cura, en vez de botar el splash al piso, no tengo errores en consola.
    este es el script original

    Código:
    function onUse(cid, item, fromPosition, itemEx, toPosition)
        if toPosition.x == 65535 or toPosition.x == 0 then
            return true
        end
     
        local used = function(splash)
            doChangeTypeItem(item.uid, item.type - 1)
            if splash then
                doDecayItem(doCreateItem(2025, 7, toPosition))
            end
            return true, fromPosition.x == 65535 and doPlayerAddItem(cid, 6000, 1) or doCreateItem(6000, 1, fromPosition)
        end
     
        if getTopCreature(toPosition).uid ~= cid then
            return used(true)
        end
           
        doPlayerAddMana(cid, 300)
        doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
        doPlayerSay(cid, "Aaaah...", TALKTYPE_SAY)
        return used(false)
    end
    y este el script que edite y como va hasta ahora:
    Código:
    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
        if toPosition.x == 65535 or toPosition.x == 0 then
            return true
        end
     
        local used = function(splash)
            doChangeTypeItem(item.uid, item.type - 1)
            if splash then
                doDecayItem(doCreateItem(2025, 7, toPosition))
            end
            return true, fromPosition.x == 65535 and player:addItem(5604, 1) or doCreateItem(5604, 1, fromPosition)
        end
     
      --if getTopCreature(toPosition).uid ~= cid then
          -- return used(true)
        --end
         
      --  doPlayerAddMana(cid, 300)
      player:addMana(math.random(50, 100))
        doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
        --doPlayerSay(cid, "Aaaah...", TALKTYPE_SAY)
        player:say("Aaaah...", TALKTYPE_SAY) --TALKTYPE_MONSTER_SAY) agregado
        return used(false)
    end
    que puede estar mal?
    Captura del Error escribió:Imagen del error: [Codigo] Ayuda con script funciona pero mal Empty
    El error radica en: Actions

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    claro por no estas identificando una posiicon del player ahi que si le da use en cualquier lado se curara



    prueba con esto

    Código:

    local berserk = Condition(CONDITION_ATTRIBUTES)
    berserk:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
    berserk:setParameter(CONDITION_PARAM_SKILL_MELEE, 5)
    berserk:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10)
    berserk:setParameter(CONDITION_PARAM_BUFF_SPELL, true)

    local mastermind = Condition(CONDITION_ATTRIBUTES)
    mastermind:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
    mastermind:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 3)
    mastermind:setParameter(CONDITION_PARAM_BUFF_SPELL, true)

    local bullseye = Condition(CONDITION_ATTRIBUTES)
    bullseye:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
    bullseye:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 5)
    bullseye:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10)
    bullseye:setParameter(CONDITION_PARAM_BUFF_SPELL, true)

    local potions = {
       
       [26029] = {mana = {425, 575}, vocations = {1, 2, 5, 6}, level = 130, flask = 7635, description = "Only druids and sorcerers of level 130 or above may drink this fluid."},
       [26030] = {health = {420, 580}, mana = {200, 350}, vocations = {3, 7}, level = 130, flask = 7635, description = "Only paladins of level 130 or above may drink this fluid."},
       [26031] = {health = {875, 1125}, vocations = {4, 8}, level = 200, flask = 7635, description = "Only knights of level 200 or above may drink this fluid."}
    }

    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
       if type(target) == "userdata" and not target:isPlayer() then
          return false
       end

       local potion = potions[item:getId()]
       if 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_MONSTER_SAY)
          return true
       end

       if potion.condition then
          player:addCondition(potion.condition)
          player:say(potion.text, TALKTYPE_MONSTER_SAY)
          player:getPosition():sendMagicEffect(potion.effect)
       elseif potion.transform then
          item:transform(potion.transform[math.random(#potion.transform)])
          item:getPosition():sendMagicEffect(potion.effect)
          return true
       else
          
          
          if potion.health then
              target:addHealth(math.random(potion.health[1], potion.health[2]))
             
          end

          if potion.mana then
             target:addMana(math.random(potion.mana[1], potion.mana[2]))
          end
          

          

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

       
          player:addItem(potion.flask)
          target:say("Aaaah...", TALKTYPE_MONSTER_SAY)
          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

    2 participantes
    http://www.tibiaface.com

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