Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "..\..\script_macros.hpp"
- /*
- File: fn_dropItems.sqf
- Author: moeck
- Description:
- Called on death, Player drops any 'virtual' items and items. They are stored in a plastic case.
- */
- params[
- ["_corpse", objNull, [objNull]]
- ];
- private _loadout = getUnitLoadout _corpse;
- private _pos = ((vehicle _corpse) modelToWorld [2+random 4,2+random 4,0]);
- //Pseudo Code um die Kiste am StraßenRand zu spawnen
- if (isOnRoad _pos) then {
- _pos = if (isNull roadAt _pos) then {
- (_pos nearRoads 10) select 0;
- } else {
- roadAt _pos
- };
- private _rInt = random 10;
- private _lR = (-1)^(round random 1);
- _pos = _pos modelToWorld [_lR*(_rInt-10),_lR*_rInt,0];
- };
- _pos set [2,0];
- private _crate = "Box_NATO_Equip_F" createVehicle _pos;
- _crate setPosAtl _pos;
- _corpse removeWeapon (primaryWeapon _corpse);
- _corpse removeWeapon (handgunWeapon _corpse);
- _corpse removeWeapon (secondaryWeapon _corpse);
- clearWeaponCargoGlobal _crate;
- clearBackpackCargoGlobal _crate;
- clearItemCargoGlobal _crate;
- clearMagazineCargoGlobal _crate;
- clearWeaponCargoGlobal _crate;
- _crate allowDamage false;
- _crate setVariable ["locked",true];
- _crate setVariable ["lootowner",getPlayerUID player];
- _crate setVariable ['trunkUser',nil,true];
- {
- if (!(_x isEqualTo "") && !(_x isEqualTo [])) then {
- if (_x isEqualType "") then {
- _crate addItemCargoGlobal [_x, 1];
- } else {
- _crate addItemCargoGlobal [_x select 0, 1];
- };
- };
- nil;
- } count ((_loadout select 0)+(_loadout select 1)+(_loadout select 2)+(_loadout select 8)+(_loadout select 9));
- {
- if (!(_x isEqualTo "") && !(_x isEqualTo [])) then {
- if (_x isEqualType "") then {
- if ((([_x] call BIS_fnc_itemType) select 1) isEqualTo "Backpack") then {
- _crate addBackpackCargoGlobal [_x, 1];
- } else {
- _crate addItemCargoGlobal [_x, 1];
- };
- } else {
- {
- if ((_x select 0) isEqualType "") then {
- _crate addItemCargoGlobal [_x select 0, _x select 1];
- } else {
- for "_i" from 1 to (_x select 1) step 1 do {
- {
- if (!(_x isEqualTo "") && !(_x isEqualTo [])) then {
- if (_x isEqualType "") then {
- _crate addItemCargoGlobal [_x, 1];
- } else {
- _crate addItemCargoGlobal [_x select 0, 1];
- };
- };
- nil;
- } count (_x select 0);
- };
- };
- nil;
- } count _x;
- };
- };
- nil;
- } count ((_loadout select 3)+(_loadout select 4)+(_loadout select 5));
- _crate addItemCargoGlobal [_loadout select 6, 1];
- _crate addItemCargoGlobal [_loadout select 7, 1];
- private _trunk =[];
- private _weight = 0;
- {
- private _value = 0;
- private _iweight = 0;
- private _itemName= "";
- private _item = "";
- if (_x isEqualType "") then {_item = _x;} else {_item = configName _x};
- if (_item isEqualTo "fnwz5wnvvzcr4bjw") then {
- _value = CASH;
- _itemName = "CASH";
- _item = "money";
- } else {
- _value = ITEM_VALUE(_item);
- _iweight = (([_item] call life_fnc_itemWeight) * _value);
- _itemName = ITEM_VARNAME(_item);
- };
- _weight = _weight + _iweight;
- if (_value > 0) then {
- _trunk pushBack [_item,_value];
- };
- missionNamespace setVariable [_itemName,0];
- } forEach (("true" configClasses (missionConfigFile >> "VirtualItems")) + ["fnwz5wnvvzcr4bjw"]);
- _crate setVariable["Trunk",[_trunk,_weight],true];
- if (life_HC_isActive) then {
- [_crate] remoteExec ["HC_TACS_fnc_deleteObject",HC_Life];
- } else {
- [_crate] remoteExec ["TACS_fnc_deleteObject",2];
- };
- Private _items = getItemCargo _crate;
- if (life_HC_isActive) then {
- [getPlayerUID player, "Lootbox Items", Format["%1",_items]] remoteExec ["HC_TACS_fnc_TaktischesLog",HC_Life];
- } else {
- [getPlayerUID player, "Lootbox Items", Format["%1",_items]] remoteExec ["TACS_fnc_TaktischesLog",2];
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement