Ir para conteúdo
  • Cadastre-se

(Resolvido)Script simples de teleportar


Ir para solução Resolvido por Vodkart,

Posts Recomendados

VALENDO REP+

 

Estou tentando criar um simples script, que ao player pisar em x posição ele seja teleportado para y área.

 

Escrevi o codigo da seguinte forma:

positions = {
[{x = 1083, y = 1036, z = 13}] = {x = 1067, y = 1035, z = 13},
[{x = 1083, y = 1036, z = 13}] = {x = 1067, y = 1035, z = 13},
    }


function onStepIn(cid, item, fromPosition, item2, topos)
for pisar, levar in ipairs(positions) do
if isPosEqualPos(topos, levar) then
		teleportar = levar
end
end

		
if teleportar ~= nill then
	doTeleportThing(cid, teleportar)
end



return TRUE
end  

 

Porém como podem imaginar não deu certo.

 

OBS: Sim, eu coloquei o action id no piso.

OBS2: Creio que o erro esteja na forma como a tabela "pisar" foi declarada, nunca declarei tabela que o primeiro valor fosse uma posição...

 

 

Link para o post
Compartilhar em outros sites
-- Simple teleport by egyptPOWER

function onStepIn(cid, item, pos)
	if item.actionid== ACTION ID then
		newpos = {x = 1083, y = 1036, z = 13}
		doTeleportThing(cid, newpos)
		doSendMagicEffect(newpos, 12)
		return true
	end
end

 

Veja se é isso que você quer. Sinceramente não entendi seu código.

 

Apenas substitua a Action ID pela sua actionID do piso.

 

Abraço

No signature.

 

 

 

Link para o post
Compartilhar em outros sites

vc pode direcionar a pos do teleport dependendo do actionID do que piso onde ele passar, exemplo:

 

 

AID 30501 --> POS 256,65,7

AID 30502 --> POS 587,72,5

 

etc...

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Estava tentando fazer da seguinte forma: TODOS PISOS USARIAM MESMO ACTION ID, ao pisar no piso com o action id, o sistema verificaria a posição do piso que o player pisou (para isso o for), e teleportaria o player para o local correspondente do piso.

 

Ex:

positions = {
[{x = 1083, y = 1036, z = 13}] = {x = 1067, y = 1035, z = 13}, ---- [{pisa aqui}] = {vai parar aqui}
[{x = 1083, y = 1036, z = 13}] = {x = 1067, y = 1035, z = 13},
    }


function onStepIn(cid, item, fromPosition, item2, topos)
for pisar, levar in ipairs(positions) do
if isPosEqualPos(topos, levar) then
		teleportar = levar
end
end

		
if teleportar ~= nill then
	doTeleportThing(cid, teleportar)
end



return TRUE
end  

Acho que o problema esta na forma desse array.

Link para o post
Compartilhar em outros sites
  • Solução

@HisokaFail 

 

local ret = {
	{{x = 1083, y = 1036, z = 13}, {x = 1067, y = 1035, z = 13}}, ---- [{pisa aqui}] = {vai parar aqui}
	{{x = 1085, y = 1037, z = 13}, {x = 1069, y = 1038, z = 13}},
}
function onStepIn(cid, item, fromPosition, item2, topos)
	if not isPlayer(cid) then
		return true
	end
	for i = 1,#ret do
		if isPosEqualPos(ret[i][1], topos) then
			doTeleportThing(cid, ret[i][2])
			break
		end
	end
	return true
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
40 minutos atrás, Vodkart disse:

@HisokaFail 

 


local ret = {
	{{x = 1083, y = 1036, z = 13}, {x = 1067, y = 1035, z = 13}}, ---- [{pisa aqui}] = {vai parar aqui}
	{{x = 1085, y = 1037, z = 13}, {x = 1069, y = 1038, z = 13}},
}
function onStepIn(cid, item, fromPosition, item2, topos)
	if not isPlayer(cid) then
		return true
	end
	for i = 1,#ret do
		if isPosEqualPos(ret[i][1], topos) then
			doTeleportThing(cid, ret[i][2])
			break
		end
	end
	return true
end

 

 

Entendi meu erro, muito obrigado.

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo