Français [Fuel Stations] Différents types de jerrycans d'essence

  • Auteur de la discussion Auteur de la discussion Loic Shmit
  • Date de début Date de début

Loic Shmit

User
25/8/18
40
2
35
300
the-programmer.com
Bonjour, et bienvenue sur ce tutoriel qui vous permettra de remplir vos véhicules avec les différents types d'essence du script Fuel Stations en cas de panne au milieu de la route.
Ce tutoriel fais suite à la demande d'aide de J Jason Marchal
C'est parti !

Remplacer dans votre fn_useItem.sqf ceci :

Code:
case "fuelFull": {
    if !(isNull objectParent player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
    [] spawn life_fnc_jerryRefuel;
    closeDialog 0;
};

Par :
Code:
case "fuelFull": {
    if !(isNull objectParent player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
    [_item] spawn life_fnc_jerryRefuel;
    closeDialog 0;
};

case "gazole": {
    if !(isNull objectParent player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
    [_item] spawn life_fnc_jerryRefuel;
    closeDialog 0;
};

case "sp95": {
    if !(isNull objectParent player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
    [_item] spawn life_fnc_jerryRefuel;
    closeDialog 0;
};

case "sp98": {
    if !(isNull objectParent player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
    [_item] spawn life_fnc_jerryRefuel;
    closeDialog 0;
};

case "gpl": {
    if !(isNull objectParent player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
    [_item] spawn life_fnc_jerryRefuel;
    closeDialog 0;
};

case "bio": {
    if !(isNull objectParent player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
    [_item] spawn life_fnc_jerryRefuel;
    closeDialog 0;
};

case "kerosene": {
    if !(isNull objectParent player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
    [_item] spawn life_fnc_jerryRefuel;
    closeDialog 0;
};

Dans votre fn_jerryRefuel.sqf, remplacer cette ligne if (!([false,"fuelFull",1] call life_fnc_handleInv)) exitWith {}; par :
Code:
if (!([false,param[0,"",[""]],1] call life_fnc_handleInv)) exitWith {};

Dans le même fichier, ajouter au dessus de switch (true) do { :
Code:
_fuelTypeAlloweds = [];
_fuelType = "";

_fuelTypeAllowed = getText (missionConfigFile >> "LifeCfgVehicles" >> (typeOf _vehicle) >> "fuel");
if (_fuelTypeAllowed isEqualTo "") then {
    _fuelTypeAlloweds = getArray (missionConfigFile >> "LifeCfgVehicles" >> (typeOf _vehicle) >> "fuel");
} else {
    _fuelTypeAlloweds pushBack _fuelTypeAllowed;
};

_config = missionConfigFile >> "Max_Settings_FuelStations" >> "fuel_types";
for "_i" from 0 to count(_config)-1 do {
    _curConfig = _config select _i;

    if ((param[0,"",[""]]) isEqualTo (getText (_curConfig >> "item_refuel"))) exitWith {
        _fuelType = configName _curConfig;
    };
};

_fuelAllowed = true;
if ((count _fuelTypeAlloweds) > 0) then {
    _fuelAllowed = false;

    {
        if (_fuelType == _x) exitWith {_fuelAllowed = true;};
    } forEach _fuelTypeAlloweds;
};

if !(_fuelAllowed) exitWith {
    _vehicle setHitPointDamage ["HitFuel",1];
    titleText ["Oh non, ce n'était pas le bon type d'essence... C'est cassé :(","PLAIN"];
};

Et voila !
PS : Normalement il faut mettre le bon type d'essence sinon ça casse le réservoir. L'item "fuelFull" devrait marcher sur tous les types de véhicules peut importe le type d'essence du véhicule.

Cordialement,
Forum Manager Loic Shmit, avec la collaboration de J Jason Marchal
 
Dernière édition par un modérateur:
  • Like
Les réactions: Jason Marchal
Bonjour,

a la place de

Remplacer dans votre fn_keyHandler.sqf ceci :

c'est pas plutot dans le fn_useItem.sqf ?
 
Voir la pièce jointe 471

Bonjour, et bienvenue sur ce tutoriel qui vous permettra de remplir vos véhicules avec les différents types d'essence du script Fuel Stations en cas de panne au milieu de la route.
Ce tutoriel fais suite à la demande d'aide de J Jason Marchal
C'est parti !

Remplacer dans votre fn_useItem.sqf ceci :

Code:
case "fuelFull": {
    if !(isNull objectParent player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
    [] spawn life_fnc_jerryRefuel;
    closeDialog 0;
};

Par :
Code:
case (_item in ["fuelFull","gazole","sp95","sp98","gpl","bio","kerosene"]): {
    if !(isNull objectParent player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
    [_item] spawn life_fnc_jerryRefuel;
    closeDialog 0;
};

Dans votre fn_jerryRefuel.sqf, remplacer cette ligne if (!([false,"fuelFull",1] call life_fnc_handleInv)) exitWith {}; par :
Code:
if (!([false,param[0,"",[""]],1] call life_fnc_handleInv)) exitWith {};

Dans le même fichier, ajouter au dessus de switch (true) do { :
Code:
_vehFuel = getText (missionConfigFile >> "LifeCfgVehicles" >> (typeOf _vehicle) >> "fuel");
_fuelType = "";
_config = missionConfigFile >> "Max_Settings_FuelStations" >> "fuel_types";
for "_i" from 0 to count(_config)-1 do {
    _curConfig = _config select _i;
    if ((param[0,"",[""]]) isEqualTo (getText (_curConfig >> "item_refuel"))) exitWith {
        _fuelType = configName _curConfig;
    };
};

if ((_vehFuel != "") && (_fuelType != "") && (_vehFuel != _fuelType)) exitWith {
    _vehicle setHitPointDamage ["HitFuel",1];
    titleText ["Oh non, ce n'était pas le bon type d'essence... C'est cassé :(","PLAIN"];
};

Et voila !
PS : Normalement il faut mettre le bon type d'essence sinon ça casse le réservoir. L'item "fuelFull" devrait marcher sur tous les types de véhicules peut importe le type d'essence du véhicule.

Cordialement,
Forum Manager Loic Shmit, avec la collaboration de J Jason Marchal

Non fonctionnel sur la 5.x.x
 
bonjour a tous ,
J'ai fait la manipe me peux pas remplir le Jerrycan comment peux faire ?
sa me dit : " Vous devez etre plus proche de la pompe a Carburant " 20221107030307_1.jpg