16-08-2009, 05:11 PM
Bonjour,
d'abord le contexte de mon problème :
mon jeu utilise un plateau où les joueurs peuvent voir leur avatar ainsi que celui des autre joueurs. J'aimerais que, lorsqu'un joueur quitte le jeu, son personnage disparaisse du plateau de jeu.
Si il utilise le menu de déconnexion, tout va bien (la demande est acheminé au script php qui rend l'avatar invisible), mais si il quitte en fermant la fenêtre de jeu ou le navigateur sans utiliser le menu de déconnexion, les problèmes commencent. Mon jeu n'a aucune façon de savoir que le joueur est parti et son avatar reste ainsi sur le plateau en l'encombrant inutilement.
Ma question : est-ce que c'est possible (par les cookies, les sessions, php, javascript, un event flash ou je ne sais quoi) d'envoyer un message au serveur afin d'exécuter mon script pour cacher l'avatar?
En attendant, j'ai pensé à un script un peu lourd qui s'exécuterait après chacunes des requêtes des joueurs. Dans un premier temps, ce script mettrait un timestamp indiquant à quand remonte la dernière action de ce joueur. Deuxièmement, le script vérifierait tous les timestamp des autres joueurs de la zone pour déterminer depuis quand ils n'ont pas agit. Si ça fait plus de 5 minutes par exemple, l'avatar est caché, comme lors d'une déconnexion normale.
Je suis persuadé que je ne suis pas le seul à rencontrer un problème semblable, alors proposer des solutions ici pourrait servir à plusieurs personnes. Soyez généreux
d'abord le contexte de mon problème :
mon jeu utilise un plateau où les joueurs peuvent voir leur avatar ainsi que celui des autre joueurs. J'aimerais que, lorsqu'un joueur quitte le jeu, son personnage disparaisse du plateau de jeu.
Si il utilise le menu de déconnexion, tout va bien (la demande est acheminé au script php qui rend l'avatar invisible), mais si il quitte en fermant la fenêtre de jeu ou le navigateur sans utiliser le menu de déconnexion, les problèmes commencent. Mon jeu n'a aucune façon de savoir que le joueur est parti et son avatar reste ainsi sur le plateau en l'encombrant inutilement.
Ma question : est-ce que c'est possible (par les cookies, les sessions, php, javascript, un event flash ou je ne sais quoi) d'envoyer un message au serveur afin d'exécuter mon script pour cacher l'avatar?
En attendant, j'ai pensé à un script un peu lourd qui s'exécuterait après chacunes des requêtes des joueurs. Dans un premier temps, ce script mettrait un timestamp indiquant à quand remonte la dernière action de ce joueur. Deuxièmement, le script vérifierait tous les timestamp des autres joueurs de la zone pour déterminer depuis quand ils n'ont pas agit. Si ça fait plus de 5 minutes par exemple, l'avatar est caché, comme lors d'une déconnexion normale.
Je suis persuadé que je ne suis pas le seul à rencontrer un problème semblable, alors proposer des solutions ici pourrait servir à plusieurs personnes. Soyez généreux