Waffen in Kiste zählen
Hallo zusammen
Für den folgenden Auslöser suche ich die Zeile mit der Bedingung: BED: Sobald > zehn AK47 in 'Kiste1' AKT: Kistevoll=true; publicVariable "Kistevoll" Ich habe zwar gegoogelt (Arma2 counting weapons), aber nicht wirklich was passendes gefunden. Vielleicht hat das ja schon mal jemand von euch verwendet? Deshalb frage ich hier einfach mal. Danke und Grüsse aus der Schweiz Wolkenbeisser |
|
Ich bin einen Schritt weiter. Wenn es nur darum geht, festzustellen, ob ein bestimmtes Gewehr in der Kiste ist klappt das hiermit:
Code:
if(count getWeaponCargo Superkiste > 0) then {if("G36_C_SD_camo" in (getWeaponCargo Superkiste select 0))then{true}else{false};} Code:
if(count getWeaponCargo Superkiste > 2) then {if("G36_C_SD_camo" in (getWeaponCargo Superkiste select 0))then{true}else{false};} Code:
if(count getWeaponCargo Superkiste > 2) then {if(["G36_C_SD_camo",3] in (getWeaponCargo Superkiste select 0))then{true}else{false};} |
Hmmm, auch das Umdrehen des Codes hat nichts gebracht. Das hier ist also ebenfalls Fehlanzeige:
Code:
if("G36_C_SD_camo" in (getWeaponCargo Superkiste select 0)) then {if(count getWeaponCargo Superkiste > 2) then{true}else{false};} |
Schreib folgendes in die Auslösebedingung des Triggers, wobei "box" in meinem Beispiel der Name der Waffenkiste ist und Du den Waffennamen noch anpassen musst, weil ich mit M4A1 getestet habe:
Code:
for "_i" from 0 to (count ((getWeaponCargo box) select 0) - 1) do { if (((getWeaponCargo box) select 0) select _i == "M4A1" AND ((getWeaponCargo box) select 1) select _i == 10) then {true} else {false} } ;) Wie das mit Performanceeinbußen aussieht ist 'ne andere Frage... da könnte Xeno was zu sagen denke ich. Weil nach meinem Verständnis ja andauernd der Inhalt der Kiste gerpüft wird... |
Ich konnte den Code von Buliwyf noch nicht ausprobieren. Jedoch schon mal danke dafür.
Betreffend Performance: Könnte man den Code evtl. auch in einem Script ausführen, das nur auf dem Server ausgeführt wird, und - sagen wir - nur alle 3 Sekunden? Das würde doch sicher Performance sparen, oder? Also irgendwie sowas (Für einen Scripter muss der nachfolgende Versuch furchtbar aussehen - habe einfach Buliwyf's Code... äh... angepasst :zahn:). In die Init.sqf: Code:
null = [] execVM "Kistencheck.sqf"; Code:
If (isServer) then |
Zitat:
Sollten später Probleme damit auftauchen, werde ich mich selbstverständlich wieder hier melden. Nochmals danke, und Grüsse aus der Schweiz Wolkenbeisser |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias