Davison Silva
New Member
Taking the sample code for Auto-Refuel:
kh_actions.sqf
kh_vehicle_refuel.sqf
By Seven http://opendayz.net/members/seven.1347/
You can make the self-blood bag work only in hospitals Chernarus map, and that the character's action take at least 30 seconds?
sorry my bad english
thanks.
kh_actions.sqf
PHP:
private ["_vehicle", "_vehicle_refuel_id"];
//Awesomely Edited by Seven
_vehicle = objNull;
diag_log "Running ""kh_actions"".";
while {true} do
{
if (!isNull player) then
{
private ["_currentVehicle", "_isNearFeed"];
_currentVehicle = vehicle player;
_isNearFeed = count ((position _currentVehicle) nearObjects ["Land_A_FuelStation_Feed", 10]) > 0;
if (_vehicle != _currentVehicle) then
{
if (!isNull _vehicle) then
{
_vehicle removeAction _vehicle_refuel_id;
_vehicle = objNull;
};
if (_currentVehicle != player && _isNearFeed) then
{
_vehicle = _currentVehicle;
_vehicle_refuel_id = _vehicle addAction ["Refuel", "Scripts\kh_vehicle_refuel.sqf", [], -1, false, false, "",
"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", "_isNearFeed"];
_target = _this select 0;
_caller = _this select 1;
_id = _this select 2;
if (isNil "ib_refueling_in_progress") then { ib_refueling_in_progress = false; };
if (!ib_refueling_in_progress) then
{
_isNearFeed = count ((position _caller) nearObjects ["Land_A_FuelStation_Feed", 10]) > 0;
if (!_isNearFeed) then
{
titleText ["You must be near a fuel station pump.", "PLAIN DOWN", 3];
titleFadeOut 3;
}
else
{
ib_refueling_in_progress = true;
titleText ["Refueling", "PLAIN", 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 { };
if (_cfcust >= 1.0) exitWith { };
sleep 0.5;
_cfcust = _cfcust + 0.005;
if (_cfcust >= 1.0) then { _cfcust = 1.0; };
_target setFuel _cfcust;
};
titleFadeOut 1;
ib_refueling_in_progress = false;
};
};
By Seven http://opendayz.net/members/seven.1347/
You can make the self-blood bag work only in hospitals Chernarus map, and that the character's action take at least 30 seconds?
sorry my bad english
thanks.