• 0
Sign in to follow this  
Followers 0
Ruman

[закрыто] При компиляции выдает 5 ошибок

Question

Когда я пытаюсь скомпилировать код, выдает следующие строчки:

 

D:\Users\Ruman\Desktop\Time RP\gamemodes\project.pwn(445) : error 028: invalid subscript (not an array or too many subscripts): "strval"
D:\Users\Ruman\Desktop\Time RP\gamemodes\project.pwn(453) : error 002: only a single statement (or expression) can follow each "case"
D:\Users\Ruman\Desktop\Time RP\gamemodes\project.pwn(453) : error 029: invalid expression, assumed zero
D:\Users\Ruman\Desktop\Time RP\gamemodes\project.pwn(453) : error 001: expected token: ";", but found "]"
D:\Users\Ruman\Desktop\Time RP\gamemodes\project.pwn(453) : fatal error 107: too many error messages on one line

Compilation aborted.

Pawn compiler 3.10.10           Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.

Ниже указан код, строчки которые я закомментировал именно на них жалуется Compiler.

 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case DLG_REG:
        {
            if(response)
            {
                if(!strlen(inputtext))
                {
                    ShowRegistration(playerid);
                    return SCM(playerid, COLOR_RED, "[Îøèáêà] {FFFFFF}Âû íè÷åãî íå ââåëè!");
                }
                if(strlen(inputtext) < 8 || strlen(inputtext) > 32)
                {
                    ShowRegistration(playerid);
                    return SCM(playerid, COLOR_RED, "[Îøèáêà] {FFFFFF}Ïàðîëü äîëæåí áûòü äëèíîé îò 8-ìè äî 32-óõ ñèìâîëîâ!");
                }
                new regex:rg_passwordcheck = regex_new("^[a-zA-Z0-9]{1,}$");
                if(regex_check(inputtext, rg_passwordcheck))
                {
                    strmid(player_info[playerid][PASSWORD], inputtext, 0, strlen(inputtext), 32);
                    SPD(playerid, DLG_REGMAIL, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ  > {00FFFF}Ââîä Email",
                        "{FFFFFF}Ââåäèòå âàø íàñòîÿùèé Email àäðåñ â ïîëå íèæå.\n\
                        Â ñëó÷àè åñëè âû ïîòåðÿåòå äîñòóï ê àêêàóíòó òî âû ñìîæåòå âîññòàíîâèòü åãî ÷åðåç Email.\n\
                        Äàííîå äåéñòâèå ñäåëàòü íàäî îáåçàòåëüíî!",
                    "Äàëåå""");
                }
                else
                {
                    ShowRegistration(playerid);
                    return SCM(playerid, COLOR_RED, "[Îøèáêà] {FFFFFF}Ïàðîëü äîëæåí ñîñòîÿòü èç ëàòèíñêèõ ñèìâîëîâ è ÷èñåë!");
                }
                regex_delete(rg_passwordcheck);
            }
            else
            {
                SCM(playerid, COLOR_WHITE, "{FFFFFF}Èñïîëüçóéòå êîìàíäó /q ÷òîáû âûéòè èç èãðû.");
                SPD(playerid, -10" "" "" """);
                return Kick(playerid);
            }
        }
        case DLG_REGMAIL:
        {
            if(!strlen(inputtext))
            {
                SPD(playerid, DLG_REGMAIL, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ  > {00FFFF}Email",
                    "{FFFFFF}Ââåäèòå âàø íàñòîÿùèé Email àäðåñ â ïîëå íèæå.\n\
                    Â ñëó÷àè åñëè âû ïîòåðÿåòå äîñòóï ê àêêàóíòó òî âû ñìîæåòå âîññòàíîâèòü åãî ÷åðåç Email.\n\
                    Äàííîå äåéñòâèå ñäåëàòü íàäî îáåçàòåëüíî!",
                "Äàëåå""");
                return SCM(playerid, COLOR_RED, "[Îøèáêà] {FFFFFF}Ââåäèòå Email â ïîëå íèæå.");
            }
            new regex:rg_emailcheck = regex_new("^[a-zA-Z0-9.-_]{1,43}@[a-zA-Z]{1,12}.[a-zA-Z]{1,8}$");
            if(regex_check(inputtext, rg_emailcheck))
            {
                strmid(player_info[playerid][EMAIL], inputtext, 0, strlen(inputtext), 64);
                SPD(playerid, DLG_REGREF, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ  > {00FFFF}Íèê ïðèãëàñèâøîãî",
                    "{FFFFFF}Çàøëè íà ñåðâåð ïî ïðèãëàøåíèþ?\n\
                    Òîãäà ââåäèòå íèê ïðèãëàñèâøîãî âàñ íà ñåðâåð â ïîëå íèæå:",
                "Äàëåå""Ïðîïóñòèòü");
            }
            else
            {
                SPD(playerid, DLG_REGMAIL, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ  > {00FFFF}Email",
                    "{FFFFFF}Ââåäèòå âàø íàñòîÿùèé Email àäðåñ â ïîëå íèæå.\n\
                    Â ñëó÷àè åñëè âû ïîòåðÿåòå äîñòóï ê àêêàóíòó òî âû ñìîæåòå âîññòàíîâèòü åãî ÷åðåç Email.\n\
                    Äàííîå äåéñòâèå ñäåëàòü íàäî îáåçàòåëüíî!",
                "Äàëåå""");
                return SCM(playerid, COLOR_RED, "[Îøèáêà] {FFFFFF}Óêàæèòå ïðàâèëüíî âàø Email àäðåñ. Ïðèìåð: samper@mail.ru");
            }
            regex_delete(rg_emailcheck);
        }
        case DLG_REGREF:
        {
            if(response)
            {
                    new regex:rg_refcheck = regex_new("^[a-zA-Z_]{4,24}$");
                if(regex_check(inputtext, rg_refcheck))
                {
                    static const fmt_query [] = "SELECT * FROM users WHERE name = '%s'";
                    new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)];
                    format(query, sizeof(query), "SELECT * FROM users WHERE name = '%s';", inputtext);
                    mysql_tquery(dbHandle, query, "CheckReferation""is", playerid, inputtext);
                }
                else
                {
                    SPD(playerid, DLG_REGREF, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ  > {00FFFF}Íèê ïðèãëàñèâøîãî",
                        "{FFFFFF}Çàøëè íà ñåðâåð ïî ïðèãëàøåíèþ?\n\
                        Òîãäà ââåäèòå íèê ïðèãëàñèâøîãî âàñ íà ñåðâåð â ïîëå íèæå:",
                    "Äàëåå""Ïðîïóñòèòü");
                    return SCM(playerid, COLOR_RED, "[Îøèáêà] {FFFFFF}Ââåäèòå íèê ïðèãëàñèâøîãî âàñ íà ñåðâåð â ôîðìàòå   Èìÿ_Ôàìèëèÿ");
                }
                regex_delete(rg_refcheck);
            }
            else
            {
                SPD(playerid, DLG_REGSEX, DIALOG_STYLE_MSGBOX, "Ðåãèñòðàöèÿ  > {00FFFF}Âûáîð ïîëà",
                    "{FFFFFF}Âûáåðèòå ïîë âàøåãî ïåðîíàæà:",
                "Ìóæñêîé""Æåíñêèé");
            }
        }
        case DLG_REGSEX:
        {
            if(response) player_info[playerid][SEX] = 1;
            else player_info[playerid][SEX] = 2;
            SPD(playerid, DLG_REGRACE, DIALOG_STYLE_LIST, "Ðåãèñòðàöèÿ  > {00FFFF}Âûáîð ðàñû",
                "Íåãðîèäíàÿ\n\
                Åâðîïåîèäíàÿ\n\
                Ìîíãîëîèäíàÿ\n\
                Àçèàòñêàÿ",
            "Äàëåå""");
        }
        case DLG_REGRACE:
        {
            switch(listitem)
            {
                case 0: player_info[playerid][RACE] = 1;
                case 1: player_info[playerid][RACE] = 2;
                case 2: player_info[playerid][RACE] = 3;
            }
            SPD(playerid, DLG_REGAGE, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ  > {00FFFF}Èãðîâîé âîçâðàñò",
                "{FFFFFF}Ââåäèòå èãðîâîé âîçâðàñò âàøåãî áóäóùåãî ïåðñîíàæà\n\
                Íå ââîäèòå âàø ðåàëüíûé âîçâðàñò!\n\n\
                \t- Âîçâðàñò äîëæåí áûòü äëèíîé îò {FFFF00}18-òè {FFFFFF}äî {FFFF00}60-òè {FFFFFF}ëåò",
            "Äàëåå""");
        }
        case DLG_REGAGE:
        { // 445 строка
            if(!strlen(inputtext))
            {
             SPD(playerid, DLG_REGAGE, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ  > {00FFFF}Èãðîâîé âîçâðàñò",
                "{FFFFFF}Ââåäèòå èãðîâîé âîçâðàñò âàøåãî áóäóùåãî ïåðñîíàæà\n\
                Íå ââîäèòå âàø ðåàëüíûé âîçâðàñò!\n\n\
                \t- Âîçâðàñò äîëæåí áûòü äëèíîé îò {FFFF00}18-òè {FFFFFF}äî {FFFF00}60-òè {FFFFFF}ëåò",
            "Äàëåå""");
            return SCM(playerid, COLOR_RED, "[Îøèáêà] {FFFFFF}Âû íè÷åãî íå ââåëè!");
            }
            if(strval(inputtext) < 18 || (strval(inputtext) > 60)
            {
            SPD(playerid, DLG_REGAGE, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ  > {00FFFF}Èãðîâîé âîçâðàñò",
                "{FFFFFF}Ââåäèòå èãðîâîé âîçâðàñò âàøåãî áóäóùåãî ïåðñîíàæà\n\
                Íå ââîäèòå âàø ðåàëüíûé âîçâðàñò!\n\n\
                \t- Âîçâðàñò äîëæåí áûòü äëèíîé îò {FFFF00}18-òè {FFFFFF}äî {FFFF00}60-òè {FFFFFF}ëåò",
            "Äàëåå""");
            return SCM(playerid, COLOR_RED, "[Îøèáêà] {FFFFFF}Âîçâðàñò ïåðñîíàæà äîëæåí áûòü îò {FFFF00}18-òè {FFFFFF}äî {FFFF00}60-òè {FFFFFF}ëåò");
            }
            player_info[playerid][AGE] = strval(inputtext); // 453 строка
            SCM(playerid, COLOR_WHITE, "Success");
        }
    }
}
    return 1;
}

