Attribuer à la Touche "U" l'ouverture des hangars


#1

Bonjour AltisDev !

Je tente de définir à ma touche U dans mon fn_keyHandler.sqf la possibilité d’ouvrir les portes d’un hangar acheté.

J’ai donc essayé d’ajouter une condition dans le if

Voici le code de base :

if(_veh isKindOf "House_F" && playerSide == civilian) then {  
				if(_veh in life_vehicles && player distance _veh < 8) then {  
					_door = [_veh] call life_fnc_nearestDoor;  
					if(_door == 0) exitWith {hintSilent "Vous n'êtes pas près d'une porte"};  
					_locked = _veh getVariable [format["bis_disabled_Door_%1",_door],0];  
					if(_locked == 0) then {  
						_veh setVariable[format["bis_disabled_Door_%1",_door],1,true];  
						_veh animate [format["door_%1_rot",_door],0];  
						systemChat "La porte a été verouillée";  
					} else {  
						_veh setVariable[format["bis_disabled_Door_%1",_door],0,true];  
						_veh animate [format["door_%1_rot",_door],1];  
						systemChat "La porte a été déverouillée";  
					};  
				};  

Et j’ai donc essayé de bidouiller le if ce qui donne :

if(_veh isKindOf "House_F" && _veh isKindOf "Shed" && playerSide == civilian) then {  

En gros j’ai rajouté dans la condition le type du classname des hangars, qui est par défaut “Land_i_Shed_Ind_F

J’ai ensuite suivi ce post de Blayfix

https://altisdev.com/index.php?/topic/8974-question-sur-les-entrepots-altislife-3148/

Et c’est là que je suis coincé…

J’ai ajouté à ma condition if :

_veh isKindOf "Shed"  

Mais une fois ceci ajouté, en jeu les maisons ne s’ouvrent plus, et le else s’exécute étant donné que le if n’est plus vérifié et que dans le chat j’ai le message :

“Vous avez ouvert votre véhicule”

Quelqu’un saurait m’éclairer ?

Merci d’avance :slight_smile:


#2

Tiiix

if((_veh isKindOf "House_F" OR _veh isKindOf "Shed") && playerSide == civilian) then {  

#3

harmdhast

Awn me**** c’est vrai, c’est pas un ET mais un OU logique :o

Merci :wink:


#4

J’ai le même problème mais en 4.x.

Dans : fn_houseConfig.sqf j’ai bien :

case (_house in ["Land_i_Shed_Ind_F"]): {[1750000,10]};```

Dans **fn_keyHandler**: 

if ((_veh isKindOf “House_F” OR _veh isKindOf “Shed”) && {playerSide isEqualTo civilian}) then {
if (_veh in life_vehicles && player distance _veh < 20) then {
_door = [_veh] call life_fnc_nearestDoor;
if (_door isEqualTo 0) exitWith {hint localize “STR_House_Door_NotNear”};
_locked = veh getVariable [format["bis_disabled_Door%1",_door],0];

                if (_locked isEqualTo 0) then {  
                    _veh setVariable [format["bis_disabled_Door_%1",_door],1,true];  
                    _veh animate [format["door_%1_rot",_door],0];  
                    systemChat localize "STR_House_Door_Lock";  
                } else {  
                    _veh setVariable [format["bis_disabled_Door_%1",_door],0,true];  
                    _veh animate [format["door_%1_rot",_door],1];  
                    systemChat localize "STR_House_Door_Unlock";  
                };  
            };  
        }```

Que faire ? :slight_smile:


#5

Salut est se que vous savez comment faire pour la version 5.0

moi dans mon fn_houseConfig.sqf

jai celas

/*
File: fn_houseConfig.sqf
Author: BoGuu

Description:
Fetch data from Config_Housing/Garages

*/

private _house = param [0,"",[""]];

if (_house isEqualTo “”) exitWith {[]};

private _houseConfig = missionConfigFile >> “Housing” >> worldName >> _house;
private _garageConfig = missionConfigFile >> “Garages” >> worldName >> _house;

private _config = [_garageConfig,_houseConfig] select {isClass _x};

if (_config isEqualTo []) exitWith {[]};

_config = _config select 0;
private _price = getNumber(_config >> “price”);
private _numberCrates = if (_houseConfig isEqualTo _config) then {getNumber(_houseConfig >> “numberCrates”)} else {0};

//Return
[_price,_numberCrates]

ou je peut ajouter le case (_house in [“Land_i_Shed_Ind_F”]): {[1750000,10]}; svp


#6

@Rosil Merci de creer un post et pas faire un deterrage …