SA-MP Forums Archive
error 030: compound statement not closed - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: error 030: compound statement not closed (/showthread.php?tid=472719)



error 030: compound statement not closed - PrezyI - 30.10.2013

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)



Re: error 030: compound statement not closed - DanishHaq - 30.10.2013

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.


Re: error 030: compound statement not closed - Zex Tan - 30.10.2013

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


Re: error 030: compound statement not closed - Konstantinos - 30.10.2013

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.


Re: error 030: compound statement not closed - iggy1 - 30.10.2013

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


Re: error 030: compound statement not closed - PrezyI - 30.10.2013

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.