Jump to content

Script Teleport TP


Recommended Posts

Posted

Alguém poderia me dizer as funções inciais, para eu criar um script de teleporte através de um comando? 

Tenho já uma noção, tem vários bases na Internet, porém quero fazer algo próprio.

Posted

Pode ser usado o SetElementPosition 
EXEMPLO:

function Teleport (source)
	setElementPosition ( source, posX, posY, posZ )
end
addCommandHandler("tp", Teleport)

 

  • Like 1

Meu comentário foi útil? Deixe um Thanks :D

Posted

Você também pode fazer algo mais elaborado e bonito como um painel de teleporte, segue abaixo um exemplo simples:

 

mainWindow = guiCreateWindow(299, 195, 423, 377, "Teleportes Panel", false)
guiWindowSetSizable(mainWindow, false)
showCursor (false) 
guiSetVisible (mainWindow, false)

teleLugar01 = guiCreateButton(124, 108, 175, 45, "Local 1", false, mainWindow)
guiSetProperty(teleLugar01, "NormalTextColour", "FFAAAAAA")

teleLugar02 = guiCreateButton(124, 191, 175, 45, "Local 2", false, mainWindow)
guiSetProperty(teleLugar02, "NormalTextColour", "FFAAAAAA")

closePanel = guiCreateButton(124, 313, 175, 45, "Fechar", false, mainWindow)
guiSetProperty(closePanel, "NormalTextColour", "FFAAAAAA")    

addCommandHandler ("tele", function ()
	guiSetVisible (mainWindow, true)
	showCursor (true) 
	outputChatBox ( "Você abriu o painel" )	
end)

addEventHandler ("onClientGUIClick", root, function (btn)
	if btn ~= "left" then return end 
	if source == teleLugar01 then -- Se o botão teleLugar01 for clicado então:
		setElementPosition (getLocalPlayer(), 1526.148, 751.137, 29.038) -- Envia o jogador para esse local.
		outputChatBox ( "Você foi para o local 1" ) -- Envia a output avisando o jogador.
	elseif source == teleLugar02 then -- Se o botão teleLugar02 for clicado então:
		setElementPosition (getLocalPlayer(), 1462.107, 750.879, 29.021) -- Envia o jogador para esse local.
		outputChatBox ( "Você foi para o local 2" ) -- Envia a output avisando o jogador.
	elseif source == closePanel then -- Se o botão closePanel for clicado então:
		guiSetVisible (mainWindow, false) -- Deixa a janela invísivel
		showCursor (false) -- Tira o cursor da tela
		outputChatBox ( "Você fechou o painel" ) -- Envia mensagem avisando.
	end
end)	

Eu acho mais viável fazer desta forma até por que a galera não precisa ficar digitando /1 /2 por exemplo toda hora, um click já basta.

  • Like 1
  • Moderators
Posted

Só observo esse pessoal jogando código pronto, quando o usuário deixou claro que queria apenas as funções para ele mesmo buscar aprender.

Se forem mandar códigos, pelo menos comentem as linhas para que o usuário possa estudar como ele funciona.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted

Overkill só não entendi o porque do código sendo que o carinha estava procurando apenas a função de "teleport" :/

Meu comentário foi útil? Deixe um Thanks :D

Posted
13 minutes ago, danilin said:

Overkill só não entendi o porque do código sendo que o carinha estava procurando apenas a função de "teleport" :/

Isso é apenas um exemplo, caso ele queria futuramente fazer algo mais elaborado, alias isso tem tudo a ver com o que ele quer fazer, só que de uma forma mais elaborada, enfim vai do gosto dele, fazer padrão com 1 comando pra cada teleporte, ou da forma que abordei acima. 

  • Like 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...