Français Solved Comment collecter du pétrole sur une plate-forme pétrolière dans Altis Life Vanilla

  • Auteur de la discussion Auteur de la discussion Vikor
  • Date de début Date de début
Hello !
En fait la distance est calculée entre le joueur et le marqueur à la hauteur du sol, donc si le joueur est plus haut que le sol, c'est comme s'il était trop loin. Du coup pour corriger ça au lieu d'utiliser une distance "3D" il suffit d'utiliser une distance2D :
1618857401922.png

Tu peux essayer, dans les fichiers fn_whereAmI.sqf, fn_mine.sqf et fn_gather.sqf, de remplacer tous les :
Code:
distance
par :
Code:
distance2D
 
Hello !
En fait la distance est calculée entre le joueur et le marqueur à la hauteur du sol, donc si le joueur est plus haut que le sol, c'est comme s'il était trop loin. Du coup pour corriger ça au lieu d'utiliser une distance "3D" il suffit d'utiliser une distance2D :
Voir la pièce jointe 1760

Tu peux essayer, dans les fichiers fn_whereAmI.sqf, fn_mine.sqf et fn_gather.sqf, de remplacer tous les :
Code:
distance
par :
Code:
distance2D
J'ai testé avec ceci ;
Code:
if (((getPosATL(player) distance2D (getMarkerPos _x)) < _zoneSize) && ((getPosATL(player) select 2) < 3)) exitWith {
Sa ne fonctionne pas...
 
Etrange, j'avais fais pareil à l'époque d'ACF et c'était fonctionnel. On va faire quelque chose pour essayé de trouver d'où vient ton soucis :

Va sur ton champ de farm, puis executes ceci dans ta console de debug :


Code:
systemChat str (player distance (getMarkerPos "MARKER"));
systemChat str (getPos player);
systemChat str (getMarkerPos "MARKER");

Remplaces "MARKER" par le nom de ton marker exemple : "oil_farm"
 
Etrange, j'avais fais pareil à l'époque d'ACF et c'était fonctionnel. On va faire quelque chose pour essayé de trouver d'où vient ton soucis :

Va sur ton champ de farm, puis executes ceci dans ta console de debug :


Code:
systemChat str (player distance (getMarkerPos "MARKER"));
systemChat str (getPos player);
systemChat str (getMarkerPos "MARKER");

Remplaces "MARKER" par le nom de ton marker exemple : "oil_farm"
Yuri_Console.PNG
Et voici
 
Etrange, c'est donc pas une question de distance car dans le fichier (gather) de base ;
[CODE title="v"]if ((player distance (getMarkerPos _x)) < _zoneSize) exitWith {_zone = _x;};[/CODE]
Donc tu ton script ne s'exit pas a cause de la distance.

Verifie les autres conditions qui exit le fichier
 
Etrange, c'est donc pas une question de distance car dans le fichier (gather) de base ;
[CODE title="v"]if ((player distance (getMarkerPos _x)) < _zoneSize) exitWith {_zone = _x;};[/CODE]
Donc tu ton script ne s'exit pas a cause de la distance.

Verifie les autres conditions qui exit le fichier
Il y'a 3 fichiers différents.
 
Tout dépend où tu as mis ta class dans le config_gather, peux tu m’envoyer ton config_gather (en paste me stp)
 
J'ai testé en normal et avec
Code:
if (((getPosATL(player) distance2D (getMarkerPos _x)) < _zoneSize) && ((getPosATL(player) select 2) < 3)) exitWith {
ça ne fonctionne pas