Français Solved Possibilité de fouiller les sacs avec Restrain System

  • Auteur de la discussion Auteur de la discussion okin74
  • Date de début Date de début
Oui j’ai bien le bouton en policier, mais j aimerais pouvoir fouiller l’inventaire I aussi bien en civil qu en policier une fois les personnes menottés.
Actuellement quand j essai de regarder dans le sac j’ai un msg « vous n’êtes pas autorisé à regarder dans ce sacs »
 
Si tu souhaite qu'on puisse fouiller dans un sac, tu retire la ligne 23 à 26 dans "core/functions/fn_inventoryOpened.sqf" :
Code:
if (FETCH_CONFIG2(getNumber, "CfgVehicles", _containerType, "isBackpack") isEqualTo 1) exitWith {
    hint localize "STR_MISC_Backpack";
    true breakOut "main";
};

EDIT : Et si tu veux que ce soit seulement si il est menotté, tu le modifie comme ceci :
Code:
if (FETCH_CONFIG2(getNumber, "CfgVehicles", _containerType, "isBackpack") isEqualTo 1 && (_unit getVariable "restrained")) exitWith {
    hint localize "STR_MISC_Backpack";
    true breakOut "main";
};
 
Dernière édition par un modérateur:
Merci pour la réponse, cependant j'ai un soucis mon fn_inventoryOpened.sqf et pas tout a fait pareil:


Du cou j'ai essayé d'adapté mais ca passe pas, voici mon dernier test:


Code:
_isPack = FETCH_CONFIG2(getNumber,"CfgVehicles",typeOf _container,"isBackpack")
_isPack isEqualTo 1 && !(_unit getVariable "restrained"))  exitWith {
    hint localize "STR_MISC_Backpack";
    true;
};
 
Il te manque un if quelque part là et une parenthèse :LOL:

Dans ton cas ce sont les lignes 16 à 20 :
Code:
_isPack = FETCH_CONFIG2(getNumber,"CfgVehicles",typeOf _container,"isBackpack");
if (_isPack isEqualTo 1) exitWith {
    hint localize "STR_MISC_Backpack";
    true;
};
Essaye de les remplacer par ce qu'il a mis après le "EDIT"
 
Si tu souhaite qu'on puisse fouiller dans un sac, tu retire la ligne 23 à 26 dans "core/functions/fn_inventoryOpened.sqf" :
Code:
if (FETCH_CONFIG2(getNumber, "CfgVehicles", _containerType, "isBackpack") isEqualTo 1) exitWith {
    hint localize "STR_MISC_Backpack";
    true breakOut "main";
};

EDIT : Et si tu veux que ce soit seulement si il est menotté, tu le modifie comme ceci :
Code:
if (FETCH_CONFIG2(getNumber, "CfgVehicles", _containerType, "isBackpack") isEqualTo 1 && (_unit getVariable "restrained")) exitWith {
    hint localize "STR_MISC_Backpack";
    true breakOut "main";
};
Salut,

Merci pour ce tutoriel. Depuis que j'ai mis ça, tout le monde peut fouiller l'inventaire i de tout le monde, et surtout même des véhicules sans posséder les clefs. Aurais-tu une solution ?


Voici mon fichier après la modification:

Code:
if (player getVariable "restrained") exitWith {true;};
#include "..\..\script_macros.hpp"
/*
    File: fn_inventoryOpened.sqf
    Author: Bryan "Tonic" Boardwine

    Description:
    For the mean time it blocks the player from opening another persons backpack
*/

params [
    ["_unit", objNull, [objNull]],
    ["_container", objNull, [objNull]],
    ["_secContainer", objNull, [objNull]]
];

scopeName "main";
private _list = ["LandVehicle", "Ship", "Air"];

{
    if (isNull _x) then {false breakOut "main"};

    private _containerType = typeOf _x;

    /*if (FETCH_CONFIG2(getNumber, "CfgVehicles", _containerType, "isBackpack") isEqualTo 1) exitWith {
        hint localize "STR_MISC_Backpack";
        true breakOut "main";  original */

    if (FETCH_CONFIG2(getNumber, "CfgVehicles", _containerType, "isBackpack") isEqualTo 1 && !(_unit getVariable "restrained")) exitWith {
        hint localize "STR_MISC_Backpack";
        true breakOut "main";
};
    };

    if (_containerType in ["Box_IND_Grenades_F", "B_supplyCrate_F"]) exitWith {
        private _house = nearestObject [player, "House"];
        if (!(_house in life_vehicles) && {_house getVariable ["locked",true]}) exitWith {
            hint localize "STR_House_ContainerDeny";
            true breakOut "main";
        };
    };

    if (KINDOF_ARRAY(_x, _list)) exitWith {
        if (!(_x in life_vehicles) && {locked _x isEqualTo 2}) exitWith {
            hint localize "STR_MISC_VehInventory";
            true breakOut "main";
        };
    };

    //Allow alive players who've been knocked out to be looted, just not the dead ones
    if (_x isKindOf "CAManBase" && {!alive _x}) exitWith {
        hint localize "STR_NOTF_NoLootingPerson";
        true breakOut "main";
    };
} count [_container, _secContainer];


