Dragon armor 63 #438449 Posted August 20, 2018 Вот например. a00127 Это для дерева или типа того. 101000000000000100100111 Первый бит - упаковано. 01 - номер свойства. Тут 2 байта должно быть, индекс дерева. Остаётся 5 бит. Quote Share this post Link to post Short link Share on other sites
spoter 1,352 #438450 Posted August 20, 2018 хм. для дебага попробуй такое (самое простое, сам пользую): import traceback, sys SHOW_DEBUG = True def logHook(p__fn): def log(*args, **kwargs): try: return p__fn(*args, **kwargs) except Exception: if SHOW_DEBUG: msg = 'DEBUG[mods_gui]:\n%s.%s(' % (p__fn.__module__, p__fn.__name__) length = len(args) for text in args: length -= 1 if hasattr(text, '__module__'): text = '%s' % text.__module__ if length: msg += '%s, ' % text else: msg += '%s' % text msg += ')\n[START:]----------------\n' msg += "".join(traceback.format_exception(*sys.exc_info())) msg += '[END:]------------------' print msg return None return log @logHook def error(): print 1/0 error() Выведет что-то типа такого: <<< DEBUG[mods_gui]: <<< __main__.error() <<< [START:]---------------- <<< Traceback (most recent call last): <<< File "<string>", line 7, in log <<< File "<string>", line 29, in error <<< ZeroDivisionError: integer division or modulo by zero <<< [END:]------------------ Quote Share this post Link to post Short link Share on other sites
Dragon armor 63 #438451 Posted August 20, 2018 (edited) Или значения свойств тоже запакованы? А удалять сообщения нельзя? Edited August 20, 2018 by Dragon armor Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,420 #438452 Posted August 20, 2018 1 minute ago, Dragon armor said: А удалять сообщения нельзя? On 8/11/2018 at 4:37 PM, SkepticalFox said: @Dragon armor го нормальный чат создай, тут весьма неудобно и исходники можешь выложить, хоть некоторые довольно интересно глянуть Quote Share this post Link to post Short link Share on other sites
Mixaill 1,646 #438453 Posted August 20, 2018 (edited) 1 час назад, SkepticalFox сказал: @Dragon armor в visual studio плохо с питоном , посмотри pycharm На самом деле, всё там хорошо. Аттачилку к питону как раз все из PTVS тащут к себе. Edited August 20, 2018 by Mixaill Quote Share this post Link to post Short link Share on other sites
spoter 1,352 #438454 Posted August 20, 2018 4 минуты назад, Dragon armor сказал: Вот например. a00127 Это для дерева или типа того. 101000000000000100100111 Первый бит - упаковано. 01 - номер свойства. Тут 2 байта должно быть, индекс дерева. Остаётся 5 бит. World_of_Tanks\res\packages\scripts.pkg\scripts\common\DestructiblesCache.py def encodeFallenTree(destrID, fallYaw, fallPitchConstr, fallSpeed): params = packAngleToUint(fallYaw, 6) << 2 | max(0, min(int(fallSpeed), 3)) return encodeUint16(destrID) + encodeUint16(packAngleToUint(fallPitchConstr, 16)) + (params,) и так далее Quote Share this post Link to post Short link Share on other sites
Dragon armor 63 #438455 Posted August 20, 2018 @SkepticalFox Ясно. Позже, если что-то будет. @spoter Ошибка та же самая невнятная, только обрамление добавилось в виде [START:]/[END:] Бывают дни, когда всё не получается, как надо. Видимо, у меня сегодня такой день. Специально проверил, что путь не None, по-отдельности всё загружается, вместе тоже самое объединил, но нет, не загружу, чтобы просто поиздеваться над тобой, твой интерпретатор. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,420 #438456 Posted August 20, 2018 (edited) 4 minutes ago, Mixaill said: На самом деле, всё там хорошо. Аттачилку к питону как раз все из PTVS тащут к себе. Я на vs2015 страдал с PTVS(постоянные ошибки и вылеты из решения), перешел на VSCode Edited August 20, 2018 by SkepticalFox Quote Share this post Link to post Short link Share on other sites
Dragon armor 63 #438457 Posted August 20, 2018 @spoter Туда уже готовое попадает. Это данные от сервера, ещё не распарсенные. Quote Share this post Link to post Short link Share on other sites
Monstrofil 49 #438458 Posted August 20, 2018 (edited) 14 минут назад, Dragon armor сказал: Вот например. a00127 Это для дерева или типа того. 101000000000000100100111 Первый бит - упаковано. 01 - номер свойства. Тут 2 байта должно быть, индекс дерева. Остаётся 5 бит. Так вот без контекста сложно сказать... причешу код для корабельных реплеев и опопробую то же самое на танковых, тогда смогу сказать точно. К примеру, разбор одного из упакованных путей для изменения свойства entity.state['resources'][0]['amountByEntities'][2]. 1010 1110 0111 1110 | AE 7E + PAYLOAD len(entity) == 11 => 4 bytes for entityPropertyId 1 0101 => entityPropertyId = 5 => state len(entity.state) == 16 keys in dict => 4 bytes 1 1001 => PropertyId = 9 => resources //resources - под индексом 9 в .def файле len(entity.state['resources']) == 1 item in array => 0 bytes 1 => PropertyId = 0 => resorces[0] len(entity.state['resources'][0]) == 2 keys in dict => 1 bytes 1 1 => PropertyId = 1 => resources[0]['amountByEntities'] //amountByEntities - под индексом 1 в .def файле len(entity.state['resources'][0]['amountByEntities']) == 3 items in array => 2 bytes 1 10 => PropertyId = 2 => resources[0]['amountByEntities'][2] 0 => exit while Object by path: {'current': 0, 'max': 550, 'id': 550, 'min': 0}, len = 4 => 3 bytes 001 => 1 => current Edited August 20, 2018 by Monstrofil Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,420 #438459 Posted August 20, 2018 (edited) 2 minutes ago, Dragon armor said: @spoter Туда уже готовое попадает. Это данные от сервера, ещё не распарсенные. очевидно, что в 5 бит не запаковать столько вещественных чисел) Edited August 20, 2018 by SkepticalFox Quote Share this post Link to post Short link Share on other sites
Dragon armor 63 #438460 Posted August 20, 2018 @SkepticalFox Не могу другие IDE для сишки, кроме как VS. Привычка. Пробовал QtCreator, не то. По удобству с VS не сравнится. Можно, конечно, ещё что-то попробовать. @Monstrofil Первые биты, наверное, количество свойств, а не номер. Дальше номер идёт. Это AreaDestructibles. Хотя, не помню, надо будет разобраться, когда дойду до этого. Кстати, ты не знаешь, что за сообщение avatarUpdatePlayerDetailed? 6 float, очевидно, позиция и направление. Но меняются очень редко. После forcedPosition становятся равны ему. Ещё мне нужно со временем разобраться. Почему то, когда раунд начинается, время не идёт. Ошибка была из-за того, что в PyFloat_AsDouble попадал вектор, а не значение этого вектора, вызывалась функция PyErr_SetString(PyExc_TypeError, "a float is required"). А т.к. у меня нет проверок корректности преобразования pyObject к float, то первая же проверка PyErr_Occurred вызывала исключение, естественно, не в месте возникновения ошибки. Поэтому и указывало на странные выражения типа print. Quote Share this post Link to post Short link Share on other sites
RUS_TAHK 3 #438481 Posted August 21, 2018 В 17.07.2018 в 18:49, Dragon armor сказал: Меня очень заинтересовал этот мод. Нужен ли интернет для работы мода? Я вот мечтаю о ПВЕ режиме, чтобы он был в игре, но работал отдельно от ПВП. Чтобы именно в ПВЕ режиме я мог бы делать абсолютно всё: начислять себе ресурсы, создавать бои с ботами, играть 1 против ботов - остальное мелочи и запускать его без интернета. А вы случаем не делаете этот мод как ПВЕ режим? Quote Share this post Link to post Short link Share on other sites
Dragon armor 63 #438520 Posted August 21, 2018 @RUS_TAHK Сейчас рано что-либо писать о том, что будет. Нужно сделать минимально работающую систему, а потом уже думать, что делать дальше. Наобещать можно всего, в итоге ничего не сделать, поэтому с описанием будущих возможностей сервера повременю. И такой вопрос - а логику для ботов кто будет создавать? У меня, например, нет опыта создания ботов. Quote Share this post Link to post Short link Share on other sites
RUS_TAHK 3 #438522 Posted August 21, 2018 @Dragon armor Я не могу ответить. Никогда не был программистом. Вот в клиенте есть учебный бой, там более 15 танков - боты с этой логикой (программируемый ИИ). Я из любопыства спросил( Quote Share this post Link to post Short link Share on other sites
Dragon armor 63 #438523 Posted August 21, 2018 @RUS_TAHK Создать подобное можно. Пострелять в болванчиков иногда интересно. Но пока что всё туманно. Слишком много нужно ещё сделать. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,115 #438525 Posted August 21, 2018 Бота за бесплатно ни кто делать не возьмется, Они деньги стоят и чем он лучше, тем дороже. И это речь за тупых ботов. Quote Share this post Link to post Short link Share on other sites
RUS_TAHK 3 #438526 Posted August 21, 2018 @Dragon armor Я когда-то делал ИИ для варкрафт 3. Тоже вначале ИИ болван получился, медленно развивался, но потом за 1 месяц я его таким написал, что он тупо не давал встроенным стандартным ИИ развиваться)) в релиз ии не выпустил. Так что вначале любой ИИ будет болваном с кучей ошибок либо с низким интеллектом. Там вроде от кода зависит поведение ботов, но я не знаю, как ии написаны в других играх @StranikS_Scan Я говорю про ботов для ПВЕ режима, а не для ПВП-онлайн. Для ПВП бот должен стоить денег, чтобы программист мог хоть как-то заработать) Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,420 #438527 Posted August 21, 2018 6 minutes ago, RUS_TAHK said: варкрафт 3 это 2д игра танки же 3д, экспоненциально растет сложность 7 minutes ago, RUS_TAHK said: Я говорю про ботов для ПВЕ режима нафиг тратить время на это, это совершенно не интересно Quote Share this post Link to post Short link Share on other sites
RUS_TAHK 3 #438528 Posted August 21, 2018 @SkepticalFox он не 2д игра) а если тебе не интерестно, то это не значит что другим тоже будет не интерестно Quote Share this post Link to post Short link Share on other sites