Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Урок Color List (238 цветов)

Статус
В этой теме нельзя размещать новые ответы.

SoNik))

Ученик
Стало интересно, что можно вытворять с RGB и HEX, начал экспериментировать, в итоге вышло такое.
Вообщем я покажу на примере смена цвета ника в диалоге.


Команда:
PHP:
if(!strcmp("/colors", cmdtext, true))
{
    new str[2870*2 char];
    for(new E,i,r=0xFF,g=0xF+1,b=0xF+1;i!=239;i++)
    {
        switch(E)
        {
            case 0: if(g < 251) g += 5; else E++;
            case 1: if(r > 20)  r -= 5; else E++, r = 0xF+1;
            case 2: if(b < 251) b += 5; else E++;
            case 3: if(g > 20)  g -= 5; else E++, g = 0xF+1;
            case 4: if(r < 251) r += 5;
        }
        format(str,2870,"%s\n{%x%x%x}RGB",str,r,g,b);
    }
    ShowPlayerDialog(playerid,0,DIALOG_STYLE_LIST,"Смена цвета",str,"Далее","Отмена");
}
в OnDialogResponse
PHP:
switch(dialogid)
{
    case 0:
    {
        if(response)
        {
            new E,i,r=0xFF,g=0xF+1,b=0xF+1;
            while(i != 239)
            {
                switch(E)
                {
                    case 0: if(g < 251) g += 5; else E++;
                    case 1: if(r > 20)  r -= 5; else E++, r = 0xF+1;
                    case 2: if(b < 251) b += 5; else E++;
                    case 3: if(g > 20)  g -= 5; else E++, g = 0xF+1;
                    case 4: if(r < 251) r += 5;
                }
                if(i == listitem) break;
                i++;
            }
            SetPlayerColor(playerid, (r*16777216)+(g*65536)+(b*256)+0xFF);
        }
    }
}

Косяк, в диалоге 239 цветов.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу