Français Solved Liaison entre Growing System et le Radial menu pour planter et arroser les plantes facilement

okin74

User
18/5/20
114
4
10
1 100
rhone alpes FRANCE
Bonjour, bonsoir,

Je souhaiterais savoir s'il est possible de lier Growing System avec le Radial Menu afin de pouvoir planter et arroser mes plantes sans passer par mon inventaire téléphone.
J'ai vu sur le forum un tutoriel pour l'affecter à une touche (lien juste en dessous), ce qui est dans un premier temps pratique mais pas très esthétique comparé au Radial Menu.

Lien du tutoriel en rapport au sujet

Je vous remercie d'avance !
 
Solution
Hello, oui tout est possible en soit ;)

Dans le config_button.cpp de Radial Menu, il faut ajouter un nouveau menu, en dessous de class interationCfg { tu peux ajouter ce petit menu :
Code:
class plants_menu {
    class button_1 {
        displayName = "Planter";
        buttonAction = "[] call life_fnc_actionPlant;";
        buttonToolTip = "";
        side[] = {civ};
        disable = false;
        condition = "";
    };
};

Par contre il faudra restreindre l'ouverture du menu, pour pas qu'il puisse être ouvert partout sinon ça va être vite chiant. J'ai mis une condition de proximité (50 mètres) avec un des marqueurs de la _liste. Dans ton fn_actionKeyHandler.sqf, en dessous de :
Code:
private...
Hello, oui tout est possible en soit ;)

Dans le config_button.cpp de Radial Menu, il faut ajouter un nouveau menu, en dessous de class interationCfg { tu peux ajouter ce petit menu :
Code:
class plants_menu {
    class button_1 {
        displayName = "Planter";
        buttonAction = "[] call life_fnc_actionPlant;";
        buttonToolTip = "";
        side[] = {civ};
        disable = false;
        condition = "";
    };
};

Par contre il faudra restreindre l'ouverture du menu, pour pas qu'il puisse être ouvert partout sinon ça va être vite chiant. J'ai mis une condition de proximité (50 mètres) avec un des marqueurs de la _liste. Dans ton fn_actionKeyHandler.sqf, en dessous de :
Code:
private "_handle";
tu peux ajouter :
Code:
_liste = ["marker_champ_1","marker_champ_2","..."];
_openMenu = false;

{
    if ((player distance (getMarkerPos _x)) < 50) exitWith {_openMenu = true;};
} forEach _liste;

if (_openMenu) exitWith {["plants_menu"] spawn CBX_fnc_openInteraction;};

Et créer un fichier fn_actionPlant.sqf avec :
Code:
_planted = false;

for "_i" from 0 to count(missionConfigFile >> "Max_Settings_Plants" >> "Plants")-1 do {
    _curConfig = (missionConfigFile >> "Max_Settings_Plants" >> "Plants") select _i;
    _item = getText (_curConfig >> "itemNeeded");
    _valItem = missionNamespace getVariable [format["life_inv_%1",_item],0];

    if (_valItem > 0) exitWith {
        [_item] spawn max_plants_fnc_plantPlante;
        _planted = true;
    };
};

if !(_planted) then {
    hint "Vous ne pouvez pas planter ici !";
};
N'oublie pas de définir la fonction actionPlant dans ton Functions.hpp en fonction de l'endroit où tu as mis le fichier.
 
Dernière édition:
Solution
Merci maxence.

J'ai bien tout ajouté, j'ai bien vérifié. Il me semble pas avoir fait d'erreur cependant mon radial ne s ouvre pas dans la zone du marker.
J'ai bien les graines sur moi pour les tests.

Voici mon config_button.cpp:

fn_actionKeyHandler.sqf:


Et pour finir mon fn_actionPlant.sqf que j ai placer dans functions (qui est bien défini avec): class actionPlant {};

J ai vérifié mes markers. Je ne vois pas d' ou cela viens.

Merci beaucoup.