Armed-Assault.de Twitter


Editing The world is a Script - write it!

Antwort
 
Themen-Optionen Ansicht
Alt 05.05.2008, 17:55   #1 (permalink)
Newbie
 
Benutzerbild von turrican
 
Registriert seit: 28.03.2008
Beiträge: 40
Standard sleep "sleept" nicht?

Gleich meine ersten Gehversuche beim Scripten geht in die Hose.

Habe ein kleines SQF Script geschrieben und es aus dem Editor via Trigger wie folgt gestartet:

[this] exec "script.sqf"

Im Script gibt es folgende Zeile:

sleep 3;

Hätte jetzt angenommen, dass das Script hier für 3 Sekunden anhält und dann weiter fortfährt. Doch leider kommt folgende Fehlermeldung
|#|sleep 3;
Error Allgemeiner Fehler im Ausdruck

??? Was mache ich falsch, bzw. den Befehl gibt es doch, oder ???
__________________
Wann merkt man, dass man zu alt für Computerspiele wird?

1. Als man seine erste E-Mail geschrieben hat, nannte man das noch Telex.
2. Man hatte einen Computer mit 64 kB Hauptspeicher und ist damit wunderbar ausgekommen.
3. Man muss sich die Funktionen seines neuen Handys von seinem Kind erklären lassen.
4. Man weiß einfach nicht, was LoL bedeutet.

turrican ist offline   Mit Zitat antworten
Alt 05.05.2008, 17:59   #2 (permalink)
10 Jahre hx3
5000 Beiträge10.000 Beiträge15.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.977
Standard

Wenn mich nicht alles täuscht ist sleep = ~
Also Tilde anstelle des ausgeschriebenen Befehls

~3
__________________

burns ist offline   Mit Zitat antworten
Alt 05.05.2008, 18:05   #3 (permalink)
Newbie
 
Benutzerbild von turrican
 
Registriert seit: 28.03.2008
Beiträge: 40
Standard

Habe sleep 3; durch ~3; ersetzt, jetzt kommt:

