• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Pedido] sword con elementos

    Compartir:

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

    1default [Pedido] sword con elementos Dom Ene 09, 2022 7:46 pm

    poncex

    poncex
    Miembro
    Miembro
    Descripcion escribió:hola a todos, quisiera pedirles ayuda con un script que se le pueda agregar elementos a una sword, ejemplo que pueda atacar con ice y fire.


    no se si servirá pero tengo un script de una wand a la que se le puede cambiar los elementos.

    Script:

    Código:
    -- Config

    -- Set wand how the wand deals damage
    DamageTypeWand = {
       values = false, -- If this is set to true then it will use the min and max values. If set to false the wand will use the formula
       
       -- Damage Values min/max
       wandMinDam = 100,
       wandMaxDam = 175,
       
       -- Damage Formula
       formula = {
          wandMinDam = function(level, maglevel) return -((level / 5) + (maglevel * 1.4) + 8) end,
          wandMaxDam = function(level, maglevel) return -((level / 5) + (maglevel * 2.2) + 14) end,
       }
    }

    -- Modal window config and storage id
    local config = {
       storage = 10009,
       titleMsg = "Change Weapon Damage Type",
       mainMsg = "Choose a damage type from the list",
    -- End Config

       -- Damage Table
       [1] = {element = "Holy"},
       [2] = {element = "Fire"},
       [3] = {element = "Death"},
       [4] = {element = "Poison"},
       [5] = {element = "Energy"},
       [6] = {element = "Earth"},
       [7] = {element = "Ice"},
    }

    function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey)
        player:sendDamageWindow(config)
        return true
    end


    weapons.xml:


    Código:
    local DamageTypes = {
        [1] = {DamageType = COMBAT_HOLYDAMAGE, DamageEffect = CONST_ANI_HOLY},
        [2] = {DamageType = COMBAT_FIREDAMAGE, DamageEffect = CONST_ANI_FIRE},
        [3] = {DamageType = COMBAT_DEATHDAMAGE, DamageEffect = CONST_ANI_DEATH},
        [4] = {DamageType = COMBAT_POISONDAMAGE, DamageEffect = CONST_ANI_POISON},
        [5] = {DamageType = COMBAT_ENERGYDAMAGE, DamageEffect = CONST_ANI_ENERGY},
        [6] = {DamageType = COMBAT_EARTHDAMAGE, DamageEffect = CONST_ANI_EARTH},
        [7] = {DamageType = COMBAT_ICEDAMAGE, DamageEffect = CONST_ANI_ICE}
    }

    function onGetFormulaValues(player, level, maglevel)
       if DamageTypeWand.values == true then
          min = -(DamageTypeWand.wandMinDam)
          max = -(DamageTypeWand.wandMaxDam)
       else
          min = DamageTypeWand.formula.wandMinDam(level, maglevel)
          max = DamageTypeWand.formula.wandMaxDam(level, maglevel)
       end
        return min, max
    end
     
    local combat = {}
    for k, dam_Table in pairs(DamageTypes) do
       combat[k] = Combat()
       combat[k]:setParameter(COMBAT_PARAM_BLOCKARMOR, 1)
       combat[k]:setParameter(COMBAT_PARAM_BLOCKSHIELD, 1)
       combat[k]:setParameter(COMBAT_PARAM_TYPE, dam_Table.DamageType)
       combat[k]:setParameter(COMBAT_PARAM_DISTANCEEFFECT, dam_Table.DamageEffect)   
       
       -- _G Is used to manually define 'onGetFormulaValues' in this loop in doesnt seem to be able to find the function.
       _G['onGetFormulaValues' .. k] = onGetFormulaValues
       combat[k]:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues" .. k)
    end
     
    function onUseWeapon(player, var)
        local value = player:getStorageValue(10009)
        local combatUse = combat[value]
        if not combatUse then
            return true
        end
        return combatUse:execute(player, var)
    end

    lo que hace ese script es lo que se ve en la imagen:

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

    pero que se haga con una sword

    Imagen Explicativa escribió:Imagen Explicativa: [Pedido] sword con elementos Tibiaf10
    Version del Scripts: OTx Old Version(0.3.7)

    2 participantes

    2default Re: [Pedido] sword con elementos Dom Ene 09, 2022 8:40 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    tienes que cambiar eso maglevel en ambos scripts por skill y asi se podra convertir en un wespons de cueerpo a cuerpo con ataques de elementos tomando encuenta la hablidades de skill



    [Pedido] sword con elementos YNU5B25
    2 participantes
    https://www.tibiaface.com

    3default Re: [Pedido] sword con elementos Dom Ene 09, 2022 8:50 pm

    poncex

    poncex
    Miembro
    Miembro
    me sale el efecto pero no ataca, cambié a skill como dijiste pero no hace daño alguno

    2 participantes

    4default Re: [Pedido] sword con elementos Dom Ene 09, 2022 8:51 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:me sale el efecto pero no ataca, cambié a skill como dijiste pero no hace daño alguno

    amigo use la funcion correcta lo que le dije es un ejemplo



    [Pedido] sword con elementos YNU5B25
    2 participantes
    https://www.tibiaface.com

    5default Re: [Pedido] sword con elementos Mar Ene 11, 2022 12:09 am

    poncex

    poncex
    Miembro
    Miembro
    sale este error [Tienes que estar registrado y conectado para ver este vínculo]

    2 participantes

    6default Re: [Pedido] sword con elementos Mar Ene 11, 2022 1:13 am

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    aqui tiene para que hagas un test

    Código:

    -- Config

    -- Set wand how the wand deals damage
    DamageTypeWand = {
      values = false, -- If this is set to true then it will use the min and max values. If set to false the wand will use the formula
     
      -- Damage Values min/max
      wandMinDam = 100,
      wandMaxDam = 175,
     
      -- Damage Formula
      formula = {
          wandMinDam = function(level, skill) return -((level / 5) + (skill * 1.4) + 8) end,
          wandMaxDam = function(level, skill) return -((level / 5) + (skill * 2.2) + 14) end,
      }
    }

    -- Modal window config and storage id
    local config = {
      storage = 10009,
      titleMsg = "Change Weapon Damage Type",
      mainMsg = "Choose a damage type from the list",
    -- End Config

      -- Damage Table
      [1] = {element = "Holy"},
      [2] = {element = "Fire"},
      [3] = {element = "Death"},
      [4] = {element = "Poison"},
      [5] = {element = "Energy"},
      [6] = {element = "Earth"},
      [7] = {element = "Ice"},
    }

    function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey)
        player:sendDamageWindow(config)
        return true
    end


    weapons.xml:

    Código:

    local DamageTypes = {
        [1] = {DamageType = COMBAT_HOLYDAMAGE, DamageEffect = CONST_ANI_HOLY},
        [2] = {DamageType = COMBAT_FIREDAMAGE, DamageEffect = CONST_ANI_FIRE},
        [3] = {DamageType = COMBAT_DEATHDAMAGE, DamageEffect = CONST_ANI_DEATH},
        [4] = {DamageType = COMBAT_POISONDAMAGE, DamageEffect = CONST_ANI_POISON},
        [5] = {DamageType = COMBAT_ENERGYDAMAGE, DamageEffect = CONST_ANI_ENERGY},
        [6] = {DamageType = COMBAT_EARTHDAMAGE, DamageEffect = CONST_ANI_EARTH},
        [7] = {DamageType = COMBAT_ICEDAMAGE, DamageEffect = CONST_ANI_ICE}
    }

    function onGetFormulaValues(player, level, skill)
      if DamageTypeWand.values == true then
          min = -(DamageTypeWand.wandMinDam)
          max = -(DamageTypeWand.wandMaxDam)
      else
          min = DamageTypeWand.formula.wandMinDam(level, skill)
          max = DamageTypeWand.formula.wandMaxDam(level, skill)
      end
        return min, max
    end
     
    local combat = {}
    for k, dam_Table in pairs(DamageTypes) do
      combat[k] = Combat()
      combat[k]:setParameter(COMBAT_PARAM_BLOCKARMOR, 1)
      combat[k]:setParameter(COMBAT_PARAM_BLOCKSHIELD, 1)
      combat[k]:setParameter(COMBAT_PARAM_TYPE, dam_Table.DamageType)
      combat[k]:setParameter(COMBAT_PARAM_DISTANCEEFFECT, dam_Table.DamageEffect) 
     
      -- _G Is used to manually define 'onGetFormulaValues' in this loop in doesnt seem to be able to find the function.
      _G['onGetFormulaValues' .. k] = onGetFormulaValues
      combat[k]:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues" .. k)
    end
     
    function onUseWeapon(player, var)
        local value = player:getStorageValue(10009)
        local combatUse = combat[value]
        if not combatUse then
            return true
        end
        return combatUse:execute(player, var)
    end



    [Pedido] sword con elementos YNU5B25
    2 participantes
    https://www.tibiaface.com

    7default Re: [Pedido] sword con elementos Mar Ene 11, 2022 1:49 pm

    poncex

    poncex
    Miembro
    Miembro
    gracias maya funcionó bien ahora

    2 participantes

    8default Re: [Pedido] sword con elementos Jue Ene 13, 2022 4:19 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Tema solucionado



    [Pedido] sword con elementos 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).