Ir para conteúdo

Featured Replies

Postado

como o próprio titulo já diz, estou com uma magia de NTO on o player ataca o outro e leva para outro local por alguns segundos e depois volta.

problema que ao fazer isso e levar o player, lá na nova posição o mesmo continua a usar a mesma magia, assim bugando a spell e acontece que eles acabam não voltando para suas antigas cordenadas.

sei que expliquei meio complicado más é isso.

 

Script

function onCastSpell(cid, var)
local Tile1 = {x=1019, y=892, z=7} -- onde o player sera teleportado
local Tile2 = {x=1019, y=889, z=7} -- onde o player target teleportado
local from1,to1 = {x=1013, y=885, z=7},{x=1025, y=885, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from2,to2 = {x=1013, y=896, z=7},{x=1025, y=896, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from3,to3 = {x=1514, y=1262, z=7},{x=1504, y=1253, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from4,to4 = {x=1013, y=885, z=7},{x=1025, y=896, z=7} -- ponto 1 ao ponto 2 da area
local from5,to5 = {x=979, y=911, z=7},{x=994, y=918, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from6,to6 = {x=1156, y=1192, z=7},{x=1172, y=1172, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from7,to7 = {x=664, y=1096, z=7},{x=685, y=1104, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from8,to8 = {x=1553, y=1254, z=7},{x=1562, y=1262, z=7} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from9,to9 = {x=1133, y=1039, z=12},{x=972, y=873, z=12} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from10,to10 = {x=1133, y=1039, z=11},{x=972, y=873, z=11} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local from11,to11 = {x=1133, y=1039, z=10},{x=972, y=873, z=10} -- ponto 1 ao ponto 2 da area em que ele sera teleportado
local pos = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local targetpos = getCreaturePosition(target)
local time = 30 -- tempo para voltar em segundos
if isInRange(pos, from1, to1) or isInRange(pos, from2, to2) or isInRange(pos, from3, to3) or isInRange(pos, from4, to4) or isInRange(pos, from5, to5) or isInRange(pos, from6, to6) or isInRange(pos, from7, to7) or isInRange(pos, from8, to8) or isInRange(pos, from9, to9) or isInRange(pos, from10, to10) or isInRange(pos, from11, to11) then
doPlayerSendCancel(cid, "Você nao pode usar a parada!")
return FALSE
end
local function Teleport_Player(cid)
doTeleportThing(cid, pos)
end
local function Teleport_Target(target)
doTeleportThing(target, targetpos)
end
if isPlayer(target) then
doTeleportThing(cid, Tile1)
doTeleportThing(target, Tile2)
doSendMagicEffect(pos, 196)
doSendMagicEffect(targetpos, 196)
addEvent(Teleport_Player, time*1000, cid)
addEvent(Teleport_Target, time*1000, target)
doCreatureSay(cid, "Parada Magica", TALKTYPE_MONSTER)
else
doPlayerSendCancel(cid, "A Parada so funciona em players!")
end
end 

 

quem poder me ajudar dou aquele REP+ maroto, isso irá facilitar mt a minha vida

Postado
local config = {
	time = 30 -- tempo para voltar em segundos
	storage = 8585,
	player_go = {x=1019, y=892, z=7}, -- onde o player sera teleportado
	target_go = {x=1019, y=889, z=7}, -- onde o player target teleportado
	pos = {	
		{{x=1013, y=885, z=7},{x=1025, y=885, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1013, y=896, z=7},{x=1025, y=896, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1514, y=1262, z=7},{x=1504, y=1253, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1013, y=885, z=7},{x=1025, y=896, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=979, y=911, z=7},{x=994, y=918, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1156, y=1192, z=7},{x=1172, y=1172, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=664, y=1096, z=7},{x=685, y=1104, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1553, y=1254, z=7},{x=1562, y=1262, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1133, y=1039, z=12},{x=972, y=873, z=12}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1133, y=1039, z=11},{x=972, y=873, z=11}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1133, y=1039, z=10},{x=972, y=873, z=10}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
	}
}

local function teleport_all(cid, player_effect, player_pos, target, target_effect, target_pos)
	doTeleportThing(cid, player_pos)
	doTeleportThing(target, target_pos)
	doSendMagicEffect(player_effect, CONST_ME_TELEPORT)
	doSendMagicEffect(target_effect, CONST_ME_TELEPORT)
end	

function onCastSpell(cid, var)
	local player_pos = getCreaturePosition(cid)
	local target = getCreatureTarget(cid)
	local target_pos = getCreaturePosition(target)

	if getPlayerStorageValue(cid, config.storage) - os.time() > 0 then
		doPlayerSendCancel(cid, "Colldown!")
		return false
	end
	
	for x = 1, #config.pos do
		if isInRange(player_pos, config.pos[x][1], config.pos[x][2]) then
			doPlayerSendCancel(cid, "Você nao pode usar a parada!")
			return false
		end
	end

	if isPlayer(target) then
		teleport_all(cid, player_pos, config.player_go, target, target_pos, config.target_go)
		addEvent(teleport_all, config.time * 1000, cid, getCreaturePosition(cid), player_pos, target, getCreaturePosition(target), target_pos)
		setPlayerStorageValue(cid, config.storage, os.time() + (config.time + 2))
		doCreatureSay(cid, "Parada Magica", TALKTYPE_MONSTER)
	else
		doPlayerSendCancel(cid, "A Parada so funciona em players!")
	end
end

 

Postado
  • Autor
1 hora atrás, luanluciano93 disse:

local config = {
	time = 30 -- tempo para voltar em segundos
	storage = 8585,
	player_go = {x=1019, y=892, z=7}, -- onde o player sera teleportado
	target_go = {x=1019, y=889, z=7}, -- onde o player target teleportado
	pos = {	
		{{x=1013, y=885, z=7},{x=1025, y=885, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1013, y=896, z=7},{x=1025, y=896, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1514, y=1262, z=7},{x=1504, y=1253, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1013, y=885, z=7},{x=1025, y=896, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=979, y=911, z=7},{x=994, y=918, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1156, y=1192, z=7},{x=1172, y=1172, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=664, y=1096, z=7},{x=685, y=1104, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1553, y=1254, z=7},{x=1562, y=1262, z=7}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1133, y=1039, z=12},{x=972, y=873, z=12}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1133, y=1039, z=11},{x=972, y=873, z=11}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
		{{x=1133, y=1039, z=10},{x=972, y=873, z=10}}, -- ponto 1 ao ponto 2 da area em que ele sera teleportado
	}
}

local function teleport_all(cid, player_effect, player_pos, target, target_effect, target_pos)
	doTeleportThing(cid, player_pos)
	doTeleportThing(target, target_pos)
	doSendMagicEffect(player_effect, CONST_ME_TELEPORT)
	doSendMagicEffect(target_effect, CONST_ME_TELEPORT)
end	

function onCastSpell(cid, var)
	local player_pos = getCreaturePosition(cid)
	local target = getCreatureTarget(cid)
	local target_pos = getCreaturePosition(target)

	if getPlayerStorageValue(cid, config.storage) - os.time() > 0 then
		doPlayerSendCancel(cid, "Colldown!")
		return false
	end
	
	for x = 1, #config.pos do
		if isInRange(player_pos, config.pos[x][1], config.pos[x][2]) then
			doPlayerSendCancel(cid, "Você nao pode usar a parada!")
			return false
		end
	end

	if isPlayer(target) then
		teleport_all(cid, player_pos, config.player_go, target, target_pos, config.target_go)
		addEvent(teleport_all, config.time * 1000, cid, getCreaturePosition(cid), player_pos, target, getCreaturePosition(target), target_pos)
		setPlayerStorageValue(cid, config.storage, os.time() + (config.time + 2))
		doCreatureSay(cid, "Parada Magica", TALKTYPE_MONSTER)
	else
		doPlayerSendCancel(cid, "A Parada so funciona em players!")
	end
end

 

 

e onde coloco o tempo para poder usar a magia novamente? pq se eu por em spells.xml não adianta. msm eu colocando 300000 o player vai poder continuar usando ela constantemente 

Postado
  • Autor
19 horas atrás, luanluciano93 disse:

Eu coloquei o tempo que demora pra acabar o spell + 2 segundos ...


setPlayerStorageValue(cid, config.storage, os.time() + (config.time + 2))

 

quando o player usa a spell simplesmente ele fala ela, como se ela não tivesse no servidor

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo