11.03.2020, 10:54
pawn Code:
Color_GetBrightness(color)
{
new r = ((color >> 24) & 0xFF) * 1000 / 255,
g = ((color >> 16) & 0xFF) * 1000 / 255,
b = ((color >> 8) & 0xFF) * 1000 / 255,
max_value = max(max(r, g), b),
min_value = min(min(r, g), b);
return (max_value + min_value) / 20;
}
pawn Code:
RGB_GetBrightness(red_value, green_value, blue_value)
{
new r = red_value * 1000 / 255,
g = green_value * 1000 / 255,
b = blue_value * 1000 / 255,
max_value = max(max(r, g), b),
min_value = min(min(r, g), b);
return (max_value + min_value) / 20;
}
Example use:
pawn Code:
CMD:color(playerid, params[])
{
new R, G, B;
if (sscanf(params, "ddd", R, G, B)) return SendClientMessage(playerid, -1, "USAGE: /color <Red: 0-255> <Green: 0-255> <Blue: 0-255>");
if (RGB_GetBrightness(R, G, B) <= 10) return SendClientMessage(playerid, -1, "ERROR: Choose a lighter color.");
// create color and set for player
return 1;
}

