Jump to content
Korean Random

Leaderboard

Popular Content

Showing content with the highest reputation on 03/10/2024 in all areas

  1. Никак. Миникарта это скомпилированная флэшка с фиксированным функционалом. Из питона можно только вызывать те маркеры, вызов которых предусмотрен во флэшке. Потому тут либо флэшку надо модифицировать, либо к неё что-то приинжектить. Я во флэшках не разбираюсь, потому подробностей не расскажу. Обратись к протанкам, если их заинтересует твой мод может и с флэшкой помогут. В XVM-моде вроде бы вот эти файлы отвечают за миникарту: xvm_11.0.0_0037_....zip\ lesta\mods\1.25.0.0\com.modxvm.xfw\com.modxvm.xfw.actionscript_11.0.0.0037.wotmod\ res\gui\flash\battle.swf lesta\res_mods\mods\xfw_packages\xvm_battle_minimap\python\minimap.py Однозначно забанят, если твой мод будет в реальном времени показывать игроку куда ему ехать и что ему делать, исходя из текущей обстановки в игре. И скорее всего не забанят, если твой мод будет в начале боя загружать и показывать статически некие рекомендации игроку, основанные на анализе ранее собранных данных. На первых порах можно просто сделать рабочий колхоз, путем вызова стандартных маркеров. Вот есть два красивых маркера, это зеленая лампочка и оранжевый треугольник : Код вот такой: import BigWorld from gui.shared.personality import ServicesLocator from account_helpers.AccountSettings import AccountSettings from gui.Scaleform.daapi.view.battle.shared.minimap import settings, plugins from gui.Scaleform.genConsts.BATTLE_VIEW_ALIASES import BATTLE_VIEW_ALIASES from frameworks.wulf import WindowLayer from Math import Matrix, Vector3, createTranslationMatrix def __calcMarkerScale(self, markerScales, minimapSizeIndex): p = float(minimapSizeIndex - plugins._MINIMAP_MIN_SCALE_INDEX) / float(plugins._MINIMAP_MAX_SCALE_INDEX - plugins._MINIMAP_MIN_SCALE_INDEX) return p * markerScales[0] + (1 - p) * markerScales[1] #Параметры карты boundingBox = BigWorld.player().arena.arenaType.boundingBox x_min, y_min = boundingBox[0] x_max, y_max = boundingBox[1] __mapSize = [abs(x_max - x_min), abs(y_max - y_min)] #Миникарта battle = ServicesLocator.appLoader.getDefBattleApp() __minimap = battle.containerManager.getContainer(WindowLayer.VIEW).getView().components[BATTLE_VIEW_ALIASES.MINIMAP] #Выведем маркер по ценру карты markerPos = (0,0,0) markerType = settings.ENTRY_SYMBOL_NAME.LOCATION_MARKER #Зеленая лампочка #settings.ENTRY_SYMBOL_NAME.ATTENTION_MARKER #Оранжевый треугольник markerEffect = 'reply' #белое свечение внутри #'idle' свечение только контура markerScales = [0.8,1.1] markerOffset = [0,0] #Масштаб маркеров minimapSizeIndex = settings.clampMinimapSizeIndex(AccountSettings.getSettings('minimapSize')) currentScale = __calcMarkerScale(markerScales, minimapSizeIndex) #Формируем матрицы scaleMatrix = Matrix() scaleMatrix.setScale(Vector3(currentScale, 1.0, currentScale)) #Смещение определяется от верхнего левого угла маркера до кончика стрелки и выражается в долях от длины и высоты миникарты, мм #масштаб миникарты при этом не влияет entryMatrix = createTranslationMatrix(markerPos + Vector3(markerOffset[0]*__mapSize[0]*currentScale, 0, markerOffset[1]*__mapSize[1]*currentScale)) entryMatrix.preMultiply(scaleMatrix) __handle = __minimap.addEntry(markerType, settings.CONTAINER_NAME.ICONS, matrix=entryMatrix, active=True, transformProps=settings.TRANSFORM_FLAG.FULL) __minimap.invoke(__handle, 'setState', markerEffect) #Удаляем маркер __minimap.delEntry(__handle)
    2 points
  2. Твоё сообщение тоже полное говно, не вижу смысла тебе помогать)
    2 points
  3. Я бы копал в сторону того как в XVM реализовано рисование точек и стрелочек на карте (кейворд: XMQP). Заодно чтобы сразу понимать, как сделать всё совместимым с XVM.
    1 point
  4. А динамически нужно, тк хочу несколько раз за бой менять позиции в зависимости от таймера. В начале показывать позиции актуальные на первые 2-3 минуты, потом на 4-6 (там появляются позиции для дефа) Хорошо видно на степях, хотя сами тепловые карты пока прототип
    1 point
  5. Я понимаю, что делать за меня никто ничего не будет, но если вдруг кто нибудь верит в коммерческую успешность, и хочет продавать его вместе со мной, то я готов взять в долю. Я хочу продавать такую штуку по подписке, и верю, что покупатели найдутся. Я попробовал сам, строил позиции вручную во время отсчёта, и оно сильно помогает, особенно когда я года три не играл. А ВГ (леста) не должны забанить, если продвигать это под лозунгом "поможем старым игрокам адаптироваться в игре" Основаная идея в том, что позиции могут строиться для конкретного танка, а если данных мало, то для роли/класса/уровня. А ещё позиции обновляются динамически, и если случится новая мета, вручную перерисовывать их не придётся, а значит легко поддерживать будет потом. Очень многие игроки хотят такой мод.
    1 point
  6. Про равно чуть позже гляну, выглядит действительно красивее Это так. Там мод добавили в модпак Jove, на удивление, я в этом вообще не замешан, они сами. Так что последние два дня экстренно исправляю все редкие ошибки. Сейчас уже 3к уникальных игроков
    1 point
×
×
  • Create New...