error 030: compound statement not closed
#1

I've have looked through the command serveral times and I can't figure out what's causing the error.
I would appreciate if someone could help me.

Thanks in advance

pawn Код:
CMD:makecookiedonator(playerid, params[])
{
    new PlayerName[MAX_PLAYER_NAME];//315
    new CookieMasterName[MAX_PLAYER_NAME];
    new ID;
    new str[128];
    new CLevel;
   
    if(pInfo[playerid][CookieMaster] >= 1) {
    if(sscanf(params, "ui", ID, CLevel)) return SendClientMessage(playerid, -1, "USAGE: /makecookiedonator [playerid] [1-3]");
    if(ID == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "The user is not available [OFFLINE]");
    if(CLevel > 3) return SendClientMessage(playerid, -1, "The player can only be made to 1-3 cookiedonator level");
    if(CLevel > 0)
    {
        if(pInfo[ID][CookieDonator] == 0) return SendClientMessage(playerid, -1, "You have terminated the player from the CookieDonator Team!");
        GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
        GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);
           
        format(str, sizeof(str), "%s has terminated you from the CookieDonator Team!", CookieMasterName);
        SendClientMessage(ID, -1, str);
        format(str, sizeof(str), "You have removed %s from the CookieDonator Team!", PlayerName);
        SendClientMessage(playerid, -1, str);
        pInfo[ID][CookieDonator] = 0;
        return 1;
    }
    if(CLevel == 1)
    {
        if(pInfo[ID][CookieDonator] == 1) return SendClientMessage(playerid, -1, "The player is already level 1 CookieDonator");
        GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
        GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);
           
        format(str, sizeof(str), "%s has promoted you have to level 1 CookieDonator", CookieMasterName);
        SendClientMessage(ID, -1, str);
        format(str, sizeof(str), "You have promoted %s to level 1 CookieDonator", PlayerName);
        SendClientMessage(playerid, -1, str);
        pInfo[ID][CookieDonator] = 1;
        return 1;
    }
    if(CLevel == 2)
    {
        if(pInfo[ID][CookieDonator] == 2) return SendClientMessage(playerid, -1, "The player is already level 2 CookieDonator");
        GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
        GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);
       
        format(str, sizeof(str), "%s has promoted you to level 2 CookieDonator", CookieMasterName);
        SendClientMessage(ID, -1, str);
        format(str, sizeof(str), "You have promoted %s to level 2 CookieDonator", PlayerName);
        SendClientMessage(playerid, -1, str);
        pInfo[ID][CookieDonator] = 2;
        return 1;
    }
    if(CLevel == 3)
    {
        if(pInfo[ID][CookieDonator] == 3) return SendClientMessage(playerid, -1, "The player is already level 3 CookieDonator");
        GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
        GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);
           
        format(str, sizeof(str), "%s has promoted you to level 3 CookieDonator", CookieMasterName);
        SendClientMessage(ID, -1, str);
        format(str, sizeof(str),"You have promoted %s to level 3 CookieDonator", PlayerName);
        SendClientMessage(playerid, -1, str);
        pInfo[ID][CookieDonator] = 3;
        return 1;
    }
    return 1;
}// 378
Код:
(378) : error 030: compound statement not closed at the end of file (started at line 315)
Reply
#2

pawn Код:
CMD:makecookiedonator(playerid, params[])
{
    new PlayerName[MAX_PLAYER_NAME];
    new CookieMasterName[MAX_PLAYER_NAME];
    new ID;
    new str[128];
    new CLevel;

    if(pInfo[playerid][CookieMaster] >= 1)
    {
        if(sscanf(params, "ui", ID, CLevel)) return SendClientMessage(playerid, -1, "USAGE: /makecookiedonator [playerid] [1-3]");
        if(ID == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "The user is not available [OFFLINE]");
        if(CLevel > 3) return SendClientMessage(playerid, -1, "The player can only be made to 1-3 cookiedonator level");
        if(CLevel > 0)
        {
            if(pInfo[ID][CookieDonator] == 0) return SendClientMessage(playerid, -1, "You have terminated the player from the CookieDonator Team!");
            GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
            GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);

            format(str, sizeof(str), "%s has terminated you from the CookieDonator Team!", CookieMasterName);
            SendClientMessage(ID, -1, str);
            format(str, sizeof(str), "You have removed %s from the CookieDonator Team!", PlayerName);
            SendClientMessage(playerid, -1, str);
            pInfo[ID][CookieDonator] = 0;
            return 1;
        }
        if(CLevel == 1)
        {
            if(pInfo[ID][CookieDonator] == 1) return SendClientMessage(playerid, -1, "The player is already level 1 CookieDonator");
            GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
            GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);

            format(str, sizeof(str), "%s has promoted you have to level 1 CookieDonator", CookieMasterName);
            SendClientMessage(ID, -1, str);
            format(str, sizeof(str), "You have promoted %s to level 1 CookieDonator", PlayerName);
            SendClientMessage(playerid, -1, str);
            pInfo[ID][CookieDonator] = 1;
            return 1;
        }
        if(CLevel == 2)
        {
            if(pInfo[ID][CookieDonator] == 2) return SendClientMessage(playerid, -1, "The player is already level 2 CookieDonator");
            GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
            GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);

            format(str, sizeof(str), "%s has promoted you to level 2 CookieDonator", CookieMasterName);
            SendClientMessage(ID, -1, str);
            format(str, sizeof(str), "You have promoted %s to level 2 CookieDonator", PlayerName);
            SendClientMessage(playerid, -1, str);
            pInfo[ID][CookieDonator] = 2;
            return 1;
        }
        if(CLevel == 3)
        {
            if(pInfo[ID][CookieDonator] == 3) return SendClientMessage(playerid, -1, "The player is already level 3 CookieDonator");
            GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
            GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);

            format(str, sizeof(str), "%s has promoted you to level 3 CookieDonator", CookieMasterName);
            SendClientMessage(ID, -1, str);
            format(str, sizeof(str),"You have promoted %s to level 3 CookieDonator", PlayerName);
            SendClientMessage(playerid, -1, str);
            pInfo[ID][CookieDonator] = 3;
            return 1;
        }
    }
    return 1;
}
Try and look for open brackets, and see if it has a corresponding close bracket. You missed on in this command.
Reply
#3