forward CheckReferation(playerid, referal[]);
public CheckReferation(playerid, referal[])
{
    new rows;
    cache_get_row_count(rows);
    if(rows)
    {
        new refid;
        cache_get_value_name_int(0"id", refid);
        player_info[playerid][REF] = refid;
        SPD(playerid, DLG_REGSEX, DIALOG_STYLE_MSGBOX, "Ðåãèñòðàöèÿ  > {00FFFF}Âûáîð ïîëà",
            "{FFFFFF}Âûáåðèòå ïîë âàøåãî ïåðîíàæà:",
        "Ìóæñêîé""Æåíñêèé");
    }
    else
    {
        SPD(playerid, DLG_REGREF, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ  > {00FFFF}Íèê ïðèãëàñèâøîãî",
            "{FFFFFF}Çàøëè íà ñåðâåð ïî ïðèãëàøåíèþ?\n\
            Òîãäà ââåäèòå íèê ïðèãëàñèâøîãî âàñ íà ñåðâåð â ïîëå íèæå:",
        "Äàëåå""Ïðîïóñòèòü");
        return SCM(playerid, COLOR_RED, "[Îøèáêà] {FFFFFF}Àêêàóíò ñ òàêèì íèêîì íå çàðåãèñòðèðîâàí íà ñåðâåðå.");
    }
    return 1;
}
//Не обращайте внимания на эроглифы это от русского языка

