20.05.2015, 01:35
Deja... yo te explico.
SA-MP, nativamente asigna un color automбtico al jugador que se conecta. Sin embargo, este color no se puede obtener con "GetPlayerColor" (siempre mostrarб 0). Entonces para solucionar esto, se le asigna un color con "SetPlayerColor"...
Como deberias saber, los colores en SA-MP son nъmeros hexadecimales, y estos hexadecimales representan a un nъmero decimal (que van desde 0 a 9). En otras palabras, como dijo alguien por arriba, cada vez que haces esto:
Es como hacer:
Ya que el compilador transforma a decimal todos los nъmeros hexadecimales encontrados (de hecho, tambiйn los binarios).
Ahora, cual es el problema? La funciуn "SendClientMessage" (entre otras) solo permiten el uso de colores hexadecimales. Osea que:
No es lo mismo a:
La soluciуn? Ocupar el especificador para hexadecimales "%x". Este especificador transformarб el nъmero 45055 al hexadecimal correspondiente 0x0000AFFF para poder ser usado en la funciуn de nuestra prueba. Como?
SA-MP, nativamente asigna un color automбtico al jugador que se conecta. Sin embargo, este color no se puede obtener con "GetPlayerColor" (siempre mostrarб 0). Entonces para solucionar esto, se le asigna un color con "SetPlayerColor"...
Como deberias saber, los colores en SA-MP son nъmeros hexadecimales, y estos hexadecimales representan a un nъmero decimal (que van desde 0 a 9). En otras palabras, como dijo alguien por arriba, cada vez que haces esto:
pawn Код:
SendClientMessage(jugadorid, 0x0000AFFF, "Mensaje.");
pawn Код:
SendClientMessage(jugadorid, 45055, "Mensaje.");
Ahora, cual es el problema? La funciуn "SendClientMessage" (entre otras) solo permiten el uso de colores hexadecimales. Osea que:
pawn Код:
SendClientMessage(jugadorid, 0, "Mensaje {0000AF}con color.");
pawn Код:
SendClientMessage(jugadorid, 0x0, "Mensaje {45055}con color.");
pawn Код:
format(tmp, sizeof tmp, "El jugador {%06x}%s {FFFFFF}con ID {%06x}%d {FFFFFF}se autofirmу la playera.",
color >>> 8, nombre, color >>> 8, jugadorid);