Visa ämne
Anrop » ArmA 3 » Editing
 Skriv ut ämne
Skript: Behåll ACRE-radios och radioinställningar vid respawn.
OnPlayerRespawn.sqf
Kod Källa  

_newUnit = _this select 0;
_oldUnit = _this select 1;

if(!isNull _oldUnit) then
{
   _radio = "ACRE";
   _items = assignedItems _oldUnit;
   {
      _item = toArray _x;
      _item resize (count toArray _radio);
      _item = toString _item;

      if(_item == _radio) then
      {
         _newUnit removeItem "ItemRadio";

         _newUnit addItem _x;
         _newUnit assignItem _x;
      };
   }forEach _items;

   _items = items _oldUnit;
   {
      _item = toArray _x;
      _item resize (count toArray _radio);
      _item = toString _item;

      if(_item == _radio) then
      {
         _newUnit addItem _x;
      };
   }forEach _items;
};

Observera att koden även fungerar om ACRE inte skulle vara närvarande, genom att inget händer.
Redigerat av Chris_Acrobat den 2014-04-28 17:38
CAUTION: I'm a screamer and I'm using Voice-Activated!
Snyggt! Då slänger jag min sqf Grin
Hoppas du tycker om den! Smile
CAUTION: I'm a screamer and I'm using Voice-Activated!
annars finns den här också (den sparar inte kanaler eller i vilket öra du har den i) körs i init.sqf:

Kod Källa  

ACRE_Enabled = isClass (configFile >> "CfgPatches" >> "acre_main");
if (!ACRE_Enabled) exitWith {};

saved_radios = [];
temp_radios = [];

[nil] call acre_api_fnc_setItemRadioReplacement;

if (!isDedicated) then {

    [] spawn {

        waitUntil {!isNull player};

        player addItem "ACRE_PRC343";

        player addEventHandler ["Killed", {
            saved_radios = temp_radios;
        }];

        player addEventHandler ["Respawn", {
            {
                player addItem _x;
            } forEach saved_radios;
        }];

        while {true} do {
            if (alive player) then {
                temp_radios = [] call acre_api_fnc_getCurrentRadioList;
            };
            sleep 10;
        };
    };
};