Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 23.08.2010, 17:05   #1 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 29.05.2008
Ort: BERLIN
Alter: 35
Beiträge: 496
GER_CJ-187 eine Nachricht über ICQ schicken GER_CJ-187 eine Nachricht über Skype™ schicken
Icon5 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;
Hier habe ich per Aktionsmenü ein Tarnnetz aufgebaut, damit während der Animation für das Auspacken keine weitere Optionen gewählt werden, entferne ich alle Addaction-Einträge!
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;
Bei diesem Beispiel habe ich die If-Then-Else - Option vom Editing-Guide gewählt.
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:

Zitat:

ErrorMessage: Preprocessor failed on file C:\Users\Chris\Documents\ArmA 2 Other Profiles\CJ187\missions\auspacken.Brik\packen\bw\a mmo.sqf - error 7.

__________________

CPU: Intel Core i7-3770K ~ 4 x 3.5GHz // Mainboard: Asus P8P67 LE // RAM: 2 x 8GB DDR3-1333 RAM
Grafikkarte: Nvidia GTX 680 ~ 2GB // Soundkarte: Creative Gamer X-Fi

GER_CJ-187 ist offline  
Alt 23.08.2010, 17:29   #2 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 16.07.2010
Beiträge: 305
Standard

a)
Code:
if ((car distance ari) <= 15) then {...
b) "goto" in einer .sqf ? goto BIS

Code:
Notes from before the conversion:  
__________________
Rockhount ist offline  
Alt 23.08.2010, 17:46   #3 (permalink)
50 Beiträge
 
Registriert seit: 04.01.2010
Beiträge: 63
Standard

Gewöhn dir das goto und sqs am besten ganz ab. freunde dich mit der schreibweise von sqf an
LurchiDerLurch ist offline  
Alt 23.08.2010, 18:19   #4 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 12.06.2006
Beiträge: 1.252
Standard

SQS to SQF conversion - Bohemia Interactive Community
__________________
PvPscene
.kju ist offline  
Alt 23.08.2010, 18:55   #5 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 29.05.2008
Ort: BERLIN
Alter: 35
Beiträge: 496
GER_CJ-187 eine Nachricht über ICQ schicken GER_CJ-187 eine Nachricht über Skype™ schicken
Standard

besten dank!!!
Funktioniert perfekt!
__________________

CPU: Intel Core i7-3770K ~ 4 x 3.5GHz // Mainboard: Asus P8P67 LE // RAM: 2 x 8GB DDR3-1333 RAM
Grafikkarte: Nvidia GTX 680 ~ 2GB // Soundkarte: Creative Gamer X-Fi

GER_CJ-187 ist offline  
 

Stichworte
abfrage, bedingung, if-then-else, sqf


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
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


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