Frage zu einem Abschlepp-Befehl

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
  • Abend


    Ich möchte mir einen Abschlepp-Befehl erstellen, ich weiß, dass es welche zum downloaden gibt ich möchte es aber selber machen(Dann kann man immer stolz sein wenns funzt ^^)Wie überprüfe ich , ob der Haken von dem Tow-Truck über einem Auto schwebt und wie mache ich , dass das auto dann dran Hängt - am Haken?

  • Du musst eine Schleife (z.B. for Schleife) machen, die alle Fahrzeuge durchgeht (MAX_VEHICLES). In dieser Schleife musst du dann abfragen, ob sich ein Fahrzeug beim Tow Truck befindet. Dies machst du, indem du die Position des Spielers mit jeder Position der Fahrzeuge in der Schleife vergleichen.


    Könnte so aussehen:


    if((floatabs(PLAYERPOSX-VEHICLEAUSSCHLEIFEX)<7.0)&&(floatabs(PLAYERPOSY-VEHICLEAUSSCHLEIFEY)<7.0)&&(floatabs(PLAYERPOSZ-VEHICLEAUSSCHLEIFEZ)<7.0)&&(VEHICLEAUSSCHLEIFE!=GetPlayerVehicleID(playerid)))



    Wenn dies zutrifft, nutzt du AttachTrailerToVehicle, um das Fahrzeug anzuhängen.


    Falls du noch Fragen hast, immer her damit.


    Mfg,
    UncleSub

  • Erstmal sollte man überprüfen ob der Spieler sich derzeit als Fahrer in einem Vehicle befindet, dazu:
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_RED, "You are not driving a vehicle!");


    Falls du mit dem gleichen Befehl auch ermöglichen möchtest, dass das Abschleppen gestoppt wird solltest du darunter abfragen (if) ob wir bereits ein Vehicle Abschleppen mit folgenden Befehlen:


    IsTrailerAttachedToVehicle(vehicleid)


    und wenn dies 1/true also Ja ergibt dann:
    DetachTrailerFromVehicle(vehicleid);


    Als nächstes machst du die Schleife die durch alle Vehicle geht wie UncleSub bereits gesagt hat und überprüfst ob ein Fahrzeug sich in der nähe befindet, hier ein Anhaltspunkt:
    for(new i=1; i < MAX_VEHICLES; i++)
    {
    if(i != vehicleid && GetVehiclePos(i, x, y, z))
    {


    Ist das alles erstmal getan schreibst du zum Schluss noch
    AttachTrailerToVehicle([ID VOM ABZUSCHELLPENDEM VEHICLE], vehicleid);
    hin.


    Willst du einen Beispiel Code schreib mir eine PN oder falls du weitere Hilfe benötigst :)

    Du brauchst Hilfe beim scripten? Siehe Hier:


    Klick mich!


    Derzeitiges Projekt: Youngs Deathmatch 1.0.0 [||||||||||]

    3 Mal editiert, zuletzt von Young ()