Vice City: Multiplayer

Server Development => Scripting and Server Management => Client Scripting => Topic started by: PSL on May 05, 2024, 03:01 AM

Title: RGB Color Gradient
Post by: PSL on May 05, 2024, 03:01 AM
Do you want your text or images, or other gui components to have RGB gradients?
The following code can get you inspired, but you can also use it in between.
The gradient order is white red orange yellow green cyan blue purple.

local serverlogor=255,serverlogog=255,serverlogob=255;
local rgblabel=null;

function Script::ScriptLoad()
{
rgblabel=GUILabel();
rgblabel.Pos=VectorScreen(250,450);
rgblabel.FontSize=40;
rgblabel.Text="Very cool gradient text";
rgblabel.TextColour=GetGradientRGB();
}

function Script::ScriptProcess()
{
UpdateRGB();
rgblabel.TextColour=GetGradientRGB();
}

function GetGradientRGB(alpha=255)
{
    return Colour(serverlogor,serverlogog,serverlogob,alpha);
}

function UpdateRGB()
{
    /* red to purple
    if(serverlogor==255&&serverlogog<255&&serverlogob==0)
    {
        serverlogog+=1;
        if(serverlogog==255) serverlogor-=1;
    }
    else if(serverlogor<255&&serverlogog==255&&serverlogob==0)
    {
        serverlogor-=1;
        if(serverlogor==0) serverlogob+=1;
    }
    else if(serverlogor==0&&serverlogog==255&&serverlogob>0)
    {
        serverlogob+=1;
        if(serverlogob==255) serverlogog-=1;
    }
    else if(serverlogor==0&&serverlogog<255&&serverlogob==255)
    {
        serverlogog-=1;
        if(serverlogog==0) serverlogor+=1;
    }
    else if(serverlogor>0&&serverlogog==0&&serverlogob==255)
    {
        serverlogor+=1;
        if(serverlogor==255) serverlogob-=1;
    }
    else if(serverlogor==255&&serverlogog==0&&serverlogob<255)
    {
        serverlogob-=1;
    }
    */

    // white to purple
    if(serverlogor==255&&serverlogog==255&&serverlogob==255)
    {
        serverlogog-=1;
        serverlogob-=1;
    }
    else if(serverlogor==255&&serverlogog<255&&serverlogob<255&&serverlogob!=0)
    {
        serverlogog-=1;
        serverlogob-=1;
        if(serverlogog==0&&serverlogob==0) serverlogog+=1;
    }
    else if(serverlogor==255&&serverlogog<255&&serverlogob==0)
    {
        serverlogog+=1;
        if(serverlogog==255) serverlogor-=1;
    }
    else if(serverlogor<255&&serverlogog==255&&serverlogob==0)
    {
        serverlogor-=1;
        if(serverlogor==0) serverlogob+=1;
    }
    else if(serverlogor==0&&serverlogog==255&&serverlogob>0)
    {
        serverlogob+=1;
        if(serverlogob==255) serverlogog-=1;
    }
    else if(serverlogor==0&&serverlogog<255&&serverlogob==255)
    {
        serverlogog-=1;
        if(serverlogog==0) serverlogor+=1;
    }
    else if(serverlogor>0&&serverlogog==0&&serverlogob==255)
    {
        serverlogor+=1;
        if(serverlogor==255) serverlogog+=1;
    }
    else if(serverlogor==255&&serverlogog<255&&serverlogob==255)
    {
        serverlogog+=1;
        if(serverlogog==255)
        {
            serverlogog-=1;
            serverlogob-=1;
        }
    }
}
Title: Re: RGB Color Gradient
Post by: PSL on May 05, 2024, 03:04 AM
The code has been tested by blank service and is accurate and can be used with confidence.
Title: Re: RGB Color Gradient
Post by: Sebastian on May 24, 2024, 10:54 PM
That's a cool idea. Any screenshots? Thanks.