Jump to content
Korean Random

John_Nash

User
  • Content Count

    64
  • Joined

  • Last visited

Everything posted by John_Nash

  1. Спасибо. Постараюсь разобраться сам, если не выйдет -- тогда. Вообще мод сам стучится на сервер каждый раз в начале боя. Но, может, гугл-аналитикс удобнее по интерфейсу. Автор, конечно, может хранить в репо что ему заблагорассудится, но... хранить там что-либо кроме исходников (точнее, то, что необходимо и достаточно для однозначного воспроизведения выполняемого кода) -- плохая идея. Прежде всего для самого автора. Это не мы придумали, а суровый опыт тысяч и тысяч программеров. Ну и здравый смысл никто не отменял.
  2. @Pavel3333 Спасибо на добром слове. Да, надо бы -- всё недосуг. В самом моде? Оно же вроде только для сайтов. Как тогда сервер узнает какой Дискордовский акк подключать? Спасибо, постараюсь заглянуть.
  3. Спасибо. Конечно, надо переделывать по уму. Чтоб два раза не вставать, отложу до момента, когда дойдут руки переходить на пакеты */wotmod. На коленке за полчаса не выходит. Минуточку -- сколько каналов связи на каждую команду? На каждую команду создаётся максимум один канал связи -- на все 15 (ну или 30) человек. И создаётся только если минимум у двух союзников в команде установлен мод. И подключён Дискорд. Зачем создавать канал, если некому говорить? Проблемы с масштабированием могут быть от большого числа игроков на виртуальном Дискорд-сервере мода. Да и то не на стороне Дискорда, а у нас. Это пока не актуально.
  4. Очень хорошо. Пока что пакета нет. Но вот res_mods/.../scripts/common/Libs -- это что за путь конкретно? Что значат /.../ ? Надо такой директорий создавать руками? Если да, то в каком месте? Как об этом месте узнает Питон в клиенте? Почему-то XVM этим не заморачивался до самого недавнего времени-- до того, как его убрали в пакеты.
  5. Не понимаю чего-то очень простого. Вот у меня есть папка WoT с клиентомтанков. Где в этой папке scripts/common/Libs? Куда мод-то складывать?
  6. Немного подправил, выложил обновлённый мод. sys.path всё же хакается, но все локальные импорты теперь явные. Спс за замечание. Окей, предположим на минутку. И какие перспективы у такого мода? Оно контрится немедленно: кто угодно пишет видео с переговорами с противниками, прикладывает реплей и шлёт в ВГ. На следующий день мод забанен. Оно нам надо? А каков выхлоп с желающих говорить с противником? Да ещё с рандомным? С ним, на минуточку, ещё договориться надо. Покажите мне аудиторию, которой это всё нужно. Это маргиналы. На них денег не сделаешь, а доброе имя потеряешь. Как бизнес-план -- провально. Да и противно. @GPCracker Спасибо за развёрнутый ответ @bigb. Респектище -- всё перечислил, и даже с горкой. Сам лучше не написал бы!
  7. Пялился на него, аки баран. Как его использовать в народном хозяйстве? Как его видно из Питона, вмонтированного в клиент игры? Это sys.path или что-то другое? Как он управляет импортом питоновских файлов модов -- с точки зрения конфликта импортов? Вообще сплошная боль. Абсолютно непрозрачно. Новая система пакетов тоже... ладно.
  8. О! Ценняк, спс. Буду разбираться. По любому, надо будет на пакетирование переходить. Это system.path для Питона, который вмотирован в клиент танков?
  9. Спасибо, догнал. Придётся накрутить лишний поддиректорий. Упаковка в фай *.wotmod решит проблему? Оно и удобнее всяко. Что-то не нашёл её в клиенте. Или её создавать в res_mods? Или в /res/? ОК, спасибо. Ну там целый зоопарк директорий. Почему-то многое в /res/, обычно вроде моды складывают в /res_mods/. Чтобы я знал, в чём там разница.
  10. @GPCracker Спасибо за подробный ответ. Надо бы, да. Можно пример -- как лучше оформить? Боялся перегрузить инфой. На сайте мода есть и скрины и детали. Прямо и не знаю, что сказать. Нормально не путаюсь :) Какие названия особо непонятные? А как грузить код? Подсмотрел такую систему у XVM. В папку со стандартными модулями -- плохая идея. Имя загрузчика да, сделаем уникальным. Так-то имя директории уникально. Update: Зашел на Гитхаб -- вотпрямсразу ничего не понял. Какой проект смотреть? Какие файлы в проекте? Да. Как только руки дойдут. Да. Заддосить сейчас ничего не стоит. Как только руки дойдут -- сделаем. Пока что юзеров почти нет. Может, этот мод вообще никому не нужен. Чего заранее вылизывать. В общем, да. Опять же -- как только руки дойдут. Ники игроков и названия танков нужны, чтобы при перемещении в канал Дискорда менять Дискордовский ник игрока на танковый + тип танка. Чтобы в Дискорде видеть, кто есть ху. Засылать для этого ники и названия танков всех 15 союзников -- да, перебор. Уже не помню, зачем это так сделали. Исправим. Согласен. В канал боя зайти было можно, но ни говорить, ни слушать -- нет. Поправил права доступа -- теперь и зайти нельзя. Пробовал сделать явные импорты, но что-то пошло не так. Ещё раз спасибо, что взял труд порыться в коде. Согласен, тут костыль на костыле, секьюрность около ноля. Ну так не факт, что оно вообще кого-то заинтересует. Заинтересует -- допилим :)
  11. Оверлей Дискорда для танков уже есть. Он сделан самим Дискордом. То есть, не специально для танков, но с танками работает. Проверено. Про TS не понял -- как оно заменит функционал мода? Виден серьёзный подход :) Отличное замечание, без шуток. Легко контрится на стороне сервера. Ну, вдруг кто-то захочет скоординироваться с союзниками в рандоме. Может же быть такое. И вообще... поделиться впечатлениями :) Зачем обычный чат? Ну и голосовой примерно для того же.
  12. 1. Танковое ID любого игрока узнать легче лёгкого кому угодно. Соответственно и сломать работу мода. Оно нам надо? 2. В смысле -- использовать TS в качестве игрового движка? Это возможно (в принципе), но как без регистрации? Как сервер мода узнает, какому танковому акку соответствует голосовой акк? Ну сорри парни, тогда голосовой клиент пришлось бы запихивать в мод. Геморроя куча, полностью интегрировать в клиент, антивирусные проверки, а выхлоп? Всё равно без регистрации не обойтись. Ну ОК, одной регистрацией меньше, зато пришлось бы прикручивать к сайту мода более замороченную регистрацию с емайлами и всеми делами. Хотя Дискорд такие вещи допускает. Но это если взлетит. И работы много.
  13. Shlemofonium: Голосовая связь для ВСЕХ союзников и пусть никто не уйдёт обиженным Картошка даже и не планирует делать общий голосовой чат. Ясный пень, боятся токсичности. Мы решили попробовать -- а ну как понравится? Добро пожаловать на сайт мода Shlemofonium.ru А токсичность? Неадекваты же набегут! Ну, есть волшебная кнопка -- замьютить собеседника. Поначалу шибко неадекватных быть не должно, потому как надо не только установить мод (разархивировать *.zip файл в папку с клиентом -- это посильно), но ещё и зарегаться в голосовом чате Discord (посложнее), потом опять зарегаться, уже на Shlemofonium.ru с верификацией и на Discord'е, и на wargaiming.net. Оно уже почти неподъёмно, а ведь перед серией турбосливов собственно игрой надо включить дискордовский клиент и зайти на виртуальный сервер мода в Дискорде. И только тогда оно заработает. Так что барьер для входа довольно высокий. Понятно, не для посетителей koreanrandom.com, но... В общем, нет худа без добра. Можно надеяться, что первое время контингент будет адекватный. Если контингент разрастётся -- появятся и ресурсы для решения вопроса. Уболтал, чёрт языкастый :) Минуточку, картошка в голосовую связь не очень, а тут кустари-одиночки замахнулись на такое? Элементарно, Ватсон Голосовой клиент не свой, а Дискордовский, а дело мода -- после начала боя поместить всех союзников (у кого мод установлен, конечно) в одну голосовую комнату на виртуальном сервере в Дискорде. Это посильно, хотя пришлось нам попыхтеть требует каждому танковому аккаунту сопоставить дискордовский. (Для того и нужна замороченная регистрация на Shlemofonium.ru) Ну и от игроков требуется довольно много -- в Дискорде зарегайся, на сайте мода зарегайся, перед игрой голосовой клиент включи, в голосовой канал мода зайди... не всякий справится :) Кстати В ранговых боях на 3-4-5 рангах не так много народу играет. Если плотно сидеть, постоянно попадаются одни и те же ники. То в союзниках, то у противников. Тут модик и сгодится :) ........................................................................................................................................... Страница регистрации на сайте мода -- с пошаговой инструкцией. Собственно мод в ZIP архиве. (Исходники, так что на вирусы не проверял, сорри.) 01.10.2017 версия 1 [0.9.20.0] 17.4Кб 20.10.2017 версия 1 [0.9.20.1] 17.4Кб Какую фичу добавлять в первую очередь? Пока планируется автооповещение о статусе клиента Дискорда после логина в клиент игры.. При логине в танки чекаем клиент Дискорда, и если не всё ОК, -- чтобы всплывало оповещение, что, мил человек, не забыл ли голосовой клиент включить-зайти на сервачок? Отключаемое, ясен пень. Или что другое? Update: Мод совместим с версией танков 9.20.1. Мод обновлён для версии WoT 9.20.1.1
  14. Спасибо -- уфф, отлегло, испугался было, что сам незаметно накосячил. Куда теперь копать, чтобы обратно заработало? Или, может, появились более легкие способы создавать окно в ангаре? Стандартная же задача. Update: нашел таки костыль, для ангара: надобно импортировать from gui.Scaleform.framework.managers.loaders import ViewLoadParams а потом заменить loadView(_alias) на loadView(ViewLoadParams(_alias, None))
  15. Кажется, пример mod_TestWindow.py с первой страницы не работает. Ничего не менял, окно в ангаре не создаётся. В лог питона вылетает ошибка 2017-09-27 16:55:03.038: ERROR: [EXCEPTION] (scripts/common/Event.py, 46): Traceback (most recent call last): File "scripts/common/Event.py", line 44, in __call__ File "res_mods\mod_TestWindow.py", line 32, in onhandleKeyEvent g_appLoader.getDefLobbyApp().loadView(_alias) File "scripts/client/gui/Scaleform/framework/application.py", line 325, in loadView File "scripts/client/gui/Scaleform/framework/managers/containers.py", line 1014, in load AttributeError: 'str' object has no attribute 'viewKey' Кроме того, при загрузке игры в логи вылетает вот такое (не факт, что имеет отношение к вопросу) 2017-09-27 16:54:41.646: WARNING: [WARNING] (scripts/client/gui/Scaleform/framework/managers/containers.py, 1213): Loading of view Hangar[0x2b04a170]=[key=ViewKey[alias=hangar, name=hangar], scope=SimpleScope[0x1bb911d0]=[scopeType=subView, parentScope=SimpleScope[0x1bb91150]=[scopeType=view, parentScope=GlobalScope[0x1bb91110]=[scopeType=global, parentScope=None]]], state=0] is requested but the container subView is still not exist!
  16. Пару дней тому начал тему, куда пытаюсь складывать кусочки информации, попадающиеся по дороге. Это сырой материал, полуфабрикат для гайда. Если бы бывалые мододелы понакидали туда ссылок на всякое, что они по сто раз объясняли новичкам, оно бы очень помогло. Потому что пока я это всё найду. Взялся бы причесать инфу в по возможности связный текст. Вообще, ценные указания: какие разделы нужно осветить, о чём не забыть. Тему можно переименовать, на усмотрение сообщества. Имхо не хватает общей картины: кто на ком стоит в самом грубом приближении. Базовая инфа, очень простая, размазана. Вообще, коллекция ссылок - зародыш гайда. В прилепленых темах коллекции ссылок нет.
  17. Точно надо? Ведь если кроме меня за не один год модостроительства оно никому не понадобилось, то, может, "народу это не нужно"? С точки зрения архитектурной правильности вопросов нет. Хозяйство у вас большое, и привести в порядок его стоит. Удивляюсь, как ваша команда работает без документации и, главное, без официальных протоколов и стандартов. Очень надеюсь, что внутри команды стандарты прописаны и формализованы. Ведь почему я столько строчу на форуме? Это ведь форма документации. Просто она получается сильно персонализированная. Для себя-то всё равно нужно протоколировать. Заодно и народу помочь. Так-то я бы взялся и более формальный гайд написать, пока из головы не вылетело. Но строго если оно вам нужно.
  18. Помилуйте, какие извинения. Наоборот, спасибо за внимание :) Попробовал с 58-й версией либпитона -- ровно те же симптомы. На всякий случай лог питона. python.log Вообще, это же круто -- значит, XFW не вполне, оказалось, автономен. Интересно же. Напомню, что для xfw.hello_world под текущий официальный клиент 9.17.0.3 всё работало, но "отдельный" XFW делал варварски, путём стирания папок в дистрибутиве XVM 6.5.4.
  19. Вообще в этой ветке речь исключительно про тестовый клиент. Собственно, заглавие про это. Установил полный XVM (XVM 6.5.5-dev (7170)) полёт нормальный, проблем нет. Тут вот какая штука. Заново перекачал репо XVM, и там используется ревизия libpython 58 (3d6cbffcc9ba). А проблемы у меня с XFW, в которой ревизия libpython другая -- 61. Сейчас попробую с 58-й. Потому что как понять, какая актуальна.
  20. Сейчас уточню... а какую именно версию XVM тестировать? Последнюю из default ветки?
  21. Тестовый мод по рецепту SkepticalFox в теме Как создать форму(Окно) в ангаре выложен тут. Правда, он не чисто питоновский, но так даже и лучше. Отчёт по встретившимся граблям.
  22. Попробовал сделать пробный мод по рецепту SkepticalFox в теме Как создать форму(Окно) в ангаре . Чойта не взлетает. Жму Ф10 -- тишина. Выложил репо проекта. Библиотеку wg_lobby.swc брал из XVM для последнего релиза 6.5.4 от 24 января. Приаттачил архив папки с файлами мода. Клиент 0.9.17.0.3, сегодня пытался. Других модов на клиенте нет -- всё снёс. Нид хелп. Update: поставил на клиент самостоятельно скомпилированный XVM 6.5.4 от 24 января. Всё работает, XVM пишет в логи как и должен. В ангаре все дела: часы, загруженность сервера, автовозврат экипажа. Лекарство: копировал питоновские .py файлы, а надо было скомпилированные -- .pyc. Заработало. Вопрос закрыт. Итить, как плохо без доков. По ходу создаю. Обновил репо, добавил скомпилированный питоновский файл. Update: если для swf скрипта брать библиотеку wg_lobby.swc из последнего релиза XFW, всё работает и на тестовом сервере, с клиентом 0.9.17.1 Common Test. 0.9.17.0.3.zip
  23. 1. Без модов клиент запускается, всё нормально, играет. 2. Установил xfw.hello_world , адаптированный для последнего релиза XFW : репо. При запуске сначала грузится, но вместо экрана логина -- чёрный экран. Курсор есть, бегает, на клики не реагирует. Удалил все моды -- опять заработало. 3. Внезапно, с установленным модом реплей благополучно проигрывается и мод на нём работает как надо. 4. Прилагаю лог питона. Чёрный экран на 9:37. Закрыл окно в 9:41. Update 5. При установке тестового мода на открытие окна по Ф10 клиент работает нормально, но мод не работает. Update 2: Выкачал последние изменения в библиотеке wot.libpython, скомпилировал XFW с ними, запустил с тестовым клиентом -- те же грабли. Лог питона прилагаю. Компилирую под Win 7 x32, а клиент тестирую под Win 7 x64. Раньше, впрочем, это ничему не мешало. python.log python-Update-2.log
  24. Заработало! Для клиента с общего теста, как и предполагал. Выложил репо. Отдельное спасибо Михаилу за сепарацию XFW. Ещё раз, почему эта сепарация важна? Можно не тащить весь огромный XVM, а только относительно небольшой XFW. При этом будет поддерживаться полная совместимость с XVM. Например, все бонусы от апдейтов XFW.
×
×
  • Create New...