Français Solved Comment bloquer l'inventaire i à l'intérieur d'un véhicule pour éviter les glitch

17/2/21
67
4
1
300
Bonjour, j'aimerais faire en sorte de bloquer l'inventaire i à l'intérieur d'un véhicule quand on est 2???. Pour éviter les glitch.
Merci
 
Solution
Yop

Comme l'a dit Maxence sur ce post, je pense que c'est une bonne idée de bloquer quelques secondes l'inventaire pour éviter les ouvertures simultanés.

Rends toi dans ton fn_OpenInventory.sqf dans Altis_Life.altis >> core >> vehicle

Remplace tout par :
Code:
#include "..\..\script_macros.hpp"
/*
    File: fn_openInventory.sqf
    Author: Bryan "Tonic" Boardwine
    Description:
    Starts the initialization of vehicle virtual inventory menu.
*/
private ["_vehicle","_veh_data"];
if (dialog) exitWith {};
_vehicle = [_this,0,objNull,[objNull]] call BIS_fnc_param;
if (isNull _vehicle || !(_vehicle isKindOf "Car" || _vehicle isKindOf "Air" || _vehicle isKindOf "Ship" || _vehicle isKindOf "Box_IND_Grenades_F" || _vehicle...
Juste pour répondre à la problématique sans réellement la résoudre, le glitch dont tu parle n'est pas patchable...
Mettre un blocage quand on est 2 dans les véhicules, si le gars est dehors il peut quand même le faire.
J'ai même essayé de mettre une distance de blocage mais rien n'y fait...
Après si vraiment quelqu'un a une solution je suis preneur aussi 😅
 
Yop

Comme l'a dit Maxence sur ce post, je pense que c'est une bonne idée de bloquer quelques secondes l'inventaire pour éviter les ouvertures simultanés.

Rends toi dans ton fn_OpenInventory.sqf dans Altis_Life.altis >> core >> vehicle

Remplace tout par :
Code:
#include "..\..\script_macros.hpp"
/*
    File: fn_openInventory.sqf
    Author: Bryan "Tonic" Boardwine
    Description:
    Starts the initialization of vehicle virtual inventory menu.
*/
private ["_vehicle","_veh_data"];
if (dialog) exitWith {};
_vehicle = [_this,0,objNull,[objNull]] call BIS_fnc_param;
if (isNull _vehicle || !(_vehicle isKindOf "Car" || _vehicle isKindOf "Air" || _vehicle isKindOf "Ship" || _vehicle isKindOf "Box_IND_Grenades_F" || _vehicle isKindOf "B_supplyCrate_F")) exitWith {}; //Either a null or invalid vehicle type.
if ((_vehicle getVariable ["trunk_in_use",false])) exitWith {hint localize "STR_MISC_VehInvUse"};
uiSleep 5; //Mettre en attente le joueur pendant 5 sec 
hint"Ouverture du coffre en cours";
_vehicle setVariable ["trunk_in_use",true,true];
_vehicle setVariable ["trunk_in_use_by",player,true];
if (!createDialog "TrunkMenu") exitWith {hint localize "STR_MISC_DialogError";}; //Couldn't create the menu?
disableSerialization;
if (_vehicle isKindOf "Box_IND_Grenades_F" || _vehicle isKindOf "B_supplyCrate_F") then {
    ctrlSetText[3501,format [(localize "STR_MISC_HouseStorage")+ " - %1",getText(configFile >> "CfgVehicles" >> (typeOf _vehicle) >> "displayName")]];
} else {
    ctrlSetText[3501,format [(localize "STR_MISC_VehStorage")+ " - %1",getText(configFile >> "CfgVehicles" >> (typeOf _vehicle) >> "displayName")]];
};
_veh_data = [_vehicle] call life_fnc_vehicleWeight;
if (_veh_data select 0 isEqualTo -1) exitWith {closeDialog 0; _vehicle setVariable ["trunk_in_use",false,true]; hint localize "STR_MISC_NoStorageVeh";};
ctrlSetText[3504,format [(localize "STR_MISC_Weight")+ " %1/%2",_veh_data select 1,_veh_data select 0]];
[_vehicle] call life_fnc_vehInventory;
life_trunk_vehicle = _vehicle;
_vehicle spawn {
    waitUntil {isNull (findDisplay 3500)};
uiSleep 5; //Mettre en attente le joueur pendant 5 sec 
    hint"fermeture du coffre en cours";
    _this setVariable ["trunk_in_use",false,true];
    if (_this isKindOf "Box_IND_Grenades_F" || _this isKindOf "B_supplyCrate_F") then {
        if (life_HC_isActive) then {
            [_this] remoteExecCall ["HC_fnc_updateHouseTrunk",HC_Life];
        } else {
            [_this] remoteExecCall ["TON_fnc_updateHouseTrunk",2];
        };
    };
};
if (LIFE_SETTINGS(getNumber,"save_vehicle_virtualItems") isEqualTo 1) then {
    _vehicle spawn {
        waitUntil {isNull (findDisplay 3500)};
        _this setVariable ["trunk_in_use",false,true];
        if ((_this isKindOf "Car") || (_this isKindOf "Air") || (_this isKindOf "Ship")) then {
            [] call SOCK_fnc_updateRequest;
            if (life_HC_isActive) then {
                [_this,2] remoteExecCall ["HC_fnc_vehicleUpdate",HC_Life];
            } else {
                [_this,2] remoteExecCall ["TON_fnc_vehicleUpdate",2];
            };
        };
    };
};

Essaye de ton côté et revient vers nous si c'est bon ^^
 
  • Like
Les réactions: Mathis
Solution