Jump to content
Korean Random
Sign in to follow this  
fatmax10

can not get best crew XVM Crew Module to work

Recommended Posts

is this what you need

    """ XVM (c) https://modxvm.com 2013-2021 """

#####################################################################
# imports

import BigWorld
import game
from gui.shared import g_eventBus
from CurrentVehicle import g_currentVehicle
from gui.Scaleform.daapi.view.lobby.hangar.Crew import Crew
from gui.Scaleform.daapi.view.lobby.hangar.hangar_cm_handlers import CrewContextMenuHandler
from gui.Scaleform.daapi.view.lobby.hangar.hangar_cm_handlers import CREW as WG_CREW
from gui.Scaleform.daapi.view.lobby.hangar.TmenXpPanel import TmenXpPanel
from gui.Scaleform.daapi.view.lobby.cyberSport.VehicleSelectorPopup import VehicleSelectorPopup
from helpers import dependency
from skeletons.gui.shared import IItemsCache

from xfw import *
from xfw_actionscript.python import *

import xvm_main.python.config as config
from xvm_main.python.logger import *
from xvm_main.python.xvm import l10n
import xvm_main.python.userprefs as userprefs

import wg_compat


#####################################################################
# constants

class CREW(object):
    DROP_ALL_CREW = 'DropAllCrew'
    PUT_OWN_CREW = 'PutOwnCrew'
    PUT_BEST_CREW = 'PutBestCrew'
    PUT_CLASS_CREW = 'PutClassCrew'
    PUT_PREVIOUS_CREW = 'PutPreviousCrew'

class COMMANDS(object):
    PUT_PREVIOUS_CREW = 'xvm_crew.put_previous_crew'
    AS_VEHICLE_CHANGED = 'xvm_crew.as_vehicle_changed'
    AS_PUT_OWN_CREW = 'xvm_crew.as_put_own_crew'
    AS_PUT_BEST_CREW = 'xvm_crew.as_put_best_crew'
    AS_PUT_CLASS_CREW = 'xvm_crew.as_put_class_crew'

class USERPREFS(object):
    AUTO_PREV_CREW = "users/{accountDBID}/crew/auto_prev_crew/"


#####################################################################
# initialization/finalization

def start():
    g_eventBus.addListener(XFW_COMMAND.XFW_CMD, onXfwCommand)

BigWorld.callback(0, start)


@registerEvent(game, 'fini')
def fini():
    g_eventBus.removeListener(XFW_COMMAND.XFW_CMD, onXfwCommand)


#####################################################################
# onXfwCommand

# returns: (result, status)
def onXfwCommand(cmd, *args):
    try:
        if cmd == COMMANDS.PUT_PREVIOUS_CREW:
            if g_currentVehicle.isInHangar() and not (g_currentVehicle.isCrewFull() or g_currentVehicle.isInBattle() or g_currentVehicle.isLocked()):
                PutPreviousCrew(g_currentVehicle, False)
            return (None, True)
    except Exception, ex:
        err(traceback.format_exc())
        return (None, True)
    return (None, False)


#####################################################################
# handlers

@overrideMethod(CrewContextMenuHandler, '__init__')
def CrewContextMenuHandler__init__(base, self, cmProxy, ctx=None):
    # debug('CrewContextMenuHandler__init__')
    super(CrewContextMenuHandler, self).__init__(cmProxy, ctx, {
        WG_CREW.PERSONAL_CASE: 'showPersonalCase',
        WG_CREW.UNLOAD: 'unloadTankman',
        CREW.DROP_ALL_CREW: CREW.DROP_ALL_CREW,
        CREW.PUT_OWN_CREW: CREW.PUT_OWN_CREW,
        CREW.PUT_BEST_CREW: CREW.PUT_BEST_CREW,
        CREW.PUT_CLASS_CREW: CREW.PUT_CLASS_CREW,
        CREW.PUT_PREVIOUS_CREW: CREW.PUT_PREVIOUS_CREW,
    })
    self._cmProxy = cmProxy


@overrideMethod(CrewContextMenuHandler, '_generateOptions')
def CrewContextMenuHandler_generateOptions(base, self, ctx = None):
    # debug('CrewContextMenuHandler_generateOptions')
    if self._tankmanID:
        return base(self, ctx) + [
            self._makeSeparator(),
            self._makeItem(CREW.DROP_ALL_CREW, l10n(CREW.DROP_ALL_CREW)),
        ]
    else:
        return [
            self._makeItem(CREW.PUT_OWN_CREW, l10n(CREW.PUT_OWN_CREW)),
            self._makeSeparator(),
            self._makeItem(CREW.PUT_BEST_CREW, l10n(CREW.PUT_BEST_CREW)),
            self._makeSeparator(),
            self._makeItem(CREW.PUT_CLASS_CREW, l10n(CREW.PUT_CLASS_CREW)),
            self._makeSeparator(),
            self._makeItem(CREW.PUT_PREVIOUS_CREW, l10n(CREW.PUT_PREVIOUS_CREW)),
        ]


@registerEvent(TmenXpPanel, '_onVehicleChange')
def TmenXpPanel_onVehicleChange(self):
    #log('TmenXpPanel_onVehicleChange')
    if config.get('hangar/enableCrewAutoReturn'):
        vehicle = g_currentVehicle.item
        invID = g_currentVehicle.invID if vehicle is not None else 0
        isElite = vehicle.isElite if vehicle is not None else 0
        as_xfw_cmd(COMMANDS.AS_VEHICLE_CHANGED, invID, isElite)


