TI
pedido

Ajuda Script Spells Area

Por Tiagone, 11 de jun. de 2013 em Scripts

script
11
1.4k
TiagoneT
11 de junho de 2013 às 20:32

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
EnselfE
11 de junho de 2013 às 21:38

 

--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 Junho 11 por Enself

TiagoneT
11 de junho de 2013 às 21:56

cara n funfo , mas assim queria 1 spells de area q saise só 1 effect tipo Shinra Tensei

Editado Junho 11 por Tiagone

EnselfE
11 de junho de 2013 às 22:05

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.

TiagoneT
11 de junho de 2013 às 22:47

funfo mas tem como coloca só pra 1 effect?

EnselfE
12 de junho de 2013 às 11:43

Sim me passa o ID Do efeito.

TiagoneT
12 de junho de 2013 às 11:56

mano quero um spells q saia só um effect

MasterDinoM
16 de junho de 2013 às 04:29

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

EnselfE
16 de junho de 2013 às 09:15

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>

TiagoneT
16 de junho de 2013 às 11:47

Podem Fecha o Topico , Duvida Sanada Rep+ Pros Dois

EnselfE
16 de junho de 2013 às 12:32

Obrigado

Reportado

para moverem