Français Solved Aide pour améliorer le menu de mort

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

Robinox

User
29/12/19
193
2
6
1 100
Bonjour,

J'aurais aimé de l'aide afin de faire quelques trucs avec le menu de mort.

-Quand on est mort, Pouvoir voir combien de Pompier sont en ligne et leur distance.
-Quand on demande de l'aide pour se faire réa, rajouter du temps dans le timer.

Merci !
 
Solution
Hello!

Le nombre de médecins connectés devrait déjà être affiché. Il est affiché "Yes" ou "No" si un médecin est à moins de 120 mètres du joueur.
Pour afficher la distance exacte du médecin le plus proche, dans ton fn_deathScreen.sqf trouve cette ligne :
Code:
_nearby = if (([independent,getPosATL player,120] call life_fnc_nearUnits)) then {"Yes"} else {"No"};
remplace-là par :
Code:
_nearby = 9999999999;
{
    if ((side _x) isEqualTo independent) then {
        _nearby = _nearby min ((getPosATL player) distance _x);
    };
} forEach playableUnits;
if (_nearby < 9999999999) then {_nearby = format ["%1m",([_nearby] call life_fnc_numberText)];} else {_nearby = "No";};

Pour modifier le temps de respawn, dans ton...
--- Ce message a été généré automatiquement par ChatGPT, le contenu peut être incorrect. Veuillez lire le message avec précaution ! ---

Bonjour,

Pour afficher le nombre de Pompiers en ligne et leur distance lorsque vous êtes mort, vous pouvez utiliser la fonction de l'API de serveur Arma 3 pour récupérer ces informations. En ce qui concerne l'ajout de temps dans le timer lorsque vous demandez de l'aide pour être réanimé, vous pouvez modifier le script de réanimation pour inclure cette fonctionnalité.

N'hésitez pas à consulter la documentation de SQF pour plus d'informations sur la manipulation des données et des timers.

Bonne programmation !

--- Pour continuer la discussion avec ChatGPT, cliquez sur "Répondre" en bas à droite de ce message. Sinon, attendez que quelqu'un vous réponde. ---
 
Hello!

Le nombre de médecins connectés devrait déjà être affiché. Il est affiché "Yes" ou "No" si un médecin est à moins de 120 mètres du joueur.
Pour afficher la distance exacte du médecin le plus proche, dans ton fn_deathScreen.sqf trouve cette ligne :
Code:
_nearby = if (([independent,getPosATL player,120] call life_fnc_nearUnits)) then {"Yes"} else {"No"};
remplace-là par :
Code:
_nearby = 9999999999;
{
    if ((side _x) isEqualTo independent) then {
        _nearby = _nearby min ((getPosATL player) distance _x);
    };
} forEach playableUnits;
if (_nearby < 9999999999) then {_nearby = format ["%1m",([_nearby] call life_fnc_numberText)];} else {_nearby = "No";};

Pour modifier le temps de respawn, dans ton fn_onPlayerKilled.sqf trouve ces lignes :
Code:
waitUntil {
    _Timer ctrlSetText format [localize "STR_Medic_Respawn",[(_maxTime - time),"MM:SS"] call BIS_fnc_secondsToString];
    round(_maxTime - time) <= 0 || isNull _this
};
remplaces les par :
Code:
respawnTime = _maxTime;
waitUntil {
    _Timer ctrlSetText format [localize "STR_Medic_Respawn",[(respawnTime - time),"MM:SS"] call BIS_fnc_secondsToString];
    round(respawnTime - time) <= 0 || isNull _this
};
Puis dans ton fn_requestMedic.sqf tu peux ajouter du temps (en secondes) :
Code:
respawnTime = respawnTime + 60;
 
Dernière édition:
Solution
Hello!

Le nombre de médecins connectés devrait déjà être affiché. Il est affiché "Yes" ou "No" si un médecin est à moins de 120 mètres du joueur.
Pour afficher la distance exacte du médecin le plus proche, dans ton fn_deathScreen.sqf trouve cette ligne :
Code:
_nearby = if (([independent,getPosATL player,120] call life_fnc_nearUnits)) then {"Yes"} else {"No"};
remplace-là par :
Code:
_nearby = 9999999999;
{
    if ((side _x) isEqualTo independent) then {
        _nearby = _nearby min (player distance _x);
    };
} forEach playableUnits;

Pour modifier le temps de respawn, dans ton fn_onPlayerKilled.sqf trouve ces lignes :
Code:
waitUntil {
    _Timer ctrlSetText format [localize "STR_Medic_Respawn",[(_maxTime - time),"MM:SS"] call BIS_fnc_secondsToString];
    round(_maxTime - time) <= 0 || isNull _this
};
remplaces les par :
Code:
respawnTime = (_maxTime - time);
waitUntil {
    _Timer ctrlSetText format [localize "STR_Medic_Respawn",[respawnTime,"MM:SS"] call BIS_fnc_secondsToString];
    round(respawnTime) <= 0 || isNull _this
};
Puis dans ton fn_requestMedic.sqf tu peux ajouter du temps (en secondes) :
Code:
respawnTime = respawnTime + 60;
merci je test
 
Après pour le coup ça prend la distance par d’où on est mort mais de l’Ile interdite ou y’a tout les pnj quand on est dans l’écran de mort etc jsp si tu vois

Posté par @robinox_ via discord.