Szerző Téma: Hex to RGB.  (Megtekintve 1352 alkalommal)

Hex to RGB.
« Dátum: 2010. december 14. - 19:22:48 »
0 Show voters
Ide is csinálok egy ilyet, hátha jobbak vagytok, mint az angol forumosok.
Van egy kis scriptem.
 
#include <a_samp>
new PlayerColors[200] = {
0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF,0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,
0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,0x3D0A4FFF,
0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,0x057F94FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,
0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,
0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,0xDCDE3DFF,
0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,0xD8C762FF,0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,
0xF4A460FF,0xEE82EEFF,0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,
0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,
0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,
0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,
0xD8C762FF,0xD8C762FF
};
public OnPlayerConnect(playerid)
{
SetPlayerColor(playerid, PlayerColors[playerid]);
return 1;
}
public OnPlayerText(playerid, text[])
{
new string[128];
format(string, sizeof(string), \"{FF0000}[%d]%s%s: {FFFFFF}%s\", playerid, ReturnColor(PlayerColors[playerid]), PlayerName(playerid), text);
SendClientMessageToAll(-1, string);
return 0;
}
stock ReturnColor(const color) // from Y_Less
{
new str[32];
format(str, sizeof(str), \"{%06x}\", color);
return str;
}
stock PlayerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}

 
Ezt kapom
http://img88.imageshack.us/img88/8880/samp011u.png
De nekem ez kéne
http://img64.imageshack.us/img64/6/samp009vx.png


Tehát PlayerID más színnel, Játékos neve a saját színével, és az üzenet is más színnel.
A játékos színének convertálásánál van a hiba.

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
Hex to RGB.
« Válasz #1 Dátum: 2010. december 14. - 19:32:55 »
0 Show voters
format(string, sizeof(string), \"{FF0000}[%d]%s%s: {FFFFFF}%s\", playerid, ReturnColor(PlayerColors[playerid]), PlayerName(playerid), text);
Csere erre:
format(string, sizeof(string), \"{FF0000}[%d]{%s}%s: {FFFFFF}%s\", playerid, ReturnColor(PlayerColors[playerid]), PlayerName(playerid), text);
Edit: Asszem elnéztem, mert stringgel tér vissza maga a függvény...  ;D Javítottam, most asszem jó.
« Utoljára szerkesztve: 2010. december 14. - 19:35:20 írta Iceaac »

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Hex to RGB.
« Válasz #2 Dátum: 2010. december 14. - 19:52:27 »
0 Show voters
Ezt nem igazán értem, de játékos színét ezzel rakod RRGGBB-re: ( Ezzel mûködik )
 

GetPlayerColor(playerid) >>> 8

 
ReturnColor meg nemjó, mert nem totod el 8-al a biteket.
 

public OnPlayerText(playerid, text[])
{
new
string[128],
MyName[24];
GetPlayerName(playerid, MyName, sizeof(MyName));
format(string, sizeof(string), \"{%06x}%d{FFFFFF}%s:%s\", GetPlayerColor(playerid) >>> 8, playerid,  MyName, text);
SendClientMessageToAll(0xFFFFFFFF, string);
return 0;
}
« Utoljára szerkesztve: 2010. december 14. - 19:57:39 írta kurta999 »

Hex to RGB.
« Válasz #3 Dátum: 2010. december 14. - 19:58:48 »
0 Show voters
Hiába tolom el, ugyanúgy fekete színt kapok.
Írd már meg nekem légy oly szíves :D
« Utoljára szerkesztve: 2010. december 14. - 20:18:55 írta TengeriMalac »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal