Patrick Habran
New Member
I will try that. I didn't know if it could work together like this.
Edit: Everything worked great. Thank you.
Edit: Everything worked great. Thank you.
Last edited:
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
I modified the code of the script left only refuel in Gas Stations equal to what was posted by Seven and Muddr.(Thanks Seven, for correcting me.)
here is:
kh_actions.sqf
PHP:private ["_vehicle", "_vehicle_refuel_id"]; //Awesomely Edited by Seven, Then modified by Muddr, Then modified by Davison _vehicle = objNull; diag_log "Running ""kh_actions""."; _distance = 15; // Distance from object to display Refuel Message _amount= 0.02; // Amount of fuel to add per loop. Default was 0.005 while {true} do { if (!isNull player) then { private ["_currentVehicle", "_isNearFeed", "_countFuel"]; _currentVehicle = vehicle player; _countFuel = (count ((position _currentVehicle) nearObjects ["Land_A_FuelStation_Feed", _distance])); _countFuel = _countFuel + (count ((position _currentVehicle) nearObjects ["Land_A_FuelStation_Feed", _distance])); _isNearFeed = _countFuel > 0; if (_vehicle != _currentVehicle) then { if (!isNull _vehicle) then { _vehicle removeAction _vehicle_refuel_id; _vehicle = objNull; }; if (_currentVehicle != player && _isNearFeed && !(_currentVehicle isKindof "Bicycle")) then { _vehicle = _currentVehicle; _vehicle_refuel_id = _vehicle addAction ["Refuel", "Scripts\kh_vehicle_refuel.sqf", [_amount], -1, false, true, "", "vehicle _this == _target && local _target"]; }; }; if (!_isNearFeed) then { _vehicle removeAction _vehicle_refuel_id; _vehicle = objNull; }; }; sleep 2; }
kh_vehicle_refuel.sqf
PHP:private ["_target", "_caller", "_id","_object"]; _object = _this select 0; _target = _this select 0; _caller = _this select 1; _id = _this select 2; _args = _this select 3; _amount = _args select 0; _object engineOn false; if (isNil "ib_refueling_in_progress") then { ib_refueling_in_progress = false; }; if (!ib_refueling_in_progress) then { ib_refueling_in_progress = true; titleText ["Refueling", "PLAIN DOWN", 3]; while {(vehicle _caller == _target) and (local _target)} do { private ["_velocity", "_cfcust"]; _velocity = velocity _target; _cfcust = fuel _target; if ((_velocity select 0 > 1) or (_velocity select 1 > 1) or (_velocity select 2 > 1)) exitWith { titleText ["Refueling Stopped", "PLAIN DOWN", 3]; }; if (_cfcust >= 1.0) exitWith { titleText ["Done Refueling", "PLAIN DOWN", 3]; }; sleep 0.5; _cfcust = _cfcust + _amount; if (_cfcust >= 1.0) then { _cfcust = 1.0; }; _target setFuel _cfcust; }; titleFadeOut 1; ib_refueling_in_progress = false; };
reedited by Dávison. added new parameter to turn off the car engine when refueling
I modified the script that Seven posted to work with all the fuel tanks you can use with jerry cans and the gas pumps. I removed some code that wasn't needed and added messages for when the vehicle moves while fueling and when fueling is done. Added some variables to the kh_actions.sqf file (lines 6 & 7) for distance from tanks/pumps and amount of fuel per loop so it can be changed easily.
kh_actions.sqf - http://pastebin.com/rCW8sWCC
kh_vehicle_refuel.sqf - http://pastebin.com/6AmSQB8w