AL
pedido

Spell de ilusão Ajuda Vodkart

Por Allangod, 29 de dez. de 2012 em Scripts

11
1.3k
AllangodA
29 de dezembro de 2012 às 11:53

Eu tava jogando um servidor esses dias, e tinha uma spell que faz somente o meu target vê meio que algumas ilusões.

Essa spell aqui faz que quando eu usar essa magia no target, só eu consigo ver quem é o clone verdadeiro.

 

function onCastSpell(cid, var)

 

local target = getCreatureTarget(cid)

 

if not isCreature(target) then doPlayerSendCancel(cid, "You need a target.")

return false end

 

local master = getCreatureMaster(target)

 

if not isPlayer(master) then doPlayerSendCancel(cid, "This spell works only against players.")

return false end

 

local function revelar(cid, target, times)

if not isCreature(cid) or not isCreature(target) or times <= 0 then return end

doSendMagicEffect(getThingPos(target), CONST_ME_TUTORIALSQUARE, cid)

doSendMagicEffect(getThingPos(target), CONST_ME_TUTORIALARROW, cid)

addEvent(revelar, 450, cid, target, times - 1)

end

 

revelar(cid, master, 10)

 

return true

end

 

Talvez dê para se basear nela, sei la.

Eu só queria que quando eu usasse no target essa spell, aparecesse uns efeitos de magias e etc somente na tela dele (do meu target).

Sei que é qse impossivel mas qm conseguir REP+

Vlws

Editado Dezembro 29 por Allangod

brun123B
29 de dezembro de 2012 às 12:13

basta colocar o terceiro parâmetro da função doSendMagicEffect com o uid do target, que aparece só para ele

SlicerS
29 de dezembro de 2012 às 12:25

/\ serio isso? LOL kkk vai ajuda bastante.. ty brun '--'

AllangodA
29 de dezembro de 2012 às 12:55

basta colocar o terceiro parâmetro da função doSendMagicEffect com o uid do target, que aparece só para ele

basta colocar o terceiro parâmetro da função doSendMagicEffect com o uid do target, que aparece só para ele

 

Como assim brun? Poderia fazer pra mim?

SlicerS
29 de dezembro de 2012 às 13:18

function onCastSpell(cid, var)
local target = getCreatureTarget(cid)

if not isCreature(target) then
  doPlayerSendCancel(cid, "You need a target.")
  return false
end

doSendMagicEffect(getPlayerPosition(target), 21, target)
return true
end

isso fara com q soh o target veja o efeito 21...

AllangodA
29 de dezembro de 2012 às 13:25

Po cara mto obrigado, mas tem como fazer aparecer efeito na tela toda dele?

Mas do mesmo jeito vou dar REP+ pra vcs 2

E tipo... Ele ta mostrando o efeito só 1x, eu queria que o efeito durasse pelo- uns 15 segundos

Editado Dezembro 29 por Allangod

SlicerS
29 de dezembro de 2012 às 13:48

tpw quer a o efeito apareça aleatoriamente por toda a tela? ah da pra fazer umas paradas lokas ae com posiçoes e pah.. ;x

local function sendEff(cid, eff, t)
if t > 0 and isCreature(cid) then
  doSendMagicEffect(getPlayerPosition(cid), eff, cid)
  addEvent(sendEff, 1000, cid, eff, t-1)
end
end

local eff = 21 --efeito
local time = 15 --por qnts segs vai aparecer o efeito

function onCastSpell(cid, var)
local target = getCreatureTarget(cid)

if not isCreature(target) then
  doPlayerSendCancel(cid, "You need a target.")
  return false
end

sendEff(target, eff, time)
return true
end

assim sai o efeito durante 15segs..

AllangodA
29 de dezembro de 2012 às 13:59

Isso é quase isso ae q vc fez, só q ao invez de aparecer somente emcima dele, apareceria na tela toda (aleatoriamente ou não)

SlicerS
29 de dezembro de 2012 às 14:17

local function random(pos)
return {x = pos.x+math.random(-4, 4), y = pos.y+math.random(-4, 4), z = pos.z}
end

local function sendEff(cid, eff, t)
if t > 0 and isCreature(cid) then
  local pos = getPlayerPosition(cid)
  for i = 1, 60 do
   doSendMagicEffect(random(pos), eff, cid)
  end
  addEvent(sendEff, 1000, cid, eff, t-1)
end
end

local eff = 21 --efeito
local time = 15 --por qnts segs vai aparecer o efeito

function onCastSpell(cid, var)
local target = getCreatureTarget(cid)

if not isCreature(target) then
  doPlayerSendCancel(cid, "You need a target.")
  return false
end

sendEff(target, eff, time)
return true
end

oia essa eu realmente n sei se vai da certo kkk

qlqr coisa, se ficar muito efeito sei la.. tenta diminuir aki..

for i = 1, 60 do

diminui, ou aumenta sei la, o 60 ali..

AllangodA
29 de dezembro de 2012 às 14:23

Ta otimo Slicer, mto obrigado kra.

REP+ para vc, e amanha para o brun.

vlw

 

E podem mover o topico :D

SlicerS
29 de dezembro de 2012 às 15:29

sanado, movido