Français Ajouter la fermeture pour les policiers uniquement

  • Auteur de la discussion Auteur de la discussion I'm the Boss
  • Date de début Date de début

I'm the Boss

Leader
Membre du personnel
2/1/20
701
3
44
1 100
Ce tutoriel vous permettra d'ajouter une fonction permettant que seul les "Cop" puissent ouvrir/fermer des portes​
___________________________________

Installation

  • Rendez vous dans la racine de votre mission puis core/cop
  • Créer un fichier fn_lockCop.sqf
  • Dans ce fichier ajouter le code suivant :
Code:
/*
Mettre ça dans l'init de l'objet

this addAction ["Vérouiller/Dévérouiller", "core\cop\fn_LockCop.sqf","",0,false,false,"","side player isEqualTo WEST"];
this setVariable ["lockedDoor",true];
this setVariable ["BIS_Disabled_Door_1",1,true];
this setVariable ["BIS_Disabled_Door_2",1,true];
this allowDamage false;

*/

if !(side player isEqualTo WEST) exitWith {}; // Seul les policier peuvent ouvrir

_door = _this select 0;

_door2 = _door getVariable "lockedDoor";
if (_door2 isEqualTo true) then
{
    _door setVariable ["BIS_Disabled_Door_1",0,true];
    _door setVariable ["BIS_Disabled_Door_2",0,true];
    _door setVariable ["lockedDoor",false];
    hint "La porte est dévérouillée";
} else {
    _door setVariable ["BIS_Disabled_Door_1",1,true];
    _door setVariable ["BIS_Disabled_Door_2",1,true];
    _door setVariable ["lockedDoor",true];
    hint "La porte est vérouillée";
};

  • Rendez vous dans votre Functions.hpp à la racine de votre mission et ajouter ceci
text alternatif
Code:
class lockCop {};
  • Rendez vous sur votre mapping et ajouter ce code a l'objet que vous voulez bloquer
Code:
this addAction ["Vérouiller/Dévérouiller", life_fnc_lockCop,"",0,false,false,"","side player isEqualTo WEST"];
this setVariable ["lockedDoor",true];
this setVariable ["BIS_Disabled_Door_1",1,true];
this setVariable ["BIS_Disabled_Door_2",1,true];
this allowDamage false;


Sans modification il sera impossible de fermer la totalité d'un bâtiment possédant plus de 2 portes.
 
Dernière édition par un modérateur:
  • Like
Les réactions: okin74
Super tutoriel ! ça va en aider plus d'un !
J'aimerais juste savoir si on peut légèrement détourner ce script pour avoir comme condition une licence au lieu d'un side s'il vous plaît ?

Par avance merci ;)
 
Oui (y)
Il faut enlever cette ligne du fn_lockCop.sqf :
Code:
if !(side player isEqualTo WEST) exitWith {};

Et il faut modifier la condition dans l'init sur ton mapping :
Code:
this addAction ["Vérouiller/Dévérouiller", life_fnc_lockCop,"",0,false,false,"","side player isEqualTo WEST"];
deviendra :
Code:
this addAction ["Vérouiller/Dévérouiller", life_fnc_lockCop,"",0,false,false,"","license_civ_driver"];

Tu peux remplacer driver par la variable de ta licence
 
  • Love
Les réactions: okin74
Nikel ça fonctionne au poil !
Est ce possible avec les entreprises aussi? J ai essayé comme ça mais ça ne passe pas.

this addAction ["Vérouiller/Dévérouiller", life_fnc_lockCop,"",0,false,false,"","entreprise_2"];

Merci
 
Avec quelle modification est-il possible de verrouiller les bâtiments avec plus de 2 portes ?
 
Dans l'init de l'objet il faut ajouter des setVariable de BIS_Disabled_Door_
  • Rendez vous sur votre mapping et ajouter ce code a l'objet que vous voulez bloquer
Code:
this addAction ["Vérouiller/Dévérouiller", life_fnc_lockCop,"",0,false,false,"","side player isEqualTo WEST"];
this setVariable ["lockedDoor",true];
this setVariable ["BIS_Disabled_Door_1",1,true];
this setVariable ["BIS_Disabled_Door_2",1,true];
this allowDamage false;

Comme ceci pour 4 portes par exemple :
Code:
this addAction ["Vérouiller/Dévérouiller", life_fnc_lockCop,"",0,false,false,"","side player isEqualTo WEST"];
this setVariable ["lockedDoor",true];
this setVariable ["BIS_Disabled_Door_1",1,true];
this setVariable ["BIS_Disabled_Door_2",1,true];
this setVariable ["BIS_Disabled_Door_3",1,true];
this setVariable ["BIS_Disabled_Door_4",1,true];
this allowDamage false;
 
Bonjour je vous remercie pour ce tuto ca nous a changer la vie.
Je voulais savoir si il était possible de mettre en condition un item pour ouvrir par exemple un item clé de portail. Merci d'avance.
 
Salut! Oui c'est possible, en haut de ton fn_lockCop.sqf tu peux ajouter une condition :
Code:
if (life_inv_VARIABLEITEM == 0) exitWith {hint "Vous devez avoir une clé de portail !";};

Rempalce VARIABLEITEM par la variable de l'objet clé dans ton Config_vItems.hpp
 
Bonjour et tu met quoi dans l'init si tu veux que n'importe qui qui l'item virtuel peut dévérouiller la porte ?
car j'ai éssayé comme ça
[CODE title="init"]this addAction ["Vérouiller/Dévérouiller",life_fnc_lockCop];
this setVariable ["lockedDoor",true];
this setVariable ["BIS_Disabled_Door_1",1,true];
this setVariable ["BIS_Disabled_Door_2",1,true];
this allowDamage false;[/CODE]
mais même si j'ai pas l'item je peux le dévérouiller
 
Si tu as fait la modification de mon précédent message,
Normalement tu auras l'action pour "Vérouiller/Dévérouiller" visible mais il ne devrait rien de passer en l'activant et tu auras le message "Vous devez avoir une clé de portail !"
 
Salut! Oui c'est possible, en haut de ton fn_lockCop.sqf tu peux ajouter une condition :
Code:
if (life_inv_VARIABLEITEM == 0) exitWith {hint "Vous devez avoir une clé de portail !";};

Rempalce VARIABLEITEM par la variable de l'objet clé dans ton Config_vItems.hpp
Yop il y à une erreur c'est plutôt ça:
if !(life_inv_VARIABLEITEM == 1) exitWith {hint "Vous devez avoir une clé de portail !";};
 
bonjour je voudrais que l'entreprise puissent ouvrir le portail mais je vaux que la police puissent aussi comment puis-je faire s'il vous plais