-
Постов
5 750 -
Зарегистрирован
-
Победитель дней
292
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент Garik66
-
MasterGH ждёмс исправления. Надеюсь, как поправишь, напишешь и по русски тоже.
-
STAVROS как я понял, если ты уже заходил в раздел "Трейнеры" сегодня и не выходил ещё из своего аккаунта, то раздел "Трейнеры" окрашен не будет, но окрашивается "Для РС игр" при создании новой темы там.
-
Спасибо. Почитаю, надеюсь что-нибудь пойму с помощью Гугл-переводчика. Thank you. I read hopefully understand something via Google translator.
-
METHOS всё равно спасибо. Попрошу у MasterGH ссылку на топик на форуме Cheat Engine. Nevertheless thank you. I ask to have MasterGH link to a topic in the forum Cheat Engine.
-
Ну раз скрипт работает как надо , то отвечу на: Что мы сделали, записав в скрипт: label(HP_horse) HP_horse: dd (float)350 мы выделили в ранее выделенной памяти alloc(newmem,2048) кусочек памяти, в нашем случае 4 байта, который мы можем использовать как нам нужно. В данном скрипте мы в этих 4 байтах храним максимальное НР лошадки. Можно сформулировать не много по другому - мы создали указатель, т.е. HP_horse - это сам указатель, а по смещению 0 -лежит максимальное НР лошадки, т.е. [HP_horse+0] или просто [HP_horse] = (float)350. Название это кусочка мы даём сами для удобства (для нашего понимания) - HP_horse - НР лошадки, deletion - удаление, т.е. в нашем примере эту память используем для удаления значения в st(0). Ну ещё добавлю при такой записи: label(HP_horse) HP_horse: dd (float)350 мы можем использовать HP_horse только внутри данного скрипта, т.е. локально. Для того чтобы использовать HP_horse в других скриптах, в таблице СЕ, нужно добавить ещё две записи в скрипт: label(HP_horse) registersymbol(HP_horse) -------- -------- HP_horse: dd (float)350 -------- -------- unregistersymbol(HP_horse) или можем записать иначе: globalalloc(HP_horse, 4) ------- ------- dealloc(HP_horse)
-
METHOS сегодня обнаружил ошибку, при попытке написать скрипт для игры GUN. today encountered an error when trying to write a script for the game GUN.
-
Razi выложу сюда скрипт, который ты проверил, может кто-нибудь из новичков читает - чтобы был ответ.
-
Ну тогда остаётся либо добавлять паузу (но это удлинит скрипт - оно того не стоит), либо возвращаться к старому варианту скрипта (к конкретным значениям, т.е. к 72, 8 и т.д).
-
Да - я его так называю.
-
Вот нашёл скрипт на ассемблер для 4 конкретных значений и переделал его на более универсальный, добавив метку value и flag. Проверь работу скрипта. Вот его и нужно переделать на LUA (я синтаксиса LUA не знаю, приходится постоянно лазить в справочник и в примеры). В этом скрипте заморозятся не только 4 значению (вдруг ты не все их заметил), а и больше и меньше, т.е. все значения, которые проскакивают через адрес 00A444E8, при значении в первом адресе 00A3F3E5 2.
-
Скорее всего не сработает, ты на строчку обратил внимание внизу скрипта:
-
Думаю не стоит.
-
Кстати скрипт AntonVitalievich написал классно!!! Плюсанул его труд.
-
Так там конкретно проставленны 4 значения 72, 104, 8 и 40. Т.е. скрипт не универсальный. Пользователю нужно будет, чтобы применить его для себя заходить и менять эти значения в скрипте вручную. А я хотел написать именно универсальный скрипт, чтобы морозил значения любое по второму адресу. А это проще сделать с введением в скрипт переменной и флага (про флаг для этого скрипта я тебе ещё не писал). И скрипт будет короче. Ну ладно я его писать не буду. Так как для его проверки мне вначале нужно написать скрипт для эмуляции этих условий, а это ни кому не нужно ни тебе, ни мне тем более.
-
Так наверху кучу же уже примеров дал и для однобайтного адреса и для четырёхбайтного. Что это? Ты свои условия почитай для этого скрипта в предыдущей теме. У тебя условия: при значении в [адресе1] = 2. нужно заморозить значение в [адресе2], при этом в адресе2 могут проскакивать 4 значения. При таких условиях сложнее написать скрипт на LUA, гораздо проще его было написать на ассемблер, что я и сделал давно. Это уже не азы.
-
Где AntonVitalievich дал тебе скрипт на LUA для заморозки всех 4 значений, что-то я не увидел этого, может что пропустил? Если есть такой скрипт, дай ссылку, хочу посмотреть.
-
Я тоже так считаю и говорил тебе уже об этом. Тогда зачем тебе скрипт на LUA, если я тебе его уже написал на СЕ ассемблер? Тебе даже AntonVitalievich (а он хорошо разбирается в LUA) написал по этому скрипту:
-
Глючный из-за операнда ret, если бы его не было, то скрипт сработал бы нормально. Я удалял из st(0) значение в [esi+28], чтобы не вводить дополнительную переменную. Так что нужно ввести ещё переменную. Попробуй ещё один скрипт: SerVick LIRW проверил не работает как нужно. По-видимому связанно с выбранной тобою инструкцией.
-
Я специально сделал ошибку в скрипте - хотел посмотреть, научился ли ты читать скрипт, что он делает. Помню, что у тебя, когда в адресе 00A3F3E5 значение = 2, то в адресе 00A444E8 может быть 4 значения, поэтому ввёл переменную value и думал, что ты уже сможешь поправить скрипт, чтобы заработала заморозка на всех 4 значениях. Ладно не буду томить, Нужно эту строчку value = readInteger('00A444E8') Опустить ниже этой строчки if (FreezingConditions == 2) then и тогда всё заработает. А почему, сам закомментируй скрипт и поймёшь. Короче скрипт, но я его не проверял мне не на чем: И ещё кое-чего не хватает в скрипте. Нужно дать понять компьютеру, что при [00A3F3E5] = 2, значение value больше не нужно читать, а только записывать. Если сам не разберёшься как это сделать, завтра сделаю.
-
Просто на LUA я обычно не пишу. Забыл, что комментарии в скрипте на LUA пишутся после -- а не // как на ассемблер. Исправил второй скрипт.