![]() |
#1 (permalink) |
![]() ![]() Registriert seit: 24.02.2014
Beiträge: 100
|
![]()
Hallo Leute,
ich bräuchte da mal einen Tipp von euch. Folgendes: Ich habe eine Grund Datei in mein Script durch läuft. Nun nutze ich eine weitere die mit #include hinzugefügt wird und Arrys enthaltet. In meiner Grund Datei habe ich ein Switch laufen und in diesem Switch so einen Code: Code:
if (_gewand == "mtp") then {_arry1 = _aC1 select 0; _arry2 = _aC1 select 1; _arry3 = _aC1 select 2; _arry4 = _aC1 select 3; _arry5 = _aC1 select 4; _arry6 = _aC1 select 5;}; if (_gewand == "wtp") then {_arry1 = _aC1 select 6; _arry2 = _aC1 select 7; _arry3 = _aC1 select 8; _arry4 = _aC1 select 9; _arry5 = _aC1 select 10; _arry6 = _aC1 select 11;}; if (_gewand == "jtp") then {_arry1 = _aC1 select 12; _arry2 = _aC1 select 13; _arry3 = _aC1 select 14; _arry4 = _aC1 select 15; _arry5 = _aC1 select 16; _arry6 = _aC1 select 17;}; if (_gewand == "tda") then {_arry1 = _aC1 select 18; _arry2 = _aC1 select 19; _arry3 = _aC1 select 20; _arry4 = _aC1 select 21; _arry5 = _aC1 select 22; _arry6 = _aC1 select 23;}; Code:
player forceAddUniform _arry1; player addVest _arry2; player addHeadgear _arry3; player addBackpack _arry4; player addGoggles _arry5; player linkItem _arry6; Meine Überlegung nun war ob man den oberen Code nicht vereinfachen kann? Also das man im case die variable _aC1 ändert und später unten ausgibt? In etwa so im case: und danach unten in etwa so: Code:
if (_gewand == "mtp") then {_arry1 = _v select 0; _arry2 = _v select 1; _arry3 = _v select 2; _arry4 = _v select 3; _arry5 = _v select 4; _arry6 = _v select 5;}; if (_gewand == "wtp") then {_arry1 = _v select 6; _arry2 = _v select 7; _arry3 = _v select 8; _arry4 = _v select 9; _arry5 = _v select 10; _arry6 = _v select 11;}; if (_gewand == "jtp") then {_arry1 = _v select 12; _arry2 = _v select 13; _arry3 = _v select 14; _arry4 = _v select 15; _arry5 = _v select 16; _arry6 = _v select 17;}; if (_gewand == "tda") then {_arry1 = _v select 18; _arry2 = _v select 19; _arry3 = _v select 20; _arry4 = _v select 21; _arry5 = _v select 22; _arry6 = _v select 23;}; Mein Gedanke war das ich mir das ganze im Case vereinfachen würde falls mal was dazu kommt oder änderungen kommen. Danke schon mal für eure Hilfe und Gedanken Gänge Mfg Sajiki |
![]() |
![]() |
#2 (permalink) |
![]() ![]() Registriert seit: 15.05.2011
Beiträge: 1.109
|
![]()
Alles arg kompliziert.
Was soll am Ende rauskommen und was sind die Startparameter?
__________________
Bewegende Momente bei ArmA 3 |
![]() |
![]() |
#3 (permalink) |
![]() ![]() Registriert seit: 24.02.2014
Beiträge: 100
|
![]()
Hi danke erstmal!
Also es startet ja mit einem Switch: Code:
switch (_player) do { case c1: { if (_debug) then {hint "FTL C1"; sleep 2;}; if (_gewand == "mtp") then {_arry1 = _aC1 select 0; _arry2 = _aC1 select 1; _arry3 = _aC1 select 2; _arry4 = _aC1 select 3; _arry5 = _aC1 select 4; _arry6 = _aC1 select 5;}; if (_gewand == "wtp") then {_arry1 = _aC1 select 6; _arry2 = _aC1 select 7; _arry3 = _aC1 select 8; _arry4 = _aC1 select 9; _arry5 = _aC1 select 10; _arry6 = _aC1 select 11;}; if (_gewand == "jtp") then {_arry1 = _aC1 select 12; _arry2 = _aC1 select 13; _arry3 = _aC1 select 14; _arry4 = _aC1 select 15; _arry5 = _aC1 select 16; _arry6 = _aC1 select 17;}; if (_gewand == "tda") then {_arry1 = _aC1 select 18; _arry2 = _aC1 select 19; _arry3 = _aC1 select 20; _arry4 = _aC1 select 21; _arry5 = _aC1 select 22; _arry6 = _aC1 select 23;}; }; case c2: { die Variable _gewand wird über einen Button gesetzt und dem entsprechend MTP, WTP, usw. _aC1 ist in einer eigenen Datei als Arry gesetzt wo die Ausrüstung definiert wird die dann vergeben werden soll. Das sieht so aus: Code:
_aC1 = [ //MTP "MTP_V3_Neck", "milgp_v_marciras_teamleader_belt_RGR", "milgp_h_airframe_02_RGR_hexagon", "8th_Falcon_FTL_Green", "", "", //WTP "WTP_V1_Neck", "milgp_v_marciras_tl_cbelt_WTP", "OpsC_WTP_v1", "8th_Kitbag_FTL_WTP", "", "", //JTP "JTP_V1_Neck", "milgp_v_marciras_teamleader_belt_RGR", "milgp_h_airframe_02_RGR_hexagon", "8th_Falcon_FTL_JTP", "", "", //TDA "U_B_CombatUniform_mcam", "V_Rangemaster_belt", "TITAN_Beret_CPT", "", "G_Tactical_Black", "" ]; Code:
player forceAddUniform _arry1; player addVest _arry2; player addHeadgear _arry3; player addBackpack _arry4; player addGoggles _arry5; player linkItem _arry6; Ne Idee? Mfg Sajiki |
![]() |
![]() |
#4 (permalink) |
![]() ![]() Registriert seit: 15.05.2011
Beiträge: 1.109
|
![]()
ja, gibt es.
Wenn du von Button schreibst, handelt es sich bestimmt um einen Dialog. Der läuft lokal. Ich würde mir aus der onload heraus MTP, WTP, JTP usw. Blöcke erstellen. also WTP = { _this forceUniform "..."; _this addWeapon ".."; }; MTP = { ..... }; WTP = {... }; Dein Ausrüstungs-Loadout kannst du dann so aufrufen (im Button definiert [hier der MTP Button]): action = "player spawn MTP"; Wird der Dialog geschlossen kannst du die Variablen wieder löschen, indem du diese auf NIL setzt Weißt du ungefähr was ich meine?
__________________
Bewegende Momente bei ArmA 3 Geändert von Drunken Officer (11.09.2017 um 19:02 Uhr). |
![]() |
![]() |
#5 (permalink) |
![]() ![]() Registriert seit: 24.02.2014
Beiträge: 100
|
![]()
Nicht 100% aber ein wenig verstehe ich dich schon.
Ja ein Dialog existiert mit dem setze ich als erstes nur die Uniformen und schalte dann weitere Button frei die für die Ausrüstung zuständig sind. Mit den Uniformen Buttons liefere ich gerade eben das "MTP" usw mit. Das mit den Blöcken verstehe ich schon aber hätte ich da nicht das Problem das ich dann die importierte Datei nicht mehr verwenden kann? Beispiel: WTP = { _this forceUniform _arry1; _this addWeapon _arry2; usw. }; Dann müsste ich ja trotzdem in der case die arry's definieren. Ich glaub ich habs doch nicht so ganz kapiert xD |
![]() |
![]() |
#6 (permalink) |
![]() ![]() Registriert seit: 15.05.2011
Beiträge: 1.109
|
![]()
du nimmst keine Arrays, sondern gibst in den Blöcken gleich das entsprechende Teil an.
Der Array würde Sinn machen, wenn zufällig etwas aus diesem genommen wird oder mehrere Zugriffe auf diesen erfolgen. Du nimmst packst alles rein, und läßt das einzeln die Sachen zuweisen. Da kann man es auch gleich direkt zuweisen.
__________________
Bewegende Momente bei ArmA 3 |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Beta-Patch für OpA erschienen | det99 | Community | 1429 | 18.07.2014 16:51 |
T8 Units - Einheiten Spawn Script | T-800a | Editing & Scripting | 2 | 07.03.2014 20:46 |
Script wird nicht vollständig ausgeführt | MagicStyle | Editing & Scripting | 20 | 04.09.2013 16:54 |
Day & Weather Script | Moerderhoschi | Editing & Scripting | 13 | 02.12.2012 10:29 |
marker über script erzeugen | hypercop | Editing & Scripting | 2 | 28.08.2010 22:40 |