From Xeno:
Trigger with –
Condition:
Code:
this and ((getpos (thislist select 0)) select 2 < 1)
OnAct:
Code:
_xhandle= [(thislist select 0)] execVM "scripts\x_reload.sqf";
x_reload.sqf:
Code:
// by Xeno private ["_config","_count","_i","_magazines","_object","_type","_type_name"]; _object = _this select 0; _type = typeof _object; if (_object isKindOf "ParachuteBase") exitWith {}; if (isNil "x_reload_time_factor") then {x_reload_time_factor = 1;}; //if (!local _object) exitWith {}; if (!alive _object) exitWith {}; _object setFuel 0; _object setVehicleAmmo 1; // Reload turrets / drivers magazine _type_name = typeOf _object; _object vehicleChat format ["Servicing %1... Please stand by...", _type]; _magazines = getArray(configFile >> "CfgVehicles" >> _type >> "magazines"); if (count _magazines > 0) then { _removed = []; { if (!(_x in _removed)) then { _object removeMagazines _x; _removed set [count _removed, _x]; }; } forEach _magazines; { _object vehicleChat format ["Reloading %1", _x]; sleep x_reload_time_factor; if (!alive _object) exitWith {}; _object addMagazine _x; } forEach _magazines; }; _count = count (configFile >> "CfgVehicles" >> _type >> "Turrets"); if (_count > 0) then { for "_i" from 0 to (_count - 1) do { scopeName "xx_reload2_xx"; _config = (configFile >> "CfgVehicles" >> _type >> "Turrets") select _i; _magazines = getArray(_config >> "magazines"); _removed = []; { if (!(_x in _removed)) then { _object removeMagazines _x; _removed set [count _removed, _x]; }; } forEach _magazines; { _object vehicleChat format ["Reloading %1", _x]; sleep x_reload_time_factor; if (!alive _object) then {breakOut "xx_reload2_xx"}; _object addMagazine _x; sleep x_reload_time_factor; if (!alive _object) then {breakOut "xx_reload2_xx"}; } forEach _magazines; // check if the main turret has other turrets _count_other = count (_config >> "Turrets"); // this code doesn't work, it's not possible to load turrets that are part of another turret :( // nevertheless, I leave it here if (_count_other > 0) then { for "_i" from 0 to (_count_other - 1) do { _config2 = (_config >> "Turrets") select _i; _magazines = getArray(_config2 >> "magazines"); _removed = []; { if (!(_x in _removed)) then { _object removeMagazines _x; _removed set [count _removed, _x]; }; } forEach _magazines; { _object vehicleChat format ["Reloading %1", _x]; sleep x_reload_time_factor; if (!alive _object) then {breakOut "xx_reload2_xx"}; _object addMagazine _x; sleep x_reload_time_factor; if (!alive _object) then {breakOut "xx_reload2_xx"}; } forEach _magazines; }; }; }; }; _object setVehicleAmmo 1; // Reload turrets / drivers magazine sleep x_reload_time_factor; if (!alive _object) exitWith {}; _object vehicleChat "Repairing..."; _object setDamage 0; sleep x_reload_time_factor; if (!alive _object) exitWith {}; _object vehicleChat "Refueling..."; while {fuel _object < 0.99} do { //_object setFuel ((fuel _vehicle + 0.1) min 1); _object setFuel 1; sleep 0.01; }; sleep x_reload_time_factor; if (!alive _object) exitWith {}; _object vehicleChat format ["%1 is ready...", _type_name]; if (true) exitWith {};
#1 by mia389 on November 4, 2010 - 9:30 PM
Just what I was looking for! Thanks
#2 by Me on November 5, 2010 - 11:19 PM
hey, i just put this script on my map and for some reason it doesn’t work. can you point me in the right direction?
Thanks.
#3 by [EF]MSG.Bones on December 7, 2010 - 5:59 PM
Same problem as above. Put that all into a trigger and nothing.
#4 by [EF]MSG.Bones on December 7, 2010 - 6:34 PM
Nm had a brain fart. Haven’t eaten today. Just set it to activated by anybody