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