• [5.0] Créer un champ de ressources en 5.0


    Bonjour,

    N’ayant pas trouvé dans la section 5.0 la façon de faire un nouveau champs de ressource en simple process, et la manipulation étant plus simple pour cette version que pour la version 4.X, je me permet de poster ce petit tuto qui pourrait être utile aux nouveaux ne connaissant pas la manipulation.

    Ceci est une adaptation par écrit d’une vidéo trouvée sur youtube ==> (

    )
    Ceci n’est donc pas un tuto de moi mais bien de [Jeff Bochelan] , auquel je rajoute la création du shop dédié à la ressource.

    Merci d’être indulgent si il y a quelques erreurs inattention, il me semble avoir suivi la procédure que j’ai effectué à la lettre, mais il se pourrait que j’ai sauté une étape.

    ATTENTION
    Mes ressources sont nommées de façon à ce que vous puissiez sans difficulté renommer chaque post par ce qui vous convient. Tout ce qui est écrit de la même façon (EX je met RESSOURCEBRUTE à plusieurs endroits, renommez à chaque fois de la même manière)

    Commençons:

    ouvrez “Config_Gather.hpp” et créez votre champ de ressources:

            class RESSOURCEBRUTE {
                amount = 2;
                zones[] = { "MINE_NOUVELLERESSOURCE" };
                item = "pickaxe";
                mined[] = { "RESSOURCEBRUTE" };
                zoneSize = 30;
            };
    

    ouvrez “Config_Vitems.hpp” et créez le shop

        class NOUVELLERESSOURCE {
            name = "STR_Shops_NOUVELLERESSOURCE";
            side = "civ";
            conditions = "";
            items[] = { "RESSOURCEBRUTE", "RESSOURCETRAITEE" };
        };    
    

    Toujours dans “Config_vItems.hpp”, créez votre ressource

        class RESSOURCEBRUTE {
            variable = "RESSOURCEBRUTE";
            displayName = "STR_RESSOURCEBRUTE";
            weight = 4;
            buyPrice = -1;
            sellPrice = 7500;
            illegal = false;
            edible = -1;
            icon = "icons\RESSOURCEBRUTE.paa";
        };
    
        class RESSOURCETRAITEE {
            variable = "RESSOURCETRAITEE";
            displayName = "STR_RESSOURCETRAITEE";
            weight = 4;
            buyPrice = -1;
            sellPrice = 550;
            illegal = false;
            edible = -1;
            icon = "icons\RESSOURCETRAITEE.paa";
        };
    

    Après, ouvrez “Config_Licenses.hpp”, pour créer la licence nécessaire au traitement:

        class NOUVELLERESSOURCE {
            variable = "NOUVELLERESSOURCE";
            displayName = "STR_License_NOUVELLERESSOURCE";
            price = 75000;
            illegal = false;
            side = "civ";
        };
    

    Ouvrez “Config_Process.hpp”

        class NOUVELLERESSOURCE {
            MaterialsReq[] = {{"RESSOURCEBRUTE",1}};
            MaterialsGive[] = {{"RESSOURCETRAITEE",1}};
            Text = "STR_Process_NOUVELLERESSOURCE";
            //ScrollText = "Process NOUVELLERESSOURCE";
            NoLicenseCost = 2350;
        }; 
    

    Allez dans “stringtable.xml”

    Ajoutez:

            <Key ID="STR_RESSOURCEBRUTE">
                <Original>Ressource brute</Original>
                <Czech></Czech>
                <Spanish></Spanish>
                <Russian></Russian>
                <German></German>
                <French>Ressource Brute</French>
                <Italian></Italian>
                <Portuguese></Portuguese>
                <Polish></Polish>
            </Key> 
            <Key ID="STR_RESSOURCETRAITEE">
                <Original>Ressource traitée</Original>
                <Czech></Czech>
                <Spanish></Spanish>
                <Russian></Russian>
                <German></German>
                <French>Ressource traitée</French>
                <Italian></Italian>
                <Portuguese></Portuguese>
                <Polish></Polish>
            </Key>  
            <Key ID="STR_MAR_NOUVELLERESSOURCE_trader">
                <Original>Nom du marqueur</Original>
                <Czech></Czech>
                <Spanish></Spanish>
                <Russian></Russian>
                <German></German>
                <French>Nom du shop</French>
                <Italian></Italian>
                <Portuguese></Portuguese>
                <Polish></Polish>
            </Key> 
     <Key ID="STR_MAR_NOUVELLERESSOURCE_mine">
                <Original>Nom du marqueur de la mine</Original>
                <Czech></Czech>
                <Spanish></Spanish>
                <Russian></Russian>
                <German></German>
                <French>Nom du marqueur de la mine</French>
                <Italian></Italian>
                <Portuguese></Portuguese>
                <Polish></Polish>
            </Key> 
            <Key ID="STR_License_NOUVELLERESSOURCE">
                <Original>Nom de la licence</Original>
                <Czech></Czech>
                <Spanish></Spanish>
                <Russian></Russian>
                <German></German>
                <French>Nom de la licence</French>
                <Italian></Italian>
                <Portuguese></Portuguese>
                <Polish></Polish>
            </Key> 
            <Key ID="STR_Process_NOUVELLERESSOURCE">
                <Original>Ce qui sera affiché pour traiter la ressource</Original>
                <Czech></Czech>
                <Spanish></Spanish>
                <Russian></Russian>
                <German></German>
                <French>Ce qui sera affiché pour traiter la ressource</French>
                <Italian></Italian>
                <Portuguese></Portuguese>
                <Polish></Polish>
            </Key> 
    

    Voilà qui clos la partie fichiers jeu.

    Ouvrez Arma 3, votre éditeur et éditez votre mission:

    Créer le lieu de récolte:

    Placer un marqueur
    Marqueur init>Variable:

    NOUVELLERESSOURCE_mine
    

    Marqueur init>Texte:

    @STR_MAR_NOUVELLERESSOURCE_mine
    

    Créer le process:
    Placer un marqueur et le nommer:
    Placez un PNJ (ou tout autre objet pouvant vous convenir) et entrez dans init:

    this enableSimulation false; this allowDamage false; this addAction[localize"STR_Process_NOUVELLERESSOURCE",life_fnc_processAction,"NOUVELLERESSOURCE",0,false,false,"",' life_inv_RESSOURCEBRUTE > 0 && !life_is_processing && !life_action_inUse']; this addAction[format ["%1 ($%2)",localize (getText(missionConfigFile >> "Licenses" >> "NOUVELLERESSOURCE" >> "displayName")), [(getNumber(missionConfigFile >> "Licenses" >> "NOUVELLERESSOURCE" >> "price"))] call life_fnc_numberText],life_fnc_buyLicense,"NOUVELLERESSOURCE",0,false,false,"",' !license_civ_NOUVELLERESSOURCE && playerSide isEqualTo civilian '];
    

    Créer le shop:

    Placer un marqueur et le nommer dans marqueur init> Texte:

    @STR_MAR_NOUVELLERESSOURCE_trader
    

    Placez un PNJ (ou tout autre objet pouvant vous convenir) et entrez dans init:

    this allowDamage false; this enableSimulation false; this addAction[localize"STR_MAR_NOUVELLERESSOURCE_trader",life_fnc_virt_menu,"NOUVELLERESSOURCE"];
    

    Il me semble n’avoir rien oublié mais si jamais, n’hésitez pas à me le dire !

  • Le License tu as oublié ;)

  • Genre ça a mettre dans le panneau this addAction[format ["%1 ($%2)",localize (getText(missionConfigFile >> "Licenses" >> "pilot" >> "displayName")), [(getNumber(missionConfigFile >> "Licenses" >> "pilot" >> "price"))] call life_fnc_numberText],life_fnc_buyLicense,"pilot",0,false,false,"",' !license_civ_pilot && playerSide isEqualTo civilian '];

  • Il est dans la partie process ;)

    this enableSimulation false; this allowDamage false; this addAction[localize"STR_Process_NOUVELLERESSOURCE",life_fnc_processAction,"NOUVELLERESSOURCE",0,false,false,"",' life_inv_RESSOURCEBRUTE > 0 && !life_is_processing && !life_action_inUse']; this addAction[format ["%1 ($%2)",localize (getText(missionConfigFile >> "Licenses" >> "NOUVELLERESSOURCE" >> "displayName")), [(getNumber(missionConfigFile >> "Licenses" >> "NOUVELLERESSOURCE" >> "price"))] call life_fnc_numberText],life_fnc_buyLicense,"NOUVELLERESSOURCE",0,false,false,"",' !license_civ_NOUVELLERESSOURCE && playerSide isEqualTo civilian '];
    
  • @abraracourcix Autant pour moi !

tuto1 champ1 ressource1 Messages 5Vues 1254