Wie kann man überprüfen ob ein Spieler vor der Motorhaube steht?
Überprüfen ob Spieler vor der Motorhaube steht - Problem
- Darkhuskarl
- Geschlossen
- Erledigt
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
-
-
IsPlayerInRangeOfPoint(playerid, 3.0, PunktX, PunktY, PunktZ))
-
Da überprüft man nur ob er in der nähe ist ich will aber überprüfen ob er vor der Motorhaube steht
-
für die Punkte setzt du die Motorhaube ein O.o
-
Ich will ja net spammen aber du bist wohl net der schlauste
Am besten Attached du mal ein Objekt und die Autoposition dann machst vergleichst du das mit dem anderen Beispiel:
new Float:Vx,Float:Vy,Float:Vz;
GetVehiclesPos(vehid,Vx,Vy,Vz);
//Das Atachde Objekt hat die Pos 0.02,0.06,0.00
if(IsPlayerInRangeOfPoint(playerid,1.0,Vx +0.02,Vy+0.06,Vz+0.00)
{
//Dein Befehl
}So leicht geht das
Mfg
-
Oke Danke für die Antwort werde es morgen testen
-
Falsch! Du kannst nicht einfach nur der x und y-Koordinate einen kleinen Wert dazuaddieren und dann denken, der neue Punkt ergäbe die Motorhaube(oder n Stück davor).
Um die richtigen Koordinaten zu berechnen, brauchst du Wissen über Polarkoordinaten. Schau dir bei dem Link mal die Überschrift unter "Umrechnung von Polarkoordinaten in kartesische Koordinaten" an.
-
türlich geht das martin
-
türlich geht das martin
Dann beweise es ;). Ich kann eigentlich jede Wette eingehen, dass das Addieren nicht funktionieren wird. N bisschen mathematisches sollte man als Programmierer schon mit sich bringen und da ist es doch offensichtlich, dass das so wie oben nicht funktionieren wird.
-
Dann beweise es ;). Ich kann eigentlich jede Wette eingehen, dass das Addieren nicht funktionieren wird. N bisschen mathematisches sollte man als Programmierer schon mit sich bringen und da ist es doch offensichtlich, dass das so wie oben nicht funktionieren wird.
Doch das funkoniert, aber NUR wenn die Rotation des Autos auch 0 ist.Es gibt ja nicht umsonst die Funktion IsPlayerInFrontOfVehicle die man mit GetVehicleModelInfo kombinieren sollte
-
-
Ja toll und in wie viel Prozent der Fälle steht das Fahrzeug genau Richtung Norden? Und selbst dann würde es nicht funktionieren, da man dann nur der y-Achse addieren müsste.
Genauer gesagt würde es NUR funktionieren, wenn das Auto im Winkel von 45 ° richtung Nordosten stehtTrotzdem wäre das unsauber programmiert.
-
Wäre es net denn bei mir gehts so?
Achja teste es erstmal bevor hier streit aufkommt! Sag mir denn obs geht -
Bei mir geht es nicht
-
Probier mal das aus:
stock GetPlayerInFrontOfVehicle(vehicleid, &Float:x, &Float:y, Float:distance)
{
new Float:a;
GetVehiclePos(vehicleid, x, y, a);
GetVehicleZAngle(vehicleid, a);
x += (distance * floatsin(-a, degrees));
y += (distance * floatcos(-a, degrees));
}mfg.
-
Das funkt net...
Edit: Sry, es hat doch geklappt, hab es am Anfang falsch gelesen.
-
breadfish.de
Hat das Thema geschlossen.