Kleine Frage wegen IF, ELSE, ELSE IF

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 Leute,


    ich habe ein Problem. Und zwar habe ich einen Befehl für meine Gates gemacht.
    Nun ist es so, dass ich mit dem selben Befehl, je nach Position des Spielers bestimmte
    Gates öffnen möchte. Das Problem ist jetzt, dass nur die "IF"-Abfrage funktioniert, der
    Rest geht leider nicht. Hoffe,dass ihr mir helfen könnt.



    mfg



    public OnPlayerCommandText(playerid, cmdtext[])



    {
    if (strcmp(cmdtext, "/zoll", true) == 0)
    {
    if (IsPlayerInRangeOfPoint(playerid, 15, 2965.3605957031, -700.39953613281, 3.152322769165))
    {
    MoveObject(zollgate1, 2944.0603027344, -695.20251464844, 0.5693067312241, 4.0);
    MoveObject(zollgate3, 2954.849609375, -695.32366943359, 0.7553006410599, 4.0);
    SetTimer("Zoll1Links",5000,0);


    }
    }
    else if (IsPlayerInRangeOfPoint(playerid, 15, 2934.7209472656, -699.64434814453, 3.9883451461792))
    {
    MoveObject(zollgate2, 2943.5302734375, -704.55670166016, 0.5693067312241, 4.0);
    MoveObject(zollgate4, 2954.4304199219, -704.66973876953, 0.7553006410599, 4.0);
    SetTimer("Zoll1Rechts",5000,0);
    }


    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Nicht am Zoll");
    }
    return 1;
    }

  • Ist klar dass der Rest nicht geht wenn du die Klammer falsch setzt :D um sowas zu vermeiden hilft Code einrücken
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/zoll", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 15, 2965.3605957031, -700.39953613281, 3.152322769165))
    {
    MoveObject(zollgate1, 2944.0603027344, -695.20251464844, 0.5693067312241, 4.0);
    MoveObject(zollgate3, 2954.849609375, -695.32366943359, 0.7553006410599, 4.0);
    SetTimer("Zoll1Links",5000,0);
    }
    // hier hattest du eine Klammer zuviel
    else if(IsPlayerInRangeOfPoint(playerid, 15, 2934.7209472656, -699.64434814453, 3.9883451461792))
    {
    MoveObject(zollgate2, 2943.5302734375, -704.55670166016, 0.5693067312241, 4.0);
    MoveObject(zollgate4, 2954.4304199219, -704.66973876953, 0.7553006410599, 4.0);
    SetTimer("Zoll1Rechts",5000,0);
    }
    else SendClientMessage(playerid, COLOR_WHITE, "Nicht am Zoll");
    }
    return 1;
    }

  • So:
    if (strcmp(cmdtext, "/zoll", true) == 0)
    {
    if (IsPlayerInRangeOfPoint(playerid, 15, 2965.3605957031, -700.39953613281, 3.152322769165))
    {
    MoveObject(zollgate1, 2944.0603027344, -695.20251464844, 0.5693067312241, 4.0);
    MoveObject(zollgate3, 2954.849609375, -695.32366943359, 0.7553006410599, 4.0);
    SetTimer("Zoll1Links",5000,0);
    }
    else if (IsPlayerInRangeOfPoint(playerid, 15, 2934.7209472656, -699.64434814453, 3.9883451461792))
    {
    MoveObject(zollgate2, 2943.5302734375, -704.55670166016, 0.5693067312241, 4.0);
    MoveObject(zollgate4, 2954.4304199219, -704.66973876953, 0.7553006410599, 4.0);
    SetTimer("Zoll1Rechts",5000,0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Nicht am Zoll");
    return 1;
    }
    return 1;
    }


    //Edit: Och Mensch ]hp[. Ich war zu langsam =(