Ir para conteúdo
  • Cadastre-se

(Resolvido).


Ir para solução Resolvido por Mathias Kenfi,

Posts Recomendados

Boa noite

Gostaria de pedir para vocês uma ajuda

A magia que estou querendo funciona da seguinte maneira, Causa um efeito de loop no target, após 3segundos o alvo volta para o SQM onde estava ao sofrer a magia.

Terá um cooldown de 1 minuto para utilizar novamente o Izanami

Utilizo a distro Tfs 0.4

Rep ++ para quem me ajudar

 

@Dwarfer, @xWhiteWolf

Editado por OinomedRellik (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
10 horas atrás, Yasuoxd disse:

poderia dar um exemplo melhor? não entendi muito bem o efeito de looping, como seria na pratica? 

 

targeta e usa a magia no jogador e o jogador pode ir pra onde ele quiser, após 3 segundos ele volta para aonde foi targetado já tá bem explicado '-', mas é só uma vez mesmo não é toda hora.

Editado por OinomedRellik (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@OinomedRellik simples usa o doTeleportThing e salva a posição do alvo e depois faz um função com addevent para teleportar o alvo naquela posição depois de 3segundos não esqueça de adicionar storage pra não bugar etc...

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
Em 21/02/2020 em 10:01, LeoTK disse:

@OinomedRellik simples usa o doTeleportThing e salva a posição do alvo e depois faz um função com addevent para teleportar o alvo naquela posição depois de 3segundos não esqueça de adicionar storage pra não bugar etc...

 

sei nem por onde começar

Link para o post
Compartilhar em outros sites

@OinomedRellik então eu lamento mas tenho certeza que se você pesquisar aqui no fórum tu acha algo parecido pra adaptar pro que tu quer

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
2 minutos atrás, LeoTK disse:

@OinomedRellik então eu lamento mas tenho certeza que se você pesquisar aqui no fórum tu acha algo parecido pra adaptar pro que tu quer

 

vou da uma procurada, obrigado de qualquer forma ^^

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • Solução
Em 22/02/2020 em 19:17, OinomedRellik disse:

vou da uma procurada, obrigado de qualquer forma ^^

 

Fiz aqui pra você, amigo

 

Spoiler


-- Script BY: ~Mathias Kenfi
-- Contato: [email protected] / 034991286815

local config = {
	time = 3, -- Tempo em que o alvo será teleportado após a ativação da spell \\ Tempo de duração do Looping
	loop = 250, -- Tempo, em milissegundos, do looping
	cooldown = 60, -- Tempo, em segundos, para usar a magia novamente
	areaeffect = 17,
	disteffect = 31 
}

local combat = createCombatObject()
local combat2 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaeffect)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, config.disteffect)

function doTeleportPlayer(cid, pos)
		if isWalkable(pos, true, true, true) then
			return doTeleportThing(cid, pos, true)
		end
	return false
end

function doTeleportEnemy(target, cid)
	if target ~= 0 then
local posx = getPlayerStorageValue(target, 157788)
local posy = getPlayerStorageValue(target, 157789)
local posz = getPlayerStorageValue(target, 157790)
local toPosition = {x = posx, y = posy, z = posz}
		doSendDistanceShoot(getCreaturePos(target), toPosition, 35)
		doSendMagicEffect(toPosition, 10)
		doTeleportPlayer(target, toPosition)
	end
	return true
end

function onLoopCombat(cid, combat, var)
	if getPlayerStorageValue(cid, 153344) - os.time() <= 0 then
		return false
	end
	doCombat(cid, combat, var)
	return addEvent(valid(onLoopCombat), config.loop, cid, combat, var)
end

function savePlayerPos(cid)
	pos = getCreaturePos(cid)
	setPlayerStorageValue(cid, 157788, pos.x)
	setPlayerStorageValue(cid, 157789, pos.y)
	setPlayerStorageValue(cid, 157790, pos.z)
	return true
end

function onTargetCreature(cid, target)
	return addEvent(valid(doTeleportEnemy), config.time*1000, target, cid)
end
setCombatCallback(combat2, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

function onGetFormulaValues(cid, level)
local damage = 300
return -damage, -damage
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")


function onCastSpell(cid, var)
target = getCreatureTarget(cid)
	if getPlayerStorageValue(cid, 153345) - os.time() <= 0 then
		setPlayerStorageValue(cid, 153344, os.time()+config.time)
		savePlayerPos(target)
		onLoopCombat(cid, combat, var, target)
		doCombat(cid, combat2, var)
		setPlayerStorageValue(cid, 153345, os.time()+config.cooldown)
	else
		doPlayerSendTextMessage(cid,22,"Aguarde "..math.max(0, tonumber(getPlayerStorageValue(cid, 153345) - os.time())).." segundos para utilizar a spell novamente")

	end
	return true
end

 

 

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
Em 04/03/2020 em 18:17, Joaovettor disse:

Fiz aqui pra você, amigo

 

  Mostrar conteúdo oculto



-- Script BY: ~Mathias Kenfi
-- Contato: [email protected] / 034991286815

local config = {
	time = 3, -- Tempo em que o alvo será teleportado após a ativação da spell \\ Tempo de duração do Looping
	loop = 250, -- Tempo, em milissegundos, do looping
	cooldown = 60, -- Tempo, em segundos, para usar a magia novamente
	areaeffect = 17,
	disteffect = 31 
}

local combat = createCombatObject()
local combat2 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaeffect)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, config.disteffect)

function doTeleportPlayer(cid, pos)
		if isWalkable(pos, true, true, true) then
			return doTeleportThing(cid, pos, true)
		end
	return false
end

function doTeleportEnemy(target, cid)
	if target ~= 0 then
local posx = getPlayerStorageValue(target, 157788)
local posy = getPlayerStorageValue(target, 157789)
local posz = getPlayerStorageValue(target, 157790)
local toPosition = {x = posx, y = posy, z = posz}
		doSendDistanceShoot(getCreaturePos(target), toPosition, 35)
		doSendMagicEffect(toPosition, 10)
		doTeleportPlayer(target, toPosition)
	end
	return true
end

function onLoopCombat(cid, combat, var)
	if getPlayerStorageValue(cid, 153344) - os.time() <= 0 then
		return false
	end
	doCombat(cid, combat, var)
	return addEvent(valid(onLoopCombat), config.loop, cid, combat, var)
end

function savePlayerPos(cid)
	pos = getCreaturePos(cid)
	setPlayerStorageValue(cid, 157788, pos.x)
	setPlayerStorageValue(cid, 157789, pos.y)
	setPlayerStorageValue(cid, 157790, pos.z)
	return true
end

function onTargetCreature(cid, target)
	return addEvent(valid(doTeleportEnemy), config.time*1000, target, cid)
end
setCombatCallback(combat2, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

function onGetFormulaValues(cid, level)
local damage = 300
return -damage, -damage
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")


function onCastSpell(cid, var)
target = getCreatureTarget(cid)
	if getPlayerStorageValue(cid, 153345) - os.time() <= 0 then
		setPlayerStorageValue(cid, 153344, os.time()+config.time)
		savePlayerPos(target)
		onLoopCombat(cid, combat, var, target)
		doCombat(cid, combat2, var)
		setPlayerStorageValue(cid, 153345, os.time()+config.cooldown)
	else
		doPlayerSendTextMessage(cid,22,"Aguarde "..math.max(0, tonumber(getPlayerStorageValue(cid, 153345) - os.time())).." segundos para utilizar a spell novamente")

	end
	return true
end

 

 

 

Vlw tmj

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo