Перейти к содержанию

srg91

Администраторы
  • Публикаций

    222
  • Зарегистрирован

  • Посещение

  • Победитель дней

    20

srg91 стал победителем дня 25 января

srg91 имел наиболее популярный контент!

Репутация

198 NOPer

4 Подписчика

Информация о srg91

  • Звание
    Тыква
  • День рождения 26 мая

Информация

  • Пол
    Мужчина
  • Город
    Москва
  • Интересы
    кушать, немного Python

Посетители профиля

2 257 просмотров профиля
  1. srg91

    Euro Truck Simulator 2

    @sonyvegaspro13 Привет. Прошу не флудить, а дождаться пока освободится @Xipho и всё тебе пришлет. @LIRW уже написал, что уведомил @Xipho. Наш форум - это небольшое объединение людей у который есть своя личная жизнь и мы не платим отдельным людям, чтобы они занимались мониторингом этой темы и выдавали всем трейнера. Мы их дарим. А лучший подарок - подарок долгожданный Поэтому прошу набраться терпения и подождать какое-то время.
  2. ВАЖНО! При обновлении форума пересчиталась репутация и теперь она равняется той, что вы заработали на постах / блогах / etc. Возможно кому-то что-то выдавалось руками и это могло потерятся. Если вы потеряли много репутации - напишите, мне в личку, пожалуйста, восстановим недостающее, чтобы при пересчете ничего не сбрасывалось. Вернул как было. Если вы считаете, что что-то возвращено не верно, прошу всё так же писать в личку - посмотрим, что можно сделать.
  3. Спасибо, очень похоже на то. Если я правильно понял из ответа на stackoverflow, то из-за строения array мы должны инициализировать его и одновременно инициализировать его внутренний _Ty _Elems[_Size]; И, получается, по хорошему массивы всегда должны задаваться с двумя скобками. Но при этом есть "специальное правило", которое позволяет "опускать" лишние скобки в случае инициализации агрегатов, но только с условием что это "простая" инициализация, по типу std::vector<std::array<int, 2>>. Если массив содержит что-то, что нужно дополнительно инициализировать, скобки обязательны. Поэтому собственно с array<int, 2> работает, а с array<vector..., 2> нет. Кажется что-то стало более менее понятно, спасибо большое!
  4. Ну, если очень мельком глянуть (я попытался посмотреть структуру вектора в исходниках, но у меня не получилось :)), то выглядит следующий код выглядит примерно так: vector<int> x = { 1,2,3 }; vector<int> y = { 4,5,6 }; array<vector<int>, 2> a = { x, y }; vector<array<vector<int>, 2>> r = { a }; где красное - вектора x и y, синее массив a их объединяющий и оранжевый - общий вектор r. Да, массив, судя по исходникам, является классом, но в памяти выглядит как подряд идущие объекты, поэтому вложенные в него вектора идут ровно подряд. Сам вектор похоже состоит из 4-х указателей, 3 из которых я так и не понял что, а вот второй - ссылка на текущий массив данных.
  5. Угу, веерная блокировка РКН и тут В общем прикреплю сюда, версия 3.1-final с GitHub на 8.04.2018: ILSpy_binaries_3.1.0.3652.zip
  6. Я тоже вчера попробовал посмотреть мельком-мельком. Попробовать просто включить изменение размеров окна, она так просто не дает и чуть-чуть уменьшает окно (чуть не потерял его). Но вообще - это Unity-игра, поэтому в целом можно попробовать пошурудить Assembly-CSharp.dll каким-нибудь ILSpy чтобы найти код, который работает с размером окна. Кажется его даже можно было исправить (я делал это hex-редактором), но вроде можно даже как-то на высоком уровне её пересобрать. Тут нужны эксперты по работе с Unity / C# DLL
  7. Ты не очень правильно выделил красным, красное - это вот эти два раздельных вектора: А синим действительно это инициализация массива, только почему-то с использованием агрегатного синтаксиса. Осталось понять, почему в случае если массив содержит вектора - используется агрегатный синтаксис. А если содержит числа например, то не агрегатный. Точно, а компилятор на самом деле отправляет сигнал в космос, в котором он пролетая сквозь хаскелевые экзопланеты балуется монадами и находит ответ
  8. Ну не до конца всё же. Потому что я пока еще не понимаю, почему для случая vector<array<int, 2>> v = {{1, 2}, {3, 4}}; не используется агрегатный синтаксис, а для случая что я приводил выше - используется
  9. Ну вот, ты нарисовал по 3 блока скобок. А получается нужно 4, иначе не компилируется. Если разбить на переменные то не нужно: vector<int> x = {1,2,3}; vector<int> y = {4,5,6}; array<vector<int>,2> a = {x, y}; vector<array<vector<int>,2>> r = {a}; Но тогда если раскрывать обратно, то оно не компилируется: И вот я не очень понимаю, зачем нужно писать {{{{1, 2, 3}, {4, 5, 6}}}} вместо {{{1, 2, 3}, {4, 5, 6}}} , ведь в этой записи видно 3 измерения и всё выглядит корректно.
  10. Всем привет. Возможно я просто не выспался, поэтому задаю такие глупые вопросы Потихоньку открываю для себя мир C++ и проходя курсы пишу небольшие тесты. И вот на составлении исходных данных для теста я не смог создать многомерный массив, компилятор очень ругается. Никак не возьму в толк почему. Теперь подробнее. Я создаю вектор массивов векторов и компилятор падает, хотя по мне всё выглядит правильно: vector<array<vector<int>, 2>> cases = { {{1, 5, 3, 4, 2}, {2, 4, 3, 5, 1}}, {{1, 2, 3}, {3, 2, 1}}, {{1, 2}, {2, 1}}, {{1}, {1}}, {{}, {}}, }; Чтобы компилятор не падал, пришлось добавить по скобке для каждой строки, но я в упор не понимаю зачем. Вот это компилируется: vector<array<vector<int>, 2>> cases = { {{{1, 5, 3, 4, 2}, {2, 4, 3, 5, 1}}}, {{{1, 2, 3}, {3, 2, 1}}}, {{{1, 2}, {2, 1}}}, {{{1}, {1}}}, {{{}, {}}}, }; Но тогда тут получается 4 измерения, как по мне, а не 3. Потому что если разложить по измерениям я прихожу к своей реализации: // Одномерный вектор vector<int> cases = {1, 2, 3, 4, 5}; // Превращаем его в вектор массивов vector<array<int>> cases = {{1, 2}, {3, 4}}; // Превращаем его в вектор массивов векторов (перестает компилироваться!) vector<array<vector<int>, 2>> cases = {{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}}; И вроде всё верно, три измерения, но падает с ошибкой error: could not convert '{{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}}' from '<brace-enclosed initializer list>' to 'std::vector<std::array<std::vector<int>, 2ul> >' vector<array<vector<int>, 2>> x = {{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}}; Причем по ошибке не могу нагуглить именно свой случай. Кто-нибудь сталкивался с подобным? Есть какое-то логическое объяснение, почему нужно оборачивать дополнительной скобкой? Если непонятно зачем это всё, я гоняю вот такие тестики, чисто для себя:
  11. srg91

    Python ошибка

    Супер! (про всё )
  12. srg91

    Python ошибка

    Мне кажется они не используют свою программу в windows. Они конечно написали resign.bat, но в нем точно такой же код, что и для sh-скрипта. В общем ошибка заключается в том, что в архиве, в папке plugins\firebase\tool\ лежит кривой resign.bat. Почему скрипт падает с такой странной ошибкой? Он пытается запустить resign.bat, на что русскоговорящая Windows возвращает "# не является внутренней или внешней командой...", вместо нормального ответа скрипта. Ну а он с честными глазами, не умея разговаривать кириллицей (на cp866) пытается расшифровать в этом тексте китайские символы и обламывается. Мне кажется нужно сделать несколько действий, чтобы починить проблему: Поправить питонячий скрипт (в целом можно и без этого, но вряд ли же не будет ошибок ) Исправить resign.bat Что править в питонячем скрипте. Мы ребята простые, нам этот скрипт не распространять, поэтому я предлагаю просто поменять кодировку в этом месте. Просто заменяй GB2312 на cp866, тогда весь русский текст, вываленный cmd.exe будет нормально отображаться. Как исправить resign.bat Нужно привести его к виду обычного bat-скрипта для Windows. Потому что сейчас это калька с sh-скрипта для /bin/sh. Предлагаю переписать команды из него в привычный вид bat-скрипта. Но в целом кажется оно работает и так, поэтому как в целом на свой выбор. Я, увы, не силен в этом, поэтому могу только посоветовать открыть resign.bat блокнотом и удалить лишнее (кажется сами команды для винды выглядят норм). У меня не отрабатывает из-за того, что в папке assets нет файла private.mp3 и script_registry.txt, да и самого jarsigner у меня не стоит. Если у тебя всё это есть или ты понимаешь за чем это, думаю не будет проблемы
  13. Не очень похоже, цифра меняется (причем даже близко не на 10000) и сразу после этого вылетает. Плюс весь смысл в том, чтобы досоздать нужное количество объектов не сломав TrainMe, мне кажется твоя таблица этого не делает.
  14. Не могу полноценно отвечать, потому просто домыслы без фактов Если я правильно помню, то за создание транспортного средства отвечают две функции - первая выделяет память (причем не новую, а используя буфер, который был создан в начале), а после другая функция инициализирует созданное транспортное средство. Везде прописаны if когда в зависимости от типа ТС вызываются требуемые функции. Вообще игра довольно сильно довольно сильно реверснута, есть готовые IDB. Если ты их не использовал - очень советую.
  15. Я дилетант в этом вопросе (да и проверить не где), но разве он тогда не открывает консольное окно при запуске приложения таким образом? Нет ли у C# форм параметра Visible, который можно было бы просто установить в False?
×

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.