Você só quer uma spell que tenha 2 efeitos em locais distintos?
Spell Complicada D+ Espero Que Saibam Faze-La...
Por juan500, 31 de ago. de 2012 em Scripts
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

info
Grupo: Barão
Registrado: 02/06/11
Posts: 209
Reputação: +5
Char no Tibia: [ADM] Juan

info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Tag:
<instant name="Tsuin Rasengan" words="tsuin rasengan" lvl="200" mana="4000" direction="1" blockwalls="1" exhaustion="4000" event="script" value="Tsuin Rasengan.lua"> </instant>
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 30)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 29)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0)
local arr1 = {
{1, 0, 0},
{0, 2, 0},
{0, 0, 0}
}
local arr2 = {
{0, 0, 1},
{0, 2, 0},
{0, 0, 0}
}
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end
local function onCastSpell2(parameters)
doCombat(parameters.cid, parameters.combat2, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2 }
addEvent(onCastSpell1, 0, parameters)
addEvent(onCastSpell2, 0, parameters)
end
Editado Agosto 31 por LuckOake
info
Grupo: Campones
Registrado: 29/08/12
Posts: 43
Reputação: +3

Tente fazer 2 magias diferentes, mais com a mesma palavra pra conjurar.
A primeira você só faz o efeito direito e a segunda o esquerdo, assim você poderá por por exemplo a Azul hitando mais que a Vermelha.
Espero ter ajudado
FLW
info
Grupo: Barão
Registrado: 02/06/11
Posts: 209
Reputação: +5
Char no Tibia: [ADM] Juan

info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

info
Grupo: Barão
Registrado: 02/06/11
Posts: 209
Reputação: +5
Char no Tibia: [ADM] Juan

vejo que ta complicado de fazer agora com esse exemplo vai da eu acho pra fazer ela:
onde esta o quadrado vermelho é onde a spell ta pegando e onde ta as argolas azuis e onde eu quero que ela pegue
o script ja esta certo so quero muda a area da spell mais proxima do player soque na diagonal
espero q acertem
FLW
Experimente assim:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0)
local damageArea = {
{1, 0, 1},
{0, 2, 0},
{0, 0, 0}}
local combatArea = createCombatArea(damageArea)
setCombatArea(combat, combatArea)
function onCastSpell(cid, var)
doCombat(cid, combat, var)
local a, b = getPosByDir(getThingPos(cid), EAST), getPosByDir(getThingPos(cid), WEST)
doSendMagicEffect(a, 29)
doSendMagicEffect(b, 30)
end
info
Grupo: Barão
Registrado: 02/06/11
Posts: 209
Reputação: +5
Char no Tibia: [ADM] Juan

brun123 a spell nem ta saindo agora eu falo ela e n da nada soque se eu fica falando aparece exausted e n sai efeito nenhum mais gasta mana...
Eu testei aqui e funcionou, você tem que editar os efeitos ali onde está 29 e 30.
Se quiser que apareça as palavras que o player fala pra usar a magia é só adicionar um "return true" antes do último end
Perai, já vou editar... Vi um erro aqui
Vê se assim fica bom:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0)
local damageArea = {
{0, 0, 0},
{1, 2, 1},
{0, 0, 0}}
local combatArea = createCombatArea(damageArea)
setCombatArea(combat, combatArea)
function onCastSpell(cid, var)
doCombat(cid, combat, var)
local dir = (getCreatureLookDir(cid) == NORTH or getCreatureLookDir(cid) == SOUTH) and {EAST, WEST} or {SOUTH, NORTH}
local a, b = getPosByDir(getThingPos(cid), dir[1]), getPosByDir(getThingPos(cid), dir[2])
if getCreatureLookDir(cid) == NORTH then
a.y = a.y - 1
b.y = b.y - 1
elseif getCreatureLookDir(cid) == EAST then
a.x = a.x + 1
b.x = b.x + 1
end
doSendMagicEffect(a, 29)
doSendMagicEffect(b, 30)
return true
end
Não se esqueça de modificar o 29/30 nas linhas onde tem "doSendMagicEffect" pros 2 efeitos que você deseja
Editado Setembro 1 por brun123
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 36)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 36)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 36)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 36)
local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 36)
local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, 36)
local combat7 = createCombatObject()
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, 35)
local combat8 = createCombatObject()
setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, 35)
local combat9 = createCombatObject()
setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, 6)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -999.3, -999.160, -999, -999)
local combat10 = createCombatObject()
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, 11)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -999.3, -999.160, -999, -999)
local combat11 = createCombatObject()
setCombatParam(combat11, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat11, COMBAT_PARAM_EFFECT, 6)
setCombatFormula(combat11, COMBAT_FORMULA_LEVELMAGIC, -999.3, -999.160, -999, -999)
local combat12 = createCombatObject()
setCombatParam(combat12, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat12, COMBAT_PARAM_EFFECT, 11)
setCombatFormula(combat12, COMBAT_FORMULA_LEVELMAGIC, -999.3, -999.160, -999, -999)
arr1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr2 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr3 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr4 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr5 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr6 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr7 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr8 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr9 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr10 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr11 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr12 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
local area5 = createCombatArea(arr5)
local area6 = createCombatArea(arr6)
local area7 = createCombatArea(arr7)
local area8 = createCombatArea(arr8)
local area9 = createCombatArea(arr9)
local area10 = createCombatArea(arr10)
local area11 = createCombatArea(arr11)
local area12 = createCombatArea(arr12)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)
setCombatArea(combat5, area5)
setCombatArea(combat6, area6)
setCombatArea(combat7, area7)
setCombatArea(combat8, area8)
setCombatArea(combat9, area9)
setCombatArea(combat10, area10)
setCombatArea(combat11, area11)
setCombatArea(combat12, area12)
local function onCastSpell1(parameters)
doCombat(parameters.cid, combat1, parameters.var)
end
local function onCastSpell2(parameters)
doCombat(parameters.cid, combat2, parameters.var)
end
local function onCastSpell3(parameters)
doCombat(parameters.cid, combat3, parameters.var)
end
local function onCastSpell4(parameters)
doCombat(parameters.cid, combat4, parameters.var)
end
local function onCastSpell5(parameters)
doCombat(parameters.cid, combat5, parameters.var)
end
local function onCastSpell6(parameters)
doCombat(parameters.cid, combat6, parameters.var)
end
local function onCastSpell7(parameters)
doCombat(parameters.cid, combat7, parameters.var)
end
local function onCastSpell8(parameters)
doCombat(parameters.cid, combat8, parameters.var)
end
local function onCastSpell9(parameters)
doCombat(parameters.cid, combat9, parameters.var)
end
local function onCastSpell10(parameters)
doCombat(parameters.cid, combat10, parameters.var)
end
local function onCastSpell11(parameters)
doCombat(parameters.cid, combat11, parameters.var)
end
local function onCastSpell12(parameters)
doCombat(parameters.cid, combat12, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 14850, parameters)
addEvent(onCastSpell2, 14825, parameters)
addEvent(onCastSpell3, 14800, parameters)
addEvent(onCastSpell4, 14775, parameters)
addEvent(onCastSpell5, 14750, parameters)
addEvent(onCastSpell6, 14725, parameters)
addEvent(onCastSpell7, 14700, parameters)
addEvent(onCastSpell8, 14675, parameters)
addEvent(onCastSpell1, 14650, parameters)
addEvent(onCastSpell2, 14625, parameters)
addEvent(onCastSpell3, 14600, parameters)
addEvent(onCastSpell4, 14575, parameters)
addEvent(onCastSpell5, 14550, parameters)
addEvent(onCastSpell6, 14525, parameters)
addEvent(onCastSpell7, 14500, parameters)
addEvent(onCastSpell8, 14475, parameters)
addEvent(onCastSpell1, 14450, parameters)
addEvent(onCastSpell2, 14400, parameters)
addEvent(onCastSpell3, 14350, parameters)
addEvent(onCastSpell4, 14300, parameters)
addEvent(onCastSpell5, 14250, parameters)
addEvent(onCastSpell6, 14200, parameters)
addEvent(onCastSpell7, 14150, parameters)
addEvent(onCastSpell8, 14100, parameters)
addEvent(onCastSpell1, 14050, parameters)
addEvent(onCastSpell2, 14000, parameters)
addEvent(onCastSpell3, 13950, parameters)
addEvent(onCastSpell4, 13900, parameters)
addEvent(onCastSpell5, 13850, parameters)
addEvent(onCastSpell6, 13750, parameters)
addEvent(onCastSpell7, 13700, parameters)
addEvent(onCastSpell8, 13650, parameters)
addEvent(onCastSpell1, 13600, parameters)
addEvent(onCastSpell2, 13500, parameters)
addEvent(onCastSpell3, 13400, parameters)
addEvent(onCastSpell4, 13300, parameters)
addEvent(onCastSpell5, 13200, parameters)
addEvent(onCastSpell6, 13100, parameters)
addEvent(onCastSpell7, 13000, parameters)
addEvent(onCastSpell8, 12900, parameters)
addEvent(onCastSpell1, 12800, parameters)
addEvent(onCastSpell2, 12700, parameters)
addEvent(onCastSpell3, 12600, parameters)
addEvent(onCastSpell4, 12500, parameters)
addEvent(onCastSpell5, 12400, parameters)
addEvent(onCastSpell6, 12300, parameters)
addEvent(onCastSpell7, 12200, parameters)
addEvent(onCastSpell8, 12100, parameters)
addEvent(onCastSpell1, 12000, parameters)
addEvent(onCastSpell2, 11750, parameters)
addEvent(onCastSpell3, 11500, parameters)
addEvent(onCastSpell4, 11250, parameters)
addEvent(onCastSpell5, 11000, parameters)
addEvent(onCastSpell6, 10750, parameters)
addEvent(onCastSpell7, 10500, parameters)
addEvent(onCastSpell8, 10250, parameters)
addEvent(onCastSpell1, 10000, parameters)
addEvent(onCastSpell2, 9750, parameters)
addEvent(onCastSpell3, 9500, parameters)
addEvent(onCastSpell4, 9250, parameters)
addEvent(onCastSpell5, 9000, parameters)
addEvent(onCastSpell6, 8750, parameters)
addEvent(onCastSpell7, 8500, parameters)
addEvent(onCastSpell8, 8250, parameters)
addEvent(onCastSpell1, 8000, parameters)
addEvent(onCastSpell2, 7500, parameters)
addEvent(onCastSpell3, 7000, parameters)
addEvent(onCastSpell4, 6500, parameters)
addEvent(onCastSpell5, 6000, parameters)
addEvent(onCastSpell6, 5500, parameters)
addEvent(onCastSpell7, 5000, parameters)
addEvent(onCastSpell8, 4500, parameters)
addEvent(onCastSpell1, 4000, parameters)
addEvent(onCastSpell2, 3500, parameters)
addEvent(onCastSpell3, 3000, parameters)
addEvent(onCastSpell4, 2500, parameters)
addEvent(onCastSpell5, 2000, parameters)
addEvent(onCastSpell6, 1500, parameters)
addEvent(onCastSpell7, 1000, parameters)
addEvent(onCastSpell8, 500, parameters)
addEvent(onCastSpell9, 14900, parameters)
addEvent(onCastSpell10, 15100, parameters)
addEvent(onCastSpell11, 15300, parameters)
addEvent(onCastSpell12, 15500, parameters)
return TRUE
end
Vídeo demonstrativo:
Newtonnotwen, se o player morrer usando essa magia vai dar uma travada no server de tanto erro que vai aparecer no executável.
Se o player andar também fica feio, o efeito não acompanha o player. Teria no mínimo que colocar o player imóvel.
Não precisa criar um milhão de combats e local functions pra fazer uma magia dessa. Dá pra fazer bem menor...
Editado Setembro 1 por brun123
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

