19.02.2011, 10:53 | #1 (permalink) |
Registriert seit: 05.10.2008
Beiträge: 128
|
Aufklärungsflugzeug
Hi all,
Meine erste Frage zu Thema Aufklärungsflugzeug. Ist das möglich, das durch irgendeine Flugzeug alle feindliche einheiten in einem radius von 300 km sichtbar werden? Der Flieger fliegt ganz hoch also unsichtbar für feind, dafür soll er die Feindliche Einheiten auf Karte stetig sichtbar machen. Also keine UAV. 2. Mit welche code kann man KI befehligen, das er z.B in eine der seine Wegpunkte ca. 5 min stehen bleibt, dann kann er weiter laufen. Danke im vorraus |
19.02.2011, 15:34 | #6 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
300km Reichweite halte ich für übertrieben!
Das Skript zeigt Luft-, Tank, Kfz.- und wahlweise auch Personen-Objekte auf der Karte an. Du kannst es in dein Aufklärungsflugzeug einbinden. Ob Personen anzuzeigen sind, ist im letzten Parameter mit true/false einstellbar. Im Anhang ist auch ein Beispiel. RadarAll.sqf Code:
// Lokales Radar zeigt Flugobjekte, Tanks, Fahrzeuge und wahlweise Personen [Vienna, 19.02.2011] // Der Radarbereich wird durch einen blinkenden Ring angezeigt. // // Unbekannte Objekte sind blau, freundliche grün, feindliche rot. // Bei Flugobjekten wird auch die Höhe angezeigt. // // Aufruf: [Radarobjekt, Radarradius, true/false Personen anzeigen] execVM "RadarAll.sqf" // Beispiel für Auslöser: temp = [player,2000,true] execVM "RadarAll.sqf" private ["_radar","_radius","_r","_b","_marker","_m","_c","_t","_k","_h","_s"]; _radar = _this select 0; _radius = _this select 1; _b = ["Air","Tank","Car"]; //Personen anzeigen? if (_this select 2) then {_b = _b + ["Man"]}; while {alive _radar} do { //Map offen? if (visibleMap) then { //Durchlauf aller Flugobjekte im Radarbereich _marker = []; { if (alive _x) then { //Marker Erstellen _m = createMarkerLocal [str _x, position _x]; _h = ""; //für Höhe von Flugobjekten. //Markertype und Größe festlegen _s = [0.9,0.9]; //Markergröße if (_x isKindOf "Air") then //Flug-Objekt { _k = "Air"; _h = " 0m hoch"; if(position _x select 2 > 1)then{_h=" "+str(floor(position _x select 2))+"m hoch"} } else { if (_x isKindOf "Tank") then //Tank-Objekt {_k="Tank"} else { if (_x isKindOf "Car") then //Car-Objekt {_k="Car";_s = [0.8,0.5]} else {_k="Vehicle";_s = [2,2]} //Men-Objekt } }; //Markerfarbe für Type: blau=unbekannt, grün=freundlich, rot=feindlich if(player countUnknown[_x]==1)then{_t="?";_c="ColorBlue"} else{_t=typeOf _x;if(player countFriendly[_x]==1)then{_c="ColorGreen"} else{_c="ColorRed"}}; _m setMarkerTypeLocal _k; _m setMarkerTextLocal (if(_x isKindOf "Man")then{""}else{str _t + _h}); _m setMarkerColorLocal _c; _m setMarkerSizeLocal _s; _marker = _marker + [_m] } } forEach nearestObjects [_radar,_b,_radius]; sleep 2.8; //Marker für Radarreichweite erstellen _r = createMarkerLocal ["FlugobjektRadar4711", position _radar]; _r setMarkerShapeLocal "ELLIPSE"; _r setMarkerBrushLocal "BORDER"; _r setMarkerSizeLocal [_radius,_radius]; _r setMarkerColorLocal "ColorOrange"; sleep 0.3; //Reichweitenmarker löschen deleteMarkerLocal _r; //alle Flugobjektmarker löschen {deleteMarkerLocal _x} foreach _marker } else { sleep 2 } } |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|