Jump to content

[AJUDA] LOADER


Recommended Posts

BOAS-VINDAS PARA MIM MESMO ;)

Oi ! Tudo Bem ? Espero que sim amigo, hoje estou aqui para fazer meu primeiro post relacionado a script, eu creio que esse post ira abrir minha visão de como o "lua" funciona. 

-

DÚVIDA/AJUDA
Eu estou começando a me interessar pela progamação em jogos, e especifico o MTA. Bom... eu queria uma dica de como fazer um "loader". Eu ja estou aprendendo os conceitos básicos mais queria ter uma noção de como faz esse tipo de script.

-

( LOADER: FAZER COM QUE O PLAYER AO INVÉS DE FICAR ESPERANDO TELA PRETA DO "DOWNLOAD" DO SERVER, TIVER UMA TELA QUE TENHA ANIMAÇÕES E UMA TEMATICA LEGAL E DIVERTIDA ) EXEMPLOS: LOADER DO DESTINY ROLEPLAY. ( server muito bom por acaso, recomendo a vocês. )

-

Como acabei de explicar, eu quero fazer esse tipo de script, mas não sei a base de onde começar e nem oque preciso para fazer isso, queria uma dica a vocês para me guiarem a o lugar certo.

 

IP DO DESTINY ROLEPLAY: mtasa://149.56.29.127:22003

MEU DISCORD/CONTATO: d13g0#4275( SE QUISER ME DAR ALGUMAS DICAS A MAIS )

 

-BOAS-VINDAS/DÚVIDA/AJUDA-

Edited by D13G0
Link to comment

Pra fazer uma tela de download você pode usar uma propriedade no meta do resource de tela exemplo:

 

<script>
	<script src="client.lua" type="client" cache="false"/>
	<download_priority_group>1</download_priority_group> 
</script> 

Repare nessa linha:

<download_priority_group>1</download_priority_group>

Setamos a propriedade para este resource ser baixado antes de todos, após ele ser baixado vai começar renderizar a tela, agora oque devemos fazer é um script pra ficar rodando em quanto os demais são baixados exemplo:

function downScreen ()
	if getElementData (localPlayer, "finishdown") then -- Se a data existir então:
		removeEventHandler ("onClientRender", getRootElement(), downScreen) -- Remove a render da tela
		setElementData (localPlayer, "finishdown", false) -- Seta a data como false
	end
	-- dxdraw da tela aqui!
end
addEventHandler( "onClientRender", root, downScreen)

Repare nesta data, vamos usar ela pra saber se o cara esta ou não no download, agora vamos pegar um resource pra ser baixado por último e setar prioridade negativa nele, no meu caso eu uso o painel de login então ficaria assim no meta:

<download_priority_group>-1</download_priority_group>

E agora no resource:

function disableDownScreen ()
    setElementData (localPlayer, "finishdown", true)
end
addEventHandler ("onClientResourceStart", resourceRoot, disableDownScreen)

 

Edited by OverKILL
  • Like 1
  • Confused 1
Link to comment
1 minute ago, OverKILL said:

Pra fazer uma tela de download você pode usar uma propriedade no meta do resource de tela exemplo:

 


<script>
	<script src="client.lua" type="client" cache="false"/>
	<download_priority_group>1</download_priority_group> 
</script> 

Repare nessa linha:


<download_priority_group>1</download_priority_group>

Setamos a propriedade para este resource ser baixado antes de todos, após ele ser baixado vai começar renderizar a tela, agora oque devemos fazer é um script pra ficar rodando em quanto os demais são baixados exemplo:


function downScreen ()
	if getElementData (localPlayer, "finishdown") then
		removeEventHandler ("onClientRender", getRootElement(), downScreen)
		setElementData (localPlayer, "finishdown", false)
	end
	dxdraw da tela aqui!
end
addEventHandler( "onClientRender", root, downScreen)

Repare nesta data, vamos usar ela pra saber se o cara esta ou não no download, agora vamos pegar um resource pra ser baixado pro último e setar prioridade negativa nele, no meu caso eu uso o painel de login então ficaria assim no meta:


<download_priority_group>1</download_priority_group>

E agora no resource:


function disableDownScreen ()
    setElementData (localPlayer, "finishdown", true)
end
addEventHandler ("onClientResourceStart", resourceRoot, disableDownScreen)

 

Irei tentar entender, como eu so iniciante e dificil para mim, mas mt obrigado, agradeço mt

Link to comment
2 minutes ago, OverKILL said:

Se tiver alguma dúvida fique a vontade de perguntar.

ah tem que eu tenho, tem algum link que ensine a mecher com dxdraw? so para mim ter uma noção de como se faz esse tal proesa kkkkk

Link to comment
1 minute ago, OverKILL said:

Você pode baixar o resource GUIEditor e fazer por ele.

sim, estou ciente desse resource, mas coloca eu posso... colocar... uma imagem sabe, tipo uma imagem de fundo e deixar ela ajustada para todas as resoluçoes 

Link to comment
  • Other Languages Moderators

Putz, estão doando scripts por aqui que eu ajudei a desenvolver... que pena.

6 hours ago, D13G0 said:

hoje estou aqui para fazer meu primeiro post relacionado a script

Como se trata de seu primeiro post, você talvez não saiba a formatação correta que se deve utilizar em nosso fórum. Recomendo que veja este post e saiba de tudo:

Um abraço e boa sorte.

  • Thanks 2
Link to comment
9 hours ago, OverKILL said:

Pra fazer uma tela de download você pode usar uma propriedade no meta do resource de tela exemplo:

 


<script>
	<script src="client.lua" type="client" cache="false"/>
	<download_priority_group>1</download_priority_group> 
</script> 

Repare nessa linha:


<download_priority_group>1</download_priority_group>

Setamos a propriedade para este resource ser baixado antes de todos, após ele ser baixado vai começar renderizar a tela, agora oque devemos fazer é um script pra ficar rodando em quanto os demais são baixados exemplo:


function downScreen ()
	if getElementData (localPlayer, "finishdown") then -- Se a data existir então:
		removeEventHandler ("onClientRender", getRootElement(), downScreen) -- Remove a render da tela
		setElementData (localPlayer, "finishdown", false) -- Seta a data como false
	end
	-- dxdraw da tela aqui!
end
addEventHandler( "onClientRender", root, downScreen)

Repare nesta data, vamos usar ela pra saber se o cara esta ou não no download, agora vamos pegar um resource pra ser baixado por último e setar prioridade negativa nele, no meu caso eu uso o painel de login então ficaria assim no meta:


<download_priority_group>-1</download_priority_group>

E agora no resource:


function disableDownScreen ()
    setElementData (localPlayer, "finishdown", true)
end
addEventHandler ("onClientResourceStart", resourceRoot, disableDownScreen)

 

opa overkill da pra usar um gif? porq uma imagem parada fica meio estranho, queria por um gif com um loading tlg, p n dar a impressão de "travado"

Link to comment
  • Other Languages Moderators

Eu também usaria 1 imagem PNG com rotação em vez de GIF.

O loading padrão do MTA (aquele que aparece junto da barra de download dos mods) é feito com varias imagens que vão trocando a cada frame. (como se fosse um GIF)

Você pode encontrá-las em: (diretório de instalação do seu MTA)\MTA San Andreas 1.5\MTA\cgui\images\transferset

Link to comment

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