Problems with /setcolor
#1

i was making my new command today i decide to make /setcolor <0 to 10 or randomcolor>
but i have problem with random color yeah it work in the first time when i type in the second
time it do not work anymore it still remain in color i need help guys

can some one help me about this?

code

pawn Код:
CMD:setcolor(playerid, params[])
{
    new string[128],color = random(12);
    color = GetPlayerColor(playerid);
    if(isnull(params))
    {
        SendClientMessage(playerid, COLOR_RED,"USAGE: /setcolor <0 - 10>");
        SendClientMessage(playerid, COLOR_WHITE,"if you do not want color ids type "green"randomcolor "white"it will pick you a random color");
    }
    if(!strcmp(params, "0", true))
    {
        SetPlayerColor(playerid, COLOR_BLACK);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Black");
        return 1;
    }
    if(!strcmp(params, "1", true))
    {
        SetPlayerColor(playerid, COLOR_WHITE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"White");
        return 1;
    }
    if(!strcmp(params, "2", true))
    {
        SetPlayerColor(playerid, COLOR_GREY);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Grey");
        return 1;
    }
    if(!strcmp(params, "3", true))
    {
        SetPlayerColor(playerid, COLOR_ORANGE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Orange");
        return 1;
    }
    if(!strcmp(params, "4", true))
    {
        SetPlayerColor(playerid, COLOR_YELLOW);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Yellow");
        return 1;
    }
    if(!strcmp(params, "5", true))
    {
        SetPlayerColor(playerid, COLOR_RED);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Red");
        return 1;
    }
    if(!strcmp(params, "6", true))
    {
        SetPlayerColor(playerid, COLOR_GREEN);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Green");
        return 1;
    }
    if(!strcmp(params, "7", true))
    {
        SetPlayerColor(playerid, COLOR_BLUE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Blue");
        return 1;
    }
    if(!strcmp(params, "8", true))
    {
        SetPlayerColor(playerid, COLOR_PURPLE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Purple");
        return 1;
    }
    if(!strcmp(params, "9", true))
    {
        SetPlayerColor(playerid, COLOR_PINK);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Pink");
        return 1;
    }
    if(!strcmp(params, "10", true))
    {
        SetPlayerColor(playerid, COLOR_VIOLET);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Violet");
        return 1;
    }
    if(!strcmp(params, "randomcolor", true))
    {
        switch(color)
        {
            case 0: SetPlayerColor(playerid, COLOR_LIGHTBLUE);
            case 1: SetPlayerColor(playerid, COLOR_LIGHTGREEN);
            case 2: SetPlayerColor(playerid, COLOR_CYAN);
            case 3: SetPlayerColor(playerid, COLOR_LIME);
            case 4: SetPlayerColor(playerid, COLOR_BLUEGREEN);
            case 5: SetPlayerColor(playerid, COLOR_BRIGHTRED);
            case 6: SetPlayerColor(playerid, COLOR_GREENISHGOLD);
            case 7: SetPlayerColor(playerid, COLOR_SEAGREEN);
            case 8: SetPlayerColor(playerid, COLOR_VIOLET);
            case 9: SetPlayerColor(playerid, COLOR_BROWN);
            case 10: SetPlayerColor(playerid, COLOR_LIGHTCYAN);
            case 11: SetPlayerColor(playerid, COLOR_LEMON);
        }
        format(string,sizeof(string),"You change your color name to "yellow"%s",color);
        SendClientMessage(playerid,COLOR_GREEN,string);
        return 1;
    }
    return 1;
}
i hope you solve it
Reply
#2

Do you have anything more at the code? Because error 001: expected token: "-string end-", but found "-identifier-"
From line
pawn Код:
SendClientMessage(playerid, COLOR_WHITE,"if you do not want color ids type "green"randomcolor "white"it will pick you a random color");
Reply
#3

you forgot this

pawn Код:
#define red "{FF002B}"
#define pink "{FF00D9}"
#define purple "{DFA7F2}"
#define blue "{A1C2FF}"
#define green "{008000}"
#define yellow "{FAF623}"
#define black "{69670C}"
#define orange "{F2C80C}"
#define ice "{03F2FF}"
#define white "{FFFFFF}"
#define lime "{00FF40}"
Reply
#4

Try this:
pawn Код:
CMD:setcolor(playerid, params[])
{
    new string[128],color = random(12);
    color = GetPlayerColor(playerid);
    if(isnull(params))
    {
        SendClientMessage(playerid, COLOR_RED,"USAGE: /setcolor <0 - 10>");
        SendClientMessage(playerid, COLOR_WHITE,"if you do not want color ids type "green"randomcolor "white"it will pick you a random color");
    }
    if(strcmp(params, "0", true))
    {
        SetPlayerColor(playerid, COLOR_BLACK);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Black");
        return 1;
    }
    else if(strcmp(params, "1", true))
    {
        SetPlayerColor(playerid, COLOR_WHITE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"White");
        return 1;
    }
    else if(strcmp(params, "2", true))
    {
        SetPlayerColor(playerid, COLOR_GREY);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Grey");
        return 1;
    }
    else if(strcmp(params, "3", true))
    {
        SetPlayerColor(playerid, COLOR_ORANGE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Orange");
        return 1;
    }
    else if(strcmp(params, "4", true))
    {
        SetPlayerColor(playerid, COLOR_YELLOW);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Yellow");
        return 1;
    }
    else if(strcmp(params, "5", true))
    {
        SetPlayerColor(playerid, COLOR_RED);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Red");
        return 1;
    }
    else if(strcmp(params, "6", true))
    {
        SetPlayerColor(playerid, COLOR_GREEN);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Green");
        return 1;
    }
    else if(strcmp(params, "7", true))
    {
        SetPlayerColor(playerid, COLOR_BLUE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Blue");
        return 1;
    }
    else if(strcmp(params, "8", true))
    {
        SetPlayerColor(playerid, COLOR_PURPLE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Purple");
        return 1;
    }
    else if(strcmp(params, "9", true))
    {
        SetPlayerColor(playerid, COLOR_PINK);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Pink");
        return 1;
    }
    else if(strcmp(params, "10", true))
    {
        SetPlayerColor(playerid, COLOR_VIOLET);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Violet");
        return 1;
    }
    else if(strcmp(params, "randomcolor", true))
    {
        switch(color)
        {
            case 0: SetPlayerColor(playerid, COLOR_LIGHTBLUE);
            case 1: SetPlayerColor(playerid, COLOR_LIGHTGREEN);
            case 2: SetPlayerColor(playerid, COLOR_CYAN);
            case 3: SetPlayerColor(playerid, COLOR_LIME);
            case 4: SetPlayerColor(playerid, COLOR_BLUEGREEN);
            case 5: SetPlayerColor(playerid, COLOR_BRIGHTRED);
            case 6: SetPlayerColor(playerid, COLOR_GREENISHGOLD);
            case 7: SetPlayerColor(playerid, COLOR_SEAGREEN);
            case 8: SetPlayerColor(playerid, COLOR_VIOLET);
            case 9: SetPlayerColor(playerid, COLOR_BROWN);
            case 10: SetPlayerColor(playerid, COLOR_LIGHTCYAN);
            case 11: SetPlayerColor(playerid, COLOR_LEMON);
        }
        format(string,sizeof(string),"You change your color name to "yellow"%s",color);
        SendClientMessage(playerid,COLOR_GREEN,string);
        return 1;
    }
    return 1;
}
Reply
#5

One question. Why do you use
pawn Код:
if(!strcmp(params, "0", true)) {
instead of
pawn Код:
if(strcmp(params, "0", true)) {
Reply
#6

HyperZ it when everytime i type /setcolor randomcolor it sets my color to main color (black) lol
Reply
#7

Quote:
Originally Posted by Kostas'
Посмотреть сообщение
One question. Why do you use
pawn Код:
if(!strcmp(params, "0", true)) {
instead of
pawn Код:
if(strcmp(params, "0", true)) {
Because the function returns 0 when the strings match.

It would be better to use color names rather than numbers

pawn Код:
CMD:setcolor(playerid, params[])
{
    new color[32];
    if(sscanf(params, "s[32]", color))
    {
        SendClientMessage(playerid, COLOR_RED, "USAGE: /setcolor [color]");
        SendClientMessage(playerid, COLOR_RED, "VALID COLORS: red, green, blue");
        SendClientMessage(playerid, COLOR_RED, "Type '/setcolor random' to select a random color.");
    }
    if(!strcmp(params, "random", true))
    {
        new random_color = random(12);
        switch(random_color)
        {
            case 0: SetPlayerColor(playerid, COLOR_LIGHTBLUE);
            case 1: SetPlayerColor(playerid, COLOR_LIGHTGREEN);
            case 2: SetPlayerColor(playerid, COLOR_CYAN);
            case 3: SetPlayerColor(playerid, COLOR_LIME);
            case 4: SetPlayerColor(playerid, COLOR_BLUEGREEN);
            case 5: SetPlayerColor(playerid, COLOR_BRIGHTRED);
            case 6: SetPlayerColor(playerid, COLOR_GREENISHGOLD);
            case 7: SetPlayerColor(playerid, COLOR_SEAGREEN);
            case 8: SetPlayerColor(playerid, COLOR_VIOLET);
            case 9: SetPlayerColor(playerid, COLOR_BROWN);
            case 10: SetPlayerColor(playerid, COLOR_LIGHTCYAN);
            case 11: SetPlayerColor(playerid, COLOR_LEMON);
        }

        new colornames[][] = {
        "Light Blue",
        "Light Green",
        "Cyan",
        "Lime",
        "Bluegreen",
        "Bright Red",
        "Greenish Gold",
        "Sea green",
        "Violet",
        "Brown",
        "Light Cyan",
        "Lemon"
        };
       
        new string[128];
        format(string,sizeof(string),"You changed your color to '%s'", colornames[random_color]);
        SendClientMessage(playerid, COLOR_GREEN, string);
    }
    if(!strcmp(color, "red", true))
    {
        SetPlayerColor(playerid, COLOR_RED);
        SendClientMessage(playerid, COLOR_GREEN, "You changed your name color to red.");
    }
    else if(!strcmp(color, "green", true))
    {
        SetPlayerColor(playerid, COLOR_GREEN);
        SendClientMessage(playerid, COLOR_GREEN, "You changed your name color to green.");
    }
    else if(!strcmp(color, "blue", true))
    {
        SetPlayerColor(playerid, COLOR_BLUE);
        SendClientMessage(playerid, COLOR_GREEN, "You changed your name color to blue.");
    }
    else return SendClientMessage(playerid, COLOR_RED, "VALID COLORS: red, green, blue.");
    return 1;
}
NOT tested.
Reply
#8

it gives me unreachable code
it works fine but when i add the message error to the top it blocks the command

pawn Код:
CMD:setcolor(playerid, params[])
{
    new color[32];
    if(sscanf(params, "s[32]", color))
    {
        SendClientMessage(playerid, COLOR_RED,"USAGE: /setcolor <0 - 10>");
        SendClientMessage(playerid, COLOR_WHITE,"if you do not want color ids type "green"randomcolor "white"it will pick you a random color");
    }
    else return SendClientMessage(playerid, COLOR_RED, "Invalid Color ID, Valid Color ID "yellow"<0 - 10> "red"or use /setcolor "yellow"randomcolor");
    if(!strcmp(params, "randomcolor", true))
    {
        new random_color = random(12);
        switch(random_color)
        {
            case 0: SetPlayerColor(playerid, COLOR_LIGHTBLUE);
            case 1: SetPlayerColor(playerid, COLOR_LIGHTGREEN);
            case 2: SetPlayerColor(playerid, COLOR_CYAN);
            case 3: SetPlayerColor(playerid, COLOR_LIME);
            case 4: SetPlayerColor(playerid, COLOR_BLUEGREEN);
            case 5: SetPlayerColor(playerid, COLOR_BRIGHTRED);
            case 6: SetPlayerColor(playerid, COLOR_GREENISHGOLD);
            case 7: SetPlayerColor(playerid, COLOR_SEAGREEN);
            case 8: SetPlayerColor(playerid, COLOR_VIOLET);
            case 9: SetPlayerColor(playerid, COLOR_BROWN);
            case 10: SetPlayerColor(playerid, COLOR_LIGHTCYAN);
            case 11: SetPlayerColor(playerid, COLOR_LEMON);
        }

        new colornames[][] = {
        "Light Blue",
        "Light Green",
        "Cyan",
        "Lime",
        "Bluegreen",
        "Bright Red",
        "Greenish Gold",
        "Sea green",
        "Violet",
        "Brown",
        "Light Cyan",
        "Lemon"
        };
        new string[128];
        format(string,sizeof(string),"You changed your color to '%s'", colornames[random_color]);
        SendClientMessage(playerid, COLOR_GREEN, string);
    }
    if(!strcmp(params, "0", true))
    {
        SetPlayerColor(playerid, COLOR_BLACK);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Black");
        return 1;
    }
    else if(!strcmp(params, "1", true))
    {
        SetPlayerColor(playerid, COLOR_WHITE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"White");
        return 1;
    }
    else if(!strcmp(params, "2", true))
    {
        SetPlayerColor(playerid, COLOR_GREY);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Grey");
        return 1;
    }
    else if(!strcmp(params, "3", true))
    {
        SetPlayerColor(playerid, COLOR_ORANGE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Orange");
        return 1;
    }
    else if(!strcmp(params, "4", true))
    {
        SetPlayerColor(playerid, COLOR_YELLOW);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Yellow");
        return 1;
    }
    else if(!strcmp(params, "5", true))
    {
        SetPlayerColor(playerid, COLOR_RED);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Red");
        return 1;
    }
    else if(!strcmp(params, "6", true))
    {
        SetPlayerColor(playerid, COLOR_GREEN);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Green");
        return 1;
    }
    else if(!strcmp(params, "7", true))
    {
        SetPlayerColor(playerid, COLOR_BLUE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Blue");
        return 1;
    }
    else if(!strcmp(params, "8", true))
    {
        SetPlayerColor(playerid, COLOR_PURPLE);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Purple");
        return 1;
    }
    else if(!strcmp(params, "9", true))
    {
        SetPlayerColor(playerid, COLOR_PINK);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Pink");
        return 1;
    }
    else if(!strcmp(params, "10", true))
    {
        SetPlayerColor(playerid, COLOR_VIOLET);
        SendClientMessage(playerid, COLOR_GREEN, "You change your color name to "yellow"Violet");
        return 1;
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)