Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 27.07.2010, 15:43   #1 (permalink)
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  
Alt 27.07.2010, 20:29   #2 (permalink)
Newbie
 
Benutzerbild von SniperWolf
 
Registriert seit: 07.07.2010
Ort: Deutschland
Beiträge: 37
Standard

so, habe das ganze nun selber gelöst! Habe ein eigenes Script geschrieben und mich ein wenig von Mr. Murrays Script inspirieren lassen. Hier mal meine Version, wer sie braucht:

Zitat:

; Capitulation Script by SniperWolf v1.0

_enemys = _this select 0
_bereich = _this select 1
_seite = _this select 2

#check
_anzahl = _seite countSide list _bereich

? (_anzahl < _enemys) : goto "PutDown"

~5

goto "check"

#PutDown

{doGetOut _x} ForEach list _bereich
{unAssignVehicle _x} ForEach list _bereich
{_x setFuel 0} ForEach list _bereich
{_x lock true} ForEach list _bereich
~3
{_x action ["DROPWEAPON", _x, primaryWeapon _x]} ForEach list _bereich
//{removeallWeapons _x} ForEach list _bereich
{_x playMove "AmovPercMstpSsurWnonDnon"} ForEach list _bereich
{_x disableAI "ANIM"} ForEach list _bereich
{_x setCaptive true} ForEach list _bereich
{_x setVehicleAmmo 0} ForEach list _bereich
alldead = true

exit

Aufgerufen wird das ganze via Auslöser:

Aktivierung: Ost o. West, je nach gewünschter Seite
Einfach
bei Akt: [100, bereich1, EAST] exec "capitulation.sqs";

Die werde können den eigenen Wünschen angepasst werden. Die 100 gibt an wieviele Einheiten noch im Bereich sein sollen, bevor das Script auslöst. Bei bereich1 wird der Name des Auslösers geschrieben. In diesem wird das Script nach gegnern suchen. Mit EAST oder WEST kann die Spielerseite festgelegt werden.

Das Script wird nun, wenn die Anzahl angegebener Gegner unterschritten ist, allen Gegnern die Waffe ablegen lassen und sich ergeben lassen. Sie gelten nun nicht mehr als feindliche Einheit und rennen auch nicht weg. Fahrzeuge in dem Bereich wird die Munition und das Benzin entzogen und auch abgeschlossen. Somit bewegen diese sich nicht mehr, können nicht schießen und wenn das Fahrzeug leer sein sollte kann kein Spieler einsteigen.

Wer mag kann mir gerne Tips zur Verbesserung geben! :-)
__________________



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  
 


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
Operatio Arrowhead DEMO funktioniert nicht!Brauche Hilfe! BlueEyes2607 Technische Fragen & Probleme 22 21.07.2010 22:06


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