Fahrschulproblem :/

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo ich habe eine Automatische Fahrschule eingebaut, ich bekomme aber einen Error bei der Funktion: return 1;


    else if(GetPlayerMenu(playerid) == test1) //hier
    {
    switch(row)
    {
    case 0:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 1:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 2:
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gratuliere für die richtige Antwort, es folgt Frage 2.");
    ShowMenuForPlayer(test2,playerid);
    testt2(playerid);
    }
    case 3:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 4:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 5:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);


    }
    case 6:
    {
    HideMenuForPlayer(test1,playerid);
    TogglePlayerControllable(playerid, 1);
    }
    }
    }
    }
    return 1;
    }



    Der Fehler heißt so:

    C:\Dokumente und Einstellungen\Hanne\Desktop\SA-MP\samp03csvr_R2-2_win32\gamemodes\gf.pwn(3753) : warning 217: loose indentation // der bei der abfrage für test1
    C:\Dokumente und Einstellungen\Hanne\Desktop\SA-MP\samp03csvr_R2-2_win32\gamemodes\gf.pwn(3799) : error 010: invalid function or declaration // dermit return 1;


    P.S: Habe auch richtig eingerückt :/


    Destiny - RealLife is coming SOON!
    Wir sind zurück besser als je zuvor! :*

  • das return muss uunter die 4 letzte klammer dann die letzten beiden weg

  • geht ja gar nicht wenn ich die letzten beide weg mache wird ja der public nicht geschlossen 8|


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    if(GetPlayerMenu(playerid) == test4)
    {
    switch(row)
    {
    case 0:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 1:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 2:
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gratuliere, jetzt folgt die praktische Prüfung.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Steigen Sie bitte in das weiße Fahrzeug und fahren Sie die Checkpoints ab.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Fahren Sie dabei nicht schneller als 80 km/h.");
    TogglePlayerControllable(playerid, 1);
    praxis(playerid);
    SetPlayerInterior(playerid,0);
    }


    case 3:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 4:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 5:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);


    }


    case 6:
    {
    HideMenuForPlayer(test4,playerid);
    TogglePlayerControllable(playerid, 1);
    }


    }


    }
    else if(GetPlayerMenu(playerid) == test3)
    {
    switch(row)
    {
    case 0:
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gratuliere für die richtige Antwort! Es folgt Frage 4.");
    ShowMenuForPlayer(test4,playerid);
    testt4(playerid);
    }


    case 1:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 2:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 3:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 4:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 5:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);


    }


    case 6:
    {
    HideMenuForPlayer(test3,playerid);
    TogglePlayerControllable(playerid, 1);
    }


    }



    }
    else if(GetPlayerMenu(playerid) == test2)
    {
    switch(row)
    {
    case 0:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 1:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 2:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 3:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 4:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 5:
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gratuliere für die richtige Antwort, es folgt Frage 3.");
    ShowMenuForPlayer(test3,playerid);
    testt3(playerid);


    }
    case 6:
    {
    HideMenuForPlayer(test2,playerid);
    TogglePlayerControllable(playerid, 1);
    }


    }
    }
    else if(GetPlayerMenu(playerid) == test1)
    {
    switch(row)
    {
    case 0:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 1:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 2:
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gratuliere für die richtige Antwort, es folgt Frage 2.");
    ShowMenuForPlayer(test2,playerid);
    testt2(playerid);
    }
    case 3:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 4:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 5:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);


    }
    case 6:
    {
    HideMenuForPlayer(test1,playerid);
    TogglePlayerControllable(playerid, 1);
    }
    }
    }
    }
    return 1;
    }


    MfG


    Destiny - RealLife is coming SOON!
    Wir sind zurück besser als je zuvor! :*

  • Kein wunder wenn man bei dem durcheinander den ueberblick verliert. Deadwalker lag schon ganz richtig mit seiner Aussage.
    Hier ist dein Code mit uebersichtlicheren Einrueckungen, so gehen die Klammern nicht so leicht verloren. Bin mir nicht sicher, ob OnPlayerSelectedMenuRow einen wichtige rueckgabe wert hat, aber in dem Fall wuerde ich das return 1, wie es Deadwalker vorschlug, in die einzelnen if() setzen und ueberpruefen, ob eine korrekte Auswahl getroffen wurde ( 'default: return 0;' ).
    public OnPlayerSelectedMenuRow(playerid, row)
    {
    if(GetPlayerMenu(playerid) == test4)
    {
    switch(row)
    {
    case 0:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 1:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 2:
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gratuliere, jetzt folgt die praktische Prüfung.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Steigen Sie bitte in das weiße Fahrzeug und fahren Sie die Checkpoints ab.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Fahren Sie dabei nicht schneller als 80 km/h.");
    TogglePlayerControllable(playerid, 1);
    praxis(playerid);
    SetPlayerInterior(playerid,0);
    }
    case 3:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 4:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 5:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);


    }
    case 6:
    {
    HideMenuForPlayer(test4,playerid);
    TogglePlayerControllable(playerid, 1);
    }
    }
    }
    else if(GetPlayerMenu(playerid) == test3)
    {
    switch(row)
    {
    case 0:
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gratuliere für die richtige Antwort! Es folgt Frage 4.");
    ShowMenuForPlayer(test4,playerid);
    testt4(playerid);
    }
    case 1:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 2:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 3:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 4:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 5:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 6:
    {
    HideMenuForPlayer(test3,playerid);
    TogglePlayerControllable(playerid, 1);
    }
    }
    }
    else if(GetPlayerMenu(playerid) == test2)
    {
    switch(row)
    {
    case 0:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 1:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 2:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 3:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 4:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 5:
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gratuliere für die richtige Antwort, es folgt Frage 3.");
    ShowMenuForPlayer(test3,playerid);
    testt3(playerid);
    }
    case 6:
    {
    HideMenuForPlayer(test2,playerid);
    TogglePlayerControllable(playerid, 1);
    }
    }
    }
    else if(GetPlayerMenu(playerid) == test1)
    {
    switch(row)
    {
    case 0:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 1:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 2:
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gratuliere für die richtige Antwort, es folgt Frage 2.");
    ShowMenuForPlayer(test2,playerid);
    testt2(playerid);
    }
    case 3:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 4:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 5:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }
    case 6:
    {
    HideMenuForPlayer(test1,playerid);
    TogglePlayerControllable(playerid, 1);
    }
    }
    }
    return 1;
    }


    Edit: Einrueckungen sind leider doch nicht so schoen geworden, speziell in den switch-statements. In pawno sah das noch ganz gut aus, doofe Abstaende zwischen drin ;)