Zitat von SOAR_ONE
Hi,
in ACE2 kann man eine zweite primaryweapon in einen "Umhänge-Slot" packen. Gibt´s dafür auch einen Script-Befehl, um einem Spieler vom Missionsstart an zu geben?
Folgend ein Skript mit dem ohne ACE zwei primäre Waffen möglich sind:
change_weapon.sqf
Code:
/*[Vienna 17.06.2012]
Das Skript "change_weapon.sqf" ermöglicht eine zweite primäre Waffe aufzunehmen.
Waffenwechsel über das Aktionsmenü.
Aufruf des Skripts über Auslöser:
Aktivierung: Keine Mehrfach
Bedingung : alive player
Bei Akt. : temp = [] execVM "change_weapon.sqf"
Es ist darauf zu achten, dass für beide Waffen Magazine vorhanden sind!!!
*/
if (isNil "ViennaChangeWeapon") then //Skript Initialisierung beim ersten Aufruf
{
TitleText ["Tragen von zwei primaeren Waffen initialisiert! Auswahl im Aktionsmenue!\nBeim Aufnehmen der 2. Waffe muessen Magazine\nfuer die 1. Waffe vorhanden bleiben!","plain down",2];
ViennaChangeWeapon = 1;
private ["_Waffe1","_Waffe2""_unit","_AktionID"];
_Waffe1 = "";
_Waffe2 = "";
//Aktion für Spieler hinzufügen
_unit = player;
sleep 1;
_AktionID = _unit addAction ["Waffenwechsel","change_weapon.sqf",[],1,false,true];
while {alive _unit} do
{
_WaffeNr = ViennaChangeWeapon;
waitUntil {! alive player or _WaffeNr != ViennaChangeWeapon}; //Warten auf Waffenwechsel
if (ViennaChangeWeapon == 2) then
{
_Waffe1 = primaryWeapon _unit;
_unit removeWeapon _Waffe1;
sleep 3;
if (_Waffe2 != "") then
{
_unit addWeapon _Waffe2;
player groupChat "Waffe: 2"
}
else
{
player groupChat "Keine 2. Waffe vorhanden! Waffe aufnehmen!"
}
}
else
{
_Waffe2 = primaryWeapon _unit;
_unit removeWeapon _Waffe2;
sleep 3;
if (_Waffe1 != "") then
{
_unit addWeapon _Waffe1;
player groupChat "Waffe: 1"
}
else
{
player groupChat "Keine 1. Waffe vorhanden! Waffe aufnehmen!"
}
};
sleep 0.1;
_unit selectWeapon (primaryWeapon _unit);
_muzzles = getArray(configFile>>"cfgWeapons" >> primaryWeapon _unit >> "muzzles"); // Fix for weapons with grenade launcher
_unit selectWeapon (_muzzles select 0);
};
_unit removeAction _AktionID;
ViennaChangeWeapon = NIL
}
else //bei weiteren Skriptaufrufen
{
if (ViennaChangeWeapon == 1) then
{
ViennaChangeWeapon = 2
}
else
{
ViennaChangeWeapon = 1
}
}
Das Skript wird über einen Auslöser gestartet. Siehe Info am Beginn des Codes.
Beim Aufnehmen der 2. Waffe ist darauf zu achten, dass für beide Waffen Magazine vorhanden sind.
Für den Waffenwechsel wird automatisch ein Aktionsmenüpunkt erstellt.
Im Anhang eine Beispielmission.