Page 1 of 5

Re: LibXmlRpc Improvements

Posted: 10 Oct 2014, 15:32
by w1lla
1) Disable legacy can be done by:

Code: Select all

$this->connection->setModeScriptSettings(array('S_UseLegacyCallback' => false));
Its hidden and set to True but this well set it to False.

S_UseScriptCallbacks is alway set to false but its not hidden so it can be achieved by:

Code: Select all

$this->connection->setModeScriptSettings(array('S_UseScriptCallbacks' => true));
2) I actually use the old json callbacks as they work for me a bit better then the new callbacks. Do not ask me why but i have a better experience with them.

3) Agreed. It might improve performance ingame aswell as load towards a database.

4) Just use the Json callbacks. Yes it takes a lot of time to code everything hehe :roflol: but there its managed who is attacker and who isn't. Can help you with that as the script sends the attacking player login towards the server controller.

5) LongHit can be achieved by adding the HitDistance into a database. In this way you can see who achieved a longHit.

6) As said maybe its a bit better to work with the old callbacks :P

Re: LibXmlRpc Improvements

Posted: 10 Oct 2014, 15:44
by w1lla
Yes json spreads out more issues for lag. Its due the incapicity of maniascript :P.

For other modes The OnHit will devise i think as it misses the HitDist so in fact XmlRpc.Script.txt is not really functional at the moment even in Shoot/TrackMania

Re: LibXmlRpc Improvements

Posted: 15 Oct 2014, 08:53
by Eole
1) I'll disable legacy callbacks by default.

2) Scores are calculated during the end round sequence. I could easily move all the LibXmlRpc_EndXXX callbacks later in the code. But it would break things for other XmlRpc controllers. Eg : currently the LibXmlRpc_EndRound callback is sent at the beginning of the end round sequence. Scores aren't calculated yet, the message announcing the round winner is not displayed, etc. Sending this callback at this point is useful in some cases, but not in others. The "best" solution for now would be to add a new callback "LibXmlRpc_EndRoundStop" that would be sent at the end of the end round sequence. We would have something like that : Start end round sequence > LibXmlRpc_EndRound > do end round sequence logic > LibXmlRpc_EndRoundStop > stop end round sequence. This way you have the callback you need and we keep backward compatibility for others controllers. What do you think?

3) I can't remove the OnShoot callback, people use them. Instead I will add a subscription system, so you will be able to choose which callbacks should be sent or not.

4) The concept of attacking and defending clans is something specific that can't be implemented in a general callback. I will add a new callback "Elite_BeginTurn" for Elite that will give the logins of the attackers and defenders.

5) The LibXmlRpc_OnHit callback will have a new parameter, the hit distance. But keep in mind that it is calculated from the position of the players when a projectile hits. It works well with the Laser but it is a bit less reliable with the other weapons.

6) Ok.

7) Not possible.

Re: LibXmlRpc Improvements

Posted: 16 Oct 2014, 18:21
by Eole
All the modifications listed in my post above are implemented in the latest update.

Re: LibXmlRpc Improvements

Posted: 21 Oct 2014, 13:05
by Eole
What doesn't work with the actual warm up callbacks and what would you need exactly?