PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Geschwindkeit von Objekten


Nokman
23.02.2014, 08:42
Guten Tag,
ich bin an einen script dran um die Geschwindkeit eines Objektes zu ermitteln. im Endgültigen werend man es Anschaut durch ein Feststehened Objekt ZB ein Panzerabwehr Werfer auf standfuss.

Dafür habe ich denn Berechnungsscript geschrieben welcher auf 2 Auslösern bassiert. die geben die Variable z2 und z1. Aus der Zeit und der Entfernung zwischen denn beiden Auslösern kann ich die Km/h ermitteln.

Leider ist mein Problem das die Auslöser nur aller 2 Sekunden Überprüft werden. Dadurch bekomme ich falsche Zeiten und benötige eine andere Lösung die mir leider nicht einfällt da ich auch kein Befehl kenne für Geschwindigkeit Auslesen von Objekten. Noch dazu würde kommen das ich die Anvisierten Objekte nicht benennen wollte da es egal ob Flugzeug Fusssoldat oder Panzer Die ausgabe bringen sollte.

_m = 10;
_kmh = 3.6;
_speed = ((_m/(z2-z1))*_kmh);
hint format["%1 KMh",_speed];
exit

Edit:
Nachd en rumprobieren und testen habe ichd en befehl speed gefunden der mir den Speed ausgibt vom Objekt daher ist nun eigendlich blos noch die frage wie bekomme ich es hin das mir das Fahrzeug am einfachsten Name des Fahrzeuges angesagt wird und ich dem Objekt kein Namen geben muss

Vienna
23.02.2014, 10:53
Liste der Befehle für Arma3: https://community.bistudio.com/wiki/Category:Scripting_Commands_Arma_3

Der Befehl speed zeigt dir die Geschwindigkeit eines Objekts in km/h an: https://community.bistudio.com/wiki/speed

Bei Geschossen ist der Objektname des Projektils mit einem "Fired" Eventhandler auszulesen.
https://community.bistudio.com/wiki/Arma_3:_Event_Handlers#Fired

Kopiere den folgenden Code in die Initialisierungszeile eines Panzerabwehrsoldaten.

this addEventHandler
[
"Fired",
{
_this select 6 spawn
{
while {alive _this} do
{
player groupChat str (floor speed _this);
sleep 0.1
}
}
}
];

Willst du die Geschossgeschwindigkeit eines Panzers anzeigen, dann kopiere den Code in die Initialisierungszeile des Panzers.

Nokman
23.02.2014, 11:00
Vielen Dank ich hate gerade in denn Moment auch den Befehl Speed herausgefunden und hatte ihn oben Editiert.

Meine Beweggründe sind Das ich als Spieler welcher ZB durch ein Objekt Statisches Objekt schaue eben ein Titanwerfer im Editor oder ähnliches und das Angeschaute objekt die Geschwindigkeit sehe.

Oder was wohl das einfachste ist ich setze einen Auslöser und lese das Objekt welches es ausgelöst hat aus.

Edit: Die frage ist nun wie schaffe ich es das der Soldat Name: S1 nun per funk auslöser zb Die geschwindigkeit des Fahrzeuges ausgegeben bekommt welches gerade in denn Auslöser ist

Oder man verwendet einfach
hint format["%1",speed CursorTarget];
für das objekt auf was man Zeit die geschwindigkeit man bekommt Reimt sich auch fast.


Viel dank Vienna Danke für den Support:daumen:

Vienna
23.02.2014, 18:59
Kopiere den Code in die Initialisierungszeile des Spielers:


temp = 0 spawn
{
while {true} do
{
waituntil {sleep 0.5; cursorTarget isKindOF "AllVehicles"};
hint format["Speed: %1",round speed cursorTarget];
sleep 2;
hint ""
}
};

Funktioniert auch beim Blick durchs Fernglas.