HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   Gear festlegen mit addAction (https://hx3.de/editing-scripting-187/gear-festlegen-addaction-24668/)

Dunkelmesser 01.03.2015 14:32

Gear festlegen mit addAction
 
Hallo leute
ich möchte in einer coop mission eine auswahl von verschiedenem
equipment über addAction zu vervügung stellen.
ich weis aber nicht wie ich das anstellen soll.

Der Menupunkt:

this addAction["<t color='#ff1111'>Scharfschütze</t>", "gear.sqf"];



Gear.sqf:

comment "Remove existing items";
removeAllWeapons this;
removeAllItems this;
removeAllAssignedItems this;
removeUniform this;
removeVest this;
removeBackpack this;
removeHeadgear this;
removeGoggles this;

comment "Add containers";
this forceAddUniform "U_B_CombatUniform_mcam_vest";
this addItemToUniform "11Rnd_45ACP_Mag";
this addVest "V_PlateCarrier1_rgr";
this addItemToVest "200Rnd_65x39_cased_Box";
for "_i" from 1 to 2 do {this addItemToVest "11Rnd_45ACP_Mag";};
this addBackpack "B_AssaultPack_sgg";
for "_i" from 1 to 2 do {this addItemToBackpack "200Rnd_65x39_cased_Box";};
this addHeadgear "H_Watchcap_camo";

comment "Add weapons";
this addWeapon "LMG_Mk200_F";
this addPrimaryWeaponItem "muzzle_snds_H_MG";
this addPrimaryWeaponItem "optic_Holosight";
this addWeapon "launch_O_Titan_F";
this addWeapon "hgun_Pistol_heavy_01_F";
this addHandgunItem "optic_MRD";
this addWeapon "Rangefinder";

comment "Add items";
this linkItem "ItemCompass";
this linkItem "ItemRadio";
this linkItem "ItemGPS";
this linkItem "NVGoggles";

comment "Set identity";
this setFace "GreekHead_A3_05";
this setSpeaker "Male01GRE";
[this,"BI"] call bis_fnc_setUnitInsignia;


Kann mir jemand weiter helfen ??

Buliwyf 01.03.2015 15:04

Also mal ehrlich und ohne Scheiß... sowas steht, wenn ich mich nicht irre, sogar in der heiligen Bibel oder wegen mir auch im Koran... soll heißen, dass Du mit ein klitzeklein wenig Aufwand selbst drauf kommen könntest... nur ein ganz kleines bisschen Scriptingverständinis... nur so ein bisschen...

:archi:

Wenn Du die grundlegendsten Dinge geschafft hast, dann können wir uns über die Mutliplayertauglichkeit Deines Vorhabens unterhalten...

Eden 09.03.2015 13:11

Hm also eigentlich hat Buliwyf ja recht, das ganze ist eigentlich viel zu simpel.
Trotzdem kann ich dir mal ganz kurz deine Fehler zeigen, immerhin soll man hier im Forum ja Hilfe bekommen. Ich vermute mal dass du das Loadout nimmst, dass dir das Arsenal generiert, zumindest sieht es so aus. Nun die addAction ist richtig gemacht da würde ich nix ändern. Wichtig wäre allerindgs, dass du dir mal den bisstudio wiki Eintrag zum addAction befehl genauer anschaust: https://community.bistudio.com/wiki/addAction
Wenn du da mal etwas runter scrollst findest du folgendes Beispiel:
Code:

_gen = _this select 0
_caller = _this select 1
_id = _this select 2
; remove the action once it is activated
_gen removeAction _id

Wichtig ist für dein Script nämlich welchem Objekt das ganze gegeben werden soll. Dem "this" object könntest du jetzt sagen und das würde auch stimmen wenn du das direkt in die initialisierungszeile der unit rein haust, leider geht das nicht mehr wenn du dich in einem Script befindest, da dort das "this" object nicht bekannt ist. Du musst dem Script also das Objekt übergeben. das könntest du jetzt bei arguments machen (hier wieder verweis auf die Wiki Seite). Allerdings wenn wir uns das oben stehende Beispiel angucken können wir sehen das das "caller" Object (also das Object dass die addAction aufruft) schon automatisch von dem addAction befehl übergeben wird. wir bekommen das dann mit
Code:

_caller = _this select 1;
Wir schreiben das also am Anfang des Scriptes erstmal rein, damit wir nun unser objekt haben. Das ist jetzt unter der variable _caller gespeichert. Nun tauschen wir alle "this" im restlichen script mit "_caller" aus und das Script sollte Funktionieren. :daumen:

Achso du solltest den letzten teil deines Scriptes
Code:

comment "Set identity";
this setFace "GreekHead_A3_05";
this setSpeaker "Male01GRE";
[this,"BI"] call bis_fnc_setUnitInsignia;

weglassen da du vermutlich nicht die im Profil eingestellten sachen wie Stimme und Gesicht überschreiben willst oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.

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