Einzelnen Beitrag anzeigen
Alt 27.07.2010, 14:43   #1 (permalink)
SniperWolf
Newbie
 
Benutzerbild von SniperWolf
 
Registriert seit: 07.07.2010
Ort: Deutschland
Beiträge: 37
Standard Capitulation von Mr. Murray funktioniert nicht, warum?

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
__________________



My PC @ SysProfile: AMD Phenom II X4 955 BE | ASUS Crosshair IV Formula 890 FX | nVidia GeForce 8800 GTS | 2x 2GB DDR3 Mushkin Copperhead 1600 MHz | Razer Lycoa | Logitech G9 | beQuiet! Stright Power 600W

WaKü: Aquacomputer Kryos AM3
| Aquacomputer Aquastream XT Ultra | Aquacomputer aquaero | Phobya Balancer 250 Black | MagiCool XTREME TRIPLE 360 | Aquacomputer Flow-Sensor | Thermosensoren im AGB und Durchfluss am Radiator
SniperWolf ist offline