Try to remove the return 1; from CLevel 0 to 3. Leave only return 1 at the bottom of your code.
Reply
#4

By indenting your code, it seems to be missing a closed bracket. Take a look:
pawn Код:
CMD:makecookiedonator(playerid, params[])
{
    new PlayerName[MAX_PLAYER_NAME];
    new CookieMasterName[MAX_PLAYER_NAME];
    new ID;
    new str[128];
    new CLevel;
   
    if(pInfo[playerid][CookieMaster] >= 1)
    {
        if(sscanf(params, "ui", ID, CLevel)) return SendClientMessage(playerid, -1, "USAGE: /makecookiedonator [playerid] [1-3]");
        if(ID == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "The user is not available [OFFLINE]");
        if(CLevel > 3) return SendClientMessage(playerid, -1, "The player can only be made to 1-3 cookiedonator level");
        if(CLevel > 0)
        {
            if(pInfo[ID][CookieDonator] == 0) return SendClientMessage(playerid, -1, "You have terminated the player from the CookieDonator Team!");
            GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
            GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);
           
            format(str, sizeof(str), "%s has terminated you from the CookieDonator Team!", CookieMasterName);
            SendClientMessage(ID, -1, str);
            format(str, sizeof(str), "You have removed %s from the CookieDonator Team!", PlayerName);
            SendClientMessage(playerid, -1, str);
            pInfo[ID][CookieDonator] = 0;
            return 1;
        }
        if(CLevel == 1)
        {
            if(pInfo[ID][CookieDonator] == 1) return SendClientMessage(playerid, -1, "The player is already level 1 CookieDonator");
            GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
            GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);
           
            format(str, sizeof(str), "%s has promoted you have to level 1 CookieDonator", CookieMasterName);
            SendClientMessage(ID, -1, str);
            format(str, sizeof(str), "You have promoted %s to level 1 CookieDonator", PlayerName);
            SendClientMessage(playerid, -1, str);
            pInfo[ID][CookieDonator] = 1;
            return 1;
        }
        if(CLevel == 2)
        {
            if(pInfo[ID][CookieDonator] == 2) return SendClientMessage(playerid, -1, "The player is already level 2 CookieDonator");
            GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
            GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);
           
            format(str, sizeof(str), "%s has promoted you to level 2 CookieDonator", CookieMasterName);
            SendClientMessage(ID, -1, str);
            format(str, sizeof(str), "You have promoted %s to level 2 CookieDonator", PlayerName);
            SendClientMessage(playerid, -1, str);
            pInfo[ID][CookieDonator] = 2;
            return 1;
        }
        if(CLevel == 3)
        {
            if(pInfo[ID][CookieDonator] == 3) return SendClientMessage(playerid, -1, "The player is already level 3 CookieDonator");
            GetPlayerName(playerid, CookieMasterName, MAX_PLAYER_NAME);
            GetPlayerName(ID, PlayerName, MAX_PLAYER_NAME);
           
            format(str, sizeof(str), "%s has promoted you to level 3 CookieDonator", CookieMasterName);
            SendClientMessage(ID, -1, str);
            format(str, sizeof(str),"You have promoted %s to level 3 CookieDonator", PlayerName);
            SendClientMessage(playerid, -1, str);
            pInfo[ID][CookieDonator] = 3;
            return 1;
        }
        return 1;
    }
[^ Not in use, it just shows the missing bracket clearly] - I won't add the bracket because I don't know what you wanted to do.
Reply
#5

pawn Код:
if(pInfo[playerid][CookieMaster] >= 1) {//<<
That opening brace is the one you are closing at the end, not the functions opening brace.
Reply
#6

Quote:
Originally Posted by iggy1
Посмотреть сообщение
pawn Код:
if(pInfo[playerid][CookieMaster] >= 1) {//<<
That opening brace is the one you are closing at the end, not the functions opening brace.
Now it makes sense lol

Thanks everybody.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)