MasterGH

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

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

  • Посещение

  • Days Won

    58

Все публикации пользователя MasterGH

  1. Похоже чем-то на лихорадку в век цифровой эпохи. Видео, которое недавно появилось.
  2. Можешь поискать в сканере памяти эейлеров угол вертикальной оси поворачивая персонажа влево и вправо. Тогда выйдешь на три адреса X,Y,Z эйлеровых углов. И по аналогии можно попробовать сделать Quaternion.Euler(transform.eulerAngles): Переписать код на C++ можно декомплировать .net библиотеку C:\Program Files\Unity\Editor\Data\Managed\UnityEngine.dll через ILSpay. Библиотеку это можно взять из Unity игр или установив движок Unity.
  3. Был вопрос на форуме о том, как узнать, а куда смотрит игрок и как нарисовать линию в экранных координатах. Я не нарисую отрезки в окне игры в экранных координатах, но могу отобразить точки одного отрезка для одного глаза 2д-панельками в экранных координатах (хотя визуально, у Unity экранные координаты связаны с 3д координатами по масштабу пикселя на метр на сцене). Для наглядности все же в окнах сцены будут отрезки в 3д-координатах. Чтобы посмотреть функции операторов такие как умножение, сложение и свойства normalized, и переписать код на C++ можно декомплировать .net библиотеку C:\Program Files\Unity\Editor\Data\Managed\UnityEngine.dll через ILSpay. Например, там есть расчеты умножения кватерниона (X,Y,Z,W) на эйлеровы углы (X,Y,Z), нормализация, сложение. Библиотеку это можно взять из Unity игр или установив движок Unity. Адреса позиции и углов обычно находятся рядом друг с другом.
  4. Я думаю, можно найти адреса кватерниона в памяти рядом с адресами позиции. Это 4 раза по 4 байта X,Y,Z,W.
  5. Желаете сообщить что-то интересное о том чем занимаетесь, какие у вас планы, что получилось, что не получилось или просто написать "привет" ? Теперь это возможно, не создавая отдельной темы прямо как в чате. С уважением, от лица администрации и модераторов. Ждем вас в этой теме
  6. CT таблица для составления регулярных выражений 4-х функций string.match (s, pattern [, init]) string.gmatch (s, pattern) string.gsub (s, pattern, repl [, n]) string.find (s, pattern [, init [, plain]]) Функция string.gsub может принимать в аргумент функции "repl" таблицу (тогда будет замена по ключам значений из таблицы ) или в аргумент "repl" может попадать некоторая другая функция с аргументом найденного слова (тогда будет вызов этой другой функции при каждом захвате символа или слова). Более подробное в документации Lua 5.3 Еще несколько ссылок с практическим руководством Lua Regular expression.CT
  7. Готовый вариант не дам, но может поможет Если DrawLine должен рисовать две точки на GUI, то: 1. WorldToScreen из "3д-точки1" 2. WorldToScreen из "3д-точки2" 3. "3д-точка1" равна позиции глаз 4. "3д-точка2" = "3д-точка1" + ("3д-направление 3д-точки1") * дистанция взгляда 5. "3д-направление 3д-точки1" = нормализация ("кватернион 3д-точки1" * new Vector3(0f, 0f, 1f)) 6. Умножение кватерниона на вектор3 через определение оператора "умножение" 7. Нормализация вектора3 Не уверен, что это правильно, надо переводить на C++ и проверять. * Если в игре ось "вперед" не является Z, а другой осью Y, то new Vector3(0f, 1f, 0f)
  8. Рис1. Пример рисования текста разными цветами Скрипт Lua Источник
  9. Скриншот. Сравнение main.lua версии CE 6.6 и celua.txt CE 6.7 В архиве ниже два файла описания CE Lua функций, классов. Файлы можно сравнить самостоятельно в любой программе (я сравнивал в NotePad++, плагин Compare). Без сравнения будет сложнее ориентироваться. Compare Help Lua files CE 6.7.zip Появились, если я правильно подсчитал 17 новых классов. 16 классов для работы с базой данных SQL(sqlite) и один CustomType, множество функций. Некоторые из них
  10. Что нашел у себя, залил. Cтатьи.zip
  11. У CE версий 6.1 и будущих есть возможность перевода программы по языковым файлам. Я покажу как это сделать, если кто-то захочет этим заняться. Возможно вам скажут "спасибо" многие пользователи. Я же в знак благодарности повышу рейтинг за труды. Создание языковых файлов CE 1. Установите CE по пути не содержащего русских букв, т.к. CE ещё имеет баги (Дарк Байту проверять их было лень видимо); 2. Перейдите в папку "languages" располагающуюся в папке с CE и скопируйте все "*.po" файлы ; 3. Создайте в папке "languages" папку "ru_RU" и вставьте в папку "ru_RU" скопированные файлы. Эти файлы и нужно переводить при помощи редактора о котором позже; 4. Создайте сразу ярлык с параметром для запуска русского языка: Пример: "G:\CheatEngine6\Cheat Engine.exe" -|ru_RU Приготовления готовы. Теперь о редакторах. Для свои тестов я пользовался poedit Откройте в нём файл языка "cheatengine-x86_64.po" и можно перевести пару строчек главного окна. Например "Add Address Manualy" исправить на "Добавить адрес". Далее сохраните изменения и рядом появится файл "cheatengine-x86_64.mo" и запустите ярлык CE. Если вы сделали всё правильно, то вы увидите результат как на картинке. Всё работает! Но в этой программе poedit я не нашёл такой полезной функции как автоизменение непереведенных строк нового языкового файла на основе уже переведенного старого языкового файла. Может быть я плохо посмотрел не знаю. В этом я ещё не разобрался. Так же почитайте здесь полезную информацию о переводах и других инструментах для перевода. Пока я эту инструкцию почитал очень вскользь. Если кто-то начнёт делать, что-то сделает и забросит, то оставьте ссылку здесь на то что успели сделать. Возможно это пригодится в будущем. Всё, желаю успехов! - Добавление1: Переводить словосочетание "Cheat Engine" не надо это и ежу понятно. Но если вы столкнетесь с проблемой, когда русский перевод длиннее английского и по русски никак нельзя сократить, то в этом случае лучше оставить всё как есть. Например русские слова не будут влезать на кнопку... Ещё есть такой тип информации как "подсказка". Когда наводишь мышку на элемент, то подсказка появляется и здесь можно не бояться и писать на русском длинные предложения.
  12. Кому интересно как c помощью инструмента Fuse сделать модель вроде той, что я набросал на скриншоте выше и заставить её бегать, я предлагаю посмотреть в этом видео, незнакомого автора.
  13. List of CIL instructions По той же ссылке рефы внизу
  14. Пример1. Узнать во сколько раз string.match() медленее string.find() Пример2. Создание лишней локальной переменной Ответы: 1.38, 1.04. Если значение меньше единицы, то оптимизированный код хуже. Если значение больше единицы, то стоит использовать более оптимизированный вариант. Для простого поиска лучше использовать string.find чем string.match. Еще несколько примеров Для чего может пригодиться. Может пригодиться при оптимизации кода трассировке на брейкпоинтах в пошаговой отладке
  15. @partoftheworlD, заходи на форум в любое время
  16. В общем хорошо взялся за регулярки на Lua! Всё подряд прогоняю через них, что под руку попадется, любые задачи. Случайный пример задачи. Пронумеровать список Тут же написал И получил ответ. В следующий раз только вызывать "EnumerateText([[ текст со строками]])" Тут в буфер текст улетит и выведет в мессагу. После закрытия мессаги через CTRL+V вставит текст, куда хотим Пронумерованные функции — функции работы со строками последней версии Lua 5.3.x из документации На что стоит обратить внимание при регулярках: 1. Работа с пробелами и не пробелами: "%s" и "%S" 2. Работа с символами разделяющие строки и не разделяющими строки: "%с" и "%С" 3. Захват строк "(.+)", "(.-)", "(.*)", а также без захвата, т.е. пропуск других символов ".+",".-",".*" 4. Узнать как и какая функция из выше перечисленных работает, какая используется с регуляторами. Хотим к примеру вывести слово, которое закончится на пробеле (пишу просто "на пробеле" без учета других символов). Это уже "(%w+)", а если хотим второе слово, то это "%W+%w+" (не выводить первое и вывести второе слово) или "%s(%w+)" (после пробела, но чтобы было без пробела, то захватить в круглые скобки), или "^.+%s(%w+)"(начинать с первого символа до пробела и захват до конца слова). Если писать на CE Lua, то регулярки знать не обязательно. Но, их желательно знать, чтобы читать чужой код и писать свой. Да и вообще это интересно. Очень короткие выражения позволяют решить некоторую задачу за быстрое время. Основные задачи: поиск текста и замена текста.
  17. Не уверен, надо смотреть в CE как работает функция. Если нажали на space на адресе стека, то переход будет как CE угадывает, либо в MemHex область, либо в Disassembler область. Если держали shift или ctrl и двойной клик, то переход уже прямой, либо в первом случае в disassembler, либо во втором случае переход в memory view. Или же если нажать на space, то стек отобразится не по ESP, а по адресу, который выделили в стеке.
  18. Установка: 1. Файл GHL_ClassSettings.lua закинуть в autorun (нужен для сохранения и загрузки данных формы) 2. Двойной клик на Lua Regular expression.CETRAINER вызовет это окно Описание: - Для тренировки и проверки написания регулярных выражений - Выбор извлечения строк в виде одной или в виде последовательности - При нажатии на кнопку или при вводе текста в memo вычисляется выражение Lua Regular expression.CETRAINER GHL_ClassSettings.lua
  19. Используется UDF1.CELabel1.Caption = string.match(stringLine, stringPattern) Для запуска нужна CE 6.4. string.match.CETRAINER
  20. Если в течении работы CE трейнер забирает много памяти, то возможно скапливаться мусор. Через таймер очистка мусора решает проблему. Код я выше привел. Там закоментить строчки print, чтобы консоль не показывало.
  21. Legacy of Kain: Defiance Это старая PC игра выпущена в районе 2003-2004 годах, когда я еще учился в школе в классе 11-ом. В самом конце игры была сложная миссия сражения с боссом, никак не получалось её пройти. Кстати из этой игры есть персонаж на аватаре у пользователя с форума Cheat Engine Не мог пройти, как не пытался. То ли руки не из того места, пройти очень хотелось. Было у меня немного журналов игровых и там я много раз видел программу MTC. Казалось, что она очень сложная для понимания. Просто помнил о ней и не пользовался. Так вот игру пройти не мог и решил все-таки MTC научиться пользоваться. С помощью МТС я впервые сделал чит на HP и прошел игру. После этого я переломал все игры, которые у меня были, изучил в этой программе все что можно, хотя с большим трудом это все давалось. Потом появился Интернет. Узнал про Artmoney и другие сканеры. Кстати 9 мая разработчики обещали новую версию Artmoney. В общем с Legacy of Kain: Defiance и МТС, и началось увлечение взломом игр
  22. Можно попробовать прописать сборку мусора. Например, каждую минуту
  23. Прикольно, надо будет почитать. Я часто костыляю с парсерами. Полезна. "Perl, PHP, Java, Python, Ruby, MySQL, VB.NET, C# (и других языках платформы .NET). Регулярные выражения позволят вам автоматизировать сложную и тонкую обработку текста. " C# я учил для работы с базами данных. Либо как софт (wpf), либо как веб (asp.net, silverlight). Книги, справочники, блоги, форумы. Собеседования, вакансии, что хотят работодатели, что я умел, что не умел... Пока я искал работу предложили работать с Unity временно и затем на постоянку у ИП. Начал и все пошло. Я удивлялся как все двигалось по физике, как рисовалось и все на C# и зарплату платят. Все нравилось. Все само запоминалось или записывал. Потом где-то через 4 года пошел в игровую студию. Работаю в ней уже второй год, а компании года три. Молодой коллектив в основном и компания по разработке игр начинающая. Я пришел в очень молодую компанию и мы растем. Я надеюсь будут игры, которые будет не стыдно показать. Пока то, что мы делаем хоть и имеет в сумме десятки миллионов установок, а то и сотни, если сложить разные сторы и маркеты, но пока игры очень короткие и по качеству не конкурируют с известными игровыми студиями в Новосибирске, я уже молчу про еще более известные.
  24. То-то я смотрю Lua скрипты пишешь. Если на работе — на Python... :))) Интересно @SnedS91 тоже на Python, такие регулярки закручивает с легкостью ))
  25. Если судить по мне, то мне тяжело давалось программирование. Как я не пытался понять C++ у меня никак не получилось или мне не везло на книги. Но когда я вот эту книгу, которую посоветовал нам препорд, прочел, то у меня все пошло по нарастающей. Её прочитал когда был на первом курсе универа (1-ый или второй семестр) Она читается на одном дыхании и не сложно и не особо легко, если вообще о программирование не знал. Процедурное программирование, типы данных, циклы и даже ООП в конце книги. Я эту книгу обожаю, хотя на паскале или Дельфи очень давно ничего не писал