Recommended Posts

Olá pessoal do forum, tenho um ''DX Money'' no meu servidor, abaixo mostrarei a imagem dele pelo print

https://prnt.sc/kytkfg

Eu escrevi no print, onde quero mais ou menos q ele apareça, caso possam me ajudar!

No print, ele esta entre o velocimetro não sei se conseguiram ver escrito "- $799,200", eu queria que ele aparecesse mais ou menos a partir dali onde esta a seta do mta, não muito perto do hud, porque ele esta praticamente dentro do velocimetro, o script dele esta abaixo, OBS:Ele tem só´1 arquivo.lua q é o client

-------------------------------------------------------------------------

Client:

local playerMoney = getPlayerMoney ( localPlayer )
local messages =  { }
local sx, sy = guiGetScreenSize ( )

addEventHandler ( "onClientRender", root, function ( )
	local tick = getTickCount ( )
	if ( playerMoney ~= getPlayerMoney ( localPlayer ) ) then
		local pM = getPlayerMoney ( localPlayer ) 
		if ( pM > playerMoney ) then
			local diff = pM - playerMoney
			table.insert ( messages, { diff, true, tick + 5000, 180 } )
		else
			local diff = playerMoney - pM
			table.insert ( messages, { diff, false, tick + 5000, 180 } )
		end
		playerMoney = pM
	end
	
	if ( #messages > 7 ) then
		table.remove ( messages, 1 )
	end
	
	for index, data in ipairs ( messages ) do
		local v1 = data[1]
		local v2 = data[2]
		local v3 = data[3]
		local v4 = data[4]
		dxDrawRectangle ( sx - 220, (sy-20)-(index*25), 200, 20, tocolor ( 0, 0, 0, v4 ) )
		
		if ( v2 ) then
			dxDrawText ( "+ $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 0, 255, 0, v4+75 ), 1, 'default-bold' )
		else
			dxDrawText ( "- $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 255, 0, 0, v4+75 ), 1, 'default-bold' )
		end
		
		if ( tick >= v3 ) then
			messages[index][4] = v4-2
			if ( v4 <= 25 ) then
				table.remove ( messages, index )
			end
		end
	end
end )



function convertNumber ( number )  
	local formatted = number  
	while true do      
		formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')    
		if ( k==0 ) then      
			break   
		end  
	end  
	return formatted
end

 

Edited by #Horus

Share this post


Link to post

From translate i guess what do you want, i think you want to move the text up.
Use next code:

 

local playerMoney = getPlayerMoney ( localPlayer )
local messages =  { }
local sx, sy = guiGetScreenSize ( )
local recty, texty = 100, 98;

addEventHandler ( "onClientRender", root, function ( )
	local tick = getTickCount ( )
	if ( playerMoney ~= getPlayerMoney ( localPlayer ) ) then
		local pM = getPlayerMoney ( localPlayer ) 
		if ( pM > playerMoney ) then
			local diff = pM - playerMoney
			table.insert ( messages, { diff, true, tick + 5000, 180 } )
		else
			local diff = playerMoney - pM
			table.insert ( messages, { diff, false, tick + 5000, 180 } )
		end
		playerMoney = pM
	end
	
	if ( #messages > 7 ) then
		table.remove ( messages, 1 )
	end
	
	for index, data in ipairs ( messages ) do
		local v1 = data[1]
		local v2 = data[2]
		local v3 = data[3]
		local v4 = data[4]
		dxDrawRectangle ( sx - 220, (sy-recty)-(index*25), 200, 20, tocolor ( 0, 0, 0, v4 ) )
		
		if ( v2 ) then
			dxDrawText ( "+ $"..convertNumber ( v1 ), sx - 200, (sy-texty)-(index*25), 50, 20, tocolor ( 0, 255, 0, v4+75 ), 1, 'default-bold' )
		else
			dxDrawText ( "- $"..convertNumber ( v1 ), sx - 200, (sy-texty)-(index*25), 50, 20, tocolor ( 255, 0, 0, v4+75 ), 1, 'default-bold' )
		end
		
		if ( tick >= v3 ) then
			messages[index][4] = v4-2
			if ( v4 <= 25 ) then
				table.remove ( messages, index )
			end
		end
	end
end )



function convertNumber ( number )  
	local formatted = number  
	while true do      
		formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')    
		if ( k==0 ) then      
			break   
		end  
	end  
	return formatted
end


And please in next time post your problems here: https://forum.mtasa.com/forum/97-portuguese-português/
So may members in Portugueese section helps you in your language = )

Share this post


Link to post
11 hours ago, iMr.WiFi..! said:

From translate i guess what do you want, i think you want to move the text up.
Use next code:

 


local playerMoney = getPlayerMoney ( localPlayer )
local messages =  { }
local sx, sy = guiGetScreenSize ( )
local recty, texty = 100, 98;

addEventHandler ( "onClientRender", root, function ( )
	local tick = getTickCount ( )
	if ( playerMoney ~= getPlayerMoney ( localPlayer ) ) then
		local pM = getPlayerMoney ( localPlayer ) 
		if ( pM > playerMoney ) then
			local diff = pM - playerMoney
			table.insert ( messages, { diff, true, tick + 5000, 180 } )
		else
			local diff = playerMoney - pM
			table.insert ( messages, { diff, false, tick + 5000, 180 } )
		end
		playerMoney = pM
	end
	
	if ( #messages > 7 ) then
		table.remove ( messages, 1 )
	end
	
	for index, data in ipairs ( messages ) do
		local v1 = data[1]
		local v2 = data[2]
		local v3 = data[3]
		local v4 = data[4]
		dxDrawRectangle ( sx - 220, (sy-recty)-(index*25), 200, 20, tocolor ( 0, 0, 0, v4 ) )
		
		if ( v2 ) then
			dxDrawText ( "+ $"..convertNumber ( v1 ), sx - 200, (sy-texty)-(index*25), 50, 20, tocolor ( 0, 255, 0, v4+75 ), 1, 'default-bold' )
		else
			dxDrawText ( "- $"..convertNumber ( v1 ), sx - 200, (sy-texty)-(index*25), 50, 20, tocolor ( 255, 0, 0, v4+75 ), 1, 'default-bold' )
		end
		
		if ( tick >= v3 ) then
			messages[index][4] = v4-2
			if ( v4 <= 25 ) then
				table.remove ( messages, index )
			end
		end
	end
end )



function convertNumber ( number )  
	local formatted = number  
	while true do      
		formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')    
		if ( k==0 ) then      
			break   
		end  
	end  
	return formatted
end


And please in next time post your problems here: https://forum.mtasa.com/forum/97-portuguese-português/
So may members in Portugueese section helps you in your language = )

Yes my friend, I want to move the text up, I want it to stay above the speedometer

Share this post


Link to post

Só você diminuir o número que vai depois do sy nessas partes aqui:

		dxDrawRectangle ( sx - 220, (sy-20)-(index*25), 200, 20, tocolor ( 0, 0, 0, v4 ) )
		
		if ( v2 ) then
			dxDrawText ( "+ $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 0, 255, 0, v4+75 ), 1, 'default-bold' )
		else
			dxDrawText ( "- $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 255, 0, 0, v4+75 ), 1, 'default-bold' )
		end

Onde está -20, coloque -320 e onde está -18 coloque -318

Quanto mais negativo o número, mais pra cima ele vai ficar.

Espero ter ajudado. E seria interessante você deixar o fórum Português no seu favoritos, assim você não se esquece de postar na sessão correta.

Edited by Lord Henry
  • Thanks 1

Share this post


Link to post
20 minutes ago, Lord Henry said:

Só você diminuir o número que vai depois do sy nessas partes aqui:


		dxDrawRectangle ( sx - 220, (sy-20)-(index*25), 200, 20, tocolor ( 0, 0, 0, v4 ) )
		
		if ( v2 ) then
			dxDrawText ( "+ $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 0, 255, 0, v4+75 ), 1, 'default-bold' )
		else
			dxDrawText ( "- $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 255, 0, 0, v4+75 ), 1, 'default-bold' )
		end

Onde está -20, coloque -320 e onde está -18 coloque -318

Quanto mais negativo o número, mais pra cima ele vai ficar.

Espero ter ajudado. E seria interessante você deixar o fórum Português no seu favoritos, assim você não se esquece de postar na sessão correta.

Obrigado, é sempre tu e o overkill pra esclarecer minhas duvidas ksksks!

26 minutes ago, Lord Henry said:

Só você diminuir o número que vai depois do sy nessas partes aqui:


		dxDrawRectangle ( sx - 220, (sy-20)-(index*25), 200, 20, tocolor ( 0, 0, 0, v4 ) )
		
		if ( v2 ) then
			dxDrawText ( "+ $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 0, 255, 0, v4+75 ), 1, 'default-bold' )
		else
			dxDrawText ( "- $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 255, 0, 0, v4+75 ), 1, 'default-bold' )
		end

Onde está -20, coloque -320 e onde está -18 coloque -318

Quanto mais negativo o número, mais pra cima ele vai ficar.

Espero ter ajudado. E seria interessante você deixar o fórum Português no seu favoritos, assim você não se esquece de postar na sessão correta.

Consegui mano! Te agradeço muito, deus te abençoe mn

28 minutes ago, Lord Henry said:

Só você diminuir o número que vai depois do sy nessas partes aqui:


		dxDrawRectangle ( sx - 220, (sy-20)-(index*25), 200, 20, tocolor ( 0, 0, 0, v4 ) )
		
		if ( v2 ) then
			dxDrawText ( "+ $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 0, 255, 0, v4+75 ), 1, 'default-bold' )
		else
			dxDrawText ( "- $"..convertNumber ( v1 ), sx - 200, (sy-18)-(index*25), 50, 20, tocolor ( 255, 0, 0, v4+75 ), 1, 'default-bold' )
		end

Onde está -20, coloque -320 e onde está -18 coloque -318

Quanto mais negativo o número, mais pra cima ele vai ficar.

Espero ter ajudado. E seria interessante você deixar o fórum Português no seu favoritos, assim você não se esquece de postar na sessão correta.

Mano queria ver contigo uma outra coisa, vc sabe como faz pra area verde aparecer no radar ?

Share this post


Link to post
14 hours ago, #Horus said:

Consegui mano! Te agradeço muito, deus te abençoe mn

Me agradeça dando um Thanks no meu comentário que te ajudou. Só ir naquele botão de coração ali em baixo da minha resposta.

14 hours ago, #Horus said:

Mano queria ver contigo uma outra coisa, vc sabe como faz pra area verde aparecer no radar ?

Sim. Pra criar uma área no radar é só usar createRadarArea. Dai nos parâmetros vc informa a coordenada X e Y da área no mapa e seu tamanho X e tamanho Y, além de cor e transparência.

  • Thanks 1

Share this post


Link to post
2 hours ago, Lord Henry said:

Me agradeça dando um Thanks no meu comentário que te ajudou. Só ir naquele botão de coração ali em baixo da minha resposta.

Sim. Pra criar uma área no radar é só usar createRadarArea. Dai nos parâmetros vc informa a coordenada X e Y da área no mapa e seu tamanho X e tamanho Y, além de cor e transparência.

Opa mais tipo assim amigo, eu tenho o script da área verde separado e já tenho todas elas criadas, mas o radar que tenho em meu servidor, não mostra a área verde nele, aí para fazer aparecer preciso fazer algo?

Share this post


Link to post

Ah mano, dai é problema do radar editado que não tem suporte pra áreas. Coloque outro.

Share this post


Link to post

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.