23.08.2010, 17:05 | #1 (permalink) |
Bedingung und Auslöser in *.sqf???
Hallo,
ich benötige Hilfe bei einem Cargo-Script, was ich mir basteln möchte. Mein problem ist, dass ich einen CTD bekomme, wenn ich eine If-Then-Else-Funktion aus dem Editing-Guide in einer *.sqf ausführen möchte... BEISPIEL #1: Code:
Car removeAction IIbwCar; Car removeAction IIIbwCar; Car removeAction IIIIbwCar; Car removeAction IIIIIbwCar; Car removeAction IIIIIIbwCar; player playmove "AinvPknlMstpSlayWrflDnon_medic"; sleep 5; netz setpos getpos car; netz setDir getDir car; IIIIIIbwCar =car addAction ["Abbrechen","packen\bwabbrechen.sqf"]; ?(car distance ari>=15):IIIIbwCar =car addAction ["M252","packen\bw\ari.sqf"]; ?(car distance amo>=15):IIIbwCar =car addAction ["Munition","packen\bw\ammo.sqf"]; ?(car distance san>=15):IIIIIbwCar =car addAction ["Larzarett","packen\bw\San.sqf"]; Exit; Nachdem das Netz steht, möchte ich, dass das Script wieder die nötigen Aktionsmenü-Einträge für alle restlichen Objekte erstellt, dabei soll es darauf achten, ob das Objekt (zBs die Ammo-Box) schon am Fahrzeug steht oder nicht. Ist diese weiter als 15m weg (also nicht entladen, da diese zu diesem Zeitpunkt bei der Koordinate [0,0] ist) so soll der passende Eintrag erstellt werden. Ist die Box näher als 15m (also zuvor schon entladen worden), dann soll das nächste Objekt abgefragt werden. BEISPIEL #2: Code:
Car removeAction IIbwCar; Car removeAction IIIbwCar; Car removeAction IIIIbwCar; Car removeAction IIIIIbwCar; Car removeAction IIIIIIbwCar; player playmove "AinvPknlMstpSlayWrflDnon_medic"; sleep 5; san setpos getpos hi; san setDir getDir car; IIbwCar =car addAction ["Tarnnetz","packen\bw\netz.sqf"]; IIIbwCar =car addAction ["Munition","packen\bw\ammo.sqf"]; IIIIbwCar =car addAction ["M252","packen\bw\ari.sqf"]; IIIIIIbwCar =car addAction ["Abbrechen","packen\bwabbrechen.sqf"]; If(car distance ari<= 15)Then{Car removeAction IIIIbwCar}Else{goto "check2"}; #check2; If(car distance amo<= 15)Then{Car removeAction IIIbwCar}Else{goto "check3"}; #check3; If(car distance netz<= 15)Then{Car removeAction IIbwCar}Else{Exit}; Exit; Hier wird nach dem löschen der Einträge und platzieren des Netzes alle Einträge wieder hinzugefügt. Anschließend wird abgefragt, ob zB die Munkiste näher als 15m ist, wenn ja wird der dazugehörige Eintrag gelöscht! Und so weiter... Leider gehen beide Beispiele nicht!!! Bei Bsp1 wird zwar alles ordentlich ausgeführt, jedoch werden die Einträge der Objekte die weiter als 15m weg sind nicht aktiviert!!! Beim Bsp2 geht garnix! wenn ich dort das Netz platzieren möchte, habe ich einen CTD mit folgender Fehlermeldung:
|
|
Stichworte |
abfrage, bedingung, if-then-else, sqf |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Zivilisten durch Auslöser erschießen | comrade91 | Editing & Scripting | 16 | 02.12.2010 18:06 |
Problem bei der bedingung anwesenheit | Moerderhoschi | Editing & Scripting | 49 | 03.09.2010 11:52 |
Auslöser löschen? | todyoungblood | Editing & Scripting | 2 | 14.08.2010 20:31 |
Missionsende bei erreichen eines Wegpunktes UND Erfüllung einiger Auslöser | Shakraan | Editing & Scripting | 9 | 12.07.2010 09:02 |
Auslöser ausgelöst durch 2 Einheiten | Clawhammer | Editing & Scripting | 4 | 17.05.2010 17:11 |