Guardar color hexadecimal en mysql
#1

Bueno, como dice el titulo Guardar color hexadecimal en mysql, lo que quiero hacer basicamente es que un color se me guarde en una tabla en mi base de datos,para que este sea aplicado al jugador basado en su clan.

Intente hacerlo por mi cuenta pero falle, tengo el problema que el color se me guarda de manera rara, osea no parece ni un color, me aparece esto:

Код:
рџ[D=
OD"чgDЦ04DљiЂDЯ№5Dy?Dђ#
Este es el codigo que utilizo, el campo esta configurado como varchar de 30 caracteres.
PHP код:
new rand random(sizeof(RandomColors));
    
mysql_format(mysqlquerysizeof(query), "INSERT INTO `"TABLA_CLANES"` (`nombre`, `fundador`, `zonas`, `rango`, `reputacion`, `killsmembers`, `deathsmembers`, `liga`, `ClanColor`) VALUES ('%e','%e',0,0,0,0,0,0,'%e')",gName,pName(playerid),RandomColors[rand]); 
Utilizo el plugin BlueG Plugin MYSQL, version R33.
Reply
#2

guardalo como un int: '%d', y para cargarlo, tambien como cargas un int
Reply
#3

Primero que nada, pusiste al crear la columna el hexa? sino guardalo como string ! te ayudaria mas pero no me acuerdo como se hacia para extraer y guardar valores hexa o usar %e !

Yo para guardar colores hexagecimal uso string ! ( Varchar(12) NOT NULL DEFAULT = '0xFFFFFFFF' )
Reply
#4

Quote:
Originally Posted by ForTrezZ
Посмотреть сообщение
Primero que nada, pusiste al crear la columna el hexa? sino guardalo como string ! te ayudaria mas pero no me acuerdo como se hacia para extraer y guardar valores hexa o usar %e !

Yo para guardar colores hexagecimal uso string ! ( Varchar(12) NOT NULL DEFAULT = '0xFFFFFFFF' )
Yo tambien uso string, pero nose por que me salen esas letras tan raras
Reply
#5

probaste guardandolo y cargandolo como un int?
yo los colores los guardo y cargo asi y funciona bien
Reply
#6

para que pones %e si los valores que se guardarбn ahн son predefinidos tuyos y no contienen carбcteres especiales? muestra el RandColor, tienes varias alternativas: Almacenar el array de colores random como string "0xFFFFFFFF" y luego convertirlo a entero o hex, almacenarlo como hexadeciman y luego pasarlo a string, y usarlo como hex pero guardarlo como string.. Hay varias formas, lo mбs fбcil serнa guardarlo como entero.
Reply
#7

como lo guardo como entero, el randcolor simplemente es un enum con muchos colores hexadecimales
Reply
#8

pues los hexadecimales son enteros en realidad, pero expresados de otra forma, cambias el %e por %i
Reply
#9

PHP код:
    new inttostr[100],intcolor;
    
intcolor cache_get_field_content_int(0,"ClanColor");
    
format(inttostr,sizeof(inttostr),"%d",intcolor);
    
HexToInt(inttostr);
    
SetPlayerColor(playerid,inttostr); 
lo puse de esa manera y me tira este error:
pawn Код:
error 035: argument type mismatch (argument 2)
el error es en la linea del SetPlayerColor,
la funcion hextoint la saque de color list de wikisamp.

en la tabla el color, quedo de la siguiente manera:
pawn Код:
-257991868
Reply
#10

Код:
new intcolor; 
intcolor = cache_get_field_content_int(0,"ClanColor"); 
SetPlayerColor(playerid,intcolor);
usa asi
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)