Надеюсь объяснил точно.

Share this post


Link to post
Share on other sites

1 answer to this question

  • 0

В конце паблика с диалогами вижу лишнюю скобку. Удали, перед return 1;. Отметил её в куске кода

        case DLG_REGAGE:
        { // 445 строка
            if(!strlen(inputtext))
            {
             SPD(playerid, DLG_REGAGE, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ  > {00FFFF}Èãðîâîé âîçâðàñò",
                "{FFFFFF}Ââåäèòå èãðîâîé âîçâðàñò âàøåãî áóäóùåãî ïåðñîíàæà\n\
                Íå ââîäèòå âàø ðåàëüíûé âîçâðàñò!\n\n\
                \t- Âîçâðàñò äîëæåí áûòü äëèíîé îò {FFFF00}18-òè {FFFFFF}äî {FFFF00}60-òè {FFFFFF}ëåò",
            "Äàëåå""");
            return SCM(playerid, COLOR_RED, "[Îøèáêà] {FFFFFF}Âû íè÷åãî íå ââåëè!");
            }
            if(strval(inputtext) < 18 || (strval(inputtext) > 60)
            {
            SPD(playerid, DLG_REGAGE, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ  > {00FFFF}Èãðîâîé âîçâðàñò",
                "{FFFFFF}Ââåäèòå èãðîâîé âîçâðàñò âàøåãî áóäóùåãî ïåðñîíàæà\n\
                Íå ââîäèòå âàø ðåàëüíûé âîçâðàñò!\n\n\
                \t- Âîçâðàñò äîëæåí áûòü äëèíîé îò {FFFF00}18-òè {FFFFFF}äî {FFFF00}60-òè {FFFFFF}ëåò",
            "Äàëåå""");
            return SCM(playerid, COLOR_RED, "[Îøèáêà] {FFFFFF}Âîçâðàñò ïåðñîíàæà äîëæåí áûòü îò {FFFF00}18-òè {FFFFFF}äî {FFFF00}60-òè {FFFFFF}ëåò");
            }
            player_info[playerid][AGE] = strval(inputtext); // 453 строка
            SCM(playerid, COLOR_WHITE, "Success");
        }
    }
// удали скобку
    return 1;
}

 

P. S. Не нужно извиняться за иероглифы, извинения здесь не помогут, нужно просто раскладку перевести на русский язык при копировании из Pawno.

Имхо, 22 год, а ты до сих пор юзаешь павно. Советую посмотреть в сторону других более современных редакторов кода. Sublime Text 3, Notepad++ даже лучше павно будет, или VS

Edited by SCRIPTMAN

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content