Löschen von Toten Einheiten!
Löschen von Toten Einheiten!
Hi zusammen habe ein Problem mit dem Löschen von Toten Einheiten in einem Auslösebereich.:stupid: {deleteVehicle _x} forEach list Zone1 (Löscht nur Lebende Einheiten?) Löschscript Mr-Murray Auslöser: Aktivierung: OSTEN Einfach Vorhanden Achse a/b: 2000 (den Bereich festlegen!) bei Aktivierung: [2] exec "Scripts\Bodydelete.sqs" ? !(local server):exit; _W=_this select 0; _L=[]+thislist; _A=[]; _G=[]; _T="Man"; { if (_T counttype [_x] == 1) then {_G=_G+[_x]} } foreach _L; #Again { if (not alive _x) then {_A=_A+[_x]} } forEach _G; _G=_G-_A; ? count _A > _W :_P=_A select 0;_A=_A-[_P] ; (Gravedigger) action ["Hidebody",_P] ; ~10 deleteVehicle _P; ? count _A == _W and count _G == 0 :exit; goto "Again" Habe ich da Irgendwo einen Fehler? Bei mir funzt das Einfach nicht. Gruss Iron |
Na ja, einfacher geht's per Eventhandler.
Einfach in die Init-Zeile von den zu löschenden Einheiten: Code:
this addEventHandler ["killed",{_hdl = (_this select 0) execVM "deleteVehicle.sqf"}]; Code:
sleep 30; deleteVehicle _this; Die Eventhander sind zuverlässiger und brauchen keinen Trigger, der alle paar Millisekunden die Bedingung überprüft und einen eingeschränkten Auslöseradius hat, sondern lösen nur im Falle des Ablebens (selbstständig) aus. Außerdem kann man ihn ja auch per Script gespawnten Einheiten relativ leicht hizufügen. Das Script ist auch noch in .sqs-Syntax, in .sqf geht sowas viel schöner :) Gruß TeRp |
Das ja mal ne coole Lösung.:daumen:
Hör ich zum ersten Mal in der Form. Hatte es auch mal mit MrMurrays Script probiert. Ging ebenfalls nicht bei mir. Wobei BIS das ja mittlerweile auch als Modul oder als einstellbaren Parameter in der init hätte einbauen können.:rolleyes: |
Löschen von Toten Einheiten!
Hi TeRp,
danke für deine Anregung werde es gleich mal probieren.:daumen: Gruss Iron |
Bitte auch mal erwähnen, dass dies für A1 war ;)
|
Zitat:
|
Er meint das das Script für A1 war.;)
|
Zitat:
Warte schon gespannt auf den Guide für ARMA II Hoffe nur Mr-Murray werkelt dran, ich glaube nicht nur ich sondern auch ne menge Missionsbastler warten darauf.:nachdenklich: Gruß Iron |
Zitat:
|
Eventhandler, Skript... ist das nicht alles das Gleiche :ugly:
Eiere seit 3 Tagen ununterbrochen in der Wiki rum und suche den Kram zusammen. Ich glaube ich tippe noch bis 2015 :komisch: |
Hi,
hat sich da eigentlich etwas getan themenbezüglich? Für eine grössere Mission wärs ganz vorteilhaft tote Einheiten verschwinden zu lassen um Performance zu sparen. Ausser: { this addEventHandler ["killed",{ nil = _this select 0 execVM "deleteBody.sqf"; }]; } forEach allUnits; und dann als .sqf: sleep 60; deleteVehicle _this; http://hx3.de/editing-scripting-167/bodydelete-17373/ <-- thread hab ich nix weiter gefunden, leider funzt das Beispiel (bei mir) nicht. Das Garbage-Collector-Modul ist auch wenig hilfreich. Das Problem liegt leider darin, das ich Einheiten per DAC-spawnen lasse. und so ist es für mich unmöglich einen "delete"-Befehl in die init einer Einheit einzufügen. Hat da jemand vielleicht einen tip oder noch besser eine Lösung parat?? |
*deleted*
Xeno |
Hallo Xeno,
zu 2. Ja, richtig. Hab das zuerst nicht gefunden, bin dann aber in der DAC_Config_Creator drüber gestolpert. Dank Dir Anm: weiss einer warum der Undead-Mod mit der DAC-Script Version nur fehlerhaft funktioniert (Zombies greifen nicht an) aber mit der Addon Version alles einwandfrei läuft? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias