/tor nur ab einem bestimmten abstand?

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
  • Hey Leute wie mache ich das das Tor aufgeht wenn man davor steht weil wenn ich /tor mache und ich irgentwo bin geht es trozdem auf....


    hier mal mein Command:


    forward Torschliessen();


    new Gate;


    if (strcmp("/tor", cmdtext, true, 10) == 0)
    {
    MoveObject(Gate,209.88281250,1875.65026855,8.377895355225,5.0);
    SetTimer("Torschliessen",5000,0);
    return 1;
    }


    public Torschliessen()
    {
    MoveObject(Gate,209.88281250,1875.65026855,12.37789536,5.0);
    return 1;
    }

  • if (strcmp("/tor", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,209.88281250,1875.65026855,8.377895355225))
    MoveObject(Gate,209.88281250,1875.65026855,8.377895355225,5.0);
    SetTimer("Torschliessen",5000,0);
    return 1;
    }

  • okay danke klappt perfekt so wie ich es wollte jetzt habe ich aber noch eine frage wie kann mehrere tore rein machen die mit dem Befehl /tor geöffnet werden also z.b. ich habe 5 tore aber alle sollen den befehl /tor haben und sich nur öffnen wenn ich halt davor stehe wie mache ich das?...

  • Du machst mehrere if(IsPlayerInRangeOfPoint(... Abfragen, bei denen du ein bestimmtes Tor nur öffnest, wenn die Abfrage zutrifft.
    if (strcmp("/tor", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,209.88281250,1875.65026855,8.377895355225))
    {
    MoveObject(Gate,209.88281250,1875.65026855,8.377895355225,5.0);
    SetTimer("Torschliessen",5000,0);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 10, TorX, TorY, TorZ))
    {
    Move Object...
    SetTimer...
    }
    else if(IsPlayerInRangeOfPoint(playerid, 10, Tor2X, Tor2Y, Tor2Z))
    {
    // ...
    }
    return 1;
    }

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • if(!IsPlayerInRangeOfPoint(playerid, RANGE X, Y, Z))return SendClientMessage(playerid, FARBE, "Du bist nicht in der Nähe eines Tores!");
    //Code
    else if(!IsPlayerInRangeOfPoint(playerid, RANGE, X, Y, Z))return SendClientMessage(playerid, FARBE, "Du bist nicht in der Nähe eines Tores!");
    //Code
    usw. ...
    Mit Hilfe von else if wird halt abgefragt ob du in der Nähe eines Tores bist oder nicht.
    Wenn ja wird der Code ausgeführt, wenn nicht sucht es sich ein anderes Tor und probiert es dort, bzw. zeigt dann die Meldung an.

    in jedem Fall super hydrodynamisch - dafür stehe ich mit meinem Namen

  • das 2. tor geht trozdem nicht auf was amche ich falsch?



    forward Torschliessen();
    forward tornametimer();
    new Gate;


    Gate = CreateObject(969,209.88281250,1875.65026855,12.37789536,0.00000000,0.00000000,0.00000000);
    Gate1 = CreateObject(988,96.72574615,1920.61181641,17.24023247,0.00000000,0.00000000,270.00000000);


    if (strcmp("/tor", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,209.88281250,1875.65026855,8.377895355225))
    {
    MoveObject(Gate,209.88281250,1875.65026855,8.377895355225,5.0);
    SetTimer("Torschliessen",5000,0);
    }
    else if(IsPlayerInRangeOfPoint(playerid,10,96.72574615,1920.61181641,17.24023247))
    {
    MoveObject(Gate1,96.72574615,1920.61181641,17.24023247,5.0);
    SetTimer("Torschliessen",5000,0);
    }
    return 1;
    }


    public Torschliessen()
    {
    MoveObject(Gate,209.88281250,1875.65026855,12.37789536,5.0);
    MoveObject(Gate1,96.72574615,1920.61181641,17.24023247,5.0);
    return 1;
    }

  • ne hab alles richtig:


    new Gate;
    new Gate1;


    Gate = CreateObject(969,209.88281250,1875.65026855,12.37789536,0.00000000,0.00000000,0.00000000);
    Gate1 = CreateObject(988,96.72574615,1920.61181641,17.24023247,0.00000000,0.00000000,270.00000000);


    if (strcmp("/tor", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,209.88281250,1875.65026855,8.377895355225))
    {
    MoveObject(Gate,209.88281250,1875.65026855,8.377895355225,5.0);
    SetTimer("Torschliessen",5000,0);
    }
    else if(IsPlayerInRangeOfPoint(playerid,10,96.72574615,1920.61181641,17.24023247))
    {
    MoveObject(Gate1,96.72574615,1920.61181641,17.24023247,5.0);
    SetTimer("Torschliessen",5000,0);
    }
    return 1;
    }



    public Torschliessen()
    {
    MoveObject(Gate,209.88281250,1875.65026855,12.37789536,5.0);
    MoveObject(Gate1,96.72574615,1920.61181641,17.24023247,5.0);
    return 1;
    }

  • Also, du möchtest dein Tor öffnen und verschiebst es an diese Position:

    MoveObject(Gate1,96.72574615,1920.61181641,17.24023247,5.0);


    Nun möchtest du es schließen, verschiebst es aber wieder an die Position an der das Tor gemovet werden soll, wenn es aufgeht?


    MoveObject(Gate1,96.72574615,1920.61181641,17.24023247,5.0);