__waituntil == _time+(|#|~3

? Tja
__________________
Wann merkt man, dass man zu alt für Computerspiele wird?

1. Als man seine erste E-Mail geschrieben hat, nannte man das noch Telex.
2. Man hatte einen Computer mit 64 kB Hauptspeicher und ist damit wunderbar ausgekommen.
3. Man muss sich die Funktionen seines neuen Handys von seinem Kind erklären lassen.
4. Man weiß einfach nicht, was LoL bedeutet.

turrican ist offline   Mit Zitat antworten
Alt 05.05.2008, 18:15   #4 (permalink)
10 Jahre hx3
5000 Beiträge10.000 Beiträge15.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.977
Standard

Versuchs mal ohne Semikolon am Ende.
Wenn das nicht hinhaut sind meine spärlichen Scriptkenntnisse auch schon ausgeschöpft
__________________

burns ist offline   Mit Zitat antworten
Alt 05.05.2008, 18:17   #5 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
Standard

Zitat von turrican Beitrag anzeigen

Im Script gibt es folgende Zeile:

sleep 3;

Zitat von turrican Beitrag anzeigen

Habe sleep 3; durch ~3; ersetzt, jetzt kommt:

__waituntil == _time+(|#|~3

Du belügst uns ohne rot zu werden?!

So wie Du das vorhast, wirst Du mit sleep auch nicht weit kommen. Wenn dann musst Du eine Variable, welche die aktuelle Zeit erfasst, setzen und dann packste da 3 Sek drauf... in etwa so:

Code:
_now = time;
waitUntil {time == _now + 3};


*Update*
wobei mir grad einfällt, dass das völliger Quatsch ist und ein einfaches sleep 3; ja genügt. Also:

Code:
hint format["Es ist jetzt: %1", time];
sleep 3;
hint format["Es ist jetzt 3 Sek später: %1", time];

Geändert von Buliwyf (05.05.2008 um 18:21 Uhr).
Buliwyf ist offline   Mit Zitat antworten
Alt 05.05.2008, 18:29   #6 (permalink)
Newbie
 
Benutzerbild von turrican
 
Registriert seit: 28.03.2008
Beiträge: 40
Standard

Zitat von Buliwyf Beitrag anzeigen

Du belügst uns ohne rot zu werden?!

So wie Du das vorhast, wirst Du mit sleep auch nicht weit kommen. Wenn dann musst Du eine Variable, welche die aktuelle Zeit erfasst, setzen und dann packste da 3 Sek drauf... in etwa so:

Code:
_now = time;
waitUntil {time == _now + 3};


*Update*
wobei mir grad einfällt, dass das völliger Quatsch ist und ein einfaches sleep 3; ja genügt. Also:

Code:
hint format["Es ist jetzt: %1", time];
sleep 3;
hint format["Es ist jetzt 3 Sek später: %1", time];

Ehm, genau das hatte ich getan. Anbei mein Test-Script:

_me = _this select 0;
hint "Das ist ein Hinweis!";
sleep 3;
hint "Noch ein Hinweis nach 3 Sekunden";
exit;

Gespeichert im Missionsordner unter Test.sqf und per Trigger aufgerufen mit [this] exec "Test.sqf"

Verstehe ich ja selber nicht, hab's ja schon in zig Scripten (nicht nur SQS sonder auch SQF) gesehen.

Eben darum hatte ich es ja jetzt noch einmal getestet, bevor ich hier poste...
__________________
Wann merkt man, dass man zu alt für Computerspiele wird?

1. Als man seine erste E-Mail geschrieben hat, nannte man das noch Telex.
2. Man hatte einen Computer mit 64 kB Hauptspeicher und ist damit wunderbar ausgekommen.
3. Man muss sich die Funktionen seines neuen Handys von seinem Kind erklären lassen.
4. Man weiß einfach nicht, was LoL bedeutet.

turrican ist offline   Mit Zitat antworten
Alt 05.05.2008, 18:54   #7 (permalink)
Newbie
 
Registriert seit: 05.12.2006
Beiträge: 43
Standard

Du musst dich entscheiden, ob du SQS oder SQF programmieren willst.
Bei SQS Schlafen mit ~, wobei das Script mit blabla exec "abcd.sqs" gestartet werden muss,
bei SQF Schlafen mit sleep, wobei das Script (unter anderem) mit blabla execVM "abcd.sqf" gestartet werden muss.
Master85 ist offline   Mit Zitat antworten
Alt 05.05.2008, 20:55   #8 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
Standard

Zitat von turrican Beitrag anzeigen

Gespeichert im Missionsordner unter Test.sqf und per Trigger aufgerufen mit [this] exec "Test.sqf"

Wenn Du die Funktion per Trigger aufrufst, dann bitte so:

Code:
nil=[this] execVM "Test.sqf"
...wobei Du für nil auch sonstwas eintragen kannst, weil egal...
Buliwyf ist offline   Mit Zitat antworten
Alt 06.05.2008, 09:11   #9 (permalink)
Newbie
 
Benutzerbild von turrican
 
Registriert seit: 28.03.2008
Beiträge: 40
Standard

Bedankt, jetzt hab ich's verstanden! - klappt...

Gruß

turrican
__________________
Wann merkt man, dass man zu alt für Computerspiele wird?

1. Als man seine erste E-Mail geschrieben hat, nannte man das noch Telex.
2. Man hatte einen Computer mit 64 kB Hauptspeicher und ist damit wunderbar ausgekommen.
3. Man muss sich die Funktionen seines neuen Handys von seinem Kind erklären lassen.
4. Man weiß einfach nicht, was LoL bedeutet.

turrican ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Waypoint "GUARD" oder "BEWACHEN" syn1979 Editing 2 21.12.2006 09:05
Mission "Große Schlacht" endet nicht Darkangel Technische Fragen & Probleme 3 19.12.2006 12:17
Der "Warum ist OFP immer noch mein Lieblingsgame" Thread Lonely Community 24 27.02.2006 17:55
Joystick "nicht angeschlossen" Freshman Hilfe 10 04.03.2005 16:47


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119