Jump to content
Korean Random
Sign in to follow this  
13

XMQP in XVM 6.4.8+ is ready for testing! You can enable it in your personal area.

Recommended Posts

XVM 6.4.8

 

XMQP is a service which gives you an ability to use some special features and macros, which are intended to exchange of some additional info with your allies.

For example, with XMQP you can:

  • draw the on the minimap (arrows, accurate clicks)
  • see if your ally have a "sixth sence" (on the minimap or somewhere else)
  • see if your ally is overturned and needs help
  • see if your ally is spotted
  • see if your ally is drowns/lit e.t.c.

It's a basic functionality which will be extended in future. You can enable it in your personal area on www.ModXVM.com/en/

 

Please note:

  • You can see (and your allies can see) all those things only if your ally also enabled XMQP.
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

update does not work on 0.9.17.0.1 the mini map show only little circles for tanks..

What?  :hmm:

Share this post


Link to post

Short link
Share on other sites

What?  :hmm:

when i install xvm everytingis ok except for the mini map all it shows on the map are little green circles for the tanks..i take xvm out and the mini map is fine?

Share this post


Link to post

Short link
Share on other sites

XMQP ist not working anymore?

XVM version is 6.5.0.1.

 

There are no more icons on ally panel, in last version it works as expected.

XQMP is activated on modxvm.com.

 

EDIT: hmm, now the icons are back ... need more testing.

Edited by huepper

Share this post


Link to post

Short link
Share on other sites

Yeah, there is a race condition in xmqp_events.py: if onBattleInit() is called before the XMQP connection has been made, the capabilities of players that are already connected to the XMQP server are not sent to the flash modules, so you don't see icons for them. It happens with fast computers on slow connections I guess (my case at least). Calling _sendCapabilities() at the end of onXmqpConnected() fixes that issue for me:

diff --git "a/C:\\Games\\World_of_Tanks\\res_mods\\mods\\packages\\xvm_battle\\python\\xmqp_events.py.bak" "b/C:\\Games\\World_of_Tanks\\res_mods\\mods\\packages\\xvm_battle\\python\\xmqp_events.py"
index 032c9c4..d401c94 100644
--- "a/C:\\Games\\World_of_Tanks\\res_mods\\mods\\packages\\xvm_battle\\python\\xmqp_events.py.bak"
+++ "b/C:\\Games\\World_of_Tanks\\res_mods\\mods\\packages\\xvm_battle\\python\\xmqp_events.py"
@@ -40,6 +40,8 @@ def onXmqpConnected(e):
     if xmqp.is_active():
         xmqp.call(data)
 
+    _sendCapabilities()
+
 def onBattleInit():
     _sendCapabilities()
 

There's a similar (somehow) issue when WoT exits/crashes in the middle of a game, and the player starts it again. WoT will resume the game, but the XMQP client will not be started: _start() from xmqp.py will be called, but since no XVM token would have been downloaded yet, config.networkServicesSettings.xmqp will be false, so no _XMQP instance is ever created. EDIT: check this patch for a way to fix that second issue (but I'm almost sure you won't like it because of the FIXME).

Edited by Tey
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

ok, applied


According your second patch - I made it different way, please test it in the 6968 build.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

ok, applied

According your second patch - I made it different way, please test it in the 6968 build.

 

Thanks, your fix for the second issue is definitely better, but it doesn't work as event handlers must accept arguments:

2016-12-23 19:55:09.463: ERROR: [EXCEPTION] (scripts/client/gui/shared/event_bus.py, 44):
Traceback (most recent call last):
  File "scripts/client/gui/shared/event_bus.py", line 42, in handleEvent
TypeError: _start() takes no arguments (1 given)

The fix is obvious though (and it works correctly after that):

--- xmqp.py.bak2        2016-12-23 20:05:19.485185000 +0100
+++ xmqp.py     2016-12-23 20:05:41.421070300 +0100
@@ -41,7 +41,7 @@
     BigWorld.player().arena.onNewVehicleListReceived -= start
     BigWorld.callback(0, _start)

-def _start():
+def _start(*args):
     g_eventBus.removeListener(XVM_EVENT.XVM_SERVICES_INITIALIZED, _start)
     if not g_xvm.xvmServicesInitialized:
         g_eventBus.addListener(XVM_EVENT.XVM_SERVICES_INITIALIZED, _start)


Share this post


Link to post

Short link
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...