Was mache ich falsch? Fahrzeug mieten - nach ....min Löschen

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
  • Guten Abend.
    Ich stehe ganz am Anfang meines kleinem Scripts für mich und Freunde.
    Es beginnt am Spawn und dort soll man sich Fahrzeuge mieten können.
    Einen Golfwagen.
    Nun habe ich alles, man kann sich das Fahrzeug spawnen und alles wunderbar nur kriege ich es nicht hin, dass das Fahrzeug nach ...min gelöscht wird, wenn jemand aussteigt.
    Hier mal eine Methode von mir, die jedoch nicht so ganz hinhaut.
    Es wäre gut, wenn ihr mir nicht nur den verbesserten Code schickt sonder auch ein bisschen was erklärt, was ich falsch gemacht habe usw.


    Also:


    if(IsPlayerInRangeOfPoint(playerid, 0.5, 425.8283,-1557.0089,27.5781)) { new Golfwagen; Golfwagen = PutPlayerInVehicle(playerid,CreateVehicle(457, 410.2093,-1578.6604,26.9294,268.8291, 4, 1, 300), 0); SetTimer("DelAuto",1000*60*5,true); SendClientMessage(playerid,Gruen,"Du hast dir einen Golfwagen gemietet!"); SendClientMessage(playerid,Gruen,"Wenn du aussteigst hast du 5 Minuten Zeit, bis es respawnt"); SendClientMessage(playerid,Gruen,"Bitte lösche das Fahrzeug, wenn du es nicht mehr brauchst per /delcar"); } return 1; }









    public DelAuto();{ DestroyCar(Golfwagen);}




    Jo das wars auch.
    Ich weiß nicht warum das nicht funktioniert.
    Eigentlich wäre der ablauf ja logisch.
    Fahrzeug Spawnt. Timer beginnt. Zeit abgelaufen. Fahrzeug wird gelöscht.


    Hmmm..


    Danke für eure Hilfe im vorraus ;)


    Mit freundlichen Grüßen


    €dit:
    Arghhh meine schöne Ordnung ist raus.
    Für bessere Übersicht: http://pastebin.com/EYMUEwCf
    Hmmm auch nicht recht besser.
    Ihr werdet es euch schon rausfinden, hoffe ich. ;)


    Mfg

  • Ehm, eine kleine Frage nebenbei, möchtest du gern, dass das Auto, nachdem man aussteigt, noch sagen wir mal 2 Minuten unbenutz rum stehen kann und dann gelöscht wird, oder soll es gelöscht werden nur wenn er /delcar macht?


    MfG Bossa

  • Es soll manuell löschbar sein und genau das auch, wie du sagst.
    Es soll nach dem aussteigen noch paar Minuten stehen bleiben.
    Dass man z.B. mal eben in BSN gehen kann ohne dass das Car verschwindet
    OBwohl man das manuelle löschen weglassen könnte

  • Ehm meine spontane Idee wäre ein Timer von xMinuten bei OnPlayerExitVehicle starten zu lassen, mit dem Ziel, nach xMinuten das Auto zu löschen. Jo und bei dem Befehl das gleiche Ziel nur, dass es sofort geschieht.


    MfG Bossa

  • Ok...
    Haste grad ma n`Beispiel oder was parat?
    Steh anscheinend grad auf der Leitung.
    Ich wusste schon ma wie das geht aber habs verschwitzt.
    Ist das nicht das bei z.B.
    DestroyCar(GOLFWAGEN);
    damit frage ich doch die ID ab oder nicht?

  • Ehm, wenn du das so definiert hast, dass deine "Golfwagen" im Script mit Golfwagen anspielbar sind, musst du einfach Abfragen ob er zuvor in nem Golfwagen saß. Da müsste ich jetzt schnell bei mir nachschauen, bin gleich wieder da.


    MfG Bossa


    /Edit:


    Ich würde es wie folgt versuchen: Unter OnPlayerExitVehicle:


    new Auto = GetPlayerVehicleID(playerid);
    new AModell = GetVehicleModel(Auto);
    if(AModell == "GOLFWAGENID")
    {
    SetTimer ....
    }


    Damit dürftest du abfragen, ob er in einem Golfwagen sitzt, wenn er das tut und aussteigt, startet der Timer, der das Auto nach einer gewissen Zeit verschwinden lassen soll.


    Ich hoffe dass es so funktioniert. Wüsste gerade kein besseren Weg :)


    MfG Bossa

    Einmal editiert, zuletzt von Eliot Ness ()

  • Ehm ja sozusagen greifst du mit dem SetTimer dann auf eine Funktion zu, welche das Destroy beinhaltet.


    MfG Bossa