Ir para conteúdo
  • Cadastre-se

Derivado Por Storage e exausted em spell [Script]


Posts Recomendados

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

Link para o post
Compartilhar em outros sites
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

 

Link para o post
Compartilhar em outros sites
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 

Link para o post
Compartilhar em outros sites
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

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.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo