Portal SAMP
[Ajuda] Velocimetro - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Velocimetro (/showthread.php?tid=4404)



Velocimetro - zBarbosa - 11/01/2024

Alguém pode me explicar como posso fazer um velocímetro com os números da velocidade com cores diferentes?

Por exemplo: 

KM/H: 9 (O número 9 aparece em uma cor específica)

Já quando aparecem dois números (KM/H: 10)

Queria que o número 1 ficasse de uma cor e o 0 de outra cor

Alguém tem ideia de como posso fazer isso?


RE: Velocimetro - xbruno1000x - 11/01/2024

Só colocar uma if ou fazer um switch case. Se você mostrar o código do timer do velocímetro daria pra dar um exemplo melhor.


RE: Velocimetro - White_Blue - 11/01/2024

Basta usar Text Colors.

Exemplo:
Código PHP:
new Text:OlaMundo;

public 
OnGameModeInit() {
        
OlaMundo TextDrawCreate(240.0580.0"~g~Ola ~r~mundo!"); // Exibe o "Ola" em verde e o "mundo" em vermelho.
        
return 1;
}

public 
OnPlayerConnect(playerid) {
         
TextDrawShowForPlayer(playeridOlaMundo);
         return 
1;


Aqui contém uma lista com as cores disponíveis: https://www.open.mp/docs/scripting/resources/gametextstyles


RE: Velocimetro - Vel - 11/01/2024

Faça um loop até que o número se torne 0
Selecione aleatoriamente uma cor (no caso deste exemplo)
Converta o último dígito em um caractere
Passe para o próximo dígito dividindo o número por 10

Código PHP:
main() {
  static const 
colors[][] = { "~r~""~g~""~b~""~w~""~y~""~p~" };

  new 
number 100,
    
result[32 1];

  while (
number 0) {
    
format(resultsizeof(result), "%s%c%s"colors[random(sizeof(colors))], (number 10) + '0'result);

    
number /= 10;
  }

  print(
result);




RE: Velocimetro - zBarbosa - 11/01/2024

(11/01/2024 17:47)Vel Escreveu: Faça um loop até que o número se torne 0
Selecione aleatoriamente uma cor (no caso deste exemplo)
Converta o último dígito em um caractere
Passe para o próximo dígito dividindo o número por 10

Código PHP:
main() {
  static const colors[][] = { "~r~""~g~""~b~""~w~""~y~""~p~" };

  new number 100,
    result[32 1];

  while (number 0) {
    format(resultsizeof(result), "%s%c%s"colors[random(sizeof(colors))], (number 10) + '0'result);

    number /= 10;
  }

  print(result);


Queria fazer com uma cor não definida , um roxo, deixei um exemplo abaixo.