Page 1 of 1

Callback "playerFinish"

Posted: 18 Dec 2012, 09:49
by Fadden
Bonjour,

Je cherche comment envoyer au serveur un callback "playerFinish" lui indiquant qu'un joueur a terminé la map, ceci afin que les records puissent être stockés (par Aseco ou Manialive par exemple).

Actuellement avec mon script lorsqu'un joueur termine la map rien ne se passe du côté du serveur.
Je sais qu'il est possible d'utiliser XmlRpc.SendCallback pour envoyer des callback "perso", mais ça ne m'intéresse pas vraiment puisque ensuite il faut gérer ça du côté du gestionnaire de records, alors que ce qu'il me faut est un bête playerFinish de base comme si le joueur jouait en time attack par exemple.

Y'a-t-il moyen de faire ça et si oui comment ? :)

Merci

Re: Callback "playerFinish"

Posted: 18 Dec 2012, 10:39
by spaii
salut Fadden,

d'après mes souvenirs, lorsque l'on met un script perso CTmMode, le callback playerFinish n'est pas envoyé d'origine.
Tu dois générer le playerFinish.

Code: Select all

if (Event.Type == CTmModeEvent::EType::WayPoint && Event.IsEndRace)
{				
   XmlRpc.SendCallback("playerFinish", """{"Login":"{{{Player.User.Login}}}","Time":{{{Player.CurRace.Time}}}}""";
}
En sachant que le gestionnaire qui reçoit cet information doit être compatible avec l'api 2012-06-19, et qu'il doit prendre en compte ce type de callback.

Après je n'ai fait les tests qu'en stunt, et cela ne marchait pas avec les callback Nadeo.
Par contre tu peux testé avec FoxControl 1.1 qui est maintenant compatible avec la dernière API, peut-être qu'il prend en compte les playerFinish des callbacks Nadeo ;)


Edit : oups, c'est peut-être pas très clair, désolé, y'a pas longtemps que je suis debout, mais la piste c'est la nouvelle api 2012-06-19, donc oublies Xaseco2 par exemple ;)

Re: Callback "playerFinish"

Posted: 18 Dec 2012, 11:09
by Fadden
Merci pour ta réponse

Donc en fait, si j'ai bien compris, à partir du moment où on utilise un script, on doit gérer le playerFinish nous même donc écrire un plugin pour le ou les gestionnaires qu'on veut afin de pouvoir récupérer les temps et stocker les records...
Même si c'est pas compliqué ça me parait pas bien pratique.

Re: Callback "playerFinish"

Posted: 18 Dec 2012, 11:30
by spaii
Oui, c'est exactement cela.
Et le gestionnaire doit être compatible avec l'api 2012-06-19 : query('SetApiVersion', '2012-06-19');,
Les anciennes versions de l'api ne reçoivent pas les callbacks de XmlRpc.SendCallback() provenant d'un title.
Fadden wrote:Même si c'est pas compliqué ça me parait pas bien pratique.
C'est clair ...

Re: Callback "playerFinish"

Posted: 18 Dec 2012, 18:24
by Slig
Sachant qu'il y a aussi des trucs qui existaient avant l'api 2012-06-19 qui n'y sont plus, et des callbacks des modes standards qui n'envoient plus certaines infos qu'il y avait avant, ça va juste pas être simple pour gérer correctement à la fois les modes standards et des modes custom... :cry:

Je ne sais plus où il est, mais il y avait un topic parlant de l'idée de "standardiser" un minimum les XmlRpc.SendCallback(), parce que si chaque dev maniascript et chaque de de contrôleur y va de ses propres noms de callbacks même pour ceux qui font la même chose, c'est pas gagné...