PH
dúvida

Amaterasu :(

Por phardole, 12 de mar. de 2013 em Scripts

script
23
2.8k
phardoleP
12 de março de 2013 às 00:54

Preciso de ajuda nesse script :(

 

function onCastSpell(cid, words, param)
local waittime = 10 -- Tempo de exhaustion
local storage = 5818
local target = getCreatureTarget(cid)
doCreatureSay(cid, "AMATERASU", TALKTYPE_MONSTER)
if exhaustion.check(cid, storage) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")
return false
end
if not isCreature(target) then
return false

end
pos = getCreaturePosition(cid)
function effectFollow(uid,jump,pos)
if jump <= 0 then
return true
end
posx = getPosByDir(pos,getDirectionTo(pos,getCreaturePosition(getCreatureTarget(cid))))
doAreaCombatHealth(cid, 1, posx, 0, -7000, -8400, 79)
addEvent(effectFollow, 500, uid, jump-1, pos)
exhaustion.set(cid, storage, waittime)
end
effectFollow(getCreatureTarget(cid),15,pos)
end

 

o problema é quando o player usa o amaterasu acerta o target direitinho porem n fica encima do target o amaterasu ele fica meio pro lado < , e um outro problema é que se o player usar a magia ele tem que esperar 10 segundos (certo).. porem se o player segurar o dedo fica aparecendo uma mensagem em laranja (AMATERASU) sem parar.. eu queria que aparecesse amaterasu so quando pudesse usar a magia.

 

agradeço a ajuda :D

Editado Março 12 por Pedro19

12 de março de 2013 às 01:42

Vou usar como exemplo o exori flam... Nos seus spells.xml

<instant name="Flame Strike" words="exori flam" lvl="12" mana="20" prem="0" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/flame strike.lua">

<vocation id="1"/>

<vocation id="2"/>

<vocation id="5"/>

<vocation id="6"/>

</instant>

 

É só tirar colocar ali em exhaustion="10000", pronto :D

Faça isso nessa sua magia louca ai e tudo pronto

phardoleP
12 de março de 2013 às 03:09

Vc não entendeu.. o exausted dela funciona.. mais se eu segurar o dedo aparece a mensagem Amaterasu sem parar, porem a magia sai só de 10 em 10 segundos.

12 de março de 2013 às 12:55
function onCastSpell(cid, words, param)
local waittime = 10 -- Tempo de exhaustion
local storage = 5818
local target = getCreatureTarget(cid)
if exhaustion.check(cid, storage) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")
return false
end
if not isCreature(target) then
return false

end
pos = getCreaturePosition(cid)
function effectFollow(uid,jump,pos)
if jump <= 0 then
return true
end
posx = getPosByDir(pos,getDirectionTo(pos,getCreaturePosition(getCreatureTarget(cid))))
doAreaCombatHealth(cid, 1, posx, 0, -7000, -8400, 79)
addEvent(effectFollow, 500, uid, jump-1, pos)
end
effectFollow(getCreatureTarget(cid),15,pos)
doCreatureSay(cid, "AMATERASU", TALKTYPE_MONSTER)
exhaustion.set(cid, storage, waittime)
end

Editado Março 12 por Demonbholder

phardoleP
12 de março de 2013 às 18:16

demon depois que vc edito ficou tipo assim... quando eu uso ele.. agora fica falando amaterasu sem parar.

RoksasR
12 de março de 2013 às 18:20

 

 

function onCastSpell(cid, words, param)

local waittime = 10 -- Tempo de exhaustion

local storage = 5818

local target = getCreatureTarget(cid)

if exhaustion.check(cid, storage) then

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

return false

end

if not isCreature(target) then

return false

 

end

pos = getCreaturePosition(cid)

function effectFollow(uid,jump,pos)

if jump <= 0 then

return true

end

posx = getPosByDir(pos,getDirectionTo(pos,getCreaturePosition(getCreatureTarget(cid))))

doAreaCombatHealth(cid, 1, posx, 0, -7000, -8400, 79)

addEvent(effectFollow, 500, uid, jump-1, pos)

exhaustion.set(cid, storage, waittime)

doCreatureSay(cid, "AMATERASU", TALKTYPE_MONSTER)

end

effectFollow(getCreatureTarget(cid),15,pos)

end

 

12 de março de 2013 às 18:21

não tinha me ligado que ele tava dentro de uma função, código sem identação é foda.

 

editei o post, tenta agora.

phardoleP
12 de março de 2013 às 18:29

Ta acontecendo isso se ficar pressionando a magia

 

18:25 Aguarde 10 segundos para usar a spell novamente.

18:25 Aguarde 9 segundos para usar a spell novamente.

18:25 Aguarde 10 segundos para usar a spell novamente.

18:25 Aguarde 9 segundos para usar a spell novamente.

18:25 Aguarde 10 segundos para usar a spell novamente.

 

so quando ele acaba que começa acontar o tempo.

mais o amaterasu não ta ficando encima do player da meio pro lado de lá < do target.

12 de março de 2013 às 18:32

Consertei o problema do exhaust, mas esse problema já tinha antes, não?

phardoleP
12 de março de 2013 às 18:37

sim. ele veio com o problema mais tipo parece que ta saindo 2 fogos de uma vez.

la no nto ultimate sai 1 fogo que fica ate a magia acabar.

no meu fica caindo o fogo encima do target sem ficar fixo

tpw cai e some, cai e some. mais rapido.

Editado Março 12 por Pedro19

12 de março de 2013 às 18:40

Me explica direito como você quer a spell (se tiver vídeo manda o link) que eu faço do 0 para você.

phardoleP
12 de março de 2013 às 19:00

Ok irei fazer 1 video de como euquero a spell e posto aqui. de qual quer forma rep++ por ter ajudado :D

 

eu quero assim /\

efeito do sharigan -> 109

efeito do amaterasu -> 79

12 de março de 2013 às 19:13

ele ataca quem estiver no caminho?

 

a magia vai ficar dando um dano de x em x segundos, a contagem começa quando ele solta a magia ou quando bate no alvo?

phardoleP
12 de março de 2013 às 19:20

de quando ele solta.. se algum player passar pela magia toma hit dela, como vc viu ela segue o player mas acerta outros se passarem nela.

o meu ta assim olha \/ (o fogo fica pulando nao ta que nem o outro video)

Editado Março 12 por Pedro19

12 de março de 2013 às 22:23

testa ai:

 

 

efRQjfVP[/pastebin]

 

Editado Março 12 por Demonbholder