Advertisement
TaktischerSpeck

kill me

Mar 7th, 2020
938
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQF 3.82 KB | None | 0 0
  1. #include "..\..\script_macros.hpp"
  2. /*
  3.  File: fn_dropItems.sqf
  4.  Author: moeck
  5.  Description:
  6.  Called on death, Player drops any 'virtual' items and items. They are stored in a plastic case.
  7.  
  8. */
  9. params[
  10.     ["_corpse", objNull, [objNull]]
  11. ];
  12.  
  13. private _loadout = getUnitLoadout _corpse;
  14. private _pos = ((vehicle _corpse) modelToWorld [2+random 4,2+random 4,0]);
  15. //Pseudo Code um die Kiste am StraßenRand zu spawnen
  16. if (isOnRoad _pos) then {
  17.     _pos = if (isNull roadAt _pos) then {
  18.         (_pos nearRoads 10) select 0;
  19.     } else {
  20.         roadAt _pos
  21.     };
  22.     private _rInt = random 10;
  23.     private _lR = (-1)^(round random 1);
  24.     _pos = _pos modelToWorld [_lR*(_rInt-10),_lR*_rInt,0];
  25. };
  26. _pos set [2,0];
  27. private _crate = "Box_NATO_Equip_F" createVehicle _pos;
  28. _crate setPosAtl _pos;
  29.  
  30. _corpse removeWeapon (primaryWeapon _corpse);
  31. _corpse removeWeapon (handgunWeapon _corpse);
  32. _corpse removeWeapon (secondaryWeapon _corpse);
  33.  
  34.  
  35. clearWeaponCargoGlobal _crate;
  36. clearBackpackCargoGlobal _crate;
  37. clearItemCargoGlobal _crate;
  38. clearMagazineCargoGlobal _crate;
  39. clearWeaponCargoGlobal _crate;
  40. _crate allowDamage false;
  41. _crate setVariable ["locked",true];
  42. _crate setVariable ["lootowner",getPlayerUID player];
  43. _crate setVariable ['trunkUser',nil,true];
  44.  
  45. {
  46.     if (!(_x isEqualTo "") && !(_x isEqualTo [])) then {
  47.         if (_x isEqualType "") then {
  48.             _crate addItemCargoGlobal [_x, 1];
  49.         } else {
  50.             _crate addItemCargoGlobal [_x select 0, 1];
  51.         };
  52.     };
  53.     nil;
  54. } count ((_loadout select 0)+(_loadout select 1)+(_loadout select 2)+(_loadout select 8)+(_loadout select 9));
  55.  
  56. {
  57.     if (!(_x isEqualTo "") && !(_x isEqualTo [])) then {
  58.         if (_x isEqualType "") then {
  59.             if ((([_x] call BIS_fnc_itemType) select 1) isEqualTo "Backpack") then {
  60.                 _crate addBackpackCargoGlobal [_x, 1];
  61.             } else {
  62.                 _crate addItemCargoGlobal [_x, 1];
  63.             };
  64.         } else {
  65.             {
  66.                 if ((_x select 0) isEqualType "") then {
  67.                     _crate addItemCargoGlobal [_x select 0, _x select 1];
  68.                 } else {
  69.                     for "_i" from 1 to (_x select 1) step 1 do {
  70.                         {
  71.                             if (!(_x isEqualTo "") && !(_x isEqualTo [])) then {
  72.                                 if (_x isEqualType "") then {
  73.                                     _crate addItemCargoGlobal [_x, 1];
  74.                                 } else {
  75.                                     _crate addItemCargoGlobal [_x select 0, 1];
  76.                                 };
  77.                             };
  78.                             nil;
  79.                         } count (_x select 0);
  80.                     };
  81.                 };
  82.                 nil;
  83.             } count _x;
  84.         };
  85.     };
  86.     nil;
  87. } count ((_loadout select 3)+(_loadout select 4)+(_loadout select 5));
  88.  
  89. _crate addItemCargoGlobal [_loadout select 6, 1];
  90. _crate addItemCargoGlobal [_loadout select 7, 1];
  91.  
  92. private _trunk =[];
  93. private _weight = 0;
  94.  
  95. {
  96.     private _value = 0;
  97.     private _iweight = 0;
  98.     private _itemName= "";
  99.     private _item = "";
  100.  
  101.     if (_x isEqualType "") then {_item = _x;} else {_item = configName _x};
  102.  
  103.     if (_item isEqualTo "fnwz5wnvvzcr4bjw") then {
  104.         _value = CASH;
  105.         _itemName = "CASH";
  106.         _item = "money";
  107.     } else {
  108.         _value = ITEM_VALUE(_item);
  109.         _iweight = (([_item] call life_fnc_itemWeight) * _value);
  110.         _itemName = ITEM_VARNAME(_item);
  111.     };
  112.     _weight = _weight + _iweight;
  113.    
  114.     if (_value > 0) then {
  115.         _trunk pushBack [_item,_value];
  116.     };
  117.    
  118.     missionNamespace setVariable [_itemName,0];
  119. } forEach (("true" configClasses (missionConfigFile >> "VirtualItems")) + ["fnwz5wnvvzcr4bjw"]);
  120.  
  121. _crate setVariable["Trunk",[_trunk,_weight],true];
  122.  
  123. if (life_HC_isActive) then {
  124.     [_crate] remoteExec ["HC_TACS_fnc_deleteObject",HC_Life];
  125. } else {
  126.     [_crate] remoteExec ["TACS_fnc_deleteObject",2];
  127. };
  128.  
  129. Private _items = getItemCargo _crate;
  130. if (life_HC_isActive) then {
  131.     [getPlayerUID player, "Lootbox Items", Format["%1",_items]] remoteExec ["HC_TACS_fnc_TaktischesLog",HC_Life];
  132. } else {
  133.     [getPlayerUID player, "Lootbox Items", Format["%1",_items]] remoteExec ["TACS_fnc_TaktischesLog",2];
  134. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement