Almacenar color hex en variable - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (
https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Almacenar color hex en variable (
/showthread.php?tid=597245)
Almacenar color hex en variable -
Ghost112397 - 28.12.2015
Buenas, vengo a pedir una mano ya que necesito almacenar un color hex en una variable, y no sй como hacerlo, a lo que me refiero es que no sй en que tipo de variable habrнa que almacenarlo, si alguien podrнa ayudarme, estarнa muy agradecido, desde ya muchas gracias.
Respuesta: Almacenar color hex en variable -
FelipeAndres - 28.12.2015
un color hex lo puedes guardar y cargar como un int
Код:
new colorojo;
colorojo = 0xFF0000FF;
para mostarlo en un mensaje
new string[50];
format(string, sizeof(string), "El color rojo es {%06x}este", colorojo >>> 8);
SendClientMessageToAll(-1, string);
para cargarlo por ejemplo:
SetPlayerColor(playerid, colorrojo);
Re: Almacenar color hex en variable -
SickAttack - 28.12.2015
Como un integer o un string, no importa.
pawn Код:
// ** INCLUDES
#include <a_samp>
#include <sscanf>
// ** DEFINES
// *** GENERAL
#define HEX_VALUE "0xFFFFFFFF"
#define INTEGER_VALUE -1
// *** FUNCTIONS
#define strcpy(%0,%1,%2) strcat((%0[0] = '\0', %0), %1, %2)
// ** MAIN
main()
{
print("Loaded \"color_hex_int.amx\"");
printf(""#HEX_VALUE" to integer: %i", HexToInt(HEX_VALUE));
printf(""#INTEGER_VALUE" to hexadecimal: %s", IntToHex(INTEGER_VALUE));
new string[11], answer[12];
strcpy(string, HEX_VALUE, 11);
answer = (IsHexOrInt(string)) ? ("Hexadecimal") : ("Integer");
printf("Is %s an integer or a hexadecimal value? %s", string, answer);
format(string, sizeof(string), "%d", INTEGER_VALUE);
answer = (IsHexOrInt(string)) ? ("Hexadecimal") : ("Integer");
printf("Is %s an integer or a hexadecimal value? %s", string, answer);
}
// ** CALLBACKS
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
// ** FUNCTIONS
stock HexToInt(hex[])
{
new int;
sscanf(hex, "x", int);
return int;
}
stock IntToHex(int)
{
new string[7];
format(string, sizeof(string), "%06x", int >>> 8);
return string;
}
stock IsNumeric(const string[])
{
return !sscanf(string, "{d}");
}
stock IsHexOrInt(hex[])
{
if(IsNumeric(hex)) return false;
return true;
}