-
Постов
289 -
Зарегистрирован
-
Победитель дней
22
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные srg91
-
-
Еще наверное может вот эту посмотреть:
-
Я не правильно понял направление разговора, в котором шла тема, поэтому перенес.
Окей, я тогда перенесу обратно и удалю лишние сообщения, чтобы не смущать людей.
-
Вот сколько живу, никак не пойму, почему нельзя воспользоваться поиском по форуму. Тема находится по буквально двум словам из заголовка:
Ответ есть в видео в конце темы. Эту тему закрываю.
- 1
-
43 минуты назад, Alexey594 сказал:
Вы же кстати админ
СпойлерЯ не настоящий админ, у меня лапки
Это не очень похоже на запрос, плюс запросы без оплаты труда не доступны без заслуг перед форумом.
Перенес в общение, мы же просто обсуждаем возможность портирования.
Ох, я понял что неправильно прочитал тему, думал стоит вопрос портирования с Windows на Linux ?♂️
Боюсь тут я еще больший чайник, чем вы.
Правда судя по описанию драйвера для Linux они подразумевают возможность будущего портирования на Windows / OS X если найдется знающий человек.
Возможно и правда есть такая возможность ?♂️
-
21 минуту назад, Alexey594 сказал:
Пользователям SteamController нужна такая прога на Windows. Т.к. steam часто нагружает комп со своим оверлеем, и BP.
Я просто мимо-крокодил со стим-контроллером.
Мне казалось, что steam controller - это обычное xinput устройство и скорее всего его можно настроить руками. Без GUI конечно, но для начала кажется очень даже не плохо, если заработает.
Кажется здесь есть что-то интересное: https://wiki.archlinux.org/index.php/Gamepad_(Русский)
-
15 минут назад, partoftheworlD сказал:
Я не помню как на русском это слово правильно пишется, так что если что-то не так, то виноват гугл.?
На самом деле вполне нормальное название, просто не сдержался, извините.
В целом полное название звучит как "член класса", можно так же использовать слова типа: поле, атрибут.
Подробнее про m_: https://ru.wikipedia.org/wiki/Венгерская_нотация
- 1
-
4 минуты назад, partoftheworlD сказал:
m_ член
m_i член с типом int
m_h член с типом handle
m_v член с типом vector
m_f член с типом float
Спойлер -
Я уже решал подобную задачу, результат можно увидеть в этой теме:
-
9 минут назад, Stigmaer сказал:
МНЕ это по горло надо!!!!!!!!!!!!!!!!!!!!!!!!!!!
Заранее благодарю за понимание.
Для начала очень рекомендую Феназепам
11 минут назад, Stigmaer сказал:мне очень нужен полный список этих опкодов
В CheatEngine есть встроенная справка. Увы под рукой нет CE, поэтому не вспомню надо жать F1 или выбирать меню Help.
Дополнительно можешь ознакомиться с вики:
- https://wiki.cheatengine.org/index.php?title=Main_Page
- https://wiki.cheatengine.org/index.php?title=Assembler:Commands
- https://wiki.cheatengine.org/index.php?title=Cheat_Engine:Auto_Assembler
- 1
-
8 минут назад, MasterGH сказал:
Запустил
Да, супер, отработало как нужно - версия запускаемого питона - 3.5.3;
В общем запускает его сам AirtestIDE, но как я и говорил встроенный в него Python не умеет в asyncio (но я не разбирался подробно, возможно я не прав).
Да и рекоммендуют они использовать синтаксис Python 2.7: http://airtest.netease.com/docs/docs_AirtestIDE-en_US/3_faq/script_related_faqs.html?highlight=python#which-python-version-is-supported
Но! Насколько я вижу по тому что FAQ, можно запускать скрипты через отдельно установленный Python:
- http://airtest.netease.com/docs/docs_AirtestIDE-en_US/3_faq/script_related_faqs.html?highlight=python#how-to-use-a-command-line-to-run-a-script
- http://airtest.netease.com/docs/docs_AirtestIDE-en_US/1_online_help/before_you_start.html?highlight=python
Поэтому можно попробовать поставить обычный Python, проверить что в нём работает asyncio, доустановить нужные AirtestIDE модули и указать его как основной для AirtestIDE.
Если ты готов, то можем попробовать сделать это так )
- 1
-
4 минуты назад, MasterGH сказал:
Команду я не знаю как найти. Запуск через кнопку, как обычно. Скриншот
Ответить смогу только завтра, надо отойти
Можно попробовать вот так запустить, тогда он почти точно выведет что запускается:
import sys message = 'Executable: {}\nVersion: {}'.format(sys.executable, sys.version) raise Exception(message)
Единственное, судя по всему это некий встраиваемый питон, я не уверен что у него будут доступны все модули, которые имеет оригинальный.
Поэтому возможно он просто не поддерживает корутины.
Напомни, пожалуйста, где взять приложение через которое ты запускаешь? Чтобы можно было руками потыкать.
-
15 минут назад, MasterGH сказал:
Привет. Запустил. Логи
Не очень понимаю как ты запускаешь. Ты не мог бы найти команду, которой запускается твой скрипт?
Можно попробовать сделать что-то подобное:
import sys raise Exception(sys.executable)
-
Привет. Запусти, пожалуйста, следующий код, чтобы узнать версию твоего питона:
import sys print(sys.version)
-
-
ВАЖНО!При обновлении форума пересчиталась репутация и теперь она равняется той, что вы заработали на постах / блогах / etc.Возможно кому-то что-то выдавалось руками и это могло потерятся. Если вы потеряли много репутации - напишите, мне в личку, пожалуйста, восстановим недостающее, чтобы при пересчете ничего не сбрасывалось.Вернул как было. Если вы считаете, что что-то возвращено не верно, прошу всё так же писать в личку - посмотрим, что можно сделать.
-
15 минут назад, X86Jumps сказал:
вот тут про это говорится
Спасибо, очень похоже на то. Если я правильно понял из ответа на stackoverflow, то из-за строения array мы должны инициализировать его и одновременно инициализировать его внутренний _Ty _Elems[_Size];
И, получается, по хорошему массивы всегда должны задаваться с двумя скобками.
Но при этом есть "специальное правило", которое позволяет "опускать" лишние скобки в случае инициализации агрегатов, но только с условием что это "простая" инициализация, по типу std::vector<std::array<int, 2>>. Если массив содержит что-то, что нужно дополнительно инициализировать, скобки обязательны.
Поэтому собственно с array<int, 2> работает, а с array<vector..., 2> нет.
Кажется что-то стало более менее понятно, спасибо большое!
- 1
-
2 часа назад, MasterGH сказал:
если есть возможность
Ну, если очень мельком глянуть (я попытался посмотреть структуру вектора в исходниках, но у меня не получилось :)), то выглядит следующий код выглядит примерно так:
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 из которых я так и не понял что, а вот второй - ссылка на текущий массив данных.
- 1
-
2 минуты назад, DieVis сказал:
А где можно скачать? на гитхаб не получается.
Угу, веерная блокировка РКН и тут
В общем прикреплю сюда, версия 3.1-final с GitHub на 8.04.2018: ILSpy_binaries_3.1.0.3652.zip
-
Я тоже вчера попробовал посмотреть мельком-мельком.
Попробовать просто включить изменение размеров окна, она так просто не дает и чуть-чуть уменьшает окно (чуть не потерял его).
Но вообще - это Unity-игра, поэтому в целом можно попробовать пошурудить Assembly-CSharp.dll каким-нибудь ILSpy чтобы найти код, который работает с размером окна.
Кажется его даже можно было исправить (я делал это hex-редактором), но вроде можно даже как-то на высоком уровне её пересобрать.
Тут нужны эксперты по работе с Unity / C# DLL
-
1 минуту назад, MasterGH сказал:
Предполагаю
Ты не очень правильно выделил красным, красное - это вот эти два раздельных вектора:
СпойлерА синим действительно это инициализация массива, только почему-то с использованием агрегатного синтаксиса. Осталось понять, почему в случае если массив содержит вектора - используется агрегатный синтаксис. А если содержит числа например, то не агрегатный.
10 минут назад, partoftheworlD сказал:Никто не понимает, кроме тех кто писал стандарт мне так кажется (я уже с этим смерился)
Точно, а компилятор на самом деле отправляет сигнал в космос, в котором он пролетая сквозь хаскелевые экзопланеты балуется монадами и находит ответ
- 1
-
Только что, partoftheworlD сказал:
Уже разобрались, дело было в std::array и его агрегатной инициализации, внешние фигурные скобки агрегатный синтаксис инициализации, а внутренний - синтаксис инициализатора массива
Ну не до конца всё же.
Потому что я пока еще не понимаю, почему для случая vector<array<int, 2>> v = {{1, 2}, {3, 4}}; не используется агрегатный синтаксис, а для случая что я приводил выше - используется
-
41 минуту назад, partoftheworlD сказал:
Если по простому, то под каждый контейнер нужны скобочки как в доках.
Ну вот, ты нарисовал по 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};
Но тогда если раскрывать обратно, то оно не компилируется:
Спойлер// Начальный вариант с переменными 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}; // Раскрываем a vector<int> x = {1,2,3}; vector<int> y = {4,5,6}; vector<array<vector<int>,2>> r = {{x, y}}; // Раскрываем x и y (перестает компилироваться) vector<array<vector<int>,2>> r = {{{1, 2, 3}, {4, 5, 6}}};
И вот я не очень понимаю, зачем нужно писать {{{{1, 2, 3}, {4, 5, 6}}}} вместо {{{1, 2, 3}, {4, 5, 6}}} , ведь в этой записи видно 3 измерения и всё выглядит корректно.
-
Всем привет. Возможно я просто не выспался, поэтому задаю такие глупые вопросы
Потихоньку открываю для себя мир 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}}};
Причем по ошибке не могу нагуглить именно свой случай. Кто-нибудь сталкивался с подобным? Есть какое-то логическое объяснение, почему нужно оборачивать дополнительной скобкой?
Если непонятно зачем это всё, я гоняю вот такие тестики, чисто для себя:
Спойлерfor (auto c : cases) { auto v = c[0]; auto e = c[1]; vector<int> r = TestiruemayaFunction(v); if (r != e) { cout << "Failed on "; for (auto i : v) { cout << i << ' '; } cout << ": "; for (auto i : r) { cout << i << ' '; } cout << " != "; for (auto i : e) { cout << i << ' '; } return; } }
-
6 hours ago, GameHacker said:
Не очень похоже, цифра меняется (причем даже близко не на 10000) и сразу после этого вылетает.
Плюс весь смысл в том, чтобы досоздать нужное количество объектов не сломав TrainMe, мне кажется твоя таблица этого не делает.
[GTA: San Andreas] Как вызвать функцию увеличения скилла мускулатуры без занятия на тренажерах?
in Вопросы по созданию читов в одиночных играх
Опубликовано
Да, это один из вариантов. Внимательно посмотри код, который там в примерах, а то будешь ловить вылеты и не понимать почему они происходят.