Français Solved Comment modifier la sauvegarde de position du joueur pour une déconnexion de 10 minutes

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

Marokino67

User
24/5/21
5
0
250
Salut , j'aimerais savoir comment modifier le systeme de base pour la sauvegarde de position joueur

En clair , j'aimerais que quand le joueur se déconnecte cela sauvegarde la position du joueur 10 minutes , mais si il se reconnecte apres ces 10 minutes il puisse choisir lendroit de spawn...

Merci d'avance à ceux qui m'aiderons
 
Solution
J'ai peut être lu trop rapidement.

Tu peux essayer de remplacer dans ton fn_queryRequest.sqf ce bout de ligne :
Code:
civ_position
par :
Code:
IF ((last_seen >= (NOW() - INTERVAL 10 MINUTE)), civ_position, '""[]""')

Normalement si son dernier sync-data date de moins de 10 minutes, ça le remettra à son ancienne position, sinon il aura le menu de spawn
Hello !

Pour savoir quand le joueur s'est connecté, tu peux définir cette variable à la fin de ton core/init.sqf :
Code:
player_connection_time = time;

Et pour ne pas sauvegarder la position quand ça fait + de 10 minutes qu'il est connecté, dans ton fn_updateParial.sqf, en dessous de
Code:
_position = getPosATL player;
tu peux ajouter cette ligne :
Code:
if ((time - player_connection_time) > 600) then {_position = [];};

Et dans ton fn_updatePartial.sqf, tu peux remplacer cette ligne :
Code:
_packet set[4,getPosATL player];
par :
Code:
if ((time - player_connection_time) > 600) then {
    _packet set[4,[]];
} else {
    _packet set[4,getPosATL player];
};

J'espère que ça fonctionnera :)
 
Heyy ,

je crois que je me suis mal exprimer ... j'en suis sincèrement désoler

J'aimerais faire en sorte que si le joueur se déconnecte et que il se reconnecte 1 minute apres il spawn à la position ou il étais avant de ce déconnecter , mais si le joueur attend 10 minutes avant de ce reconnecter il puisse choisir l'endroit de spawn...
 
J'ai peut être lu trop rapidement.

Tu peux essayer de remplacer dans ton fn_queryRequest.sqf ce bout de ligne :
Code:
civ_position
par :
Code:
IF ((last_seen >= (NOW() - INTERVAL 10 MINUTE)), civ_position, '""[]""')

Normalement si son dernier sync-data date de moins de 10 minutes, ça le remettra à son ancienne position, sinon il aura le menu de spawn
 
Solution
malheuresement cela ne fonctionne pas ... , j'ai check un peut de mon coté , j'ai vu que dans mon sql il y avais ' civ_position' peut être lié a ca ? et aussi dans mon initCiv.sqf [CODE title="life_civ_position"]life_civ_position[/CODE] et dans pleins d'autres fichiers peut être lié a ca ? merci d'avance
 
Cette variable est définie comme le résultat de la requête SQL du fn_queryRequest.sqf, donc elle est [] si ça fait + de 10 minutes.

Est-ce que quand tu te connectes + 10 minutes après, tu as dans tes logs clients ce message ?
Code:
[requestReceived] Bad position received. Data:

Est-ce que tu peux envoyer ton fn_queryRequest.sqf ; logs serveur et logs extDB également ?

Si tu as besoin de + d'infos pour trouver les fichiers de logs, regarde ce tutoriel : https://forum.the-programmer.com/post/comment-trouver-ses-logs.1012/
 
Nous n'avons pas eu de réponse depuis un moment :cry:
Est-ce que la solution apportée correspond à ce que tu recherchais ?