Ir para conteúdo

Featured Replies

Postado

Galera alguém poderia me ajudar nessa script/spell.

 Bom ela funciona assim quando um player a usa , e criado um tp debaixo dele e com um tempo ele some( ate ai normal)

 porem nesse novo lugar onde as pessoa entraram , há alguns tps de volta, porém ai onde esta o problema, só pode sair do mundo quem invocou o portal.

 quem entrou normal , não tem como sair. alguém poderia revisar esse script por favor

+ rep

 

 

Script Spell :

local enter = {x = 1218, y = 765, 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

 

Script Movements:

function onStepIn(cid, item, pos)

b1 = getPlayerStorageValue(cid, 5020)
b2 = getPlayerStorageValue(cid, 5021)
b3 = getPlayerStorageValue(cid, 5022)
local pos = getCreaturePosition(cid)
local back = {x=b1, y=b2, z=b3}
local from = {x=pos.x, y=pos.y+1, z=pos.z}

if exhaustion.check(cid, 5562) == false then
doTeleportThing(cid, back)
else
doTeleportThing(cid, from)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 5562) .. " segundos para voltar.")
return true
end
end

 

Resolvido por Agaka

Ir para solução
  • 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

Aqui no TibiaKing mensagens como UP e BUMP são proibidas, utilize o botão subir este tópico. Esta é uma mensagem automática!
Pedimos que leia as regras do fórum!

Spoiler

Here in TibiaKing messages like UP and BUMP are prohibited, use the button raise this topic. This is an automated message!
Please read the forum rules.

 

Postado

@leozincorsair 

Spell

Spoiler

local enter = {x = 1218, y = 765, 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)
	setPlayerStorageValue(cid, 5050, 1) -- Storage para sair do portal
	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

 

 

Teleport

Spoiler

function onStepIn(cid, item, pos)

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

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

	if exhaustion.check(cid, 5562) == false then
		if getPlayerStorageValue(cid, 5050) == 1 then
			doTeleportThing(cid, back)
			setPlayerStorageValue(cid, 5050, 0)
		else
			doTeleportThing(cid, from)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce nao pode voltar.")
		end
	else
		doTeleportThing(cid, from)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 5562) .. " segundos para voltar.")
		return true
	end
end

 

 

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