Français Solved Comment farmer une ressource sous-marine à l'aide d'une carcasse de bateau

  • Auteur de la discussion Auteur de la discussion Tony
  • Date de début Date de début

Tony

User
29/12/19
71
7
10
450
France
Salut salut,

Si je viens vers vous c'est que j'ai besoin d'aide, étant à cours d'idée et après moulte test,

Je voudrais pouvoir faire une ressource qui ce farm au fond de l'eau sur une carcasse de bateau,
Via la molette avec un interaction "Récolter cette ressource" ou bien par le Windows cela ne me pose aucun problème.

Voilà voilà je sais pas si c'est très clair, pour moi oui :ROFLMAO:

En vous remerciant ! ;)
 
Solution
Salut ! Une action existe déjà quand tu es dans l'eau (dans le setupActions.sqf), tu peux t'inspirer de ça pour créer ton action :
Code:
life_actions pushBack (player addAction[localize "STR_pAct_DropFishingNet",life_fnc_dropFishingNet,"",0,false,false,"",'
(surfaceisWater (getPos vehicle player)) && (vehicle player isKindOf "Ship") && life_carryWeight < life_maxWeight && speed (vehicle player) < 2 && speed (vehicle player) > -1 && !life_net_dropped ']);

Sinon tu peux aussi créer un nouveau style de farm, c'est à dire créer une nouvelle class de ressource dans ton Config_Gather :
Code:
class CfgGather {
    class Resources {
        class apple {
            amount = 5;
            zones[] = { "apple_1", "apple_2", "apple_3"...
Salut ! Une action existe déjà quand tu es dans l'eau (dans le setupActions.sqf), tu peux t'inspirer de ça pour créer ton action :
Code:
life_actions pushBack (player addAction[localize "STR_pAct_DropFishingNet",life_fnc_dropFishingNet,"",0,false,false,"",'
(surfaceisWater (getPos vehicle player)) && (vehicle player isKindOf "Ship") && life_carryWeight < life_maxWeight && speed (vehicle player) < 2 && speed (vehicle player) > -1 && !life_net_dropped ']);

Sinon tu peux aussi créer un nouveau style de farm, c'est à dire créer une nouvelle class de ressource dans ton Config_Gather :
Code:
class CfgGather {
    class Resources {
        class apple {
            amount = 5;
            zones[] = { "apple_1", "apple_2", "apple_3", "apple_4" };
            item = "";
            zoneSize = 30;
        };
    };

    class Minerals {
        class copper_unrefined {
            amount = 2;
            zones[] = { "copper_mine" };
            item = "pickaxe";
            mined[] = {"copper_unrefined"};
            zoneSize = 30;
        };
    };

    class Underwater {
        class epave {
            amount = 1;
            zones[] = { "epave_mine" };
            item = "pickaxe";
            mined[] = {"epave"};
            zoneSize = 30;
        };
    };
};

Ensuite tu dois modifier ton whereAmI.sqf pour créer une nouvelle zone :
Code:
_resourceCfg = missionConfigFile >> "CfgGather" >> "Underwater";

for "_i" from 0 to count(_resourceCfg)-1 do {
    private ["_curConfig", "_resourceZones", "_requiredItem"];
    _zonem = "";
    _curConfig = _resourceCfg select _i;
    _resourceZones = getArray(_curConfig >> "zones");
    _zoneSize = getNumber(_curConfig >> "zoneSize");
    {
        if ((player distance(getMarkerPos _x)) < _zoneSize) exitWith {
            _zonem = _x;
        };
    } forEach _resourceZones;
    if (_zonem != "") exitWith {};
};

if (_zonem != "") exitWith {
    _mine = "underwater";
    _mine;
};

Je te laisse faire le reste (c'est à dire créer la fonction underwater.sqf dans le core/action
 
  • Heart
Les réactions: Tony
Solution
Salut ! Une action existe déjà quand tu es dans l'eau (dans le setupActions.sqf), tu peux t'inspirer de ça pour créer ton action :
Code:
life_actions pushBack (player addAction[localize "STR_pAct_DropFishingNet",life_fnc_dropFishingNet,"",0,false,false,"",'
(surfaceisWater (getPos vehicle player)) && (vehicle player isKindOf "Ship") && life_carryWeight < life_maxWeight && speed (vehicle player) < 2 && speed (vehicle player) > -1 && !life_net_dropped ']);

Sinon tu peux aussi créer un nouveau style de farm, c'est à dire créer une nouvelle class de ressource dans ton Config_Gather :
Code:
class CfgGather {
    class Resources {
        class apple {
            amount = 5;
            zones[] = { "apple_1", "apple_2", "apple_3", "apple_4" };
            item = "";
            zoneSize = 30;
        };
    };

    class Minerals {
        class copper_unrefined {
            amount = 2;
            zones[] = { "copper_mine" };
            item = "pickaxe";
            mined[] = {"copper_unrefined"};
            zoneSize = 30;
        };
    };

    class Underwater {
        class epave {
            amount = 1;
            zones[] = { "epave_mine" };
            item = "pickaxe";
            mined[] = {"epave"};
            zoneSize = 30;
        };
    };
};

Ensuite tu dois modifier ton whereAmI.sqf pour créer une nouvelle zone :
Code:
_resourceCfg = missionConfigFile >> "CfgGather" >> "Underwater";

for "_i" from 0 to count(_resourceCfg)-1 do {
    private ["_curConfig", "_resourceZones", "_requiredItem"];
    _zonem = "";
    _curConfig = _resourceCfg select _i;
    _resourceZones = getArray(_curConfig >> "zones");
    _zoneSize = getNumber(_curConfig >> "zoneSize");
    {
        if ((player distance(getMarkerPos _x)) < _zoneSize) exitWith {
            _zonem = _x;
        };
    } forEach _resourceZones;
    if (_zonem != "") exitWith {};
};

if (_zonem != "") exitWith {
    _mine = "underwater";
    _mine;
};

Je te laisse faire le reste (c'est à dire créer la fonction underwater.sqf dans le core/action
Et bien tu à correctement répondu a toutes mes questions !

Je te remercie ! Tu ma bien aider ! ;)