DU
dúvida

Spell que atinja jogadores fora de nossa tela.

Por Duuhzinhow, 04 de fev. de 2014 em Scripts

duvida
duvidosa
que eu estava me duvidando
resolvido
13
1.1k
DuuhzinhowD
04 de fevereiro de 2014 às 19:08

Galera eu tava aqui pensando... é possivel fazer uma spell que atinja players além da nossa tela? Como?

Editado Fevereiro 4 por zipter98

Nil ValueN
04 de fevereiro de 2014 às 19:22

Tem sim, com a área grande, ou com uma função especial.

Editado Fevereiro 4 por Nil Value

JustinnoTibiannoJ
04 de fevereiro de 2014 às 19:42

Duvida duvidosa :3

 

aí tu exagerou, leia as regras por favor

zipter98Z
04 de fevereiro de 2014 às 20:14

Tente ser mais específico no título de seus tópico, por favor. Alterei deste para você.

@dúvida

Só usar getSpectators.

Editado Fevereiro 4 por zipter98

DuuhzinhowD
04 de fevereiro de 2014 às 21:50

:3 ok, desculpa ae, mas então, como faço?

zipter98Z
04 de fevereiro de 2014 às 22:08

Se você puder explicar detalhadamente como a spell é e funcionará, poderemos te ajudar.

DuuhzinhowD
05 de fevereiro de 2014 às 12:38

Assim, eu fiz essa spell, certinho... mas gostaria de fazer outra, com essa base, mas a outra teria efeito em todos os players online, tem como fazer isto?

 

 

 

local newPos = {x = 1248, y = 728, z = 7} --pos pra onde sera levado o target
local time = 20 --tempo pra teleporta devolta, em segs
local function teleport(cid, pos)
if isCreature(cid) then
doTeleportThing(cid, getClosestFreeTile(cid, pos))
doSendMagicEffect(getPlayerPosition(cid), 196)
end
end
function onCastSpell(cid, var)
local target = getCreatureTarget(cid)
if not isCreature(target) then
return doPlayerSendTextMessage(cid, 27, "Tem que atacar alguem seu burro!")
end
local posTarget = getPlayerPosition(target)
teleport(target, newPos)
addEvent(teleport, time*1000, target, posTarget)
return true
end
Se possivel, eu gostaria que essa spell, tivesse efeito em todos os players online...
zipter98Z
05 de fevereiro de 2014 às 14:59

Você é scripter, certo? Então, suponho que conseguirá colocar esta seguinte parte no código da spell desejada.

 

   for a, b in pairs(getPlayersOnline()) do
        doSendMagicEffect(getThingPos(b), effect)
    end
DuuhzinhowD
05 de fevereiro de 2014 às 15:20

Certo, sou scripter, mas totalmente novato, ainda nao sei desenvolver totalmente o que eu quero,spells q eu crio, é apartir de outras, editando-as, assim como actions, talkactions, vocaçoes... etc, vou tentar adicionar na spell, mas se voce poder adicionar para mim serei grato!

 

rep+


éh... axo que eu nao consegui '-'... devo ter feito algo errado... adiciona pra mim.. pf? nao custa nada... :)

zipter98Z
05 de fevereiro de 2014 às 19:34

Hm, vai ser basicamente aquela spell que você mandou + o efeito em todos os jogadores online?

meubkM
06 de fevereiro de 2014 às 15:26

a magia não é só o efeito zipter, ela tbem teleporta os players, enfim:

local newPos = {x = 1248, y = 728, z = 7} --pos pra onde sera levado o target
local time = 20 --tempo pra teleporta devolta, em segs

local function teleport(cid, pos)
	if isCreature(cid) then
		doTeleportThing(cid, getClosestFreeTile(cid, pos))
		doSendMagicEffect(getPlayerPosition(cid), 196)
	end
end

function onCastSpell(cid, var)
	for _, target in pairs(getPlayersOnline()) do
		local posRetorno = getThingPos(target)
		teleport(target, newPos)
		addEvent(teleport, time*1000, target, posRetorno)
	end
	return true
end

Editado Fevereiro 6 por xotservx

DuuhzinhowD
06 de fevereiro de 2014 às 17:07

Vou testar, se funcionar perfeitamente rep+, qualqer erro eu posto aqui


Ae funcionou, rep+ xotservx

zipter98Z
06 de fevereiro de 2014 às 17:19

Tópico movido para a seção de dúvidas e pedidos resolvidos.