Français Solved Problème avec le script pour poser le meuble

  • Auteur de la discussion Auteur de la discussion Mathias
  • Date de début Date de début
Solution
C'est pour une ancienne version visiblement. Pour ton fichier il faut remplacer cette ligne :
Code:
if (!((typeOf life_container_activeObj) in ["B_supplyCrate_F","Box_IND_Grenades_F"])) exitWith {};
par celle-ci :
Code:
if (!((typeOf life_container_activeObj) in ["B_supplyCrate_F","Box_IND_Grenades_F","ICI_TON_CLASSNAME_DE_TON_MEUBLE"])) exitWith {};

N'oublie pas de remplacer ICI_TON_CLASSNAME_DE_TON_MEUBLE
Salut ! La ligne 22 de ton fn_placeStorage.sqf vient d'où ?
Code:
if ((typeOf _container) == "Land_ChairWood_F") then {// Mettez ici votre gros stockage

Je n'ai pas vu d'étape du genre dans le lien que tu as envoyé. Le problème vient surement de là, il manque un }; à la fin (et surtout la condition n'est pas utile ici)
 
Salut ! La ligne 22 de ton fn_placeStorage.sqf vient d'où ?
Code:
if ((typeOf _container) == "Land_ChairWood_F") then {// Mettez ici votre gros stockage

Je n'ai pas vu d'étape du genre dans le lien que tu as envoyé. Le problème vient surement de là, il manque un }; à la fin (et surtout la condition n'est pas utile ici)
Il disent de faire sa

Ligne 19 :
Code:

Code:
if (_vehicle isKindOf "Box_IND_Grenades_F" || _vehicle isKindOf "B_supplyCrate_F" || _vehicle isKindOf "ICI_TON_CLASSNAME_DE_TON_MEUBLE") then {
Ligne 36 :
Code:

Code:
if (_this isKindOf "Box_IND_Grenades_F" || _this isKindOf "B_supplyCrate_F" || _this isKindOf "ICI_TON_CLASSNAME_DE_TON_MEUBLE") then {

mais dans mon fichier j'ai pas c'est ligne la

mon fchier de base c'est

Code:
#include "..\..\script_macros.hpp"
/*
    File : fn_placestorage.sqf
    Author: NiiRoZz

    Description:
    PLace container were player select with preview

*/
private ["_container","_isFloating"];

if (!life_container_active) exitWith {};
if (life_container_activeObj isEqualTo objNull) exitWith {};
if (!((typeOf life_container_activeObj) in ["B_supplyCrate_F","Box_IND_Grenades_F"])) exitWith {};

_container = life_container_activeObj;
_isFloating = if (((getPos _container) select 2) < 0.1) then {false} else {true};
detach _container;
[_container,true] remoteExecCall ["life_fnc_simDisable",RANY];
_container setPosATL [getPosATL _container select 0, getPosATL _container select 1, (getPosATL _container select 2) + 0.7];
_container allowDamage false;
_container enableRopeAttach false;

if ((typeOf _container) == "Box_IND_Grenades_F") then {
    [false,"storagebig",1] call life_fnc_handleInv;
} else {
    [false,"storagesmall",1] call life_fnc_handleInv;
};

[_container, _isFloating] call life_fnc_placeContainer;
life_container_active = false;
life_container_activeObj = objNull;
 
C'est pour une ancienne version visiblement. Pour ton fichier il faut remplacer cette ligne :
Code:
if (!((typeOf life_container_activeObj) in ["B_supplyCrate_F","Box_IND_Grenades_F"])) exitWith {};
par celle-ci :
Code:
if (!((typeOf life_container_activeObj) in ["B_supplyCrate_F","Box_IND_Grenades_F","ICI_TON_CLASSNAME_DE_TON_MEUBLE"])) exitWith {};

N'oublie pas de remplacer ICI_TON_CLASSNAME_DE_TON_MEUBLE
 
Solution
Non effectivement, il faut remplacer ces lignes :
Code:
if ((typeOf _container) == "Box_IND_Grenades_F") then {
    [false,"storagebig",1] call life_fnc_handleInv;
} else {
    [false,"storagesmall",1] call life_fnc_handleInv;
};
par :
Code:
_type = switch (typeOf _container) do {
    case "B_supplyCrate_F": {"storagebig"};
    case "Box_IND_Grenades_F" : {"storagesmall"};
    case "ICI_TON_CLASSNAME_DE_TON_MEUBLE": {"iciLeNomDeTaVariable"}; // Tu ajoute une ligne pour chaque meuble
    default {};
};

[false,_type,1] call life_fnc_handleInv;
 
Non effectivement, il faut remplacer ces lignes :
Code:
if ((typeOf _container) == "Box_IND_Grenades_F") then {
    [false,"storagebig",1] call life_fnc_handleInv;
} else {
    [false,"storagesmall",1] call life_fnc_handleInv;
};
par :
Code:
_type = switch (typeOf _container) do {
    case "B_supplyCrate_F": {"storagebig"};
    case "Box_IND_Grenades_F" : {"storagesmall"};
    case "ICI_TON_CLASSNAME_DE_TON_MEUBLE": {"iciLeNomDeTaVariable"}; // Tu ajoute une ligne pour chaque meuble
    default {};
};

[false,_type,1] call life_fnc_handleInv;
Sa me dit

Code:
placement of container has been aborted
 
Peut être qu'il n'y a pas le case XX selon le _size dans ce fichier et du coup l'objet n'est pas créé, d'où l'erreur
Pourtant si

voici les 3 fichier


fn_storageBox

Code:
#include "..\..\script_macros.hpp"

private ["_object","_attachPos"];
params [
    ["_size",0,[0]]
];
//if (!(nearestObject [player, "House"] in life_vehicles)) exitWith {hint localize "STR_ISTR_Box_NotinHouse";};

life_container_active = true;
closeDialog 0;

switch (_size) do {
    // AJOUTER CLASS NAME DE LA COLONNE A
    case 0: { _object = "B_supplyCrate_F" createVehicle [0,0,0]; };
    case 1: { _object = "Box_IND_Grenades_F" createVehicle [0,0,0]; };
    case 2: { _object = "Land_ChairWood_F" createVehicle [0,0,0]; };
    case 3: { _object = "Land_OfficeCabinet_02_F" createVehicle [0,0,0]; };
    case 4: { _object = "Land_OfficeChair_01_F" createVehicle [0,0,0]; };
    case 5: { _object = "Land_OfficeCabinet_01_F" createVehicle [0,0,0]; };
    case 6: { _object = "OfficeTable_01_old_F" createVehicle [0,0,0]; };
    case 7: { _object = "OfficeTable_01_new_F" createVehicle [0,0,0]; };
    case 8: { _object = "Land_MapBoard_01_Wall_F" createVehicle [0,0,0]; };
    case 9: { _object = "Land_MapBoard_F" createVehicle [0,0,0]; };
    case 10: { _object = "Land_ChairPlastic_F" createVehicle [0,0,0]; };
    case 11: { _object = "Land_CampingChair_V2_F" createVehicle [0,0,0]; };
    case 12: { _object = "Land_CampingChair_V2_white_F" createVehicle [0,0,0]; };
    case 13: { _object = "Land_RattanChair_01_F" createVehicle [0,0,0]; };
    case 14: { _object = "Land_CampingChair_V1_F" createVehicle [0,0,0]; };
    case 15: { _object = "Land_CampingTable_F" createVehicle [0,0,0]; };
    case 16: { _object = "Land_CampingTable_white_F" createVehicle [0,0,0]; };
    case 17: { _object = "Land_CampingTable_small_F" createVehicle [0,0,0]; };
    case 18: { _object = "Land_TablePlastic_01_F" createVehicle [0,0,0]; };
    case 19: { _object = "Land_WoodenTable_02_large_F" createVehicle [0,0,0]; };
    case 20: { _object = "Land_WoodenTable_large_F" createVehicle [0,0,0]; };
    case 21: { _object = "Land_WoodenTable_small_F" createVehicle [0,0,0]; };
    case 22: { _object = "Land_RattanTable_01_F" createVehicle [0,0,0]; };
    case 23: { _object = "Land_ShelvesWooden_F" createVehicle [0,0,0]; };
    case 24: { _object = "Land_ShelvesWooden_blue_F" createVehicle [0,0,0]; };
    case 25: { _object = "Land_ShelvesWooden_khaki_F" createVehicle [0,0,0]; };
    case 26: { _object = "Land_ShelvesMetal_F" createVehicle [0,0,0]; };
    case 27: { _object = "Land_CashDesk_F" createVehicle [0,0,0]; };
    case 28: { _object = "Land_Icebox_F" createVehicle [0,0,0]; };
    case 29: { _object = "Land_Rack_F" createVehicle [0,0,0]; };
    case 30: { _object = "Land_Metal_rack_F" createVehicle [0,0,0]; };
    case 31: { _object = "Land_Metal_rack_Tall_F" createVehicle [0,0,0]; };
    case 32: { _object = "Land_WoodenCounter_01_F" createVehicle [0,0,0]; };
    case 33: { _object = "Land_Sunshade_F" createVehicle [0,0,0]; };
    case 34: { _object = "Land_Sunshade_01_F" createVehicle [0,0,0]; };
    case 35: { _object = "Land_Sunshade_02_F" createVehicle [0,0,0]; };
    case 36: { _object = "Land_Sunshade_03_F" createVehicle [0,0,0]; };
    case 37: { _object = "Land_Sunshade_04_F" createVehicle [0,0,0]; };
    case 38: { _object = "Land_Sun_chair_F" createVehicle [0,0,0]; };
    case 39: { _object = "Land_Sun_chair_green_F" createVehicle [0,0,0]; };
    case 40: { _object = "Land_Bench_01_F" createVehicle [0,0,0]; };
    case 41: { _object = "Land_Bench_02_F" createVehicle [0,0,0]; };
    case 42: { _object = "Land_Bench_04_F" createVehicle [0,0,0]; };
    case 43: { _object = "Land_Bench_05_F" createVehicle [0,0,0]; };
    case 44: { _object = "Land_Sofa_01_F" createVehicle [0,0,0]; };
    case 45: { _object = "Land_ArmChair_01_F" createVehicle [0,0,0]; };
    case 46: { _object = "Land_WoodenBed_01_F" createVehicle [0,0,0]; };
    case 47: { _object = "Land_TableBig_01_F" createVehicle [0,0,0]; };
    case 48: { _object = "Land_TableSmall_01_F" createVehicle [0,0,0]; };
    case 49: { _object = "Land_Bench_F" createVehicle [0,0,0]; };
    case 50: { _object = "Land_Rug_01_F" createVehicle [0,0,0]; };
    case 51: { _object = "V12_MEUBLETVB" createVehicle [0,0,0]; };
    case 52: { _object = "V12_MEUBLETVBL" createVehicle [0,0,0]; };
    case 53: { _object = "V12_MEUBLETVG" createVehicle [0,0,0]; };
    case 54: { _object = "V12_MEUBLETVM" createVehicle [0,0,0]; };
    case 55: { _object = "V12_MEUBLETV" createVehicle [0,0,0]; };
    case 56: { _object = "V12_MEUBLETVR" createVehicle [0,0,0]; };
    case 57: { _object = "Ikea01_02_F" createVehicle [0,0,0]; };
    case 58: { _object = "Ikea01_03_F" createVehicle [0,0,0]; };
    case 59: { _object = "Ikea01_04_F" createVehicle [0,0,0]; };
    case 61: { _object = "Ikea01_05_F" createVehicle [0,0,0]; };
    case 62: { _object = "Ikea01_06_F" createVehicle [0,0,0]; };
    case 63: { _object = "V12_LIT" createVehicle [0,0,0]; };
    case 64: { _object = "V12_LIT1" createVehicle [0,0,0]; };
    case 65: { _object = "Fridge_01_closed_F" createVehicle [0,0,0]; };
    case 66: { _object = "V12_Lampe" createVehicle [0,0,0]; };
    case 67: { _object = "V12_LampeUV" createVehicle [0,0,0]; };
};

life_container_activeObj = _object;
_attachPos = [0.16, 3, ((boundingBoxReal _object) select 1) select 2];
[_object] remoteExecCall ["life_fnc_simDisable",RANY];
_object attachTo[player, _attachPos];

clearWeaponCargoGlobal _object;
clearMagazineCargoGlobal _object;
clearItemCargoGlobal _object;
clearBackpackCargoGlobal _object;

titleText [localize "STR_NOTF_PlaceContainer", "PLAIN"];

fn_placestorage

Code:
#include "..\..\script_macros.hpp"
/*
    File : fn_placestorage.sqf
    Author: NiiRoZz
    Description:
    PLace container were player select with preview
*/
private ["_container","_isFloating"];

if (!life_container_active) exitWith {};
if (life_container_activeObj isEqualTo objNull) exitWith {};
if (!((typeOf life_container_activeObj) in ["B_supplyCrate_F","Box_IND_Grenades_F","Land_ChairWood_F"])) exitWith {};

_container = life_container_activeObj;
_isFloating = if (((getPos _container) select 2) < 0.1) then {false} else {true};
detach _container;
[_container,true] remoteExecCall ["life_fnc_simDisable",RANY];
_container setPosATL [getPosATL _container select 0, getPosATL _container select 1, (getPosATL _container select 2) + 0.7];
_container allowDamage false;
_container enableRopeAttach false;

if (!((typeOf life_container_activeObj) in ["B_supplyCrate_F","Box_IND_Grenades_F","Land_ChairWood_F"])) exitWith {};


[_container, _isFloating] call life_fnc_placeContainer;
life_container_active = false;
life_container_activeObj = objNull;

fn_placeContainer

Code:
#include "..\..\script_macros.hpp"

private ["_container","_isFloating","_type","_house","_containers","_houseCfg","_message","_isPlaced"];
params [
        ["_container",objNull,[objNull]],
        ["_isFloating",true,[true]]
];

_uid = getPlayerUID player;
_house = nearestObject [player, "House"];

switch (true) do {
    case (typeOf _container isEqualTo "B_supplyCrate_F"): {_type = "storagebig"};
    case (typeOf _container isEqualTo "Box_IND_Grenades_F") : {_type = "storagesmall"};
    case (typeOf _container isEqualTo "Land_ChairWood_F"): {_type = "CHAISE_BOIS"};
    default {_type = ""};
};

_message = 0;
_isPlaced = false;
if (!isNull _house) then {
    _message = 1;
    if (([player] call life_fnc_playerInBuilding) && {([_container] call life_fnc_playerInBuilding)}) then {
        _message = 2;
        if ((_house in life_vehicles) && !(isNil {_house getVariable "house_owner"})) then {
            _message = 3;
            if (!_isFloating) then {
                _message = 4;
                _containers = _house getVariable ["containers",[]];
                _houseCfg = [(typeOf _house)] call life_fnc_houseConfig;
                if (_houseCfg isEqualTo []) exitWith {};
                if (count _containers < (_houseCfg select 1)) then {
                    _isPlaced = true;
                    if (life_HC_isActive) then {
                        [_uid,_container] remoteExec ["HC_fnc_addContainer",HC_Life];
                    } else {
                        [_uid,_container] remoteExec ["TON_fnc_addContainer",RSERV];
                    };
                    _container setVariable ["Trunk",[[],0],true];
                    _container setVariable ["container_owner",[_uid],true];
                    _containers pushBack _container;
                    _house setVariable ["containers",_containers,true];
                    sleep 1;
                };
            };
        };
    };
};

if (_isPlaced) exitWith {};

deleteVehicle _container;
[true,_type,1] call life_fnc_handleInv;

if (_message isEqualTo 0 || _message isEqualTo 1) then {
    hint localize "STR_House_Container_House_Near";
};
if (_message isEqualTo 2) then {
    hint localize "STR_House_Container_House_Near_Owner";
};
if (_message isEqualTo 3) then {
    hint localize "STR_House_Container_Floating";
};
if (_message isEqualTo 4) then {
    hint localize "STR_ISTR_Box_HouseFull";
};

fn_useItem

Code:
#include "..\..\script_macros.hpp"
disableSerialization;

if ((lbCurSel 2005) isEqualTo -1) exitWith {
    hint localize "STR_ISTR_SelectItemFirst";
};

private _item = CONTROL_DATA(2005);
#include "..\..\The-Programmer\Plants\scripts\useItemSelect.sqf"
#include "..\..\The-Programmer\Lockers\scripts\useItemSelect.sqf"
#include "..\..\The-Programmer\EffetsEcran\scripts\useItemSelect.sqf"
#include "..\..\The-Programmer\SpeedCam\scripts\useItemSelect.sqf"
#include "..\..\The-Programmer\CarPainter\scripts\useItemSelect.sqf"
#include "..\..\The-Programmer\Craft\scripts\useItemSelect.sqf"
#include "..\..\The-Programmer\Advanced_Insurance\scripts\useItemSelect.sqf"
#include "..\..\Zoko\CarImmobilizer\scripts\useItemSelect.sqf"


private _edible = M_CONFIG(getNumber, "VirtualItems", _item, "edible");
private _drinkable = M_CONFIG(getNumber, "VirtualItems", _item, "drinkable");

if (_edible > -1 || _drinkable > -1) exitWith {
    if ([false, _item, 1] call life_fnc_handleInv) then {
        if (_edible > -1) then {
            private _sum = life_hunger + _edible;
            life_hunger = (_sum max 5) min 100; // never below 5 or above 100
        };

        if (_drinkable > -1) then {
            private _sum = life_thirst + _drinkable;

            life_thirst = (_sum max 5) min 100; // never below 5 or above 100

            if (LIFE_SETTINGS(getNumber, "enable_fatigue") isEqualTo 1) then {
                player setFatigue 0;
            };
            if (_item isEqualTo "REDBULL" && {LIFE_SETTINGS(getNumber, "enable_fatigue") isEqualTo 1}) then {
                [] spawn {
                    life_redgull_effect = time;
                    titleText [localize "STR_ISTR_RedGullEffect", "PLAIN"];
                    player enableFatigue false;
                    waitUntil {!alive player || ((time - life_redgull_effect) > (3 * 60))};
                    player enableFatigue true;
                };
            };
        };
    };

    [] call the_programmer_iphone_xi_fnc_apps_inventory;
    [] call life_fnc_hudUpdate;
};

switch (_item) do {
    case "SERRURIER": {
        [cursorObject] spawn life_fnc_boltcutter;
        closeDialog 0;
    };

    case "blastingcharge": {
        player reveal fed_bank;
        (group player) reveal fed_bank;
        [cursorObject] spawn life_fnc_blastingCharge;
        closeDialog 0;
    };

    case "defusekit": {
        [cursorObject] spawn life_fnc_defuseKit;
        closeDialog 0;
    };

    case "storagesmall": {
    [0] call life_fnc_storageBox;
    };

    case "storagebig": {
        [1] call life_fnc_storageBox;
    };
    case "CARTE": {
          [] spawn life_fnc_rubbellos;
        closeDialog 0;
    };
    //MENUISERIE
    case "CHAISE_BOIS": {
        [2] call life_fnc_storageBox;
    };
    case "MEUBLE_BUREAU": {
        [3] call life_fnc_storageBox;
    };
    case "CHAISE_BUREAU": {
        [4] call life_fnc_storageBox;
    };
    case "MEUBLE_BUREAU": {
        [5] call life_fnc_storageBox;
    };
    case "BUREAU_ANCIEN": {
        [6] call life_fnc_storageBox;
    };
    case "BUREAU_NEUVE": {
        [7] call life_fnc_storageBox;
    };
    case "TABLEAU_BLANC_MURAL": {
        [8] call life_fnc_storageBox;
    };
    case "TABLEAU_BLANC  ": {
        [9] call life_fnc_storageBox;
    };
    case "CHAISE_PLASTIQUE": {
        [10] call life_fnc_storageBox;
    };
    case "CHAISE_CAMPING": {
        [11] call life_fnc_storageBox;
    };
    case "CHAISE_BLANCHE": {
        [12] call life_fnc_storageBox;
    };
    case "CHAISE_ROTIN": {
        [13] call life_fnc_storageBox;
    };
    case "CHAISE_PLIANTE": {
        [14] call life_fnc_storageBox;
    };
    case "TABLE_CAMPING": {
        [15] call life_fnc_storageBox;
    };
    case "TABLE_CAMPING_BLANCHE": {
        [16] call life_fnc_storageBox;
    };
    case "TABLE_CAMPING_PETITE": {
        [17] call life_fnc_storageBox;
    };
    case "TABLE_JARDIN": {
        [18] call life_fnc_storageBox;
    };
    case "TABLE_PIQUE_NIQUE": {
        [19] call life_fnc_storageBox;
    };
    case "GRANDE_TABLE_BOIS": {
        [20] call life_fnc_storageBox;
    };
    case "PETITE_TABLE_BOIS": {
        [21] call life_fnc_storageBox;
    };
    case "TABLE_ROTIN": {
        [22] call life_fnc_storageBox;
    };
    case "ETAGERE_BOIS": {
        [23] call life_fnc_storageBox;
    };
    case "ETAGERE_BLEU": {
        [24] call life_fnc_storageBox;
    };
    case "ETAGERE_KAKI": {
        [25] call life_fnc_storageBox;
    };
    case "ETAGERE_METAL": {
        [26] call life_fnc_storageBox;
    };
    case "CAISSE": {
        [27] call life_fnc_storageBox;
    };
    case "GLACIERE": {
        [28] call life_fnc_storageBox;
    };
    case "PRESENTOIR": {
        [29] call life_fnc_storageBox;
    };
    case "PRESENTOIR_ETAGERE": {
        [30] call life_fnc_storageBox;
    };
    case "PRESENTOIR_ETAGERE_5": {
        [31] call life_fnc_storageBox;
    };
    case "COMPTOIR": {
        [32] call life_fnc_storageBox;
    };
    case "PARASOL": {
        [33] call life_fnc_storageBox;
    };
    case "PARASOL_BLEU": {
        [34] call life_fnc_storageBox;
    };
    case "PARASOL_JAUNE": {
        [35] call life_fnc_storageBox;
    };
    case "PARASOL_PALMIER": {
        [36] call life_fnc_storageBox;
    };
    case "PARASOL_ROTIN": {
        [37] call life_fnc_storageBox;
    };
    case "TRANSAT": {
        [38] call life_fnc_storageBox;
    };
    case "TRANSAT_VERT": {
        [39] call life_fnc_storageBox;
    };
    case "BANC": {
        [40] call life_fnc_storageBox;
    };
    case "BANC_BLEU": {
        [41] call life_fnc_storageBox;
    };
    case "BANC_DECORATIF": {
        [42] call life_fnc_storageBox;
    };
    case "BANC_RURAL": {
        [43] call life_fnc_storageBox;
    };
    case "CANAPE": {
        [44] call life_fnc_storageBox;
    };
    case "FAUTEUIL": {
        [45] call life_fnc_storageBox;
    };
    case "LIT_DOUBLE": {
        [46] call life_fnc_storageBox;
    };
    case "TABLE": {
        [47] call life_fnc_storageBox;
    };
    case "TABLE_BASSE": {
        [48] call life_fnc_storageBox;
    };
    case "TABOURET": {
        [49] call life_fnc_storageBox;
    };
    case "TAPIS_MARRON": {
        [50] call life_fnc_storageBox;
    };
    case "MEUBLE_TV_BLANC": {
        [51] call life_fnc_storageBox;
    };
    case "MEUBLE_TV_BLEU": {
        [52] call life_fnc_storageBox;
    };
    case "MEUBLE_TV_GRIS": {
        [53] call life_fnc_storageBox;
    };
    case "MEUBLE_TV_MARRON": {
        [54] call life_fnc_storageBox;
    };
    case "MEUBLE_TV_NOIR": {
        [55] call life_fnc_storageBox;
    };
    case "MEUBLE_TV_ROUGE": {
        [56] call life_fnc_storageBox;
    };
    case "CHAISE01": {
        [57] call life_fnc_storageBox;
    };
    case "CHAISE02": {
        [58] call life_fnc_storageBox;
    };
    case "CHAISE": {
        [59] call life_fnc_storageBox;
    };
    case "CHAISE_LONGUE01": {
        [60] call life_fnc_storageBox;
    };
    case "CHAISE_LONGUE02": {
        [61] call life_fnc_storageBox;
    };
    case "LIT_DOUBLE": {
        [62] call life_fnc_storageBox;
    };
    case "LIT02": {
        [63] call life_fnc_storageBox;
    };
    case "FRIGO": {
        [64] call life_fnc_storageBox;
    };
    case "LAMPE": {
        [65] call life_fnc_storageBox;
    };
    case "LAMPE_UV": {
        [66] call life_fnc_storageBox;
    };

    case "HERSE": {
        if (!isNull life_spikestrip) exitWith {hint localize "STR_ISTR_SpikesDeployment"; closeDialog 0};
        if ([false, _item, 1] call life_fnc_handleInv) then {
            [] spawn life_fnc_spikeStrip;
            closeDialog 0;
        };
    };

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

    case (_item in ["fuelFull","BIOETHANOL","HYDROGENE","SP95","GAZOLE","SP98","GPL","BIO","KEROSENE","DIESEL"]): {
        if !(isNull objectParent player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
        [_item] spawn life_fnc_jerryRefuel;
        closeDialog 0;
    };

    case "CROCHETAGE": {
        [] spawn life_fnc_lockpick;
        closeDialog 0;
    };
    case "PINCE": {
        [] spawn life_fnc_pince;
        closeDialog 0;
    };
    
    case "CAMERA_SURVEILLANCE": {
        [] spawn C0kkie_fnc_InitmobileCCTV;
        closeDialog 0;
    };
    
    case "BRACELET_ELECTRONIQUE": {
        [] spawn loann_fnc_openMenuBracelet;
    };
    
    case "CISEAU": {
        if((side player) isEqualTo west || (playerSide isEqualTo civilian && license_civ_PDJ)) then {
            [] spawn loann_fnc_retirerBracelet;
        } else{
            [] spawn loann_fnc_casserBracelet;
        };
    };
    
    case "KIT_ADN": {
        [cursorObject] spawn life_fnc_useKitAdn;
    };

    default {
        ["Achats",format [localize "STR_ISTR_NotUsable"],"error"] spawn cplus_notification_fnc_notification;
    };
};

[] call life_fnc_p_updateMenu;
[] call life_fnc_hudUpdate;
 
Salut.

Je t'avoue que j'ai pas trop la tête à réfléchir de trop, mais tu devrais ajouter tous tes classnames dans le switch de fn_placeContainer ligne 12, ainsi que dans fn_placestorage ligne 12 et 21.
 
Est-ce que tu pourrais faire une courte vidéo du problème ?
Au moins pour savoir si l'objet est bien visible avant d'appuyer sur espace pour le placer
Le probléme c'est que quand on fait utiliser sur l'objet, l'objet on le voit bien

mais quand on fait espace sa met un message

Code:
placement of container has been aborted

sa fait sa pour tous les objet
 
Si le problème est toujours d'actualité, je veux bien la réponse aussi ✋

J'ai aussi tenté d'installer ce tuto il y a quelques mois, et je me suis retrouvé confronté, semble t- il au même souci :
Je m'explique :

Lors de la pose du meuble, aucun souci pour le voir, juste l'action poser via espace n'a jamais fonctionné.

Je vais relire l'ensemble du tuto, y appliquer vos correctifs de ce post, sur mon serveur de dev et retenté l'opération en vous faisant une vidéo de ce qu'il ne se passe pas :)