@registerEvent(VehicleSelectorPopup, 'onSelectVehicles', True)
def VehicleSelectorPopup_onSelectVehicles(self, items):
    try:
        if len(items) == 1:
            cd = int(items[0])
            itemsCache = dependency.instance(IItemsCache)
            vehicle = itemsCache.items.getItemByCD(cd)
            if vehicle and vehicle.isInInventory and not (vehicle.isCrewFull or vehicle.isInBattle or vehicle.isLocked):
                if config.get('hangar/enableCrewAutoReturn'):
                    if userprefs.get(USERPREFS.AUTO_PREV_CREW + str(vehicle.invID), True):
                        wg_compat.g_instance.processReturnCrewForVehicleSelectorPopup(vehicle)
    except Exception, ex:
        err(traceback.format_exc())


#####################################################################
# Menu item handlers

def DropAllCrew(self):
    Crew.unloadCrew()


def PutOwnCrew(self):
    as_xfw_cmd(COMMANDS.AS_PUT_OWN_CREW)


def PutBestCrew(self):
    as_xfw_cmd(COMMANDS.AS_PUT_BEST_CREW)


def PutClassCrew(self):
    as_xfw_cmd(COMMANDS.AS_PUT_CLASS_CREW)


def PutPreviousCrew(self, print_message = True):
    wg_compat.g_instance.processReturnCrew(print_message)


CrewContextMenuHandler.DropAllCrew = DropAllCrew
CrewContextMenuHandler.PutOwnCrew = PutOwnCrew
CrewContextMenuHandler.PutBestCrew = PutBestCrew
CrewContextMenuHandler.PutClassCrew = PutClassCrew
CrewContextMenuHandler.PutPreviousCrew = PutPreviousCrew

    

Share this post


Link to post

Short link
Share on other sites

@fatmax10 

Цитата
  1. logs (XVM.log and Python.log files from the game folder). Before attaching the logs it is necessary to close the game.

 

18.05.2021 в 16:56, fatmax10 сказал:

can not get best crew

 

Цитата
  1. Check if there is a problem with the latest version of XVM from the official website and without any other mods.

 

Share this post


Link to post

Short link
Share on other sites

2021-05-19_13:29:46.832 | INFO    | 0x000011A0 | InprocessEventProcessor initialized
2021-05-19_13:29:46.832 | INFO    | 0x000011A0 | Event Handling working in "inprocess only" mode
2021-05-19_13:29:46.833 | INFO    | 0x000011A0 | Self crash handling enabled. Reports folder path="C:\Games\World_of_Tanks_RU\win64\Reports"
2021-05-19_13:29:46.834 | INFO    | 0x000011A0 | Monitor started, product version="03.01.00.2843", file version="03.01.00.2843", pid=19760, hw_id="7t7ih7t0-i70t-i70t-0ti7-c07t4t70i7hk", instance_id="a22c8db4-3055-461d-9c39-d0ba152398dd" OS name="Windows 10 (10.0.19042)" platform="x64" (native)
2021-05-19_13:29:46.834 | INFO    | 0x000011A0 | Superuser app id="wot_client"
2021-05-19_13:29:46.835 | INFO    | 0x000011A0 | Starting IPC server
2021-05-19_13:29:46.835 | INFO    | 0x00003214 | Report processor thread: started
2021-05-19_13:29:46.835 | INFO    | 0x000011A0 | IPC server successfully started
2021-05-19_13:29:46.836 | INFO    | 0x000011A0 | Waiting for clients to connect...
2021-05-19_13:29:46.836 | INFO    | 0x0000406C | New connection request from pid="18516", clid="1", exe="WorldOfTanks.exe" . Establishing connection... 
2021-05-19_13:29:46.837 | INFO    | 0x0000406C | Client pid="18516", clid="1", exe="WorldOfTanks.exe"  connected
2021-05-19_13:29:46.856 | INFO    | 0x0000406C | Client connected, application ID="wot_client", version="1.12.1.520 #1574265" 
2021-05-19_13:29:46.856 | INFO    | 0x000046E4 | Looking for unprocessed reports in folder="C:\Games\World_of_Tanks_RU\win64\Reports"
2021-05-19_13:29:46.856 | INFO    | 0x000046E4 | Looking for unprocessed reports in folder="C:\Games\World_of_Tanks_RU\win64\Reports"
2021-05-19_13:29:47.028 | INFO    | 0x00002F20 | Statistic event="client_connected" event_id="3296701967300" was successfully sent to the url="http://cat.wargaming.net".
2021-05-19_13:29:47.200 | INFO    | 0x00002F20 | Statistic event="client_connected" event_id="3296722871600" was successfully sent to the url="http://cat.wargaming.net".
2021-05-19_13:29:47.374 | INFO    | 0x00002F20 | Statistic event="monitor_online" event_id="3296723138400" was successfully sent to the url="http://cat.wargaming.net".
2021-05-19_13:29:48.034 | INFO    | 0x000005C0 | Config for client(clid="1") was successfully updated from the server(url="http://cat.wargaming.net"

Share this post


Link to post

Short link
Share on other sites

@fatmax10 attach (not paste) full logs (XVM.log and Python.log files from the game folder), and screenshot of your problem.

Edited by yepev

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...