speedweasel

Fuel is an uncontrolled resource

20 posts in this topic

We've really got to do something about fuel.  It's currently an unlimited resource because it's available for free at every fuel station on every map.

I'd suggest that all fuel be removed from fuel stations. Force players to search for fuel and manage it as yet another resource and it will add another layer of skill to the game.  Is it worth spending the fuel to provide air support for my teammates?  Should I lay siege to that base in the hopes of getting some fuel out of them?

Obviously Wasteland style, vehicle-heavy servers are going to hate this so I'd be happy just to have the option in the server config file to remove fuel from fuel stations.

200.gif

  • Like 4

Share this post


Link to post
Share on other sites

This could be an interesting idea if implemented well.  Perhaps large fuel barrels that you could store in your base that could be stolen like you suggest.

EDIT:  You could just use the fuel truck now that I thought about it.

Edited by DaveM
  • Like 1

Share this post


Link to post
Share on other sites
Advertisement
13 minutes ago, DaveM said:

This could be an interesting idea if implemented well.  Perhaps large fuel barrels that you could store in your base that could be stolen like you suggest.

Yep, you could go out and harvest fuel from spawned vehicles but that'd be OK because Bambis would collect spawned fuel cans and they could refuel them.

I've even modified a DMS mission to be a fuel dump mission:

Spoiler

/*
    Sample mission
    Created by Defent and eraser1

    Called from DMS_selectMission
*/

private ["_num", "_group", "_pos", "_side", "_extraParams", "_OK", "_difficulty", "_AICount", "_type", "_launcher", "_crate1", "_rndDir", "_wreck", "_vehClass1", "_vehicle1", "_vehClass2", "_vehicle2", "_crate_loot_values1", "_missionAIUnits", "_missionObjs", "_msgStart", "_msgWIN", "_msgLOSE", "_missionName", "_markers", "_time", "_added", "_cleanup"];

// For logging purposes
_num = DMS_MissionCount;


// Set mission side
_side = "bandit";


// This part is unnecessary, but exists just as an example to format the parameters for "DMS_fnc_MissionParams" if you want to explicitly define the calling parameters for DMS_fnc_FindSafePos.
// It also allows anybody to modify the default calling parameters easily.
if ((isNil "_this") || {_this isEqualTo [] || {!(_this isEqualType [])}}) then
{
    _this =
    [
        [10,DMS_WaterNearBlacklist,DMS_MinSurfaceNormal,DMS_SpawnZoneNearBlacklist,DMS_TraderZoneNearBlacklist,DMS_MissionNearBlacklist,DMS_PlayerNearBlacklist,DMS_TerritoryNearBlacklist,DMS_ThrottleBlacklists],
        [
            []
        ],
        _this
    ];
};

// Check calling parameters for manually defined mission position.
// You can use _extraParams to define which vehicles to spawn. _vehClass1, [_vehClass1], or [_vehClass1,_vehClass2]
_OK = (_this call DMS_fnc_MissionParams) params
[
    ["_pos",[],[[]],[3]],
    ["_extraParams",[]]
];

if !(_OK) exitWith
{
    diag_log format ["DMS ERROR :: Called MISSION cardealer.sqf with invalid parameters: %1",_this];
};


// Set general mission difficulty
_difficulty = "easy";


// Create AI
_AICount = 4 + (round (random 2));

_group =
[
    _pos,                    // Position of AI
    _AICount,                // Number of AI
    "random",                // "random","hardcore","difficult","moderate", or "easy"
    "random",                 // "random","assault","MG","sniper" or "unarmed" OR [_type,_launcher]
    _side                     // "bandit","hero", etc.
] call DMS_fnc_SpawnAIGroup;


// Create Crates
_crate1 = ["I_supplyCrate_F",_pos] call DMS_fnc_SpawnCrate;

_rndDir = random 180;

_wreck = createVehicle ["Land_FuelStation_Build_F",_pos getPos [10+(random 5),_rndDir+90],[], 0, "CAN_COLLIDE"];


_vehClass1 = "I_Truck_02_fuel_F";
_vehClass2 = "Exile_Car_Van_Fuel_Guerilla01";

if !(_extraParams isEqualTo []) then
{
    if ((typeName _extraParams)=="STRING") then
    {
        _vehClass1 = _extraParams;
    }
    else
    {
        if (((typeName _extraParams)=="ARRAY") && {(typeName (_extraParams select 0))=="STRING"}) then
        {
            _vehClass1 = _extraParams select 0;

            if (((count _extraParams)>1) && {(typeName (_extraParams select 1))=="STRING"}) then
            {
                _vehClass2 = _extraParams select 1;
            };
        };
    };
};
_vehicle1 = [_vehClass1, _pos getPos [5+(random 3),_rndDir]] call DMS_fnc_SpawnNonPersistentVehicle;


_vehicle2 = [_vehClass2, _pos getPos [5+(random 3),_rndDir+180]] call DMS_fnc_SpawnNonPersistentVehicle;

// Set crate loot values
_crate_loot_values1 =
[
    2,        // Weapons
    [10,DMS_BoxFuel],    // Items
    2         // Backpacks
];

// Define mission-spawned AI Units
_missionAIUnits =
[
    _group         // We only spawned the single group for this mission
];

// Define mission-spawned objects and loot values
_missionObjs =
[
    [_wreck],
    [_vehicle1,_vehicle2],
    [[_crate1,_crate_loot_values1]]
];

