Français Changer le type d'objet pour le conteneur de stockage de maison

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

Zomblard

User
11/6/20
194
9
19
800
! Il manque encore quelques explication, je supprimerais ce message quand tout sera bon !

Bonjour voici mon premier tuto V5.0, Je pense qu'il ai bon de le faire avant que vos joueurs en ai déjà acheter sinon il faudra surement modifier quelque choses dans le script je vous montrerais ou.

Dans le tuto suivant remplace CLASSENAME par votre classename d'objet

Nous allons modifier le LifeServer et la Mission :

A savoir par défaut le petit conteneur correspond à :
Box_IND_Grenades_F
et le grand conteneur à :
B_supplyCrate_F

Coté mission :
  • Mission.Map\core\housing\fn_placeContainer.sqf :
Modifier vos classename lignes 20 et 21 de base :
Code:
switch (true) do {
    case (typeOf _container isEqualTo "CLASSENAME"): {_type = "storagebig"};
    case (typeOf _container isEqualTo "CLASSENAME") : {_type = "storagesmall"};
    default {_type = ""};
};
  • Mission.Map\core\items\fn_storageBox.sqf :
Modifier ceci ligne 19 et 21 de base :
Code:
if (_size) then {
    _object = "CLASSENAME" createVehicle [0,0,0]; //Votre gros conteneur
} else {
    _object = "CLASSENAME" createVehicle [0,0,0];//Le petit conteneur
};
  • Mission.Map\core\items\fn_placestorage.sqf :
Modifier ceci ligne 14 de base :
Code:
if (!((typeOf life_container_activeObj) in ["CLASSENAME","CLASSENAME"])) exitWith {};
Et aussi ceci ligne 24 de base :
Code:
if ((typeOf _container) == "CLASSENAME") then {// Mettez ici votre gros stockage
  • Mission.Map\core\actions\fn_removeContainer.sqf :
Pour simplement les changer :
Modifier ceci ligne 25 et 26 de base :
Code:
if (_action) then {
    private ["_box","_diff"];
    _box = switch (_containerType) do {
        case ("CLASSENAME"): {"storagebig"};
        case ("CLASSENAME"): {"storagesmall"};
        default {"None"};
    };
Si vos joueurs on en déjà acheter garder ceux par défaut et rajouter en plus :
Code:
        case ("CLASSENAME"): {"storagebig"};
        case ("CLASSENAME"): {"storagesmall"};
Comme ceci :
Code:
if (_action) then {
    private ["_box","_diff"];
    _box = switch (_containerType) do {
        case ("B_supplyCrate_F"): {"storagebig"}; // Garder ceux par defaut
        case ("Box_IND_Grenades_F"): {"storagesmall"};// Garder ceux par defaut
        case ("CLASSENAME"): {"storagebig"}; // mettre ici le nom de votre calssename
        case ("CLASSENAME"): {"storagesmall"};// mettre ici le nom de votre calssename
        default {"None"};
    };

  • Mission.Map\config\Config_Vehicles.hpp :
Si vos joueurs on en déjà acheter garder ceux par défaut sinon remplacer simplement les noms par vos nouvelle classename d'objet sinon dédoublez ceci avec vos nouvelle classename pour qu'il puisse continuer de les utiliser :
Code:
CLASSENAME {
        vItemSpace = 350;
        conditions = "";
        price = -1;
        textures[] = {};
    };

    CLASSENAME {
        vItemSpace = 600;
        conditions = "";
        price = -1;
        textures[] = {};
    };


Coté LifeServer :
  • life_server\Functions\Housing\fn_houseCleanup.sqf
Modifier ceci ligne 20 de base :
Code:
    } forEach (nearestObjects[_pos,["CLASSENAME","CLASSENAME"],12]);
Si jamais vous utilisez ceux par defaut procéder comme ceci :
Code:
    } forEach (nearestObjects[_pos,["CLASSENAME","CLASSENAME","B_supplyCrate_F","Box_IND_Grenades_F"],12]);

Voilà c'est fini normalement ça devrais fonctionner sans problème, en totu cas ça a fonctionner pour moi.
 
Dernière édition: