PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : beschleunigung von fahrzeugen messen


Virility92
05.03.2009, 19:06
hi, ich will bei ein paar fahrzeugen die beschleunigung vergleichen (von 0 auf 100 in x sek.).
Aber wie lass ich die aktuelle geschwindigkeit ausgeben?? (und wiso gibt es bei autos keine geschwindigkeitsanzeige wie bei helis oder flugzeugen??:motz:)
Und dann brauch ich noch ein auslöser der mir die zeit angibt wie lange ich gebraucht habe um von 0 auf 100 zu kommen. aber ich hab keine ahnung wie ich das machen soll:zahn:

bitte um hilfe!:trippel:

Garstiger Hobbit
05.03.2009, 19:26
Die aktuelle geschwindigkeit kannst du mit _speed=speed Vehicle auslesen.

Du könntest für die Fahrzeuge einen hint machen mit format.

Du müstest das in ein Script schreiben z.B

while{true}do{
_speed1 = round (speed Vehicle1);
_speed2 = round (speed Vehicle2);

Hint format["Speed Vehicle1=%1\nSpeed Vehicle2=%2",_speed1,_speed2];
sleep 0.01;
};


Ja das mit den fehlenden Geschwindigkeitsanzeigen in Fahrzeugen nervt mich auch immer.

TeRp
05.03.2009, 19:35
waitUntil { speed fahrzeug > 0 };
_startTime = time;

waitUntil { speed fahrzeug >= 100 };
_time = time - _startTime;

hint format ["Beschleunigung von 0 auf 100 in %1 Sekunden",_time];

---

Das Script per Init / Auslöser aufrufen und das zu messende Fahrzeug "Fahrzeug" nennen, ohne die ".

Virility92
05.03.2009, 20:29
hmm also ich hab jetzt das fahrzeug (mit dem namen Fahrzeug) als spieler auf die karte gesetzt. dann einen auslöser gemacht der das skript auslöst. aber jetzt bekomm ich ne fehlermeldung:
"waitUntil { speed fahrzeug >= 100 };"
Error allgemeiner Fehler in Ausdruck

die zeile "beschleunigung von 0-100" wird ja schon mal oben links angezeigt.

Garstiger Hobbit
05.03.2009, 20:37
Denke mal wenn du das in Sqf syntax schreibst sollte es keine Probleme geben.

Virility92
05.03.2009, 20:41
immer noch die gleiche fehlermeldung^^ trotzdem danke für den tipp

Buliwyf
05.03.2009, 20:57
Wie genau heisst denn dein Script?

Virility92
05.03.2009, 21:05
speedtest.sqf hab ichs genannt. und gefunden wird es ja auch sonst würde eine andere fehlermeldung dran stehn..

Xeno
05.03.2009, 21:53
Und aufrufen tust Du das Script auch mit execVM und nicht mit exec ?

Und die Dateiendung ist auch wirklich .sqf und nicht .sqf.txt ?

Xeno

Virility92
06.03.2009, 17:34
ähhm das mach ich mit [] exec "speedtest.sqf"^^ (hab ich ausm guide)

ja dateiendung ist schon .sqf das weis ich schon;)

Garstiger Hobbit
06.03.2009, 18:19
handle=[] execVM "speedtest.sqf";

Dann sollte es auch keine Fehlermeldung mehr geben.

Virility92
06.03.2009, 21:46
wow cool, funktioniert perfekt! danke für eure hilfe!

Mr-Murray
22.03.2009, 18:46
Ähm... im Guide steht das aber so nicht drin Virty ;)

Virility92
23.03.2009, 13:31
schon, ich meinte eigentlich das mit dem script aufrufen also nur das [] exec "script.sqf". hab einfach bei dem artillerie script nachgeschaut wie das aufgerufen wurde. hab gedacht das sollte eigentlich egal sein wie das aufgerufen wird, script ist script^^

Vienna
23.03.2009, 14:12
script ist script^^
Ist aber nicht so! Es gibt .sqs Skripte für die SQS-Syntax und .sqf Skripte für die SQF-Syntax.

Aufruf für SQS: [] exec "Skript.sqs"

Aufruf für SQF: irgendwas = [] execVM "Skript.sqf"

SQS syntax - Bohemia Interactive Community (http://community.bistudio.com/wiki/SQS_syntax)
SQF syntax - Bohemia Interactive Community (http://community.bistudio.com/wiki/SQF_syntax)

Virility92
23.03.2009, 17:01
ahja, lol kenn mich da eben nich so aus =)

Mr-Murray
23.03.2009, 17:40
Ist aber nicht so! Es gibt .sqs Skripte für die SQS-Syntax und .sqf Skripte für die SQF-Syntax.

Aufruf für SQS: [] exec "Skript.sqs"

Aufruf für SQF: irgendwas = [] execVM "Skript.sqf"

SQS syntax - Bohemia Interactive Community (http://community.bistudio.com/wiki/SQS_syntax)
SQF syntax - Bohemia Interactive Community (http://community.bistudio.com/wiki/SQF_syntax)


Genau so sieht das aus. Und so stehts auch im Guidi ;)