Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Author: Larrow, edited by Haleks
- Description: awesome loot search function
- Returns:
- */
- rvg_lootContModels = ["barreltrash_f.p3d","officecabinet_01_f.p3d","officetable_01_f.p3d","officetable_01_f.p3d","cashdesk_f.p3d","icebox_f.p3d","almara.p3d","case_bedroom_b.p3d","fridge.p3d","kitchenstove_elec.p3d","lekarnicka.p3d","metalcase_01.p3d","dhangar_whiteskrin.p3d","library_a.p3d","skrin_bar.p3d","case_wooden_b.p3d","truhla_stara.p3d","skrin_opalena.p3d","dhangar_brownskrin.p3d","case_a.p3d","case_cans_b.p3d","case_bedroom_a.p3d","desk.p3d","dhangar_knihovna.p3d","dhangar_psacistul.p3d","pultskasou.p3d","icebox.p3d","chest_ep1.p3d","cabinet_ep1.p3d","woodenbox_f.p3d","garbagebin_02_f.p3d","garbagebags_f.p3d","garbagebarrel_01_f.p3d","garbagepallet_f.p3d","garbagewashingmachine_f.p3d","luggageheap_02_f.p3d","luggageheap_05_f.p3d","luggageheap_04_f.p3d","garbageheap_01_f.p3d","garbageheap_02_f.p3d","garbageheap_03_f.p3d","garbageheap_04_f.p3d","junkpile_f.p3d","garbagebin_01_f.p3d","garbagecontainer_closed_f.p3d","wheeliebin_01_f.p3d","crateswooden_f.p3d","garbagecontainer_open_f.p3d",
- "sacks_goods_f.p3d","sacks_heap_f.p3d","paperbox_closed_f.p3d","paperbox_open_full_f.p3d","scrap_mrap_01_f.p3d","pallet_milboxes_f.p3d","scrapheap_1_f.p3d","scrapheap_2_f.p3d","fishinggear_01_f.p3d","fishinggear_02_f.p3d","tabledesk_f.p3d","barreltrash_grey_f.p3d","woodencrate_01_f.p3d","woodencrate_01_stack_x3_f.p3d","woodencrate_01_stack_x5_f.p3d","kontejner.p3d","kontejner_sklo.p3d","kontejner_papir.p3d","kontejner_plasty.p3d","misc_garb_heap_ep1.p3d","popelnice.p3d","kontejner.p3d","misc_gcontainer_big.p3d","popelnice.p3d","bag_ep1.p3d","bags_ep1.p3d","cwa_bags_stack.p3d","bags_stack_ep1.p3d","sack_ep1.p3d","wicker_basket_ep1.p3d","crates_ep1.p3d","usbasicammo.p3d","ammobednax.p3d","usbasicweapons.p3d","usspecialweapons.p3d","misc_backpackheap.p3d","misc_backpackheap_ep1.p3d","hromada_beden_dekorativnix.p3d","box_c.p3d","drevena_bedna.p3d","wreck_hmmwv_f.p3d","wreck_skodovka_f.p3d","wreck_cardismantled_f.p3d","wreck_truck_f.p3d","wreck_car2_f.p3d","wreck_car_f.p3d","wreck_car3_f.p3d","wreck_hunter_f.p3d","wreck_offroad_f.p3d","wreck_offroad2_f.p3d","wreck_uaz_f.p3d","wreck_ural_f.p3d","wreck_truck_dropside_f.p3d","wreck_van_f.p3d","lada_wrecked.p3d","hmmwv_wrecked.p3d","jeept.p3d","jeept_horeznacky.p3d","jeept_tanker.p3d","hiluxt.p3d","datsun01t.p3d","datsun02t.p3d","skodovka_wrecked.p3d","uaz_wrecked.p3d","ural_wrecked.p3d",
- "garbage_paleta.p3d",
- "garbage_misc.p3d"
- ];
- rvg_searchedLoot = [];
- rvg_noLootString = [
- "You found nothing.",
- "Nothing here...",
- "Empty...",
- "Nothing but junk.",
- "It's empty."
- ];
- fn_findString = {
- params ["_obj", "_rvg_lootContModels"];
- _r = "";
- {
- if ([_x, str _obj] call bis_fnc_inString) exitWith {
- _r = _x
- };
- } forEach _rvg_lootContModels;
- _r
- };
- player setVariable [ "rvg_lootSearchAction", player addAction [ "Search #", {
- nul = [] spawn {
- player setVariable ["_isSearching", true];
- _obj = rvg_lootTarget select 0;
- titleText ["", "PLAIN DOWN"];
- //player playAction "gear";
- player playActionNow "medicStartRightSide";
- _sound = selectRandom ["rum1", "rum2", "rum3", "rum4", "rum5", "rum6", "rum7", "rum8"];
- [player, _sound] remoteExec ["say3D", 0, false];
- sleep 2;
- if (!(_obj in rvg_searchedLoot) && {!(_obj in (missionNamespace getVariable "buildings_manager"))}) then {
- rvg_searchedLoot pushBackUnique _obj;
- if (!(isNil {_obj getVariable "_uncheckedLoot"})) exitWith {};
- for "_lootType" from 0 to 3 do {
- if (((missionNameSpace getVariable "rvg_specialLootChances") select _lootType) > random 100) exitWith {
- _lootholder = createVehicle ["GroundWeaponHolder", ASLToATL getPosASL player, [], 0, "CAN_COLLIDE"];
- _lootholder setVariable ["_uncheckedLoot", [0, _lootType], true];
- 0 = loot_to_clean pushBack _lootholder;
- 0 = (missionNamespace getVariable "buildings_manager") pushBack _obj;
- missionNamespace setVariable ["rvgLootTimeStamp_" + str _obj, date select 2, true];
- missionNameSpace setVariable ["specialLoot" + str _obj, _lootholder, true];
- };
- };
- };
- player playActionNow "medicStop";
- sleep 0.1;
- if !(isNil {missionNameSpace getVariable ("specialLoot" + str _obj)}) then {
- player action ["Gear", (missionNameSpace getVariable ("specialLoot" + str _obj))];
- } else {
- titleText [selectRandom rvg_noLootString, "PLAIN DOWN"];
- };
- player setVariable ["_isSearching", nil];
- };
- },
- [],
- 1,
- true,
- true,
- "",
- "
- if (!isnil 'rvg_lootTarget' && {isnil {player getVariable '_isSearching'}}) then {
- player setUserActionText [ player getvariable 'rvg_lootSearchAction', format [ 'Search %1', (((rvg_lootTarget select 1) splitString './_' ) select 0)]];
- true
- };
- "
- ] ];
- rvgLootScanEH = addMissionEventHandler ["Draw3D",{
- rvg_lootTarget = nil;
- if !(player isEqualTo (vehicle player)) exitWith {};
- _objs = lineIntersectsObjs [ATLToASL positionCameraToWorld [0,0,0], ATLToASL positionCameraToWorld[0,0,4], player, objNull, true, 32];
- if !(count _objs isEqualTo 0) then {
- _obj = _objs select ((count _objs) - 1);
- _objValidStr = [_obj, rvg_lootContModels] call fn_findString;
- if !(_objValidStr isEqualTo "") then {
- rvg_lootTarget = [_obj, _objValidStr];
- };
- };
- }];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement