Ir para conteúdo

Featured Replies

Postado

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...

 

 

Resolvido por Vodkart

Ir para solução
  • Respostas 5
  • Visualizações 638
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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...

  • @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}}

Postado
-- 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.

 

 

 

Postado

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

 

Postado
  • Autor

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.

Postado
  • 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

 

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.6k

Informação Importante

Confirmação de Termo