RevScript ayuda con objeto con habilidad (daño de área)

W

Wagnii

Invited
Alguien que me ayude estoy intentando hacer este script del item pero en medio del exori el monstruo no es el personaje

"ella rodea al monstruo que está siendo atacado"


local area = createCombatArea({
{1, 1, 1},
{1, 3, 1},
{1, 1, 1}
})
local combatStrong = Combat()
combatStrong:setParameter(COMBAT_PARAM_TYPE, CONST_ANI_REDSTAR)
combatStrong:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
combatStrong:setParameter(COMBAT_PARAM_BLOCKARMOR, true)
combatStrong:setFormula(COMBAT_FORMULA_SKILL, 5, 13, 10, 0)
combatStrong:setArea(area)

local weapon = Weapon(WEAPON_WAND)
function weapon.onUseWeapon(player, variant)

return combatStrong:execute(player, variant)

end

weapon:id(23267)
weapon:register()
 
Alguien que me ayude estoy intentando hacer este script del item pero en medio del exori el monstruo no es el personaje

"ella rodea al monstruo que está siendo atacado"

En el caso, tu spell la utilizas para sorcerers y druids, entiendo que es una wand, necessitas cuando es Sorc & Druid, usar un "onGetFormulaValues", a lo contrario, es mas para paladin/knights.

Prueba algo como:

JavaScript:
local miWand= Weapon(WEAPON_WAND)

local area = createCombatArea({
    {1, 1, 1},
    {1, 3, 1},
    {1, 1, 1}
})

local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true)
combat:setArea(area)

function onGetFormulaValues(player, level, maglevel)
    local min = (level / 5) + (maglevel * 0.4) + 3
    local max = (level / 5) + (maglevel * 0.7) + 7
    return -min, -max
end

combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

miWand.onUseWeapon = function(player, variant)
    return combat:execute(player, variant)
end

miWand:id(23267)
miWand:mana(25)
miWand:range(6)
miWand:register()
 
el mismo error esta sucediendo

Quería daño de área pero selecciona al monstruo para ejecutar el script, no al jugador como centro.



function weapon.onUseWeapon(player, variant)
local pos1 = player:getPosition()
local pos2 = player:getPosition()
local pos3 = player:getPosition()
local pos4 = player:getPosition()

pos1.x = pos1.x + 1
pos1:sendMagicEffect(CONST_ME_EXPLOSIONAREA)
pos2.x = pos2.x - 1
pos2:sendMagicEffect(CONST_ME_EXPLOSIONAREA)
pos3.y = pos3.y - 1
pos3:sendMagicEffect(CONST_ME_EXPLOSIONAREA)
pos4.y = pos4.y + 1
pos4:sendMagicEffect(CONST_ME_EXPLOSIONAREA)
return combat:execute(player, variant)
end


entonces lo tengo
Pero sin el daño


gracias
 
el mismo error esta sucediendo

Quería daño de área pero selecciona al monstruo para ejecutar el script, no al jugador como centro.






entonces lo tengo
Pero sin el daño


gracias

Prueba:

JavaScript:
local miWand= Weapon(WEAPON_WAND)

local area = createCombatArea({
    {1, 1, 1},
    {1, 3, 1},
    {1, 1, 1}
})

local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true)
combat:setArea(area)

function onGetFormulaValues(player, level, maglevel)
    local min = (level / 5) + (maglevel * 0.4) + 3
    local max = (level / 5) + (maglevel * 0.7) + 7
    return -min, -max
end

combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

miWand.onUseWeapon = function(player, variant)
    local playerPos = player:getPosition()
    return combat:execute(playerPos, variant)
end


miWand:id(23267)
miWand:mana(25)
miWand:range(6)
miWand:register()
 
ocurrió el mismo error =(

He estado probando, pero no creo que esto se pueda crear de esta forma, porqué habria que llamar una area y volver a agregar danyo pero no hay forma.
Cuando ejecutas una spell "sale del player", cuando atacas un player/monstruo , es el player/monstruo el centro, pero no el jugador.
Si se hace, pero diria implementando algo similar al "centro jugador/player/monstruo" y algo pienso que se necessita una function para esto pero ni idea como seria entonces, siendo el centro el monstruo si.
 

Tibia Server Lists

Top