Français Solved Problème avec les scripts VDM

  • Auteur de la discussion Auteur de la discussion Alfresole
  • Date de début Date de début

Alfresole

User
30/4/20
55
3
2
300
Bonjour bonjour,

J'ai testé 2 scripts :


Code:
//VDM Report And ADD
if ((isPlayer _source) && (vehicle _source != _source)) then {
if(_part == "body" && (player getVariable["limit",true]) && (side _source == civilian)) then {
player setVariable ["limit",false];
[_source] spawn {
_driver = _this select 0;
[0,format["%1 a roulé sur %2!", name _driver, name player]] remoteExec ["life_fnc_broadcast",0];
sleep(10);
player setVariable ["limit",true];
    };
};
_damage = getDammage player;
};

Celui--ci qui ne marche pas, ça a affiche bien le msg mais ne rend pas invincible au car-kill ( j'ai déjà essayé de mettre _damage = 0.001, meme issue )

Code:
//ANTI VDM
if (((vehicle _source isKindOf "Ship") OR ( vehicle _source isKindOf "Air") OR (vehicle _source isKindOf "LandVehicle")) AND (_projectile == "")) then
{
    _unit allowDamage false;
    _unit setVariable ["life_fnc_allowDamage", false];
    _unit spawn {
        sleep 2;
        _this setVariable ["life_fnc_allowDamage", true];
        _this allowDamage true;
    };
};

[] spawn life_fnc_hudUpdate;
_damage;

Et celui-ci qui fonctionne très bien mais lorsqu'on se crash en hélico, on ne meurt pas. J'ai donc changé " _unit allowDamage true " donc là on est plus invincible en hélico mais le car-kill est de nouveau possible. J'ai essayé toutes les possibilités false/true etc.. mais rien y fait

Merci ;)
 
Solution
Essaye une dernière fois comme ca :

Code:
//ANTI VDM
_getMsgSended = player getVariable "msgSended";
if (isNil "_getMsgSended") then {
    player setVariable ["msgSended", 0];
};

if (((vehicle _source isKindOf "Ship") OR (vehicle _source isKindOf "LandVehicle")) AND (_projectile == "")) then
{
    _unit allowDamage false;
    _unit setVariable ["life_fnc_allowDamage", false];
    if (_getMsgSended isEqualTo 0) then {
        [0,format["%1 a roulé sur %2!", name _source, name player]] remoteExec ["life_fnc_broadcast",0];
        player setVariable ["msgSended", 1];
    };
    _unit spawn {
        sleep 2;
        player setVariable ["msgSended", 0];
        _this setVariable ["life_fnc_allowDamage", true];
        _this allowDamage true...
bonjour essaye comme avec ces lignes
Code:
//ANTI VDM
if (((vehicle _source isKindOf "Ship") OR (vehicle _source isKindOf "LandVehicle")) AND (_projectile == "")) then
{
    _unit allowDamage false;
    _unit setVariable ["life_fnc_allowDamage", false];
    _unit spawn {
        sleep 2;
        _this setVariable ["life_fnc_allowDamage", true];
        _this allowDamage true;
    };
};

[] spawn life_fnc_hudUpdate;
_damage;
 
Ok c'est super !

Et il est possible de faire un petit message pour savoir qui t'a écrasé ? J'ai essayé de combiner les 2 scripts mais j'ai pas réussi je n'ai pas les compétences. Si quelqu'un peut m'aiguiller ?
 
Code:
//ANTI VDM
if (((vehicle _source isKindOf "Ship") OR (vehicle _source isKindOf "LandVehicle")) AND (_projectile == "")) then
{
    _unit allowDamage false;
    _unit setVariable ["life_fnc_allowDamage", false];
    _driver = _this select 0;
    [0,format["%1 a roulé sur %2!", name _driver, name player]] remoteExec ["life_fnc_broadcast",0];
    _unit spawn {
        sleep 2;
        _this setVariable ["life_fnc_allowDamage", true];
        _this allowDamage true;
    };
};

[] spawn life_fnc_hudUpdate;
_damage;
 
Alors ça fonctionne à moitié

La personne est écrasé, le message apparait en bas a gauche mais 3 fois et c'est la personne qui se fait écraser qui écrase lui meme.

Je m'explique :

Fred est dans la voiture et écrase Louis

Il y aura écrit dans le chat :

Louis a écrasé Louis
Louis a écrasé Louis
Louis a écrasé Louis
 
Essaye comme ca :

Code:
//ANTI VDM
if (((vehicle _source isKindOf "Ship") OR (vehicle _source isKindOf "LandVehicle")) AND (_projectile == "")) then
{
    _unit allowDamage false;
    _unit setVariable ["life_fnc_allowDamage", false];
    if (isNil "_msgSended" || !_msgSended) then {
        [0,format["%1 a roulé sur %2!", name _source, name player]] remoteExec ["life_fnc_broadcast",0];
    };
    _msgSended = true;
    _unit spawn {
        sleep 2;
        _msgSended = false;
        _this setVariable ["life_fnc_allowDamage", true];
        _this allowDamage true;
    };
};

[] spawn life_fnc_hudUpdate;
_damage;
 
Essaye une dernière fois comme ca :

Code:
//ANTI VDM
_getMsgSended = player getVariable "msgSended";
if (isNil "_getMsgSended") then {
    player setVariable ["msgSended", 0];
};

if (((vehicle _source isKindOf "Ship") OR (vehicle _source isKindOf "LandVehicle")) AND (_projectile == "")) then
{
    _unit allowDamage false;
    _unit setVariable ["life_fnc_allowDamage", false];
    if (_getMsgSended isEqualTo 0) then {
        [0,format["%1 a roulé sur %2!", name _source, name player]] remoteExec ["life_fnc_broadcast",0];
        player setVariable ["msgSended", 1];
    };
    _unit spawn {
        sleep 2;
        player setVariable ["msgSended", 0];
        _this setVariable ["life_fnc_allowDamage", true];
        _this allowDamage true;
    };
};

[] spawn life_fnc_hudUpdate;
_damage;
 
Dernière édition:
Solution