Jump to content
Korean Random

MoD

User
  • Content Count

    101
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by MoD


  1. Just now, yepev said:

    Выдали? Напрямую, это как? У кого?

    Без имён и фамилий(с)

    Обратился к сотруднику ВГ, который попинал кого-то и в ответ выдали ключ.

     

    @reven86Я просто не поверю, что тебе некого в ВГ попинать :)


  2. 8 hours ago, yinx2002 said:

    FYI

    You can hook PlayerAvatar.updateVehicleHealth from Avatar.py

    This will give you updates for every tank's health (including yours), when it is 0 or less - tank destroyed.

    Case when health is less than 0 - it means ammo rack is blown up.

    But there is also a rare case when health is > 0, but crew is dead, but just look into this function it has everything you need


  3. Я точно знаю, что в стату могут попадать бои, которые были в песочнице(1 и 2), на ОТ...

    Т.к у меня на аккаунте показывает 59,5к боёв на основном сервере, хотя если взять все бои аккаунта на ОТ песочницах... тогда боёв примерно на 4к больше.

     

    В реальности - или кривые миграции были в БД или что-то фейлилось, биты-байтики в БД битые. 

     

    ЗЫ Как выяснил - мне в клиенте прилетало поздравление с  60к боями. Хотя на тот момент боёв было ~56k. Уточнил у ВГ - получил вот такой ответ выше

    • Upvote 1

  4. 12 minutes ago, Kurzdor said:

    @MoD просто посмотри что отдаёт R.views.battle.battle_notifier.BattleNotifierView().
    Скорее всего что str

    Там инстанс DynAccessor, c магическкой константой, и всё это радостно уходит сразу в нативный код из питона


  5. 9 minutes ago, Kurzdor said:

    @MoD Ну там лежит React, да. По поводу res_map ты копаешь в не нужные дебри. Это Unbound. Который в калябликах используется на полную. К слову, в кораблях неплохая такая документация по моддингу.
    Вот тебе пример откуда копать:
    https://github.com/StranikS-Scan/WorldOfTanks-Decompiled/blob/1ac158b6d8dd7ae64c67d5be6a6cbfe769295216/source/res/scripts/client/gui/impl/battle/battle_notifier/battle_notifier_view.py

    
    ViewSettings(R.views.battle.battle_notifier.BattleNotifierView(), ViewFlags.COMPONENT, BattleNotifierViewModel())

     

    Спаисбо, загляну.

    реакт или не реакт - пофиг. там главное лежит объект "engine" - который и является мостиком между питоном хмтл

     

    так вот в том и прикол, что надо пока раскурить, как через R.views подсунуть новые объекты


  6. 9 hours ago, Kurzdor said:

    К слову WG пишет свои компоненты на React, судя по коду на React 16.6 + TypeScript как раз.
    Но проблема этих компонентов, что они с коробки (как и большая часть всего JS) скомпиленный из ES6+ в ES5, обфусцированный и минифицирован webpack-ом.

    Тут как раз пофиг, пока курил эту кашу, там оно так работает:

    всего-то надо, чтобы подключался

    <script src="../../../../lib/vendors.js"></script>

    Это в плане хтмл, остальное оно самое делает. тут внезапно надо понять как объяснить игре, что у неё появились доп ссылки на ресурсы, то, что описано в файле res_map.json и R.views


  7. 1 hour ago, Kurzdor said:

    @MoD меня больше всего интересует как отобразить уже готовый элемент на Coherent)
    https://github.com/spoter/spoter-mods/tree/master/mod_mods_gui
    Код под защитой. HTMLь лежит туть https://github.com/spoter/spoter-mods/blob/master/mod_mods_gui/release/i18n/module_settings.html

    Из того что я понимаю - при запуске клиенте запускается сервер на localhost на порте 31338, который отдаёт статику в виде HTMLки сверху. Ну и плюс отдельное API, которое хэндлит POST запросы.

    
    var endPoint = 'http://localhost:31338';

    При клике на "Сохранить настройки" делается POST на /save к примеру. Как именно подружить внутриигровой бразуер с localhost-ом не курил.

    P.S. Вообще, хорошая идея сделать настройщик на веб технологиях. Проще и больше возможностей. Хоть до того что пиши его на React, TypeScript, блэкджеком и девушками.
    К слову WG пишет свои компоненты на React, судя по коду на React 16.6 + TypeScript как раз.
    Но проблема этих компонентов, что они с коробки (как и большая часть всего JS) скомпиленный из ES6+ в ES5, обфусцированный и минифицирован webpack-ом.

    Спасибо

    Хм, странно, через свой сервак на локалхосте я пробовал оно не работало. Но попробую со спотеровским модом


  8. 44 minutes ago, Kurzdor said:

    @MoD если ты про отображение своей HTML странички ЧИСТО В АНГАРЕ - то proof of work есть у @spoter в его ядре. На счёт боя тем более.

    А вот на счёт Coherent UI - тут вообще не понятно как с ним работать. Единственное что знаю, то что к примеру AmmunitionPanel в ангаре (либо в бою?) написан на CoherentUI, а не Флеше

    Спасибо. А можно меня носом ткнуть в этот PoC от Спотера?

    ЗЫ Я когда-то в 18м году делал мод, который такую страницу отображал, но такой метод уже не работает.

     

    ЗЗЫ Когерент - курю по чуть-чуть, там реально на нём дохрена написано уже, в res/gui.pkg там можно найти папку в которой километры окошек лежат.

    Вообще очень вероятно, что скорее всего на когеренте и буду делать, он вроде простой как угол дома. Ну а на форум - выложу акакой-то простой пример


  9. У кого-то получалось открыть в браузере локальный хтмл файлик?

    Вообще пытаюсь решить задачу - накидать достаточно сложный интерфейс, на флеше делать облом, пытаюсь найти решение, как обойтись без флеша.

    • Upvote 2

  10. Коллеги мододелы, и просто пользователи. Нужен фидбек про мод.

    Все вы знаете проблему, когда вышел из ангара и у тебя остался неполный реплей, но результаты потом просмотреть можно.

    Мод направлен на решение этой проблемы:

    1. Если вы находитесь в ангаре, и пришли результаты боя, мод пытается исправить неполный реплей и записывает полный, в файл с суффиксом _fixed
    2. Если вы были в другом бою, а старый бой закончился - вам надо просмотреть его результаты, тогда мод подхватит данные и перпакует реплей в "полный"

    Нужен фидбек, что смогло исправить, что не смогло, если хотите составить сообщение об ошибке или пожелании работы - прикрепляйте оба файла реплея (или только один) и питон.лог

     

    Как установить - закинуть в папку mods/актуальная_версия, на моммент написания это 1.17.0.1

    Вообще работать должно с любой версией клиента, которая может выйти в обозримом будущем

    mod_wb_full_replay.wotmod

    • Upvote 4

  11. 8 hours ago, Van Dark said:

    Хочу сделать, чтобы при старте боя записывались и обновлялись позиции игроков в файл построчно через некоторое время. Пробовал без vehicle.publicinfo, не работало. Пробовал заменять

    
    f.write(vehicle.position)
    
    f.write('текст') 

    - работало, но только записывалось в файл слитно 2 раза слово текст.

    В питонлоге там ошибка с твоим кодом появляется TypeError: must be string or buffer, not Math.Vector3

     

    Вообще для такого надо цеплятся к методу, который обновляет позиции игроков, кажется это updatePositions из Avatar.py

    Или если по таймеру то примерно

    import BigWorld
    from Avatar import PlayerAvatar
    
    old_startGUI = PlayerAvatar._PlayerAvatar__startGUI
    
    
    def new_startGUI(*args):
        old_startGUI(*args)
    
        BigWorld.callback(1.0, dumpPositions)
    
    
    def dumpPositions():
        f = open('./mod_test.txt', 'ab')
    
        for vehicle in BigWorld.player().vehicles:
            if vehicle.publicInfo['team'] == BigWorld.player().team:
                if vehicle is not None and vehicle.isAlive():
                    f.write("veh id: %d pos: (x: %f, y: %f, z: %f)\r\n" % (vehicle.id, vehicle.position.x, vehicle.position.y, vehicle.position.z))
        f.write("------------------\r\n")
        f.close()
        BigWorld.callback(1.0, dumpPositions)
    
    
    PlayerAvatar._PlayerAvatar__startGUI = new_startGUI
    • Upvote 1

  12. Немного некропостинга.

    Давно не открывал коллижены, и теперь коллижены не парсятся. Раньше для парсинга использовал скрипт на пхп, который радостно выдавал геометрию. Недавно, судя по всему, версия хавока изменилась. Появились новые блоки на замену старым (TSTR -> TST1, FSTR -> FST1), и судя по всему в них чутка уехал формат данных. Кто-то что-то может подсказать по этому поводу?

    • Upvote 1

  13. 4 hours ago, Kurzdor said:

    @MoD Если заработанное кол-во бон после боя есть в другом месте, то что если это кол-во бон на аккаунте до боя?
    Могу очень сильно ошибатся, чисто допускаю.

    Там вообще бинарные данные, байтики. После распаковки - смысла цифры не имеют :(

×
×
  • Create New...