21.09.2013, 07:02
Tienes 2 opciones para hacerlo.
Como supongo no sabias, cada color hexadecimal es enrealidad un nъmero. La funciуn "SetPlayerColor" lo que hace es representar ese dнgito exadecimal en un nъmero entero, pero eso lo haces directamente, no con cadenas de texto como cargas el color que guardas en la base de datos. Hasta ahora no espero que entiendas.
Ahora lo entretenido. Como ya dije, puedes hacerlo de 2 formas, una de ellas es guardar directamente en la base de dats el color como un nъmero entero, o hacerlo como actualmente lo usas pero usando una funciуn que transforme tu cadena de texto hexadecimal en el color.
Esa funciуn te transformarб lo que obtienes de la base de datos a un color. Se usa de la manera.
Como supongo no sabias, cada color hexadecimal es enrealidad un nъmero. La funciуn "SetPlayerColor" lo que hace es representar ese dнgito exadecimal en un nъmero entero, pero eso lo haces directamente, no con cadenas de texto como cargas el color que guardas en la base de datos. Hasta ahora no espero que entiendas.
Ahora lo entretenido. Como ya dije, puedes hacerlo de 2 formas, una de ellas es guardar directamente en la base de dats el color como un nъmero entero, o hacerlo como actualmente lo usas pero usando una funciуn que transforme tu cadena de texto hexadecimal en el color.
pawn Код:
stock HexToInt(string[])
{
if (string[0]==0) return 0;
new i;
new cur=1;
new res=0;
for (i=strlen(string);i>0;i--)
{
if (string[i-1]<58)
res=res+cur*(string[i-1]-48);
else res=res+cur*(string[i-1]-65+10);
cur=cur*16;
}
return res;
}
pawn Код:
new hex[] = "0xFFFFFFFF";
SetPlayerColor(jugadorid, HexToInt(hex));