Jump to content
Korean Random

GPCracker

User
  • Content Count

    2799
  • Joined

  • Last visited

  • Days Won

    61

GPCracker last won the day on April 25

GPCracker had the most liked content!

Community Reputation

2047 ⭐⭐⭐⭐⭐

3 Followers

About GPCracker

  • Rank
    Piranhas Team
  • Birthday 11/05/1994

Basic information

  • Gender
    Мужчина
  • City
    Москва
  • Interests
    Схемотехника, программирование и телекоммуникации.

Recent Profile Visitors

23995 profile views
  1. Координаты элементов интерфейса, создаваемых картошкой, прописаны, как несложно догадаться, в коде у картошки, а не в коде модификации, подменяющей локализацию. Если более конкретно, то с вероятностью 98% подобные параметры жестко прописаны в swf-файлах игры, где конкретно, сказать затрудняюсь, я в ангарном интерфейсе не разбираюсь от слова совсем, к тому же относительно недавно в игру еще и новый фреймворк завезли, а у меня все никак не найдется времени чтобы толком разобраться, что это за зверь, и с чем его едят. Так что конкретики, что и где нужно копать, я подкинуть, увы, не могу. И даже не каждая цитата означает, что автор сообщения обращается к автору цитируемого. Задавать не-личные вопросы, ответы на которые, к тому же, могут быть полезны не только вам, конкретному человеку (особенно делать это через систему личных сообщений), мягко говоря, немного некорректно. Форумы, собственно, для того и существуют, чтобы не отвечать по 100500 раз на один и тот же вопрос.
  2. Он бы потерял необходимость еще со времен ввода пакетов, если бы картошка нормально шевелилась - достаточно добавить в meta.xml секцию supported-client-versions, плюс supported-client-versions-api для html-запроса на сервер мододела (у кого он есть), ответ текстовый - json/xml, категории задаются по версии модификации, клиент выбирает ту, что в meta.xml проставлена, внутри список поддерживаемых версий (клиент ищет свою) - нашел в статичном списке или в api - грузим, не нашел - кидаем уведомление в ангар и в логи, что такой-то мод неплохо бы обновить, ну или пнуть автора, чтобы в репозитории файлик совместимости обновил, если ему ничего реально не поломали. И все ровно будет. Разместить файлик для api можно и на гитхабе, есть еще github.io, правда не разбирался толком, как оно работает.
  3. The GUI currently is an adiitional module for diplaying modification core status and useful information. Disabling it does not affect functionality, however doing that makes feature (or rather, aiming correction and target scanner) status control real hard for low-experienced users (graphical interface helps you understand what is going on inside the mod). All panels relate to graphical interface (it is obvious, though) and are configured through gui.xml you mentioned. Changing this file you can hide specific panels in certain aiming mode using visibility parameter, or just disable whole module if you don't need any interface at all. TLDR: You are asking your question the wrong way because you do not understand the whole stuff happens inside the game and the modification. And this stuff is really complicated to explain it in a few words. However, if it was so simple there would not be any reason for developing such a complicated modification either. The first thing you have to understand before you continue reading this is that "aiming" and "gun marker" are very different things and they are not interconnected directly. Aiming is a thing you do, but gun marker is a computer-calculated stuff. So, when you are aiming at something aiming system emits an invisible scanning ray. Just imagine that you are wearing an aircraft pilot helmet with the aiming marker (crosshair) on its visor and your head is moved by your mouse, like you do it in the game. Then the scanning ray is an infrared (invisible) beam of light emitted by an invisible laser pointer attached to the visor at the center of the aiming marker, with the beam oriented along your look so you see (however, you are actually not seeing anything, all that stuff is invisible to you) it like dot, not like a line. And when this laser beam (the aiming system scanning ray) hits something not transparent (hard objects that could affect the projectile) it creates an invisible laser dot (the aiming point) that could be seen by you (this stuff is still invisible though) as a dot in the middle of the aiming marker. The main problem here is that you can not evaluate the distance to the laser dot (the aiming point) without a second eye (you have no "second eye" in the game), no matter how far or close the target is located to you, there is always a dot in the middle of the aiming marker. In the game language, you can not evaluate how far you are actually aiming without special information panel showing you the aiming distance. The second problem is that the game client can not take invisible vehicles into account, nor fast-moving vehicles at their forecasted positions, so this stuff is successfully ignored and the aiming point will be far beyond the real target being placed on the map border, sky boxes, cliffs or stuff like that and, what is important, you will not even notice this (but you are going to shoot the target, not the sky boxes, so the aiming correction fixes this issue by shifting the aiming point along the scanning ray to the place you need it be). But the projectile trajectory is not a straight line, it is parabolic, so it is required to rise the tank's gun to shoot far targets and lower it for closer targets, and this process, unlike shifting of the aiming point, is not instant, it takes some time. So, at the time the aiming correction is actually activated (or deactivated) the aiming point is instantly moved to a certain distance from the player's tank, ignoring any obstacles or their absence (or is instantly returned to "normal" placement), but, as it was mentioned before, you are not even notice this, because the aiming point still stays in the middle of the aiming marker. But if the aiming distance is changed significantly it will take some time for the tank's gun to adapt to the changes. This is an important thing you should always keep in mind. How all this affects the gun marker? Simple enough. All you need is just to clearly understand that the gun marker is a computer-calculated stuff. It does not affect the aiming in any ways. The gun marker is just a screen-plane projection of an expected hit point of the projectile you are about to fire, calculated by a special ballistic hit test algorithm using current gun orientation, not the place you are aiming at. In other words, the gun marker calculation algorithm tries to calculate the expected parabolic trajectory of the projectile you are about to fire (if you fire it immediately with the current gun state) scanning for material objects (objects that could affect the projectile) or vehicles along that trajectory, aborting the test on any of that stuff and returning a hit point that exactly will be a gun marker position. But remember about invisible and fast-moving vehicles - this stuff is not accounted, so the ballistic hit test continues until the next "hard" object, causing the "gun marker fall down (or lasting dropping)" occurring all along the aiming correction is applied and the aiming point is not on a hard (accountable) object. This "dropping" is being fixed by "aim correction gun marker fix" plug-in (you can find the source code here) by the mean of forced interrupt of the ballistic hit test when it overcomes the distance to the aiming point, like there is an invisible but "hard" (emulated) wall. It is a some kind of a programming crutch though but it works quite fine. The problem with that fix is that there is no "smart" way to deploy it in the game code, so it is done the hard way (by a full override of a method, if it means something to you). This approach causes "stability issues" when the game updates, it means that the fix source code becomes outdated and has to be adapted to the game updates sometimes more often than anything else, so the fix is often has to be disabled due to errors in the game log until it will be fixed by me or somebody else who knows how to do it. I am not happy about this annoying stuff too but there is really no "smart" ways anyway. Returning to "gun marker lasting dropping" problem, it is also worth mentioning that the almost same stuff happens when the player uses the aiming correction on a far target, but there is a hard object covering it just in front of the player - this situation causes "gun marker lasting rising", that stuff is not fixed (and could not be fixed because of reasons obvious enough) by the plug-in mentioned before. A little earlier it was mentioned about the tank's gun adaptation to the aiming distance changes, remember? Now, when it is clear about what the gun marker is, this stuff obtains another important meaning. When the gun marker fix (that is implemented by the plug-in) is not applied, significant changes in the aiming distance just cause smooth vertical shifting of the gun marker. At the same time, while the fix is active, the gun marker stays in the middle of the aiming marker all the time the tank's gun is stable (not moving). But at the moment the aiming distance changes, causing the tank's gun to adapt to the new aiming point, the gun marker forced interrupt distance is also (simultaneously) changed, and the gun marker instantly jumps up (when the aiming distance reduces) or down (when the aiming distance increases) then smoothly returns to the previous position (in the middle of the aiming marker). This stuff is often called "gun marker bouncing" and it could not be fixed, and should not be, because it shows the adaptation of the tank's gun to the aiming distance changes, while you should wait until the gun is stable before making a shot. #gun-marker #reticle #bouncing #jumping #dropping #aiming-correction #distance-correction #aiming-distance #aiming-point #faq P.S. It took more than two hours to type that message and I really hope it is now clear enough what happens in the game and what the modification really does.
  4. В принципе подобный финт ушами можно и самому провернуть. ActionScript это, конечно, не питон, но monkey-patch там тоже вполне осуществимая штука. Создаешь себе флешку (она нужна чисто как оболочка для загрузки кода), пилишь код, который будет в реалтайме заменять "неправильные" текстовые поля на "правильные", ну или текст в них правильно прописывать, если там проблема связана с использованием "неправильного" атрибута. При помощи весьма нетривиальных финтов ушами добавляешь себе козырный метод в DAAPI и пинаешь его из питона в самый подходящий момент. Заинтересованные: @spoter, @Polyacov_Yury
  5. Не приходится, а ПОЛУЧАЕТСЯ. Причины всем и так давным-давно известны, не вижу смысла их тут дублировать. Да все будет на порядок проще - кто-то из мододелов (самый ленивый из всех энтузиастов) психанет и напишет специальный загрузчик, который не будет отламываться новой папкой (папка res или батник-прослойка для запуска exe) и будет перемещать/копировать пакеты из старого микропатча в новый, как следствие весь этот хитрый механизм по отключению модификаций (смена папки) просто помножится на ноль. А в шапках тем вместо конкретных версий будут звездочки указывать, как это многие делали раньше. Особо ответственные товарищи будут использовать условный старт, проверяя совместимость через свой сервер или специальный файл в репозитории.
  6. Подозреваю, что таких каждый второй мододел, если не каждый первый. В таком случае полагаю, что армия мододелов понесет весьма большие потери. Не знаю, как вам, товарищи, а лично я не намерен, извините меня за мой русский, е***ься с чем-то, что не встает на комп путем копипаста папки и не запускается в два клика. Не говоря уже про всякую перманентно висящую в памяти хрень, жрущую трафик и ресурсы системы в дежурном режиме.
  7. Тебе нужно спокойно заниматься курсачом - моды никуда не денутся, а вот из университета за неуспеваемость отчислить могут.
  8. Все полезные модификации рано или поздно будут попадать в этот список, так как всякий полезный мод дает преимущество (пусть и незначительное, или не совсем очевидное), ибо в противном случае в чем тогда его польза? А бесполезные... какой смысл тогда их устанавливать (и разрабатывать, кстати, тоже), если пользы от них нет никакой? Ваш КО.
  9. В скриптах, скорее всего в питоне. К текстовым файлам это не имеет абсолютно никакого отношения. Если сам в скриптах не разбираешься, то стучись к мододелам, занимающимся мелкими скриптовыми модами, может быть и помогут, может быть и не бесплатно. Ну или сразу в раздел платных заказов, если готов финансировать разработку.
  10. Обновление шапки в планах уже довольно давно, ее неплохо бы вообще полностью переписать с нуля, только вот все никак руки не доходят. Все моменты, которые нужно "закрепить", по-нормальному нужно не в шапку пихать, а в отдельный пост-оглавление, потому как редактирование сложных сообщений на форуме работает не всегда корректно, форматирование иногда "плывет" (с подобными косяками, само собой, воюют, но как известно, в сложном и интенсивно развивающемся проекте все косяки победить невозможно). Вообще, для подобных вещей в серьезных темах делается второй резервный пост, который потом по мере необходимости можно заполнять различного рода вспомогательной информацией типа частых вопросов, полезных ссылок, инструкций. Обычно подобный финт ушами (резервный пост) делается еще на стадии подготовки темы к публикации в персональном разделе, но в том далеком году я еще был не в курсе всех этих мелких моментов, а в настоящее время... я довольно сильно сомневаюсь, что движок форума будет сейчас и в дальнейшем без косяков обрабатывать тему, в которой пост с большим идентификатором (у каждого сообщения на форуме есть свой уникальный идентификатор, если кто не в курсе) запихнут между постов с численно меньшими идентификаторами. Размещать оглавление где-то на 200+ странице тоже не круто. Да и информация имеет способность устаревать. Порой с комментариями, расположенными непосредственно в коде, бывают казусы по принципу "код существенно изменил, комментарии обновить забыл", а тут просят документацию актуальной поддерживать. В этом плане гораздо эффективнее обеспечивать нормальное индексирование сообщений, содержащих элементы документации, чтобы можно было с помощью поиска по теме находить нужное, нежели сопровождать список частых вопросов, и вместо оглавления запихнуть список того, какие вещи по каким ключевым словам искать. Кстати, именно для этих целей изначально и были придуманы хештеги (осталось только научиться не забывать ими пользоваться). В принципе оно конечно и так нормально ищется по правильным ключевым словам, однако в русском языке есть такая штука как падежи (в английском этой проблемы нет, если что), и движок форума до сих пор не научился нормально отождествлять слова в разных падежах, если явным образом не указано, что искать нужно именно эту форму слова или фразу (в google для этих целей используются кавычки). В общем, пользуйтесь поиском по теме - его результаты будут максимально актуальными в любом случае. P.S. А все-таки идея заменить классический FAQ на список хештегов для поиска вполне себе годная, дешево и сердито, как говорится.
  11. Все дело в том, что в той сборке в пакете изначально в качестве основного выставлен англоязычный файл локализации. И существует только два пути решения проблемы - либо заменить файл непосредственно в пакете, но для этого пакет придется перепаковывать, что далеко не у всех и далеко не с первого раза получается сделать, либо просто разместить файл в res_mods, там ничего паковать не требуется. По факту здесь ничего сложного нет, открыть основной пакет модификации архиватором, извлечь файл res/text/lc_messages/ru-RU/AdvancedAimingSystem.mo и положить его в res_mods/<актуальный-патч>/text/lc_messages/AdvancedAimingSystem.mo. Английская локализация лежит в en-US, если кто еще не догадался, модификация же загружает локализацию из файла res/text/lc_messages/AdvancedAimingSystem.mo. Редактирование файлов локализации описано здесь (если кому-то нужно изменить сам текст, его размер, цвет, etc). Немного о том, как это все работает. За доступ к файлам в игре отвечает менеджер ресурсов (он же ResMgr). Модификация запрашивает файл text/lc_messages/AdvancedAimingSystem.mo, менеджер ресурсов ищет этот файл согласно списку директорий, прописанному в файле paths.xml (ключевое слово для поиска подробностей) в корневой папке клиента игры, и возвращает первый найденный файл. #локализация #сменить-язык #перевести-на-русский #перевести-на-английский #частые-вопросы #faq P.S. Честно говоря, мне порядком поднадоело отвечать на одни и те же вопросы. Оставлю это здесь, чтобы было куда посылать :) P.P.S. Перед тем, как задавать вопросы, пользуйтесь поиском по теме. На большую часть вопросов уже отвечали, и не по одному разу.
  12. Обсуждалось на предыдущей странице. Неужели так сложно прочитать последние несколько страниц темы?
  13. В результате чего весь смысл идеи идет по известному маршруту. Хотя возможно это стоит расценивать как решение в стиле "мы сделаем так, чтобы удовлетворить ваши требования, абсолютно не удовлетворяя ваших требований". Чтобы потом на все претензии нагло заявлять "мы же сделали то, что вы хотели, чего вы еще хотите". Короче, картошка - это такая мифическая сущность, сначала охреневаешь от происходящего, а потом угораешь от предсказуемости :)
  14. И правда. Давно уже говорил, и еще раз повторю, что премодерацию нужно убирать. По крайней мере при публикации обновлений, а также при первичном размещении модификаций авторами, которые на этом "рынке" уже давно, и в разработке и публикации т.н. "читов" замечены не были. Но это же картошка, ёпт. Скорее Луна на Землю упадет, чем картошка прислушается к народу и сделает как надо, а не как всегда.
  15. Ошибка при загрузке модификации, потому и не работает. Эта проблема уже обсуждалась ранее. 2019-04-03 19:20:15.926: ERROR: Traceback (most recent call last): 2019-04-03 19:20:15.926: ERROR: File "HookUtils.py", line 59, in __call__ 2019-04-03 19:20:15.927: ERROR: File "HookUtils.py", line 180, in doStaticMethodHook 2019-04-03 19:20:15.927: ERROR: AttributeError: 'module' object has no attribute 'start' Чуть выше выкладывался хотфикс, исправляющий данную проблему.
×