Ir para conteúdo

Featured Replies

Postado
  • Solução

@leozincorsair Foi mal, realmente foi erro meu. Bom, pra fazer com que quem entre possa sair, vai ser preciso criar um novo movement. Por que? Simples, quando o player casta a spell a posição dele fica salva. Já o player que entrar no portal do mundo normal não vai ter suas posições salvas, logo não poderá retornar. Mas vamos lá.

 

Spell

Spoiler

local enter = {x = 1250, y = 1250, z = 7}

local combat = createCombatObject()
function removeTeleport(PlayerPos)
	tp = getTileItemById(PlayerPos, 5023).uid
	doRemoveItem(tp, 1)
	doSendMagicEffect(PlayerPos, 2)
end

function onCastSpell(cid, var)

local PlayerPos = getCreaturePosition(cid)
local from1,to1 = {x=979, y=911, z=7},{x=995, y=920, z=7}
local from2,to2 = {x=1964, y=731, z=7},{x=1976, y=742, z=7}
local from3,to3 = {x=1206, y=751, z=7},{x=1232, y=778, z=7}
local from4,to4 = {x=1201, y=746, z=6},{x=1238, y=782, z=6}
local from5,to5 = {x=979, y=911, z=6},{x=994, y=919, z=6}
local from6,to6 = {x=978, y=920, z=5},{x=1007, y=931, z=5}
local from7,to7 = {x=987, y=919, z=4},{x=1008, y=931, z=4}

	if isInRange(PlayerPos, from1, to1) then
		doPlayerSendCancel(cid, "Você ja esta dentro do Kamui!")
		return false
	end

	if isInRange(PlayerPos, from2, to2) or isInRange(PlayerPos, from3, to3) or isInRange(PlayerPos, from4, to4) or isInRange(PlayerPos, from5, to5) or isInRange(PlayerPos, from6, to6) or isInRange(PlayerPos, from7, to7) then
		doPlayerSendCancel(cid, "Você nao pode usar o Kamui no Jutsu aqui!")
		return false
	end

	if getTileInfo(getThingPos(cid)).pvp then
		doPlayerSendCancel(cid, "Você nao pode usar o Kamui no Jutsu aqui!")
		return false
	end

	if exhaustion.check(cid, 5570) == TRUE then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 5570) .. " segundos para usar novamente.")
		return false
	end

	local pos = getCreaturePosition(cid)
	exhaustion.set(cid, 5570, 60)
	doSendMagicEffect(PlayerPos, 196)
	doCreateTeleport(5023, enter, pos)
	setPlayerStorageValue(cid, 5020, PlayerPos.x)
	setPlayerStorageValue(cid, 5021, PlayerPos.y)
	setPlayerStorageValue(cid, 5022, PlayerPos.z)
	local tp = getTileItemById(pos, 5023).uid
	doItemSetAttribute(tp, "aid", 5560)
	addEvent(removeTeleport, 5000, pos)
	return doCombat(cid, combat, var)
end

 

 

Portal do mundo normal (Esse script vai salvar a posição dos outros players.)

Spoiler

function onStepIn(cid, fromPosition, toPosition)

local enter = {x = 1250, y = 1250, z = 7}
local PlayerPos = getCreaturePosition(cid)
	
	setPlayerStorageValue(cid, 5020, PlayerPos.x)
	setPlayerStorageValue(cid, 5021, PlayerPos.y)
	setPlayerStorageValue(cid, 5022, PlayerPos.z)
	return true
end

 

 

Portal para sair do kamui

Spoiler

function onStepIn(cid, fromPosition, toPosition)

b1 = getPlayerStorageValue(cid, 5020)
b2 = getPlayerStorageValue(cid, 5021)
b3 = getPlayerStorageValue(cid, 5022)

local pos = getCreaturePosition(cid)
local back = {x = b1, y = b2, z = b3}

	doTeleportThing(cid, back)
	return true
end

 

 

Tags dos movements

Portal do mundo normal
<movevent type="StepIn" actionid="5560" event="script" value="step.lua"/>

Portal no kamui
<movevent type="StepIn" actionid="5506" event="script" value="step2.lua"/>

 

Editado por JoviM (veja o histórico de edições)

  • Respostas 28
  • Visualizações 2.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @leozincorsair Foi mal, realmente foi erro meu. Bom, pra fazer com que quem entre possa sair, vai ser preciso criar um novo movement. Por que? Simples, quando o player casta a spell a posição dele fic

  • @leozincorsair Usa essa spell, os portais são 1 para o mundo normal e outro para o kamui. Como o portal já vai estar salvando a posição do player, eu removi essa 'função' da spell.   Spell

