Сохранение HEX в db
#1

Приветствую всех.
не всегда правильно сохраняется в db MySQL строка цвета игрока.

Сохраняем строкой в db:
PHP код:
    new colstr[12]
    
format(colstrsizeof(colstr), "0x%h",pINF[playerid][pColor]) 
Далее в db сохраняется цвет в формате 0xFF00FFFF.
Проблема в том, что не всегда цвет сохраняется именно так, бывает и 0xFF00FF, то-бишь без альфы.

Загружаем из db:
PHP код:
cache_get_field_content(i"ColNick",    colstrMySQL_db12);
pINF[playerid][pColor] = hexstr(colstr);
stock hexstr(string[])
{
    new 
retvali;
    if(
string[0] == '0' && (string[1] == 'x' || string[1] == 'X')) 2;
    while(
string[i])
    {
        
ret <<= 4;
        
val string[i++] - '0';
        if(
val 0x09val -= 0x07;
        if(
val 0x0Fval -= 0x20;
        if(
val 0x01) continue;
        if(
val 0x10ret += val;
    }
    return 
ret;

При выборе цвет в диалоге передаём в переменную игрока сам цвет:
PHP код:
pINF[playerid][pColor] = PCol[listitem]; // в PCol содержаться цвета 
Reply
#2

Сохраняй как число.
Reply
#3

Тип blob ?
Reply
#4

Тип Integer
И не нужно заниматься мазохизмом: конвертацией текста в число.
Reply
#5

Всё, разобрался) Пробовал в blob, показывается значение HEX, всё-же сделал на Int
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)