Ir para conteúdo
  • 0

Ajuda Script Spells Area


Tiagone

Pergunta

queria coloca esse spells para só ser usado em area sem precisa ter target

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -105.2, 1, -97.2, 1)

 

function onCastSpell(cid, var)

local waittime = 5 -- Tempo de exhaustion

local storage = 115818

 

if exhaustion.check(cid, storage) then

local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+7, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z}

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")

return false

end

doSendMagicEffect(position1, 65)

exhaustion.set(cid, storage, waittime)

return doCombat(cid, combat, var)

end

Rep + pra quem ajuda
Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

 

--Criado por Enself--

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 134)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -105.2, 1, -97.2, 1)

 

arr1 = {

{0, 0, 0, 0, 0},

{0, 1, 1, 1, 0}, -- Aqui voce altera a area do spell

{0, 1, 3, 1, 0},

{0, 1, 1, 1, 0},

{0, 0, 0, 0, 0}

}

 

local area1 = createCombatArea(arr1)

setCombatArea(combat1, area1)

 

local function onCastSpell1(parameters)

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)

end

 

function onCastSpell(cid, var)

local waittime = 5 -- O Tempo para esperar.

local storage = 115818

 

if exhaustion.check(cid, storage) then

local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+7, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z}

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")

return false

end

doSendMagicEffect(position1, 65)

exhaustion.set(cid, storage, waittime)

return doCombat(cid, combat, var)

end

 

Editado por Enself
Link para o comentário
Compartilhar em outros sites

  • 0

Tenta ai.

 

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 134) -- ID DO SPRITE DO SHINRA TENSEI

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -111.2, 1, -111.2, 1)

 

arr1 = {

{0, 0, 0, 0, 0},

{0, 1, 1, 1, 0},

{0, 1, 3, 1, 0}, -- ALTERAR AREA DO EFFECT

{0, 1, 1, 1, 0},

{0, 0, 0, 0, 0}

}

 

local area1 = createCombatArea(arr1)

setCombatArea(combat1, area1)

 

local function onCastSpell1(parameters)

return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)

end

 

function onCastSpell(cid, var)

local position2 = {x=getCreaturePosition(cid).x+2, y=getCreaturePosition(cid).y+1, z=getCreaturePosition(cid).z}

local position3 = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y+1, z=getCreaturePosition(cid).z}

local position4 = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y+2, z=getCreaturePosition(cid).z}

local position5 = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}

local parameters = { cid = cid, var = var}

addEvent(onCastSpell1, 100, parameters)

doSendMagicEffect(position2, 138) -- Efeito ao usar

doSendMagicEffect(position3, 138) -- Efeito ao usar

doSendMagicEffect(position4, 138) -- Efeito ao usar

doSendMagicEffect(position5, 138) -- Efeito ao usar

return true

end

 

 

 

 

Me fala que error da sei la.

Link para o comentário
Compartilhar em outros sites

  • 0

acho que seria assim:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -105.2, 1, -97.2, 1)
arr = {
{0, 0, 0, 0, 0},
{0, 1, 1, 1, 0},
{0, 1, 3, 1, 0},
{0, 1, 1, 1, 0},
{0, 0, 0, 0, 0}
}
local area = createCombatArea(arr)
setCombatArea(combat, area)
local function onCastSpell1(parameters)
return isCreature(parameters.cid) and doCombat(parameters.cid, combat, parameters.var)
end
function onCastSpell(cid, var)
local position = {x=getCreaturePosition(cid).x+7, y=getCreaturePosition(cid).y+1, z=getCreaturePosition(cid).z}
local waittime = 5 -- Tempo de exhaustion
local storage = 115818
if exhaustion.check(cid, storage) == TRUE then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")
return FALSE
end
doSendMagicEffect(position, 65) -- efeito que ira fazer no usuario da magia
exhaustion.set(cid, storage, waittime)
addEvent(onCastSpell1, 100, parameters)
return TRUE
end

Link para o comentário
Compartilhar em outros sites

  • 0

No caso eu testei meu script e funcionou 100% aqui e como o de cima /\ tambem voce deve estar fazendo algo errado tenta essa tag.

 

<instant name="Magia" words="magia" lvl="10" mana="10" range="5" exhaustion="1000" blockwalls="1" needlearn="0" script="area spell.lua">
</instant>

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...