Posted Images

Postado
  • Autor
12 minutos atrás, JoviM disse:

@leozincorsair Foi mal, realmente foi erro meu. Bom, pra fazer com que quem entre possa sair, vai ser preciso criar um novo movement. Por que? Simples, quando o player casta a spell a posição dele fica salva. Já o player que entrar no portal do mundo normal não vai ter suas posições salvas, logo não poderá retornar. Mas vamos lá.

 

Spell

  Mostrar conteúdo oculto


local enter = {x = 1250, y = 1250, z = 7}

local combat = createCombatObject()
function removeTeleport(PlayerPos)
	tp = getTileItemById(PlayerPos, 5023).uid
	doRemoveItem(tp, 1)
	doSendMagicEffect(PlayerPos, 2)
end

function onCastSpell(cid, var)

local PlayerPos = getCreaturePosition(cid)
local from1,to1 = {x=979, y=911, z=7},{x=995, y=920, z=7}
local from2,to2 = {x=1964, y=731, z=7},{x=1976, y=742, z=7}
local from3,to3 = {x=1206, y=751, z=7},{x=1232, y=778, z=7}
local from4,to4 = {x=1201, y=746, z=6},{x=1238, y=782, z=6}
local from5,to5 = {x=979, y=911, z=6},{x=994, y=919, z=6}
local from6,to6 = {x=978, y=920, z=5},{x=1007, y=931, z=5}
local from7,to7 = {x=987, y=919, z=4},{x=1008, y=931, z=4}

	if isInRange(PlayerPos, from1, to1) then
		doPlayerSendCancel(cid, "Você ja esta dentro do Kamui!")
		return false
	end

	if isInRange(PlayerPos, from2, to2) or isInRange(PlayerPos, from3, to3) or isInRange(PlayerPos, from4, to4) or isInRange(PlayerPos, from5, to5) or isInRange(PlayerPos, from6, to6) or isInRange(PlayerPos, from7, to7) then
		doPlayerSendCancel(cid, "Você nao pode usar o Kamui no Jutsu aqui!")
		return false
	end

	if getTileInfo(getThingPos(cid)).pvp then
		doPlayerSendCancel(cid, "Você nao pode usar o Kamui no Jutsu aqui!")
		return false
	end

	if exhaustion.check(cid, 5570) == TRUE then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 5570) .. " segundos para usar novamente.")
		return false
	end

	local pos = getCreaturePosition(cid)
	exhaustion.set(cid, 5570, 60)
	doSendMagicEffect(PlayerPos, 196)
	doCreateTeleport(5023, enter, pos)
	setPlayerStorageValue(cid, 5020, PlayerPos.x)
	setPlayerStorageValue(cid, 5021, PlayerPos.y)
	setPlayerStorageValue(cid, 5022, PlayerPos.z)
	local tp = getTileItemById(pos, 5023).uid
	doItemSetAttribute(tp, "aid", 5560)
	addEvent(removeTeleport, 5000, pos)
	return doCombat(cid, combat, var)
end

 

 

Portal do mundo normal (Esse script vai salvar a posição dos outros players.)

  Mostrar conteúdo oculto



function onStepIn(cid, fromPosition, toPosition)

local enter = {x = 1250, y = 1250, z = 7}
local PlayerPos = getCreaturePosition(cid)
	
	setPlayerStorageValue(cid, 5020, PlayerPos.x)
	setPlayerStorageValue(cid, 5021, PlayerPos.y)
	setPlayerStorageValue(cid, 5022, PlayerPos.z)
	return true
end

 

 

Portal para sair do kamui

  Mostrar conteúdo oculto


function onStepIn(cid, fromPosition, toPosition)

b1 = getPlayerStorageValue(cid, 5020)
b2 = getPlayerStorageValue(cid, 5021)
b3 = getPlayerStorageValue(cid, 5022)

local pos = getCreaturePosition(cid)
local back = {x = b1, y = b2, z = b3}

	doTeleportThing(cid, back)
	return true
end

 

 

Tags dos movements


Portal do mundo normal
<movevent type="StepIn" actionid="5560" event="script" value="step.lua"/>

Portal no kamui
<movevent type="StepIn" actionid="5506" event="script" value="step2.lua"/>

 

 

man , não tem como coloca um action id no portal do "mundo normal" pq o portal e criado ao usar a spell.

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