Zwei Tore funktionieren nicht so wie sie sollen?

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
  • if(strcmp(cmdtext,"/pdtor2",true) == 0)
    {
    if(isPlayerInFrakt(playerid,1))
    {
    if(IsPlayerInRangeOfPoint(playerid,10,256.4313,181.3369,1003.0234))
    {
    if(geftorwas == 0)
    {
    MoveObject(geftor,255.10000610352, 185, 1002,10);

    geftor = 1;


    }
    else
    {
    MoveObject(geftor, 255.10000610352, 183.30000305176, 1002,10); //255.10000610352, 183.30000305176, 1002
    geftorwas = 0;


    }
    }
    else SendClientMessage(playerid,ROT,"Du darfst das nicht");
    return 1;
    }
    }




    if(strcmp(cmdtext,"/pdtor",true) == 0)
    {
    if(isPlayerInFrakt(playerid,1))
    {
    if(IsPlayerInRangeOfPoint(playerid,10, 252.4960,181.2993,1003.0234))
    {
    if(geftor1was == 0)
    {
    MoveObject(geftor1, 253.5, 185.19999694824, 1002,10);


    geftor1was = 1;


    }
    else
    {
    MoveObject(geftor1, 255.10000610352, 183.30000305176, 1002,10); //255.10000610352, 183.30000305176, 1002
    geftor1was = 0;


    }
    }
    else SendClientMessage(playerid,ROT,"Du darfst das nicht!");
    return 1;
    }
    }
    Also mein Tore gehen dort hin wo sie sollen.
    Aber wenn ich den Befehl nochmals eingebe kommen sie nicht zurück wo ist der Fehler?

  • Du hast 2 else untereinander, kann nicht funktionieren oder?


    Verwende beim ersten else einfach "else if(geftorwas == 1)" bzw. "else if(geftor1was == 1)"
    Und beim ersten Befehl soll die Variable "geftorwas" auf 1 gesetzt werden, nicht das Objekt "geftor"


    Hier der 2. Befehl:
    if(strcmp(cmdtext,"/pdtor",true) == 0)
    {
    if(isPlayerInFrakt(playerid,1))
    {
    if(IsPlayerInRangeOfPoint(playerid,10, 252.4960,181.2993,1003.0234))
    {
    if(geftor1was == 0)
    {
    MoveObject(geftor1, 253.5, 185.19999694824, 1002,10);
    geftor1was = 1;
    }
    else if(geftor1was == 1)
    {
    MoveObject(geftor1, 255.10000610352, 183.30000305176, 1002,10); //255.10000610352, 183.30000305176, 1002
    geftor1was = 0;
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht am richtigen Punkt!");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du darfst das nicht!");
    }
    return 1;
    }



    Einmal editiert, zuletzt von Grindl ()

  • Schau vielleicht auch mal ob


    if(isPlayerInFrakt(playerid,1))


    nicht vielleicht so geschrieben wird


    if(IsPlayerInFrakt(playerid,1))


    Also mit großem "i", den auf die Groß und Kleinschreibung muss man bei pwno auch achten.

  • Dann hätte er nen Error bekommen.


    Versuchs mal so:


    if(strcmp(cmdtext,"/pdtor2",true) == 0)
    {
    if(isPlayerInFrakt(playerid,1))
    {
    if(IsPlayerInRangeOfPoint(playerid,10,256.4313,181.3369,1003.0234))
    {
    if(geftorwas == 0)
    {
    MoveObject(geftor,255.10000610352, 185, 1002,10);
    geftorwas = 1;
    }
    else
    {
    MoveObject(geftor, 255.10000610352, 183.30000305176, 1002,10); //255.10000610352, 183.30000305176, 1002
    geftorwas = 0;
    }
    }
    else SendClientMessage(playerid,ROT,"Du darfst das nicht");
    return 1;
    }
    }


    if(strcmp(cmdtext,"/pdtor",true) == 0)
    {
    if(isPlayerInFrakt(playerid,1))
    {
    if(IsPlayerInRangeOfPoint(playerid,10, 252.4960,181.2993,1003.0234))
    {
    if(geftor1was == 0)
    {
    MoveObject(geftor1, 253.5, 185.19999694824, 1002,10);
    geftor1was = 1;
    }
    else
    {
    MoveObject(geftor1, 255.10000610352, 183.30000305176, 1002,10); //255.10000610352, 183.30000305176, 1002
    geftor1was = 0;
    }
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du darfst das nicht!");
    return 1;
    }
    }