[Ajuda] Variбvel string para cada player
#1

Olб amigos. Eu precisava criar uma variбvel do tipo string para cada player para armazenar uma cor, neste formato "0xFF0000FF"(por exemplo).
Jб tentei fazer assim:

//Criando a variбvel(global):
Код:
new cor[MAX_PLAYERS][123];
No comando, quando irб receber o valor:
Код:
cor[playerid] = "0xFF0000FF";
E na hora de utilizar este valor:
Код:
format(string, sizeof (string), "{%06x}%s {FFFFFF}[{%06x}XX(a){FFFFFF}] [{%06x}%i{FFFFFF}]: %s", EscolhaCor[playerid][122] >>> 8, name, EscolhaCor[playerid][122] >>> 8, EscolhaCor[playerid][122] >>> 8, playerid, text);
SendClientMessageToAll(Cor_Staff, string);
E assim tambйm, alterado o 122 para 0:
Код:
format(string, sizeof (string), "{%06x}%s {FFFFFF}[{%06x}XX(a){FFFFFF}] [{%06x}%i{FFFFFF}]: %s", EscolhaCor[playerid][0] >>> 8, name, EscolhaCor[playerid][0] >>> 8, EscolhaCor[playerid][0] >>> 8, playerid, text);
SendClientMessageToAll(Cor_Staff, string);
O objetivo deste sistema, й o player poder escolher uma cor e quando ele falar no chat, o nick dele aparecer com a cor escolhida. Este foi a maneira que achei menos complicado de fazer. Se vocкs conhecerem outro modo, aceito . Se nгo souberem, apenas a soluзгo desse problema ajuda u.u. Obrigado desde jб.
Reply
#2

Formate sua string com a color em HEXADECIMAL, e quando for aplicar a cor use a funзгo HexToInt:
pawn Код:
/*MODO DE USO 'HexToInt'*/
SetPlayerColor(playerid, HexToInt("0xFF0000FF"));


stock HexToInt(string[])
{
    if(!string[0]) return 0;
    new cur = 1, res = 0;
    for(new i = strlen(string); i > 0; i--)
    {
        res += cur * (string[i - 1] - ((string[i - 1] < 58) ? (48) : (55)));
        cur = cur * 16;
    }
    return res;
}
https://sampwiki.blast.hk/wiki/Colors_List

@EDIT
Mude sua string para new cor[MAX_PLAYERS][10];
Reply
#3

Bah obrigado cara. Nгo havia procurado direito rsrs
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)