O problema é que não sei.
Bom, nunca é tarde pra aprender né:
local function customFunction(cid, efeito, times)
if not isCreature(cid) then return true end
local eff = efeito or 15
local dir = getCreatureLookDir(cid)
local diag = dir == NORTH and {NORTHWEST, NORTHEAST} or dir == SOUTH and {SOUTHWEST, SOUTHEAST} or
dir == EAST and {NORTHEAST, SOUTHEAST} or dir == WEST and {SOUTHWEST, NORTHWEST}
if (times and times <= 0) then
local min = getPlayerLevel(cid) * 3 + getPlayerMagLevel(cid) * 5
local max = min * math.random(110, 130) / 100
for n = 1, 2 do
doCombatAreaHealth(cid, COMBAT_PHYSICALDAMAGE, getPosByDir(getThingPos(cid), diag[n]), 0, -min, -max, 15)
end
return true end
local p = 1
if times and times / 2 == math.floor(times/2) then p = 2 end
doSendMagicEffect(getPosByDir(getThingPos(cid), diag[p]), eff)
local delay = times > 58 and 600 or times > 46 and 400 or times > 38 and 250 or times > 30 and 170 or 50
addEvent(customFunction, delay, cid, efeito, times and times - 1 or 45)
end
function onCastSpell(cid, var)
customFunction(cid, 21, 65)
return TRUE
end




info
Grupo: Barão
Registrado: 02/06/11
Posts: 209
Reputação: +5
Char no Tibia: [ADM] Juan
olhem pra quem não sabe meu objetivo e esse por a spell tsuin rasengan pra quem quer saber que jutsu e esse do naruto mostrarei em primeira mão a vcs:
Tsuin Rasengan (Esferas Espirais Gêmeas)
Usuários: Jiraya e Uzumaki Naruto
Rank: -
Classe: Ofensiva
Alcance: Curto
Selos: -
Descrição:
O Tsuin Rasengan simplesmente se refere à capacidade de formar dois
Rasengan, um em cada mão. Quando Naruto, realizou esta técnica que ele
usou duas versões diferentes do Rasengan, o Rasengan Gelel, com o
auxílio de Temujin (que ajudou a formar-la como um clone de sombra
normalmente), e o Demon Fox Rasengan, com a ajuda de seu clone de
sombra. Jiraiya faz algo semelhante, quando Naruto ensinando como usar o
Rasengan, por um lado ele cria um Rasengan normal, e no outro ele faz o
exercício do balão.
agora vamos ao pedido quero assim uma spell em area q acerte 2 sqm na diagonal vou fazer um exemplo no paint:
como vcs podem ver o QUADRADO e o player e a espiral vermelha é UM EFEITO E A AZUL E OUTRA resumindo quero q a spell pegue em 2 sqm um / e a outra\ e cada um dos sqm tem q ser efeitos diferentes
resumindo uma spell q pegue 2 sqm nas diagonal cada sqm com um efeito diferente
espero que alguem consiga
FLW