Was sagt mir diese Meldung?

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
  • Ja ich weiß, ich scheine zu blöd zum scripten zu sein aber heute ist halt mein erster Tag und ich versuche gerade einen TDM Script aufzubauen.
    Wie dem auch sei, hier ein Error welchen ich zu 0% verstehe:


    Code
    (423) : error 002: only a single statement (or expression) can follow each "case"


    Was will mit der Pawno Editor da sagen?





    //EDIT:


    Und hier noch die zwei Menüs falls es hilft.
    Die Zeile mit dem Error (423) ist hier Zeile 49.


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    new Menu:current; //Pistolen/Sonstiges menu
    current = GetPlayerMenu(playerid);
    if(current == pistolmenu)
    {
    switch(row)
    {
    case 0:
    {
    GivePlayerWeapon(playerid, 22, 50); //USP
    GivePlayerMoney(playerid, -500);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 1:
    {
    GivePlayerWeapon(playerid, 24, 50); //Desert Eagle
    GivePlayerMoney(playerid, -650);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 2:
    {
    GivePlayerWeapon(playerid, 17, 2); //Rauchgranate
    GivePlayerMoney(playerid, -200);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 3:
    {
    GivePlayerWeapon(playerid, 16, 1); //HE-Granate
    GivePlayerMoney(playerid, -700);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 4:
    {
    GivePlayerWeapon(playerid, 44, 1); //Nachtsichtgerät
    GivePlayerMoney(playerid, -1250);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 5:
    {
    HideMenuForPlayer(pistolmenu, playerid); //Pistolen/Sonstiges Menu schließen
    TogglePlayerControllable(playerid, 1);
    }
    else if(current == mpmenu)
    {
    switch(row)
    {
    case 0:
    {
    GivePlayerWeapon(playerid, 22, 50); //USP
    GivePlayerMoney(playerid, -500);
    HideMenuForPlayer(mpmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 1:
    {
    GivePlayerWeapon(playerid, 24, 50); //Desert Eagle
    GivePlayerMoney(playerid, -650);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 2:
    {
    GivePlayerWeapon(playerid, 17, 2); //Rauchgranate
    GivePlayerMoney(playerid, -200);
    HideMenuForPlayer(mpmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 3:
    {
    GivePlayerWeapon(playerid, 16, 1); //HE-Granate
    GivePlayerMoney(playerid, -700);
    HideMenuForPlayer(mpmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 4:
    {
    GivePlayerWeapon(playerid, 44, 1); //Nachtsichtgerät
    GivePlayerMoney(playerid, -1250);
    HideMenuForPlayer(mpmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 5:
    {
    HideMenuForPlayer(pistolmenu, playerid); //Pistolen/Sonstiges Menu schließen
    TogglePlayerControllable(playerid, 1);
    }
    }
    }
    }


    return 1;
    }

  • Du machst eine case Abfrage, mit einem "switch(...) {" eingeleitet
    Und innerhalb dieses switches darf außerhalb der casese nix anderes stehen, außer case
    Also Beispiel:
    //falsch:
    new i=2;
    switch(i) {
    case 2: { i++; }
    else if(i==3) { i--; }
    }
    //richtig:
    new i=2;
    switch(i) {
    case 2: { i++; }
    case 3: { i--; }
    }
    //EDIT: So:

    Spoiler anzeigen


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    new Menu:current; //Pistolen/Sonstiges menu
    current = GetPlayerMenu(playerid);
    if(current == pistolmenu)
    {
    switch(row)
    {
    case 0:
    {
    GivePlayerWeapon(playerid, 22, 50); //USP
    GivePlayerMoney(playerid, -500);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 1:
    {
    GivePlayerWeapon(playerid, 24, 50); //Desert Eagle
    GivePlayerMoney(playerid, -650);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 2:
    {
    GivePlayerWeapon(playerid, 17, 2); //Rauchgranate
    GivePlayerMoney(playerid, -200);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 3:
    {
    GivePlayerWeapon(playerid, 16, 1); //HE-Granate
    GivePlayerMoney(playerid, -700);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 4:
    {
    GivePlayerWeapon(playerid, 44, 1); //Nachtsichtgerät
    GivePlayerMoney(playerid, -1250);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 5:
    {
    HideMenuForPlayer(pistolmenu, playerid); //Pistolen/Sonstiges Menu schließen
    TogglePlayerControllable(playerid, 1);
    }}}
    else if(current == mpmenu)
    {
    switch(row)
    {
    case 0:
    {
    GivePlayerWeapon(playerid, 22, 50); //USP
    GivePlayerMoney(playerid, -500);
    HideMenuForPlayer(mpmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 1:
    {
    GivePlayerWeapon(playerid, 24, 50); //Desert Eagle
    GivePlayerMoney(playerid, -650);
    HideMenuForPlayer(pistolmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 2:
    {
    GivePlayerWeapon(playerid, 17, 2); //Rauchgranate
    GivePlayerMoney(playerid, -200);
    HideMenuForPlayer(mpmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 3:
    {
    GivePlayerWeapon(playerid, 16, 1); //HE-Granate
    GivePlayerMoney(playerid, -700);
    HideMenuForPlayer(mpmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 4:
    {
    GivePlayerWeapon(playerid, 44, 1); //Nachtsichtgerät
    GivePlayerMoney(playerid, -1250);
    HideMenuForPlayer(mpmenu, playerid);
    TogglePlayerControllable(playerid, 1);
    }
    case 5:
    {
    HideMenuForPlayer(pistolmenu, playerid); //Pistolen/Sonstiges Menu schließen
    TogglePlayerControllable(playerid, 1);
    }
    }
    }
    return 1;
    }

  • deins:
    }
    case 5:
    {
    HideMenuForPlayer(pistolmenu, playerid); //Pistolen/Sonstiges Menu schließen
    TogglePlayerControllable(playerid, 1);
    }
    else if(current == mpmenu)
    {
    switch(row)
    {


    meins:
    }
    case 5:
    {
    HideMenuForPlayer(pistolmenu, playerid); //Pistolen/Sonstiges Menu schließen
    TogglePlayerControllable(playerid, 1);
    }
    }
    }
    else if(current == mpmenu)
    {
    switch(row)
    {

  • Case Operationen sind einseitige Funktionen , Funktionen anderer Seite
    können nur in Cases / Schubladen sag ich mal abgelegt werden, zwischen diesen Schubladen
    darf sich keine andere Funktion befinden nur der Innenraum also Case


    switch(Rückgabewert)
    {
    case 0:
    {
    // Deine Aktionen / Funktionen
    }
    }


    Switch nimmt nun das ganz und prüft welche Schublade welchen Titel trägt, hat
    dein Rückgabe wert nun eine 0 ist der Titel 0 und der Code Springt zu Schublade 0 also Case 0
    und führt deinen Inhalt aus, der Rest wird übergangen und nicht beachtet.

    Mfg. BlackFoX_UD_ alias [BFX]Explosion