Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //V1 by Ghost, added delay of 4 seconds if object moves out then no repair
- private ["_object","_Rearmlist","_reload_time","_type","_Object_name","_fuelstore","_removed","_f","_repairVics","_ammoVics","_fuelVics","_mssg","_objectCommander","_objectOwner","_objectTurrets","_objectTurretIds"];
- _repairVics = ["B_G_Offroad_01_repair_F","B_Truck_01_Repair_F","I_G_Offroad_01_repair_F","I_Truck_02_box_F","O_G_Offroad_01_repair_F","O_Truck_03_repair_F","O_Truck_02_box_F","B_APC_Tracked_01_CRV_F"];
- _ammoVics = ["B_Truck_01_ammo_F","I_Truck_02_ammo_F","O_Truck_03_ammo_F","O_Truck_02_Ammo_F","B_APC_Tracked_01_CRV_F"];
- _fuelVics = ["B_Truck_01_fuel_F","B_G_Van_01_fuel_F","I_Truck_02_fuel_F","I_G_Van_01_fuel_F","O_Truck_03_fuel_F","O_Truck_02_fuel_F","O_G_Van_01_fuel_F","B_APC_Tracked_01_CRV_F"];
- _object = _this select 0;
- _Rearmlist = _this select 1;
- _reload_time = 10;
- _objectCommander = effectiveCommander _object;
- _objectOwner = owner _object;
- _objectTurretIds = [];
- _objectTurrets = allTurrets [_object, true];
- for "_i" from 0 to count _objectTurrets do
- {
- _objectTurretIds set [_i, (_object turretOwner [_i])];
- };
- //[[_objectCommander,"fn_reload.sqf was just initiated."],"groupChat",_objectOwner,false] call BIS_fnc_MP;
- _type = typeof _object;
- if ((_object isKindOf "ParachuteBase") or (_object isKindOf "Man")) exitWith {};
- WaitUntil{_object in list _Rearmlist};
- sleep 4;
- if(!(_object in list _Rearmlist)) exitWith {_object vehiclechat "Repair Aborted"};
- if !(alive _object) exitWith {};
- _fuelstore = fuel _object;
- [[_object,0],"setFuel",_objectOwner,false] call BIS_fnc_MP;
- _Object_name = (configFile >> "cfgVehicles" >> (_type) >> "displayName") call bis_fnc_getcfgdata;
- _mssg = format ["Servicing %1... Please stand by...", _Object_name];
- [[_objectCommander,_mssg],"groupChat",_objectOwner,false] call BIS_fnc_MP;
- While {alive _object} do
- {
- if ((typeOf _object) in _repairVics) then
- {
- [[_object,1],"setRepairCargo",true,false] call BIS_fnc_MP;
- [[_objectCommander,"Refilling repair supplies..."],"groupChat",_objectOwner,false] call BIS_fnc_MP;
- sleep _reload_time;
- };
- if ((typeOf _object) in _ammoVics) then
- {
- [[_object,1],"setAmmoCargo",true,false] call BIS_fnc_MP;
- [[_objectCommander,"Refilling ammunition cargo..."],"groupChat",_objectOwner,false] call BIS_fnc_MP;
- sleep _reload_time;
- };
- if ((typeOf _object) in _fuelVics) then
- {
- [[_object,1],"setFuelCargo",true,false] call BIS_fnc_MP;
- [[_objectCommander,"Refilling fuel cargo..."],"groupChat",_objectOwner,false] call BIS_fnc_MP;
- sleep _reload_time;
- };
- /*
- if(_object isKindOf "O_Truck_03_ammo_F") then
- {
- _object vehicleChat format ["Loading infantry ammo in %1 inventory.", _Object_name];
- clearWeaponCargoGlobal _object;
- clearMagazineCargoGlobal _object;
- clearItemCargoGlobal _object;
- _object addMagazineCargoGlobal ["30Rnd_65x39_caseless_green", 50];
- _object addMagazineCargoGlobal ["HandGrenade", 10];
- _object addMagazineCargoGlobal ["MiniGrenade", 10];
- _object addMagazineCargoGlobal ["SmokeShell", 5];
- _object addMagazineCargoGlobal ["SmokeShellGreen", 5];
- _object addMagazineCargoGlobal ["SmokeShellRed", 5];
- _object addMagazineCargoGlobal ["150Rnd_762x51_Box", 10];
- _object addMagazineCargoGlobal ["1Rnd_HE_Grenade_shell", 10];
- _object addMagazineCargoGlobal ["1Rnd_SmokeRed_Grenade_shell", 5];
- _object addMagazineCargoGlobal ["RPG32_HE_F", 6];
- _object addMagazineCargoGlobal ["RPG32_F", 5];
- _object addMagazineCargoGlobal ["DemoCharge_Remote_Mag", 8];
- _object addMagazineCargoGlobal ["SatchelCharge_Remote_Mag", 4];
- _object addItemCargoGlobal ["FirstAidKit", 30];
- sleep _reload_time;
- }
- else
- {
- if(_object isKindOf "I_UGV_01_F") then
- {
- if(isUavConnected _object) then
- {
- _unit = (uavControl _object) select 0;
- _unit sidechat "Putting ammo in UGV.";
- };
- clearWeaponCargoGlobal _object;
- clearMagazineCargoGlobal _object;
- clearItemCargoGlobal _object;
- _object addMagazineCargoGlobal ["30Rnd_556x45_Stanag", 15];
- _object addMagazineCargoGlobal ["200Rnd_65x39_cased_Box", 4];
- _object addMagazineCargoGlobal ["20Rnd_762x51_Mag", 4];
- _object addMagazineCargoGlobal ["1Rnd_HE_Grenade_shell", 5];
- _object addMagazineCargoGlobal ["NLAW_F", 2];
- _object addMagazineCargoGlobal ["Titan_AT", 2];
- //_object addMagazineCargoGlobal ["Titan_AP", 2];
- _object addMagazineCargoGlobal ["DemoCharge_Remote_Mag", 2];
- _object addMagazineCargoGlobal ["SatchelCharge_Remote_Mag", 1];
- _object addItemCargoGlobal ["FirstAidKit", 10];
- sleep _reload_time;
- if(isUavConnected _object) then
- {
- _unit = (uavControl _object) select 0;
- _unit sidechat "Done. Vehicle has ammo in cargo";
- };
- };
- };
- */
- if (count _objectTurrets > 0) then
- {
- [[_objectCommander,"Rearming..."],"groupChat",_objectOwner,false] call BIS_fnc_MP;
- sleep _reload_time;
- {
- [[_object,1],"setVehicleAmmo",_x,false] call BIS_fnc_MP;
- }forEach _objectTurretIds;
- };
- [[_objectCommander,"Repairing..."],"groupChat",_objectOwner,false] call BIS_fnc_MP;
- sleep _reload_time;
- _object setDamage 0; //this command is global
- [[_objectCommander,"Refueling..."],"groupChat",_objectOwner,false] call BIS_fnc_MP;
- sleep _reload_time;
- _f = 0.01;
- while {fuel _object < 0.99} do {
- if(!(_object in list _Rearmlist)) exitWith
- {
- [[_objectCommander,"Fueling Aborted"],"groupChat",_objectOwner,false] call BIS_fnc_MP;
- [[_object,_fuelstore + _f],"setFuel",_objectOwner,false] call BIS_fnc_MP;
- };
- [[_object,_fuelstore + _f],"setFuel",_objectOwner,false] call BIS_fnc_MP;
- sleep 0.2;
- _f = _f + 0.01;
- };
- _mssg = format ["%1 is ready...", _Object_name];
- [[_objectCommander,_mssg],"groupChat",_objectOwner,false] call BIS_fnc_MP;
- if (true) exitWith {};
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement