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

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

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

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

[FS] Rainbow Tab

OKStyle

Адвокат по делам семейным
Administrator
Wiki Team
Регистрация
4 Мар 2011
Сообщения
7,094
Лучшие ответы
226
Репутация
2,455
Награды
11
Данный скрипт будет раздавать цвета никам подключающихся игроков таким образом, чтобы получалась радуга.

Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!


PHP:
#include <a_samp>
// Rainbow Tab by REALman, OKStyle
new RainbowError;
new RainbowGradient[25] = {
0xFF0000FF, 0xFF2C00FF, 0xFF5000FF, 0xFF8700FF, 0xFFA700FF,
0xFFDC00FF, 0xFFFB00FF, 0xC4FF00FF, 0x7BFF00FF, 0x00FF00FF,
0x00FF1EFF, 0x00FF3BFF, 0x00FF7CFF, 0x00FFAEFF, 0x00FFD5FF,
0x00FFFFFF, 0x00CCFFFF, 0x00ACFFFF, 0x0083FFFF, 0x0054FFFF,
0x0000FFFF, 0x2C00FFFF, 0x5F00FFFF, 0x9B00FFFF, 0xCB00FFFF
};
public OnPlayerConnect(playerid)
{
    for(new i = GetMaxPlayers() - 1; i >= 0; --i)
    {
        if(i == sizeof(RainbowGradient)) RainbowError = 0;
        if(IsPlayerConnected(i))
        {
            SetPlayerColor(i, RainbowGradient[i + RainbowError]);
        }
        else RainbowError -= 1;
    }
    return 1;
}
public OnPlayerDisconnect(playerid)
{
    for(new i = GetMaxPlayers() - 1; i >= 0; --i)
    {
        if(i == sizeof(RainbowGradient)) RainbowError = 0;
        if(IsPlayerConnected(i))
        {
            SetPlayerColor(i, RainbowGradient[i - RainbowError]);
        }
        else RainbowError += 1;
    }
    return 1;
}
Автор: OKStyle

Начиная с версии 1.3 убран массив с цветами, теперь они раздаются функцией.

Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!


PHP:
#include <a_samp>
// Rainbow Tab 1.4 by REALman, OKStyle, RyDeR
public OnPlayerConnect(playerid)
{
    for(new i = GetMaxPlayers(), totalPlayers = GetOnlinePlayersCount(), index = totalPlayers; i > -1; --i)
    {
        if(IsPlayerConnected(i) && !IsPlayerNPC(i))
        {
            SetPlayerRainbowColor(i, index--, totalPlayers);
        }
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    for(new i = GetMaxPlayers(), totalPlayers = GetOnlinePlayersCount() - 1, index = totalPlayers; i > -1; --i)
    {
        if(IsPlayerConnected(i) && !IsPlayerNPC(i) && (i != playerid))
        {
            SetPlayerRainbowColor(i, index--, totalPlayers);
        }
    }
    return 1;
}
stock GetOnlinePlayersCount()
{
    new
        totalPlayers
    ;
    for(new i, j = GetMaxPlayers(); i != j; ++i)
    {
        if(IsPlayerConnected(i) && !IsPlayerNPC(i))
        {
            ++totalPlayers;
        }
    }
    return totalPlayers;
}
stock SetPlayerRainbowColor(playerid, index, maxPlayers)
{
    new
        color_Red,
        color_Green,
        color_Blue
    ;
    color_Red = floatround((0xFF * floatsin((index / (maxPlayers / 3.0)), radian)));
    color_Green = floatround(((0xFF / maxPlayers) * index));
    color_Blue = floatround(((0xFF / maxPlayers) * (maxPlayers - index)));

    return SetPlayerColor(playerid, ((color_Red * 0x1000000) + (color_Green * 0x10000) + (color_Blue * 0x100) + 0xFF));
}
 
Сверху Снизу