Jump to content

Trailer de caminhão


Recommended Posts

Posted

Acho que não é novidade pra ninguém que quando pegamos um trailer de caminhão manualmente sem script, fica bugado para os outros jogadores. Daí eu descobri um evento, "onTrailerAttach" que curiosamente ele é chamado até quando é do jeito manualmente (sem ser pela função "attachTrailerToVehicle")

 

E com isso criei esse pequeno código, que na teoria, ele desbugaria o trailer quando estivesse no caminhão, más, eu não tenho uma host, e por isso não consigo ter a visão dos jogadores, e ai venho perguntar a vocês que já testaram ou podem testar

 

Esse código realmente funciona? Ou a carga fica bugada mesmo assim?

function detachTrailer(theTruck)
	attachTrailerToVehicle(theTruck, source)
end
addEventHandler("onTrailerAttach", getRootElement(), detachTrailer)
  • Moderators
Posted (edited)

Esse seu código não faz sentido. Vai entrar em loop infinito. Uma vez que o evento "onTrailerAttach" será chamado sempre que attachTrailerToVehicle funcionar.

Eu faria com onTrailerDetach, que reconectaria a carga ao caminhão sempre que ela desconectar. Impedindo que ela saia do caminhão.

Mas não sei se resolveria o bug, pois o problema não é da carga desconectar no jogador, é apenas um bug de sincronização. O jogo está considerando a carga anexada, mas no cliente dos outros jogadores não está.

Edited by Lord Henry

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

Então, é que o que eu queria mesmo é por exemplo: Eu spawno um "linerunner" e um trailer, ai encaixando o trailer no caminhão ele fica preso pra todos, não fica aquela coisa bugada para os players sabe, será que então um código assim funcionaria:

 

test = {}
function detachTrailer(theTruck)
  	if test[source] ~= true then
		attachTrailerToVehicle(theTruck, source)
  		test[source] = true
   	end
end
addEventHandler("onTrailerAttach", getRootElement(), detachTrailer)

function reattachTrailer(theTruck)
    if test[source] == true then
    	test[source] = false
    end
end
addEventHandler("onTrailerDetach", getRootElement(), reattachTrailer)

Não testei, porém, creio eu que dessa forma acabaria com o loop infinito

  • Moderators
Posted

E aí? Já testou?

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.

  • Moderators
Posted

Só chamar um amigo com notebook pra jogar na sua LAN.

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.

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