Problem getPointFromDistanceRotation bzw Explosion

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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 Tag liebe Leute.
    Ich habe folgendes Problem. Ich möchte das sobald der Spieler F1 drückt, eine Explosion direkt vor ihm erstellt wird.
    Im MTA Wiki habe ich auch eine brauchbare Function gefunden (getPointFromDistanceRotation)
    Wenn ich nun allerdings die Explosion erzeuge und mit (m)einem Fahrzeug fahre, dreht sie die Explosion mit. Sprich sie bleibt nicht direkt vor dem Spieler.
    Hat jemand ne Idee wie ich das beheben kann?


    function funcExplo ( player, key, keyState )
    local state = "let go of"
    local veh = getPedOccupiedVehicle ( player )
    if ( keyState == "down" ) then
    state = "pressed"
    end
    outputChatBox("Gnarf", source)
    if veh then
    local rot = getVehicleRotation ( veh )
    local ox,oy,oz = getElementPosition(veh);
    local nx, ny = getPointFromDistanceRotation( ox, oy, 20, rot)
    createExplosion ( nx, ny, oz, 12 , player )
    end
    end

  • nein soll es ja nicht, aber es wandert doch dadurch
    keystate "up" heisst es wird erst ausgelöst wenn die Taste gedrückt und dann wieder losgelassen wurd
    keystate "down" gibt schleifenartig zürück, dass die taste gedrückt wird

    you have been Traceured.


  • Vielleicht habe ich mich auch undeutlich ausgedrückt. Also nochmal neu^^
    Ich möchte das die Explosion IMMER am Punkt X erstellt wird. (sprich vor dem Auto)
    Wenn man nun nach links fährt, dreht sich ja das Auto und somit auch Punkt X.
    Allerdings wird nun in meinem Script die Explosion nicht an dem neuen Punkt X erstellt sondern an Punkt Y.
    Verstehtst du nun mein Problem? ;)



  • function funcExplo ( player, key, keyState )
    local state = "let go of"
    local veh = getPedOccupiedVehicle ( player )
    if ( keyState == "down" ) then
    state = "pressed"
    end
    outputChatBox("Gnarf", source)
    if veh then
    local _,_,rot = getVehicleRotation ( veh )--gemäß aus http://wiki.mtasa.com/wiki/GetVehicleRotation
    local ox,oy,oz = getElementPosition(veh);
    local nx, ny = getPointFromDistanceRotation( ox, oy, 20, rot)
    createExplosion ( nx, ny, oz, 12 , player )
    end
    end

    you have been Traceured.


  • Punkt X im Ersten Bild soll Punkt Y in Bild 2 entsprechen, er will also das man ausweichen kann. Das geht aber nicht weil die Explosion selbst wenn man lenkt noch vor dem Fahrzeug bleibt. Ist doch völlig verständlich schon im ersten Thread :D

    Deine Werbung hier?
    Niemals!
    Denn hier steht GTA:Westcoast
    gtawc.de