Jump to content
Korean Random

Просмотр всей техники из игры Мир Танков


apostle

Recommended Posts

Всем гриба! Думал такого мода нет(точнее есть, но я думал, что он не работает), поэтому решил запариться и сделать свой. Но как оказалось такой мод есть и прекрасно работает.
Но хер с ним, пускай будет ещё один.

https://disk.yandex.ru/d/CB775Kc5ypGYSg


 

Цитата


image.thumb.png.b94533aa5be79b8d7f7b8f39db8e284c.pngimage.thumb.png.3ef9c206567e500210ddb6912f924873.pngimage.thumb.png.454dd1abc47b18c286b43bf6c7a00908.pngimage.thumb.png.a5d8fae6bba38bdbe43dd27ca7bfe4ad.png


Код, если кому интересно:
 

# -*- coding: utf-8 -*-
import BigWorld
import ResMgr
from constants import CONTENT_TYPE
from helpers import dependency
from skeletons.gui.shared.utils import IHangarSpace
from gui.shared.utils.requesters.ItemsRequester import REQ_CRITERIA
from gui.shared.event_dispatcher import showVehiclePreview

from gui.Scaleform.daapi.view.lobby.vehicle_compare.cmp_add_vehicle_popover import VehicleCompareAddVehiclePopover
import gui.shared.gui_items.vehicle_helpers as vh
from gui.shared.gui_items.Vehicle import Vehicle
import gui.miniclient as miniclient

def log(msg):
    print "[TANK_PREVIEW] %s" % msg

# --- ЛОГИКА ПАТЧЕЙ ---

def apply_patches():
    log("Applying patches...")
    
    # 1. Глобальные обходы проверок

    Vehicle.isPreviewAllowed = lambda self: True
    Vehicle.isSecret = lambda self: False
    miniclient.configure_state = lambda: None
    vh.isSecretExtendedNonInventoryVehicle = lambda cd: False
    ResMgr.activeContentType = lambda: CONTENT_TYPE.HD_TEXTURES

    # 2. Патч окна добавления техники (список всех танков)
    def patched_updateData(self, allVehicles=None):
        all_items = self.itemsCache.items.getVehicles(REQ_CRITERIA.EMPTY)
        nations, levels, classes = self._parseFilters()
        criteria = REQ_CRITERIA.EMPTY
        if nations: criteria |= REQ_CRITERIA.NATIONS(nations)
        if classes: criteria |= REQ_CRITERIA.VEHICLE.CLASSES(classes)
        if levels:  criteria |= REQ_CRITERIA.VEHICLE.LEVELS(levels)
        
        filtered_list = all_items.filter(criteria)
        result_vos = []
        for v in filtered_list.itervalues():
            vo = self._makeVehicleVOAction(v)
            vo['inHangar'] = True 
            result_vos.append(vo)
            
        self._vehDP.buildList(result_vos)
        self._updateSortField()
        self.updateAddButtonLabel()

    def patched_setVehicleSelected(self, dbID, autoClose):
        if autoClose:
            
            showVehiclePreview(int(dbID))
        else:
            
            self._vehDP.toggleSelectionByID(dbID)
            self.updateAddButtonLabel()

    VehicleCompareAddVehiclePopover.updateData = patched_updateData
    VehicleCompareAddVehiclePopover.setVehicleSelected = patched_setVehicleSelected


    
    log("All patches applied successfully.")

# --- ОБРАБОТЧИКИ СОБЫТИЙ АНГАРA ---

def onHangarSpaceCreate():
    log("Hangar space created. Patching...")
    apply_patches()

def onHangarSpaceDestroy():
    log("Hangar space destroyed.")

# --- РЕГИСТРАЦИЯ ---

try:
    hangar_space = dependency.instance(IHangarSpace)
    
    try:
        hangar_space.onSpaceCreate -= onHangarSpaceCreate
        hangar_space.onSpaceDestroy -= onHangarSpaceDestroy
    except:
        pass

    hangar_space.onSpaceCreate += onHangarSpaceCreate
    hangar_space.onSpaceDestroy += onHangarSpaceDestroy
    
    if hangar_space.spaceInited:
        onHangarSpaceCreate()
    else:
        log("Waiting for Hangar space...")

except Exception as e:
    log("Init Error: %s" % str(e))

 

apostle.PreViewTanksMt_1.0.0.mtmod

  • Upvote 3
Link to comment
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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...