Français Grenade lacrymogène

Bien le bonjour,
Je n'ai pas vu de "Script" permettant de mettre en place les Grenades Lacrymogène sur le forum ou alors j'ai mal chercher.
Du coup je me permet de vous donner ce que j'ai pu trouver avec quelques petites modifications.

Ce script est adaptable pour les Goggles / Headgear en fonction de votre bon vouloir !

Script Testé et Fonctionnel sur la version 5x

Pour commencer, rendez vous dans votre dossier où sont implémenter vos script, Votre_Mission.Altis/core/
Créer un dossier intitulé "script"
A l'intérieur de ce dossier (Votre_Mission.Altis/core/script/) créer un fichier teargas.sqf et mettez y :
teargas.sqf:
Développer Réduire Copier
/*
File Name: teargas.sqf
File Version: 1.0
File Author: Mokey
File Edited : Romset95
File Description: Gas Lacrymogène | Altis Life 5.0 Framework
*/

if !(hasInterface) exitWith {};

thrownSmokeShell = "SmokeShellBlue"; // Smoke Jeter à la main (Défaut : Smoke Bleu)
launcherSmokeShell = "G_40mm_SmokeBlue"; // Smoke jeter depuis un GL (Défaut : Smoke Bleu)
effectDistance = 7;

gasMask =
        [
                "VOTRE_LUNETTE_1",
                "VOTRE_LUNETTE_2"
        ];

exemptVehicles =
        [
                "VOTRE_VEHICULE_1",
                "VOTRE_VEHICULE_2"
        ];

setNoGasStatus =
        {
                "dynamicBlur" ppEffectEnable true;              // Active PPEffect
                "dynamicBlur" ppEffectAdjust [0];               // Remet la vision normal
                "dynamicBlur" ppEffectCommit 10;                // Le temps qui sert à revenir à la vision normal
                resetCamShake;                                  // Enlève le Tremblement de Caméra
                20 fadeSound 1;                                 // Remet le Son à la normal
        };

setGasStatus =
        {
                "dynamicBlur" ppEffectEnable true;              // Active PPEffect
                "dynamicBlur" ppEffectAdjust [25];              // Intensité du Flou (0-400) (Je vous déconseille de monter au delà de 25)
                "dynamicBlur" ppEffectCommit 10;                // Le temps que dure l'effet de flou
                enableCamShake true;                            // Active le tremblement de Caméra
                addCamShake [20, 20, 1];                        // Valeur du tremblement de la caméra [Puissance, Durée, Fréquence]
                //player setFatigue 1;                          // Met la fatigue au joueur.
                5 fadeSound 0.1;                                // Réduit le son à 10% dans 5 secondes
        };

gasDamage =
        {
                player setDamage (damage player + 0.0);         // Dégât par tickrate (Modifier le nombre 0.0)
                call BIS_fnc_indicateBleeding;
                sleep 2;                                        // Temps en "seconds" où les dégats seront effectué, (ex : 0.12 toute les 2 secondes)

        };

[]spawn
{
        while{true} do
        {
                call setNoGasStatus;
                waituntil
                {
                        _smokeShellThrown = nearestObject [getPosATL player, thrownSmokeShell];
                        _curPlayerInvulnState = player getVariable ["isAdminInvulnerable", false];
                        _smokeShellThrown distance player < effectDistance
                        &&
                        velocity _smokeShellThrown isEqualTo [ 0, 0, 0 ]
                        &&
                        !_curPlayerInvulnState
                };
                if ((goggles player in gasMask) || ((typeOf vehicle player) in exemptVehicles)) then
                {
                        call setNoGasStatus;
                }
                else
                {
                        call setGasStatus;
                        call gasDamage;
                };
        };
};

[]spawn
{
        while{true} do
        {
                call setNoGasStatus;
                waituntil
                {
                        _smokeShellLaunched = nearestObject [getPosATL player, launcherSmokeShell];
                        _curPlayerInvulnState = player getVariable ["isAdminInvulnerable", false];
                        _smokeShellLaunched distance player < effectDistance
                        &&
                        velocity _smokeShellLaunched isEqualTo [ 0, 0, 0 ]
                        &&
                        !_curPlayerInvulnState
                };
                if ((goggles player in gasMask) || ((typeOf vehicle player) in exemptVehicles)) then
                {
                        call setNoGasStatus;
                }
                else
                {
                        call setGasStatus;
                        call gasDamage;
                };
        };
};

Retournez dans le dossier Votre_Mission.Altis/core/ , ouvrez le init.sqf et insérer y :

init.sqf:
Développer Réduire Copier
[] execVM "core\script\teargas.sqf";

Si vous souhaitez mettre des casque à la place des lunette, il vous suffit de modifier :

teargas.sqf:
Développer Réduire Copier
if ((goggles player in gasMask) || ((typeOf vehicle player) in exemptVehicles)) then

par :

teargas.sqf:
Développer Réduire Copier
if ((headgear player in gasMask) || ((typeOf vehicle player) in exemptVehicles)) then

Et voilà, vous avez les grenades lacrymogène disponible sur votre serveur ! 😇
 
Car les véhicules ne sont pas compris dans la protection contre les lacrymogène, mais si vous souhaitez que les personnes dans les véhicule le soit modifier :

teargas.sqf:
Développer Réduire Copier
if ((goggles player in gasMask) || ((typeOf vehicle player) in exemptVehicles)) then

par :

teargas.sqf:
Développer Réduire Copier
if ((goggles player in gasMask) || ((vehicle player) isKindOf "LandVehicle") || ((vehicle player) isKindOf "Ship") || ((vehicle player) isKindOf "Air")) then

Normalement, cela devrais fonctionner.
 
Bonjour j'ai un probleme avec ton scriptsa marche avec les grenade fumigene mais avec le lanceur fumigene sa fait rien dutout

si tu peux m'aidez
 
Activité
Pour l'instant, il n'y a personne ici