Ir para conteúdo

Spell - Teleport


O Caipora

Posts Recomendados

Mais uma vez eu aqui enchendo o saco de vocês, mas eu tentei juro de todas as maneiras, com certeza eu devo ser burro mesmo, mas eu estou usando uma magia que você é "teleportado" para o seu alvo, atacando o mesmo. Infelizmente o efeito de "teleport" só aparece quando eu ataco a pessoa, eu queria pra aparecer quando o player sair de sua posição e também quando batesse, mas infelizmente o effect de teleport só sai quando já estou no alvo, segue o script

 

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)

setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 1, -50, 1, -65)

 

local function onCastSpell1(parameters)

doCombat(parameters.cid, parameters.combat1, parameters.var)

end

 

function onCastSpell(cid, var)

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

 

target = getCreatureTarget(cid)

pos = getCreaturePosition(target)

doTeleportThing(cid, pos)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)

 

 

return doCombat(cid, combat1, var)

end

Link para o comentário
Compartilhar em outros sites

É o seguinte eu tenho como alvo um troll, eu falo "Ambush", ele vai para onde o monstro está, mas quando eu saiu do meu lugar de origem não acontece nada, eu queria que rolasse um efeito na saida, porque o efeito na chegada já funciona. O script que eu estou usando agora,

 

 

function onCastSpell(cid, var)

 

local Target = getCreatureTarget(cid)

local Pos = getCreaturePosition(Target)

 

doTeleportThing(cid,Pos)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)

doSendAnimatedText(getPlayerPosition(cid), "I Here!", 210)

 

return doCombat(cid, combat1, var)

end

Link para o comentário
Compartilhar em outros sites

Não testei, apenas tente:

 

local combat1 = createCombatObject() 


setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) 
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT) 
setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 1, -50, 1, -65) 

local function onCastSpell1(parameters) 
doCombat(parameters.cid, parameters.combat1, parameters.var) 
end 

function onCastSpell(cid, var) 
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2 } 

target = getCreatureTarget(cid) 
pos = getCreaturePosition(target) 
doTeleportThing(cid, pos)


doSendMagicEffect(fromPosition, CONST_ME_TELEPORT)


doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)





return doCombat(cid, combat1, var)

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

Aconteceu o seguinte erro amigo,

 

 

17/11/2010 13:04:51] [Error - Spell Interface] 
[17/11/2010 13:04:51] data/spells/scripts/rogue/ambush.lua:onCastSpell
[17/11/2010 13:04:51] Description: 
[17/11/2010 13:04:51] data/spells/scripts/rogue/ambush.lua:20: attempt to call global 'fromPosition' (a nil value)
[17/11/2010 13:04:51] stack traceback:
[17/11/2010 13:04:51] 	data/spells/scripts/rogue/ambush.lua:20: in function <data/spells/scripts/rogue/ambush.lua:12>

Link para o comentário
Compartilhar em outros sites

Esse aqui é o do Henrique Moura. Faltava um "end":

 

local combat1 = createCombatObject() 
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) 
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT) 
setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 1, -50, 1, -65) 

local function onCastSpell1(parameters) 
doCombat(parameters.cid, parameters.combat1, parameters.var) 
end 

function onCastSpell(cid, var) 
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2 } 

target = getCreatureTarget(cid) 
pos = getCreaturePosition(target) 
doTeleportThing(cid, pos)
doSendMagicEffect(fromPosition, CONST_ME_TELEPORT)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
return doCombat(cid, combat1, var)
end

 

 

flw

Link para o comentário
Compartilhar em outros sites

É, deu um novo erro, nenhum dos dois scripts funcionaram, agora não sai efeito nem na saída,

 

 

[17/11/2010 13:24:59] [Error - Spell Interface] 
[17/11/2010 13:24:59] data/spells/scripts/rogue/ambush.lua:onCastSpell
[17/11/2010 13:24:59] Description: 
[17/11/2010 13:24:59] attempt to index a nil value
[17/11/2010 13:24:59] stack traceback:
[17/11/2010 13:24:59] 	[C]: in function 'doSendMagicEffect'
[17/11/2010 13:24:59] 	data/spells/scripts/rogue/ambush.lua:20: in function <data/spells/scripts/rogue/ambush.lua:12>

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

Tente assim então:

 

local combat1 = createCombatObject() 
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) 
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT) 
setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 1, -50, 1, -65) 


function onCastSpell(cid, var) 
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
doTeleportThing(cid, getCreaturePosition(getCreatureTarget(cid)))
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
doSendAnimatedText(getPlayerPosition(cid), "I Here!", 210) 
return doCombat(cid, combat1, var)
end

 

 

flw

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

Vejo que é um grande desafio essa spell (KKK), eu também tentei de todos os jeitos, mas infelizmente ainda não consigo o resultado esperado, apocarai, eu usei o seu Script, ele está tudo certinho, dano, o teleport no final voltou a funcionar mas infelizmente o do inicio ainda não está rolando :/

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...