Moin Leute,
Vielleicht kennt ihr das Capitulation-Script von Mr. Murray aus dem Editor-Guide?! Dieses ist zwar für Arma 1 denk ich mal, aber sollte doch auch angepasst für Arma 2 funzen?
Ich habe das Script mal an die Arrowhead Einheiten angepasst, jedoch funktioniert die Abfrage zum Zählen der Gegner nicht
Ich habe alle Abfragen entfernt, außer die zum zählen der Gegner in einem Bereich.
Hier mal das Script:
Zitat:
?(!(local server)):exit
_Enemy = _this select 0
_Fleeing = _this select 1
_AmmoStat = _this select 2
_Injurned = _this select 3
_Removeall = _this select 4
_Standfix = _this select 5
_friendly = _this select 6
_Area = _this select 7
_Enemy allowFleeing _Fleeing
#Check
? not alive _enemy : exit
_ammo = count magazines _enemy
_dammage = getdammage _enemy
_friends = count nearestObjects [_enemy,["TK_Soldier_AR_EP1", "TK_Soldier_Crew_EP1", "TK_Aziz_EP1",
"TK_Soldier_AA_EP1", "TK_Soldier_GL_EP1", "TK_Commander_EP1", "TK_Soldier_MG_EP1", "TK_Soldier_Officer_EP1",
"TK_Soldier_HAT_EP1", "TK_Soldier_Pilot_EP1", "TK_Soldier_Medic_EP1", "TK_Soldier_EP1", "TK_Soldier_LAT_EP1",
"TK_Soldier_AT_EP1", "TK_Soldier_B_EP1", "TK_Soldier_Sniper_EP1", "TK_Soldier_SniperH_EP1",
"TK_Soldier_Sniper_Night_EP1", "TK_Soldier_Night_1_EP1", "TK_Soldier_Night_2_EP1", "TK_Soldier_TWS_EP1",
"TK_Soldier_Spotter_EP1", "TK_Soldier_SL_EP1", "TK_Soldier_AMG_EP1", "TK_Soldier_AAT_EP1", "BMP2_TK_EP1",
"BMP2_HQ_TK_EP1", "BRDM2_TK_EP1", "BRDM2_ATGM_TK_EP1", "BTR60_TK_EP1", "M113_TK_EP1", "T34_TK_EP1", "T55_TK_EP1",
"T72_TK_EP1", "ZSU_TK_EP1", "MAZ_543_SCUD_TK_EP1", "GRAD_TK_EP1", "LandRover_MG_TK_EP1", "LandRover_SPG9_TK_EP1",
"TT650_TK_EP1", "V3S_TK_EP1", "SUV_TK_EP1", "UAZ_Unarmed_TK_EP1", "UAZ_AGS30_TK_EP1", "UAZ_MG_TK_EP1",
"Ural_ZU23_TK_EP1", "V3S_Open_TK_EP1", "AGS_TK_EP1", "D30_TK_EP1", "KORD_high_TK_EP1", "KORD_TK_EP1",
"Igla_AA_pod_TK_EP1", "Metis_TK_EP1", "2b14_82mm_TK_EP1", "SearchLight_TK_EP1", "ZU23_TK_EP1","TK_INS_Soldier_AR_EP1",
"TK_INS_Bonesetter_EP1", "TK_INS_Soldier_AA_EP1", "TK_INS_Soldier_MG_EP1", "TK_INS_Soldier_2_EP1",
"TK_INS_Soldier_EP1", "TK_INS_Soldier_4_EP1", "TK_INS_Soldier_4_EP1", "TK_INS_Soldier_AT_EP1",
"TK_INS_Soldier_AAT_EP1", "TK_INS_Soldier_Sniper_EP1", "TK_INS_Soldier_TL_EP1",
"TK_INS_Warlord_EP1","BTR40_TK_INS_EP1", "BTR40_MG_TK_INS_EP1", "Old_bike_TK_INS_EP1", "LandRover_MG_TK_INS_EP1",
"LandRover_SPG9_TK_INS_EP1", "AGS_TK_INS_EP1", "D30_TK_INS_EP1", "DSHKM_TK_INS_EP1", "DSHkM_Mini_TriPod_TK_INS_EP1",
"2b14_82mm_TK_INS_EP1", "SPG9_TK_INS_EP1", "SearchLight_TK_INS_EP1", "ZU23_TK_INS_EP1"], _area]
hint format ["Anzahl: %1", _friends]
~5
? (_friends < _friendly) : goto "PutDown"
~5
goto "Check"
#PutDown
hint format ["Anzahl 2: %1", _friendly]
_enemy action ["DROPWEAPON", _enemy, primaryWeapon _enemy]
~1
_enemy action ["DROPWEAPON", _enemy, secondaryWeapon _enemy]
~2
? _Removeall >= 1 : removeallWeapons _enemy
_enemy playMove "AmovPercMstpSsurWnonDnon"
~1
? _standfix <= 1 : goto "Standfix"
? _standfix <= 2 : goto "Fleeing"
exit
#Standfix
_enemy disableAI "ANIM"
_enemy setCaptive true
#Fleeing
_enemy disableAI "ANIM"
_enemy setcaptive true
~30 + (random 60)
_enemy enableAI "ANIM"
_enemy allowFleeing _Fleeing
_enemy setCaptive false
exit
In diesem Bereich:
? (_friends < _friendly) : goto "PutDown"
~5
goto "Check"
wird ja geprüft, wieviel Einheiten in dem Bereich sind. Wenn es mehr sind als in dem Array angegeben, dann soll er ja den Prüfvorgang wiederholen. Wenn nicht dann soll er zu PutDown gehen.
Mit den hint Messages könnt ihr ja sehen habe ich mal abgefragt welcher Inhalt sich hier in den Variablen befindet und in _friends ist es 64 und bei _friendly nur 6. Trotzdem geht er immer zu "PutDown". Aber wieso?
Hier mal die Init die bei mir im Auslöser steht:
{[_x,random 0.7,2,random 1,random 1.5,random 2,6,600] exec "capitulation.sqs"} forEach thislist
Wo liegt hier der Fehler, hat jemand eine Idee? Ich brauche eine solche Abfrage, da ich in einem Bereich sehr viele Gegner habe und bisher Frage ich immer mit einem Auslöser ab, ob sich noch Ost-Einheiten im Auslöser befinden. Nun muss man hier ja immer jede Einheit bis zum letzten töten, damit der Auslöser aktiv wird. Und das ist meistens eine reine Suche nach der Nadel im Heuhaufen, da sich die Gegner auch manchmal in Häuser verstecken und man muss so jedes einzelne Haus durchsuchen und das mehrmals, da ja auch der Gegner mal die Position wechselt und wieder in ein Haus rennen kann, wo er vorher nicht war.
Hat jemand eine Lösung für dieses Problem?
Wäre euch sehr dankbar!
Viele Grüße,
Snipe