// Define Mission Start message
_msgStart = ['#FFFF00',"Bandits are guarding a fuel dump.  Capture the gasoline!"];

// Define Mission Win message
_msgWIN = ['#0080ff',"Convicts have secured the fuel dump and eliminated the bandits!"];

// Define Mission Lose message
_msgLOSE = ['#FF0000',"Two days ago, the bandits saw a vehicle that would haul that tanker. Now they have escaped!"];

// Define mission name (for map marker and logging)
_missionName = "Fuel Dump";

// Create Markers
_markers =
[
    _pos,
    _missionName,
    _difficulty
] call DMS_fnc_CreateMarker;

// Record time here (for logging purposes, otherwise you could just put "diag_tickTime" into the "DMS_AddMissionToMonitor" parameters directly)
_time = diag_tickTime;

// Parse and add mission info to missions monitor
_added =
[
    _pos,
    [
        [
            "kill",
            _group
        ],
        [
            "playerNear",
            [_pos,DMS_playerNearRadius]
        ]
    ],
    [
        _time,
        (DMS_MissionTimeOut select 0) + random((DMS_MissionTimeOut select 1) - (DMS_MissionTimeOut select 0))
    ],
    _missionAIUnits,
    _missionObjs,
    [_missionName,_msgWIN,_msgLOSE],
    _markers,
    _side,
    _difficulty,
    []
] call DMS_fnc_AddMissionToMonitor;

// Check to see if it was added correctly, otherwise delete the stuff
if !(_added) exitWith
{
    diag_log format ["DMS ERROR :: Attempt to set up mission %1 with invalid parameters for DMS_AddMissionToMonitor! Deleting mission objects and resetting DMS_MissionCount.",_missionName];

    // Delete AI units and the crate. I could do it in one line but I just made a little function that should work for every mission (provided you defined everything correctly)
    _cleanup = [];
    {
        _cleanup pushBack _x;
    } forEach _missionAIUnits;

    _cleanup pushBack ((_missionObjs select 0)+(_missionObjs select 1));

    {
        _cleanup pushBack (_x select 0);
    } foreach (_missionObjs select 2);

    _cleanup call DMS_fnc_CleanUp;


    // Delete the markers directly
    {deleteMarker _x;} forEach _markers;


    // Reset the mission count
    DMS_MissionCount = DMS_MissionCount - 1;
};


// Notify players
[_missionName,_msgStart] call DMS_fnc_BroadcastMissionStatus;

if (DMS_DEBUG) then
{
    (format ["MISSION: (%1) :: Mission #%2 started at %3 with %4 AI units and %5 difficulty at time %6",_missionName,_num,_pos,_AICount,_difficulty,_time]) call DMS_fnc_DebugLog;
};

To make the loot work, just add a DMS_BoxFuel class to your DMS config.sqf:

    DMS_BoxFuel =                       [   // Fuel
                                            "Exile_Item_FuelCanisterFull",
                                            "Exile_Item_FuelCanisterFull",
                                            "Exile_Item_FuelCanisterFull",
                                            "Exile_Item_FuelCanisterFull",
                                            "Exile_Item_FuelCanisterFull",
                                            "Exile_Item_FuelCanisterFull",
                                            "Exile_Item_FuelCanisterFull",
                                            "Exile_Item_FuelCanisterFull",
                                            "Exile_Item_FuelCanisterFull",
                                            "Exile_Item_FuelCanisterFull"
                                        ];

 

Share this post


Link to post
Share on other sites

I like the idea of maybe having a craftable industrial grade fuel-container to put by the base, and possibility to fill it using fuel canister/barrels/trucks.

However removing fuel from gas stations completely sounds wierd. I think limiting gas stations in another way is better than removing the possibility completely. There are lots of gas stations all around the map. The idea of all of them being empty, but barrels of fuel can be found in industrial building everywhere, just doesnt sound right. 

Some mods have limited gas stations to fill canisters/barrels only and not vehicles. Dont know if this is a good option.

  • Like 3

Share this post


Link to post
Share on other sites

I have not tested this but i think if you want to stop the fuel stations from working you just have to remove them from the config file

	class FuelSource
	{
		name = "Fuel pumps, stations or barrels";
		models[] = 
		{
			"fuelstation_feed_f.p3d",
			"metalbarrel_f.p3d",
			"flexibletank_01_f.p3d",
			"fs_feed_f.p3d",
			//Esseker Fuel
			"Land_FuelStation_Feed_F",
			"Land_A_FuelStation_Feed"
		};	
	};

 

Share this post


Link to post
Share on other sites

Fuel is hard coded into the fuel pump models. As such there is no quick easy turn off switch. You have to use a scripted method to remove all the fuel from every fuel station on the map. It's a pretty dirty way of having to do it :(

  • Like 1

Share this post


Link to post
Share on other sites

it would need to be something that server owners could disable like you said, but as default keep it flowing from the petrol stations.

i suppose next folk will have to buy road tax, insurance and have a full vehicle M.O.T before taking to the road

Share this post


Link to post
Share on other sites
2 hours ago, ✪EightyFive said:

Some mods have limited gas stations to fill canisters/barrels only and not vehicles. Dont know if this is a good option.

That's a good option.  Maybe give each station x litres of fuel on server restart.

  • Like 1

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.