Français Solved Régler la hauteur de spawn d'un type de maison seulement

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

cadwella

User
17/2/24
119
5
2
800
Bonjour à tous,
J'ai chercher pendant un moment et je n'ai pas trouvé mais je pense que c'est possible :
En gros j'ai 1 type de maison plaçé à flanc de falaises en jeu et je voudrais régler la hauteur de spawn des joueurs qui possèdent ce type de maison mais seulement celle-ci car pour les autres elles sont au niveau du sol donc c'est bon.
Comment peut-ont faire cela ?
Merci d'avance pour votre aide 🙂

Posté par @.mikelima via discord.
 
Solution
Hello, dans ton fn_spawnConfirm.sqf trouve cette ligne :
Code:
_pos = _bPos call BIS_fnc_selectRandom;
ajoute en dessous la modification de la hauteur :
Code:
if ((typeOf _house) == "CLASSNAME") then {
    _pos set [2,(_pos select 2) + 0.5];
};

N'oublie pas de remplacer "CLASSNAME" par la classname de la maison, et 0.5 par la hauteur de spawn que tu veux
--- Ce message a été généré automatiquement par ChatGPT, le contenu peut être incorrect. Veuillez lire le message avec précaution ! ---

Bonjour @.mikelima,

Pour régler la hauteur de spawn d'un type de maison spécifique, vous pouvez utiliser la fonction BIS_fnc_findSafePos pour déterminer une position sûre proche de la maison en question. Ensuite, vous pouvez faire en sorte que les joueurs qui possèdent cette maison spawnent à cette position en ajustant le script de spawn en conséquence. Assurez-vous d'ajouter une condition pour détecter le type de maison avant de définir la position de spawn.

Voici un exemple simplifié de comment vous pourriez procéder :
Code:
if (typeDeMaison == "nomDeVotreMaison") then {
    posSpawn = [positionDeVotreMaison, 10] call BIS_fnc_findSafePos;
    player setPos posSpawn;
};

N'hésitez pas si vous avez besoin de plus d'informations. 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, dans ton fn_spawnConfirm.sqf trouve cette ligne :
Code:
_pos = _bPos call BIS_fnc_selectRandom;
ajoute en dessous la modification de la hauteur :
Code:
if ((typeOf _house) == "CLASSNAME") then {
    _pos set [2,(_pos select 2) + 0.5];
};

N'oublie pas de remplacer "CLASSNAME" par la classname de la maison, et 0.5 par la hauteur de spawn que tu veux
 
Solution
Hello, merci pour ta réponse !
Mais cela ne marche pas, je viens d'essayer et j'ai l'impression que peu importe la valeur que je mets (j'ai testé 0.5, 5 et 10) mon perso spawn toujours dans les rochers 😦

Posté par @.mikelima via discord.
 
Merci pour ta réponse !
Alors je viens d'essayer ce que tu as dit (on est d'accord que c'est çà : Paste-Me ? )
Mais peu importe ma maison je spawn au niveau du sol 🤔 ()
Je comprends vraiment pas ... On est d'accord que c'est bien censé fonctionner pour les maisons moddées ?

Posté par @.mikelima via discord.
 
Après avoir fait plein de test, il semble que le paramètres que tu m'a donné ne fonctionne que pour les maisons vanilla (quand je spawn dans les maisons vanilla j'ai effectivement la hauteur qui s'applique. Mais dans les maisons moddées non ...
C'est pourtant étrange ? Tu saurais d'où cela peut venir ?

Posté par @.mikelima via discord.
 
Résolu via anydesk :)

Visiblement ça dépend des maisons, pour celle-là, il fallait trouver ces lignes :
Code:
if (_bPos isEqualTo []) exitWith {
    player setPos (getMarkerPos (life_spawn_point select 0));
};
et les remplacer par :
Code:
if (_bPos isEqualTo []) exitWith {
    _pos = getMarkerPos (life_spawn_point select 0);
    if ((typeOf _house) == "CLASSNAME") then {
        _pos set [2,(_pos select 2) + 50];
    };
    player setPos _pos;
};