Merci d'avance.
 
Salut, je viens de voir, mais ton fichier doit être un petit peu vieux ^^

Il y a eu des modifications sur le GitHub officiel sur ce fichier, et je vois que tu n'as pas la même chose, c'est ce qui peut donner ce problème.

Tu n'as pas de variable qui défini _containerType.
Dans ce cas, écris quelque part avant le if, ceci :

Code:
_containerType = (typeOf _container);

Exemple :
Code:
if (player getVariable "restrained") exitWith {true;};

#include "..\..\script_macros.hpp"
/*
    File: fn_inventoryOpened.sqf
    Author: Bryan "Tonic" Boardwine

    Description:
    For the mean time it blocks the player from opening another persons backpack
*/
private ["_container","_unit","_list"];
if (count _this isEqualTo 1) exitWith {false};
_unit = _this select 0;
_container = _this select 1;
_containerType = typeOf _container; //ICI

if (FETCH_CONFIG2(getNumber, "CfgVehicles", _containerType, "isBackpack") isEqualTo 1 && !(_unit getVariable "restrained")) exitWith {
    hint localize "STR_MISC_Backpack";
    true breakOut "main";
};

if ((typeOf _container) in ["Box_IND_Grenades_F","B_supplyCrate_F"]) exitWith {
    _house = nearestObject [player, "House"];
    if (!(_house in life_vehicles) && (_house getVariable ["locked",true])) exitWith {
        hint localize "STR_House_ContainerDeny";
        true;
    };
};

_list = ["LandVehicle","Ship","Air"];
if (KINDOF_ARRAY(_container,_list)) exitWith {
    if (!(_container in life_vehicles) && {locked _container isEqualTo 2}) exitWith {
        hint localize "STR_MISC_VehInventory";
        true;
    };
};

//Allow alive players who've been knocked out to be looted, just not the dead ones
if (_container isKindOf "Man" && !alive _container) exitWith {
    hint localize "STR_NOTF_NoLootingPerson";
    true;
};

Et aussi, enfin de compte, y a bien besoin du point d'exclamation. Désolé, dans ma tête c'est pas super mdrr xD
En gros on doit dire que si le joueur n'est pas menotté, alors on as pas accès à son sac. Donc il faut le point d'exclamation. Autant pour moi, encore une fois.
 
Dernière édition:
Merci pour t'on aide Liliannismo33 Liliannismo33.
Alors j'ai rajouté le _containerType = (typeOf _container); et remis le !
Maintenant si je ne sui pas menotté j'ai le msg comme quoi je n est pas accès a ce sac mais on a quand même accès sans être menotté.
On et pas loin.
 
Je pense que si j'aurais pas la flemme de lancer Arma et d'essayer de mon côté avant d'envoyer, ca aurait pu déjà être réglé, mais j'ai pas trop de temps pour ca malheureusement :(

Par contre je n'ai pas compris ta phrase :
"Maintenant si je ne sui pas menotté j'ai le msg comme quoi je n est pas accès a ce sac mais on a quand même accès sans être menotté."
 
Bonjour,

Alors j'ai testé ça fonctionne. Je vous met mon fichier en pièce jointe.

Code:
if (player getVariable "restrained") exitWith {true;};
#include "..\..\script_macros.hpp"
/*
    File: fn_inventoryOpened.sqf
    Author: Bryan "Tonic" Boardwine

    Description:
    For the mean time it blocks the player from opening another persons backpack
*/

params [
    ["_unit", objNull, [objNull]],
    ["_container", objNull, [objNull]],
    ["_secContainer", objNull, [objNull]]
];

scopeName "main";
private _list = ["LandVehicle", "Ship", "Air"];

{
    if (isNull _x) then {false breakOut "main"};

    private _containerType = typeOf _x;

    /*if (FETCH_CONFIG2(getNumber, "CfgVehicles", _containerType, "isBackpack") isEqualTo 1) exitWith {
        hint localize "STR_MISC_Backpack";
        true breakOut "main";  original }; */

    if (FETCH_CONFIG2(getNumber, "CfgVehicles", _containerType, "isBackpack") isEqualTo 1 && (_unit getVariable "restrained")) exitWith {
        hint localize "STR_MISC_Backpack";
        true breakOut "main";

    };

    if (_containerType in ["Box_IND_Grenades_F", "B_supplyCrate_F"]) exitWith {
        private _house = nearestObject [player, "House"];
        if (!(_house in life_vehicles) && {_house getVariable ["locked",true]}) exitWith {
            hint localize "STR_House_ContainerDeny";
            true breakOut "main";
        };
    };

    if (KINDOF_ARRAY(_x, _list)) exitWith {
        if (!(_x in life_vehicles) && {locked _x isEqualTo 2}) exitWith {
            hint localize "STR_MISC_VehInventory";
            true breakOut "main";
        };
    };

    //Allow alive players who've been knocked out to be looted, just not the dead ones
    if (_x isKindOf "CAManBase" && {!alive _x}) exitWith {
        hint localize "STR_NOTF_NoLootingPerson";
        true breakOut "main";
    };
} count [_container, _secContainer];