Feuerwehrsystem erstellen?

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
  • Es wird doch abgefragt ob der Spieler im Feuerwehrauto 407 sitzt/Feuerlöscher 42 hat und die Key_Fire taste drückt, dann geht das Feuer aus, ich hab dann das Problem das ich mich mit dem Rücken zum Feuer drehen kann und die KeyFire taste drücke und das Feuer wird gelöscht, eigentlich geht es mir um das Auto wie man es macht, wie sind andere Feuerwehr systeme wie dashier http://www.youtube.com/watch?v=lOlMz7MhPqc gemacht worden?


    //edit rechtschreibfehler

  • Am schnellsten wirst du dein Problem lösen, in dem du einfach zwei Vektoren aufstellst.


    (Dazu einmal eine kleine Grafik):
    breadfish.de/wcf/attachment/3997/


    Als Ortsvektor dient dabei deine Spieler-Position (p1, p2, p3) durch GetPlayerPos().
    Mit GetPlayerFacing() bekommst du die Blickrichtung deiner Person heraus.


    Mit diesem Winkel kannst du nun einen einen Vektor beschreiben. Die Funktion dazu sieht so aus:
    breadfish.de/wcf/attachment/3998/


    Nun brauchst du einen Vektor zwischen deiner Spielerposition (Punkt P) und dem Ort des Feuers (Punkt F, also Anfangspunkt P Endpunkt F, sprich der Richtungsvektor).
    Hier stellst du einfach die Parameterform für eine Gerade auf. (vektor x = Ortsvektor + skalar * Richtungsvektor)
    Mit hilfe des Richtungsvektors kannst du übrigens auch die Distanz zum Feuer messen (Betrag aus dem Vektor)


    Nun brauchst du nurnoch das Skalarprodukt (a1 * b1 + a2 * b2 + ... + an * bn) und etwas Mathematik aus der Unterstufe. (Satz des Pythagoras)
    Sprich cos alpha muss berechnet werden.


    Das sieht dann am Ende so aus: breadfish.de/wcf/attachment/3999/. (Achtung das Alpha des cosinus ist nicht das Selbe wie das des Facings)
    Es gibt wie immer natürlich noch hundert andere Wege, aber das dürfte der Schnellste sein. ;) (Auch hinsichtlich der Berechnungszeiten)



    PS: Dem Threadersteller hilft es herzlich wenig, wenn ihr ihm sagt, dass es bei euch funktioniert..