Tore durch Annaeherung , bestimmter Fahrzeuge oeffnen

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 liebe Community
    Ich habe derzeit Probleme damit , Tore , bzw Objekte , bei Annaeherung zu oeffnen.
    Ich habe leider keine Ahnung wie ich das angehen soll , deshalb waere es nett von euch wenn jemand Codeschnipsel o.ae. posten koennte.
    Es handelt sich um 6 Fahrzeuge deren IDs lauten : 601,552, 433, 432,428,528


    (Gegenleistungen auf Anfrage)


    Mit freundlichen Gruessen
    巻く牛ミリ案件白押さえ気


  • Ei


    Einfach Sekundentimer ;)

  • Ich denke mal ungefähr so könnte es gehen (Timer):


    Spoiler anzeigen
    SetTimer("NahAmTor",1000,true);

    Spoiler anzeigen
    forward NahAmTor();
    public NahAmTor()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerInRangeOfPoint(i,radius,X,Y,Z))
    {
    if(GetVehicleModel(GetPlayerVehicle(i))==Model && torvar == 0)
    {
    MoveObject( ... );
    torvar = 1;
    }
    }
    else if(!IsPlayerInRangeOfPoint(i,radius,X,Y,Z))
    {
    MoveObject( ... );
    torvar = 0;
    }
    //////////////////////////////////////////////////
    ////////////////// NÄCHSTES TOR //////////////////
    //////////////////////////////////////////////////
    if(IsPlayerInRangeOfPoint(i,radius,X,Y,Z))
    {
    if(GetVehicleModel(GetPlayerVehicle(i))==Model && torvar == 0)
    {
    MoveObject( ... );
    torvar = 1;
    }
    }
    else if(!IsPlayerInRangeOfPoint(i,radius,X,Y,Z))
    {
    MoveObject( ... );
    torvar = 0;
    }
    //////////////////////////////////////////////////
    ////////////////// NÄCHSTES TOR //////////////////
    //////////////////////////////////////////////////
    if(IsPlayerInRangeOfPoint(i,radius,X,Y,Z))
    {
    if(GetVehicleModel(GetPlayerVehicle(i))==Model && torvar == 0)
    {
    MoveObject( ... );
    torvar = 1;
    }
    }
    else if(!IsPlayerInRangeOfPoint(i,radius,X,Y,Z))
    {
    MoveObject( ... );
    torvar = 0;
    }
    }
    }

    Einmal editiert, zuletzt von Sh12 ()


  • IsPlayerInRangeOfPoint hat als Parameter einen Radius ;)


    Edit: Ich hab es so gemacht:


    Array bestehend aus den Koordinaten, von wo aus er das Tor öffnen kann, Koordinaten geschlossen und offen. Dann wie gesagt ein Sekundentimer durch alle Spieler. Dabei kannste durchs Array iterieren

  • Ich habe es immernoch nicht hinbekommen , mehr als ein Fahrzeug in die Zeile einzubinden , z.b. dass man zum oeffnen des Tores in einem Farhzeug mit der ID 420 ODER xyz sitzen muss , in dem was ihr gepostet habt ist nur eine ID , waehre nett wenn jemand mir dabe ihelfen koennte.
    Das Tor selbst funktioniert mit der angegebenen Model ID


    //E: habe es so versucht : if(GetVehicleModel(GetPlayerVehicle(i))==Model,Model2,Model3l && torvar == 0) oder mit




    new Float:Fahrzeuge[][11] =
    {
    {552},
    {601},
    {470},
    {432},
    {433},
    {428},
    {407},
    {427},
    {456},
    {486},
    {528}
    };



    public NahAmTor()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    if(IsPlayerConnected(i))
    {

    {


    if(IsPlayerInRangeOfPoint(i,10,1705.1999512,1605.0999756,10.1999998))
    {
    if(GetVehicleModel(GetPlayerVehicleID(i))== Fahrzeuge && torv == 0 )
    {

    MoveObject(Tor1a,1703.5000000,1599.6999512,10.1999998,1);
    MoveObject(Tor2a,1708.3000488,1615.8000488,10.1999998,1);
    torv = 1;
    }
    }
    else if(!IsPlayerInRangeOfPoint(i,10,1705.1999512,1605.0999756,10.1999998))
    {


    MoveObject(Tor1a,1705.1999512,1605.0999756,10.1999998,1);
    MoveObject(Tor2a,1706.8000488,1610.4000244,10.1999998,1);
    torv = 0;
    }

    }
    }
    }






    Mit freundlichen Gruessen
    巻く牛ミリ案件白押さえ気

    2 Mal editiert, zuletzt von 東志新川薩摩 ()


  • Klappt! Danke!




    Mit freundlichen Gruessen
    巻く牛ミリ案件白押さえ気