Jump to content
Korean Random

sl101

User
  • Content Count

    10
  • Joined

  • Last visited

Community Reputation

3 Noob
  1. Надоело тыкать в кнопки, когда все остальное собирается скриптами на питоне. Прикрутил к CCAtlas командную строку (спасибо автору за выложенные исходники). В паскале не силен, поэтому только необходимый минимум. procedure TFormMain.FormShow(Sender: TObject); begin if ParamCount = 2 then begin if ParamStr(1) = 'split' then begin EditNameAtlas.Text:= ParamStr(2); BtnCutAtlas.OnClick(BtnCutAtlas); Close(); end; if ParamStr(1) = 'join' then begin EditDirFiles.Text:= ParamStr(2); BtnCreateAtlas.OnClick(BtnCreateAtlas); Close(); end; end; end; EXEшник не дам. Кому нужна командная строка - пинайте автора, он это сделает правильно и красиво :)
  2. EXE 380KB плюс несколько мегабайт DLL и BPL без которых он на другом компе не запустится. А если влинковать все необходимое в EXEшник (снять галки Build with runtime packages и Use dynamic RTL) - то размер EXEшника начинается от мегабайта. И, таки да, дельфи - нифига не торт и никогда им не был, ибо паскаль. Билдер торт.
  3. Health = {} Vehicle_onEnterWorld(self, prereqs): newHealth = max(self.health, 0) Health[self.id] = newHealth Vehicle_onHealthChanged(self, newHealth, attackerID, attackReasonID): newHealth = max(newHealth, 0) Damage = Health[self.id] - newHealth print 'Damage = ', Damage Health[self.id] = newHealth И, таки да, на всей карте - нельзя. Только в круге отрисовки (565 метров).
  4. Спасибо! Работает. Там есть готовый класс FunctionalShowMarker, который обслуживает 'eye' и 'arrow'. Дистанцию обновляет, анимацию обеспечивает. Два дня потратил, но так и не понял как и откуда его дергать без участия tutorial'а.
  5. Как рисовать маркеры с обратным отсчетом ('artillery' и 'bomber') - разобрался быстро. Надо выдернуть нужный из vehicles.g_cache.equipments()[] и нарисовать его с помощью g_sessionProvider.shared.equipments.showMarker() А вот как нарисовать маркеры с индикатором расстояния ('arrow' и 'eye' (стрелочка и глаз из обучения)) ?
  6. А есть возможность узнать в бою количество отметок на стволе для не светившихся танков? Для засвеченных - легко: BigWorld.entity(VehicleID).publicInfo['marksOnGun'], но надо для всех, в том числе и не светившихся.
  7. Да, спасибо. Я вчера весь день курочил компоненты BattleEntry и таки добрался до ArenaVehiclesPlugin и его VehicleEntry this.isVisible = this.isPlayer or g_AppLoader.getDefBattleApp().containerManager.getContainer(ViewTypes.VIEW).getView().components[BATTLE_VIEW_ALIASES.MINIMAP].getPlugin('vehicles')._entries[VehicleID].isInAoI()
  8. А можно вот так: from gui.battle_control.arena_info import vos_collections from gui.battle_control import g_sessionProvider as g_BattleSessionProvider isEnemy = True #или False ArenaDP = g_BattleSessionProvider.getArenaDP() SortKey = vos_collections.VehicleInfoSortKey if isEnemy: collection = vos_collections.EnemyItemsCollection(sortKey=SortKey) else: collection = vos_collections.AllyItemsCollection(sortKey=SortKey) for Index, (vInfoVO, vStatsVO) in enumerate(collection.iterator(ArenaDP)): print Index, vInfoVO.vehicleID Получим список танков в том порядке, в котором они идут в ушах. И дальше, зная vehicleID, более подробная информация: BigWorld.player().arena.vehicles[VehicleID] И для засвеченных - еще более подробная: BigWorld.entity(VehicleID)
  9. Раньше было просто: g_AppLoader.getDefBattleApp().minimap._Minimap__entries Сейчас до миникарты добрался: g_appLoader.getDefBattleApp().containerManager.getContainer(ViewTypes.VIEW).getView().components[bATTLE_VIEW_ALIASES.MINIMAP] но как добыть список vehicleIDов - не понимаю, нет его там теперь.
×
×
  • Create New...