Гость Опубликовано 10 ноября, 2016 Поделиться Опубликовано 10 ноября, 2016 Кому нибудь доводилось сохранять последовательность значений какого либо адреса на жесткий диск, например в текстовый файл. А после, делать реверс, то есть записывать из документа в адрес. Игра Forza Horizon 3, имеются два адреса, адрес косинуса камеры и адрес синуса. Задача - сделать свободное вращение камерой на 360 градусов. Диапазон значений каждого адреса от 5.23 до -5.23. Вся проблема в том что значения асинхронные. Нельзя просто так задать инструкцие условие - если дойдешь до 5.23 то начинай убавление и наоборот, если дойдешь до -5.23 - то начинай прибавление. Нельзя потому что в итоге камера вращается с непостоянной скоростью. Камера делает оборот, потом второй и так до бесконечности, но в четырех точках камера замедляет движение, далее пройдя их - ускоряет его, и поэтому нет одной постоянной скорости, в этом и вся проблема. Почему так происходит, потому что значения относительно друг друга не синхронные, в какой то из моментов один из адресов (должен) сбавить количество приращяемого значения. Игра знает эти моменты, и подает во время них адресам каждому свое определенное значение. Вобщем, есть идея, сделать один оборот камеры, и записать значения косинуса и синуса в два файла. Количество значений должно будет быть одинаковым, так как частота записи будет одна для всех. Далее уже, считывая значения из файлов, в косинус и синус в один момент будет записываться специальные оригинальные значения. Останется только определиться как управлять поворотом или в одну сторону или в другую, а также как останавливать камеру на месте. Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad2 Опубликовано 10 ноября, 2016 Поделиться Опубликовано 10 ноября, 2016 Привет, по-моему это слишком трудно) Я делал вращение камеры так: Скрытый текст function MLeft() gr = math.acos(readFloat('Адрес1'))*(180/3.1415926535)+3 if (gr > 179) then gr=0 end x = math.rad(gr) cos = math.cos(x) sin = math.sin(x) writeFloat('Адрес1', cos) writeFloat('Адрес2', sin) end createHotkey(MLeft, VK_NUMPAD7) 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 10 ноября, 2016 Поделиться Опубликовано 10 ноября, 2016 Привет, проверил, значения сразу меняются на Nan. Это в какой игре ты использовал этот скрипт? Какие там максимальные и минимальные значения адресов Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 10 ноября, 2016 Поделиться Опубликовано 10 ноября, 2016 Процесс идет.... Уже понятно как сохранять на диск последовательно... Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 10 ноября, 2016 Поделиться Опубликовано 10 ноября, 2016 Рабочий метод Влад. Но только если значение не бывает ниже -1 (минус 1) и выше 1 Если ниже или выше то вот что получается - 1.#QNAN. А в игре как раз значения от 5.23 до -5.23. С сохранение в файл разобрался, а с загрузкой не получается. А ведь интересные моды можно сделать И запись движения камеры, с дальнейшим его воспроизведением, и вращение, да и вообще что угодно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 11 ноября, 2016 Поделиться Опубликовано 11 ноября, 2016 Все, работает. Скрытый текст camerarotat_not360_1_Act: cmp [camfly_rotat_Hotkey_left],#1 je camerarotat_not360_1_ToLeft cmp [camfly_rotat_Hotkey_Right],#1 je camerarotat_not360_1_ToRight jmp camerarotat_not360_1_Step_UpDown camerarotat_not360_1_ToLeft: fld dword ptr [camfly_rotat_value_MAIN] fadd dword ptr [camfly_rotat_Speed] fstp dword ptr [camfly_rotat_value_MAIN] fld dword ptr [camfly_rotat_value_MAIN] fcos fstp dword ptr [rbx+000001D0] fld dword ptr [camfly_rotat_value_MAIN] fsin fstp dword ptr [rbx+000001D8] jmp camerarotat_not360_1_Step_UpDown camerarotat_not360_1_ToRight: fld dword ptr [camfly_rotat_value_MAIN] fsub dword ptr [camfly_rotat_Speed] fstp dword ptr [camfly_rotat_value_MAIN] fld dword ptr [camfly_rotat_value_MAIN] fcos fstp dword ptr [rbx+000001D0] fld dword ptr [camfly_rotat_value_MAIN] fsin fstp dword ptr [rbx+000001D8] jmp camerarotat_not360_1_Step_UpDown //--------------------------------------------- camerarotat_not360_1_Step_UpDown: camerarotat_not360_1_Step_UpDown: cmp [camfly_rotat_Hotkey_Up],#1 je camerarotat_not360_1_ToUp cmp [camfly_rotat_Hotkey_Down],#1 je camerarotat_not360_1_ToDown jmp BACKcamerarotat_not360_1 camerarotat_not360_1_ToUp: fld dword ptr [rbx+000001D4] fadd dword ptr [camfly_rotat_Speed] fstp dword ptr [rbx+000001D4] jmp BACKcamerarotat_not360_1 camerarotat_not360_1_ToDown: fld dword ptr [rbx+000001D4] fsub dword ptr [camfly_rotat_Speed] fstp dword ptr [rbx+000001D4] jmp BACKcamerarotat_not360_1 Скрипт плавно вращает камерой вправо-влево, вверх-вниз. Также наконец понял как в одном скрипте делать сразу два и более действий, то есть например двигать камеру вправо и одновременно вверх. А когда надо, то по отдельности. camfly_rotat_value_MAIN - это флоат значение. Его можно увеличивать до бесконечности и камера будет вращаться все время вправо, если же уменьшать до бесконечности - то влево. Fcos и Fsin сами все правильно делают, несмотря на то что значение camfly_rotat_value_MAIN не до 1 и даже не до 5.23 Влад, благодарю. По поводу записи в текстовый файл, не понятно ничего, так как нет знаний lua. Но есть одна другая интересная идея, если получится, и все будет "ок", то отпишусь Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 14 ноября, 2016 Поделиться Опубликовано 14 ноября, 2016 Получилось сделать запись камеры с дальнейшим воспроизведением и всё "ок". Кому интересно, а никому не интересно, я расскажу суть. - Вначале находим инструкцию на X координату камеры - Далее нахрдим Z, Y, Cos, Sin, Pitch камеры, - они обычно недалеко от X координаты - Далее Готовим инструкцию X координаты к работе, она будет всем заправлять - Выделяем 6 участков памяти для каждого адреса (у меня памяти выделено на ~43 минуты записи - 1 000 000 x 6 = 6 000 000) - Далее необходимо установить условия * Если память закончилась, остановись. * Если память не записывалась, не воспроизводи. - Далее всякие прибамбасы * Счетчик записанного пространства * Паузы * Перезапись - Запись производится так * Считывается начальный адрес выделенного участка * Прибавляется нужное смещение (у меня адрес 8 байт дробный, поэтому смещение 8) * Записывается значение * Далее цикл повторяется Вобщем это все. Скрытый текст Ссылка на комментарий Поделиться на другие сайты Поделиться
elvis66666 Опубликовано 15 ноября, 2016 Поделиться Опубликовано 15 ноября, 2016 21 часа назад, AntonVit сказал: Получилось сделать запись камеры с дальнейшим воспроизведением и всё "ок". Классно получилось, самое оно, чтобы пилить видосики))) Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 16 ноября, 2016 Поделиться Опубликовано 16 ноября, 2016 (изменено) Есть идея, сделать автопилот в Forza Horizon 3. Выставил метку на карте, и машина сама поехала и доехала. Есть у кого-нибудь какие-нибудь соображения, по средствам чего это можно осуществить? Как заставить машину ехать - это просто, задать колесам вращение, поворачивать - тоже просто, найти адреса угла поворота. А вот ориентиры, где повернуть, где сбросить немного скорость, где прибавить. Изменено 16 ноября, 2016 пользователем AntonVit Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 16 ноября, 2016 Поделиться Опубликовано 16 ноября, 2016 1 час назад, AntonVit сказал: Есть идея, сделать автопилот в Forza Horizon 3. Да............... Идея глобальная - кода будет отщень и отщень много. 1 час назад, AntonVit сказал: А вот ориентиры, где повернуть, где сбросить немного скорость, где прибавить. Скорее всего постоянно сканировать координаты на наличие объектов на карте (столбов, машин, ограждений), учитывать инерцию, короче по новой поизучать Физику, чтобы автопилот вовремя тормозил, сбрасывал скорость, ускорялся. Задача - не на один месяц. Могу только пожелать - Удачи!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 16 ноября, 2016 Поделиться Опубликовано 16 ноября, 2016 (изменено) 3 часа назад, AntonVit сказал: А вот ориентиры, где повернуть, где сбросить немного скорость, где прибавить. Как и обычный автопилот, есть же триггер, если съезжаешь с асфальта на грунт, то скорость уменьшается, вот найти его и задать дистанцию на каком расстоянии должна держаться машина от этого триггера который уменьшает скорость. Если триггер не найти, то пусть выезжает на грунт и если скорость уменьшается, делаешь разворот машины. А с поворотами как сказал @Garik66 задавать координаты ключевых поворотов. Изменено 16 ноября, 2016 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 16 ноября, 2016 Поделиться Опубликовано 16 ноября, 2016 1 час назад, partoftheworlD сказал: . А с поворотами как сказал @Garik66 задавать координаты ключевых поворотов. Что значит ключевые координаты поворотов? В игре есть дороги асфальтированные, и есть грунтовые, песчаные, и по воде, нужно чтобы работало на всех типах. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 16 ноября, 2016 Поделиться Опубликовано 16 ноября, 2016 25 минуты назад, AntonVit сказал: В игре есть дороги асфальтированные, и есть грунтовые, песчаные, и по воде, нужно чтобы работало на всех типах. Я говорю о триггерах вокруг дороги, типа травы на этом скрине, если машина попадает на траву, то скорость уменьшается. Вспомнил о дирт и вот, если перехватить координаты по которым рекомендует ехать помощник, можно задать путь автопилоту. Думаю в Forza Horizon тоже помощник есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 16 ноября, 2016 Поделиться Опубликовано 16 ноября, 2016 В Форзе есть такие же указатели на дороге, только в виде стрелок. Каждая стрелка имеет свои координаты. Взял стрелку, нашел инструкцию, заменил все значения XYZ стрелок через инструкцию на значения за пределами карты, - боты встали на месте. Прописал условие чтобы мои координаты записывались в значения стрелок, хотел чтобы боты за мной покатались, но нет, ботам это показалось не интересным. Неплохая в общем альтернатива читу "заморозить всех на месте". Когда ставишь метку на карте, на дороге появляются такие зеленые стрелки, их значения в памяти лежат поочередно, друг за другом, начиная с первого. Можно что-нибудь посоображать, но что то мне это все надоело. Ссылка на комментарий Поделиться на другие сайты Поделиться
elvis66666 Опубликовано 16 ноября, 2016 Поделиться Опубликовано 16 ноября, 2016 4 часа назад, AntonVit сказал: Взял стрелку, нашел инструкцию, заменил все значения XYZ стрелок через инструкцию на значения за пределами карты, Поделись, каким методом ты нашел стрелки? Указывал точку на карте куда ехать и медленно по ней ехал, отсеивая значения? Или стоял на месте и менял навигацию? Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 17 ноября, 2016 Поделиться Опубликовано 17 ноября, 2016 10 час назад, AntonVit сказал: Взял стрелку, нашел инструкцию Теперь буду знать как выходить на структуру ботов в гонках, через координаты - дольше как мне кажется. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 17 ноября, 2016 Поделиться Опубликовано 17 ноября, 2016 10 час назад, elvis66666 сказал: Поделись, каким методом ты нашел стрелки? Указывал точку на карте куда ехать и медленно по ней ехал, отсеивая значения? Или стоял на месте и менял навигацию? Поставил метку на карте, на дороге появились стрелки. Наехал машиной на первую стрелку, и сделал сканирование (X машины например 1000, то сканирование например от 970 до 1030). Потом отключил метку на карте, отъехал в другое место, снова поставил метку, сделал изменилось, в итоге осталось около 100 штук, какие то из них постоянно менялись. Взял те что не менялись и изменил на любое другое значение, в итоге стрелки передвинулись. Когда то в Дирт 3 в Монако, передвинул такой же указатель на дороге в сторону обрыва, но указатель не первый, а 20 -30ый (не помню точно), и стал смотреть за действиями бота, - бот тронулся со старта, доехал до этого указателя, точнее до того указателя который перед этим сдвинутым указателем, и стал пытаться съехать в обрыв, но не мог по причине того что там был бордюр, в этот то бордюр он и бился беспрестанно. Не знаю отчего боты в Форзе не захотели за мной покататься, может быть потому что должна быть некоторая последовательность значений, а я записал во все только свои координаты. А так то, интересный бы мод получился, а то ездишь один одинешенек по пустыне, а так за тобой целая команда ботов. Ссылка на комментарий Поделиться на другие сайты Поделиться
elvis66666 Опубликовано 17 ноября, 2016 Поделиться Опубликовано 17 ноября, 2016 8 часов назад, AntonVit сказал: Поставил метку на карте, на дороге появились стрелки. Наехал машиной на первую стрелку, и сделал сканирование (X машины например 1000, то сканирование например от 970 до 1030). Потом отключил метку на карте, отъехал в другое место, снова поставил метку, сделал изменилось, в итоге осталось около 100 штук, какие то из них постоянно менялись. Взял те что не менялись и изменил на любое другое значение, в итоге стрелки передвинулись. Сделал вчера почти так же, попал на инструкции работающие с миникартой) Отключил траекторию на миникарте и саму миникурту Ссылка на комментарий Поделиться на другие сайты Поделиться
elvis66666 Опубликовано 17 ноября, 2016 Поделиться Опубликовано 17 ноября, 2016 14 часа назад, AntonVit сказал: А так то, интересный бы мод получился, а то ездишь один одинешенек по пустыне, а так за тобой целая команда ботов. Интересная идея. Я думаю ее легко реализовать, но нужно подумать как. Первая мысль была найти координату точки (WayPoint), которую ставить на карте и к ней рисуется маршрут. Соответственно для всех ботов поставить WayPoint на себя и маршрут будет автоматом рисоваться для ботов, они будут ехать. Нашел сегодня координаты, сместил точку, точка сместилась, но маршрут не перерисовался. Решил проверить в гонке, там вообще инструкция не работает. Следующая идея была найти чекпоинты расположенные в гонке. Нашел, но игра крашнулась, не успел проверить ))) Уже галаза закрываются, завтра пройдусь еще по коду. Я думаю без проблем можно выйти на инструкцию выше. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 17 ноября, 2016 Поделиться Опубликовано 17 ноября, 2016 (изменено) 18 час назад, AntonVit сказал: Не знаю отчего боты в Форзе не захотели за мной покататься, может быть потому что должна быть некоторая последовательность значений Мне кажется, они не ехали возможно потому что, где-то выше есть проверка, которая говорит ботам ехать или нет, если координаты меняешь, то боты будут знать, что надо туда ехать, но у них нет команды на движение. Изменено 18 ноября, 2016 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 18 ноября, 2016 Поделиться Опубликовано 18 ноября, 2016 Один раз один бот поехал за мной, но проехал он всего лишь несколько метров. Больше после него желающих не было. Ссылка на комментарий Поделиться на другие сайты Поделиться
elvis66666 Опубликовано 18 ноября, 2016 Поделиться Опубликовано 18 ноября, 2016 Там допустимость координат проверяется и условие что эти координаты не дальше 5-10 метров от машины бота. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 18 ноября, 2016 Поделиться Опубликовано 18 ноября, 2016 (изменено) 1 час назад, elvis66666 сказал: Там допустимость координат проверяется и условие что эти координаты не дальше 5-10 метров от машины бота. Откуда информация? Я подъезжал вплотную к машине бота, но он не ехал за мною. Изменено 18 ноября, 2016 пользователем AntonVit Ссылка на комментарий Поделиться на другие сайты Поделиться
elvis66666 Опубликовано 18 ноября, 2016 Поделиться Опубликовано 18 ноября, 2016 34 минуты назад, AntonVit сказал: Откуда информация? Я подъезжал вплотную к машине бота, но он не ехал за мною. если блокировать бота то он останавливается и не едет больше. А насчет небольшой дистанции - это логично, чтобы боты не убивались об столбы, деревья и всевозможные препятствия в целях достигнуть точки. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 3 декабря, 2016 Поделиться Опубликовано 3 декабря, 2016 Скрипт управления движением камеры слежения, + записи движения и вращения камеры слежения + воспроизведения движения и вращения камеры слежения. В работе также участвуют и некоторые другие скрипты, но этот основной. Скрипт не объясняю, по разным причинам, в том числе и по причине того, что я многое забыл. Скрытый текст [ENABLE] aobscanregion(SCANcamera_coord_x, 7FF000000000, 7FFFFFFFFFFF, F2 0F 11 B3 B0 01 00 00 0F 28 B4 24 D0 00 00 00) alloc(PLACEcamera_coord_x,50048,SCANcamera_coord_x) registersymbol(SCANcamera_coord_x) label(BACKcamera_coord_x) label(camera_coord_x_ACT) label(camera_coord_x_ORIG) alloc(camfly_pos_Checker,8) registersymbol(camfly_pos_Checker) alloc(camfly_Hotkey_Forward_Mov,8) registersymbol(camfly_Hotkey_Forward_Mov) alloc(camfly_Hotkey_Backward_Mov,8) registersymbol(camfly_Hotkey_Backward_Mov) alloc(camfly_Hotkey_Left_Mov,8) registersymbol(camfly_Hotkey_Left_Mov) alloc(camfly_Hotkey_Right_Mov,8) registersymbol(camfly_Hotkey_Right_Mov) alloc(camfly_Hotkey_Up_Mov,8) registersymbol(camfly_Hotkey_Up_Mov) alloc(camfly_Hotkey_Down_Mov,8) registersymbol(camfly_Hotkey_Down_Mov) alloc(camfly_Hotkey_FullForw_Mov,8) registersymbol(camfly_Hotkey_FullForw_Mov) alloc(camfly_Hotkey_FullBacw_Mov,8) registersymbol(camfly_Hotkey_FullBacw_Mov) alloc(Xcam_fly,8) registersymbol(Xcam_fly) alloc(Zcam_fly,8) registersymbol(Zcam_fly) alloc(Ycam_fly,8) registersymbol(Ycam_fly) alloc(COScam_fly,8) registersymbol(COScam_fly) alloc(SINcam_fly,8) registersymbol(SINcam_fly) alloc(PITCHcam_fly,8) registersymbol(PITCHcam_fly) alloc(CamFlyingspeed_fly_cam,8) registersymbol(CamFlyingspeed_fly_cam) //************************* RECORD alloc(camfly_Firts_Time_run_Scr,8) registersymbol(camfly_Firts_Time_run_Scr) alloc(PLACEEcamfly_Record,1000512) registersymbol(PLACEEcamfly_Record) alloc(Get_First_Alloc_Adree_X,8) registersymbol(Get_First_Alloc_Adree_X) alloc(PLACEEcamfly_Record_Z,1000512) registersymbol(PLACEEcamfly_Record_Z) alloc(Get_First_Alloc_Adree_Z,8) registersymbol(Get_First_Alloc_Adree_Z) alloc(PLACEEcamfly_Record_Y,1000512) registersymbol(PLACEEcamfly_Record_Y) alloc(Get_First_Alloc_Adree_Y,8) registersymbol(Get_First_Alloc_Adree_Y) alloc(PLACEEcamfly_Record_Turn_X,1000512) registersymbol(PLACEEcamfly_Record_Turn_X) alloc(Get_First_Alloc_Adree_Turn_X,8) registersymbol(Get_First_Alloc_Adree_Turn_X) alloc(PLACEEcamfly_Record_Turn_Z,1000512) registersymbol(PLACEEcamfly_Record_Turn_Z) alloc(Get_First_Alloc_Adree_Turn_Z,8) registersymbol(Get_First_Alloc_Adree_Turn_Z) alloc(PLACEEcamfly_Record_Turn_Y,1000512) registersymbol(PLACEEcamfly_Record_Turn_Y) alloc(Get_First_Alloc_Adree_Turn_Y,8) registersymbol(Get_First_Alloc_Adree_Turn_Y) alloc(Record_Percent_complete,8) registersymbol(Record_Percent_complete) alloc(Record_PLAY_Percent_complete,8) registersymbol(Record_PLAY_Percent_complete) alloc(First_Adrees_Adder,8) registersymbol(First_Adrees_Adder) alloc(camfly_RECORD_Checker,8) registersymbol(camfly_RECORD_Checker) alloc(camfly_RECORD_START,8) registersymbol(camfly_RECORD_START) alloc(camfly_RECORD_RESTART,8) registersymbol(camfly_RECORD_RESTART) alloc(camfly_RECORD_PAUSE_AH,8) registersymbol(camfly_RECORD_PAUSE_AH) alloc(camfly_RECORD_PLAY,8) registersymbol(camfly_RECORD_PLAY) alloc(camfly_RECORD_PLAY_FORW,8) registersymbol(camfly_RECORD_PLAY_FORW) alloc(camfly_RECORD_PLAY_BACW,8) registersymbol(camfly_RECORD_PLAY_BACW) alloc(camfly_RECORD_PLAY_FORW_restart,8) registersymbol(camfly_RECORD_PLAY_FORW_restart) alloc(camfly_RECORD_PLAY_PAUSE_Forw_AH,8) registersymbol(camfly_RECORD_PLAY_PAUSE_Forw_AH) label(camera_RECORD_ACT) label(camera_RECORD_PLAY_ACT) label(camera_RECORD_PLAY_Forward) label(camera_RECORD_PLAY_Bacward) //-----------------------------------------PLACEcamera_coord_x PLACEcamera_coord_x: cmp [camfly_pos_Checker],#1 je camera_coord_x_ACT movsd [rbx+000001B0],xmm6 jmp BACKcamera_coord_x camera_coord_x_ACT: cmp [camfly_Firts_Time_run_Scr],#0 je @f fld qword ptr [rbx+000001B0] // Load X to alloc fstp qword ptr [Xcam_fly] fld qword ptr [rbx+000001B0+8] // Load Y to alloc fstp qword ptr [Zcam_fly] fld qword ptr [rbx+000001B0+8+8] // Load Y to alloc fstp qword ptr [Ycam_fly] fld dword ptr [rbx+000001B0+20] // Load Cosinus to alloc fstp dword ptr [COScam_fly] fld dword ptr [rbx+000001B0+20+8] // Load Sinus to alloc fstp dword ptr [SINcam_fly] fld dword ptr [rbx+000001B0+20+4] // Load Sinus to alloc fstp dword ptr [PITCHcam_fly] // Operations // For X fld dword ptr [COScam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [COScam_fly] fld qword ptr [Xcam_fly] fadd dword ptr [COScam_fly] fstp qword ptr [Xcam_fly] // For Y fld dword ptr [SINcam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [SINcam_fly] fld qword ptr [Ycam_fly] fadd dword ptr [SINcam_fly] fstp qword ptr [Ycam_fly] // For Z mov [PITCHcam_fly],(float)0 fld dword ptr [PITCHcam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [PITCHcam_fly] fld qword ptr [Zcam_fly] fadd dword ptr [PITCHcam_fly] fstp qword ptr [Zcam_fly] // Uploading fld qword ptr [Xcam_fly] fstp qword ptr [rbx+000001B0] fld qword ptr [Zcam_fly] fstp qword ptr [rbx+000001B0+8] fld qword ptr [Ycam_fly] fstp qword ptr [rbx+000001B0+8+8] mov [camfly_Firts_Time_run_Scr],#0 @@: cmp [camfly_Hotkey_Forward_Mov],#1 jne @f // Loading to allocS fld qword ptr [rbx+000001B0] // Load X to alloc fstp qword ptr [Xcam_fly] fld qword ptr [rbx+000001B0+8+8] // Load Y to alloc fstp qword ptr [Ycam_fly] fld dword ptr [rbx+000001B0+20] // Load Cosinus to alloc fstp dword ptr [COScam_fly] fld dword ptr [rbx+000001B8+20] // Load Sinus to alloc fstp dword ptr [SINcam_fly] // Operations // For X fld dword ptr [COScam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [COScam_fly] fld qword ptr [Xcam_fly] fadd dword ptr [COScam_fly] fstp qword ptr [Xcam_fly] // For Y fld dword ptr [SINcam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [SINcam_fly] fld qword ptr [Ycam_fly] fadd dword ptr [SINcam_fly] fstp qword ptr [Ycam_fly] // Uploading fld qword ptr [Xcam_fly] fstp qword ptr [rbx+000001B0] fld qword ptr [Ycam_fly] fstp qword ptr [rbx+000001B0+8+8] @@: cmp [camfly_Hotkey_Backward_Mov],#1 jne @f // Loading to allocS fld qword ptr [rbx+000001B0] // Load X to alloc fstp qword ptr [Xcam_fly] fld qword ptr [rbx+000001B0+8+8] // Load Y to alloc fstp qword ptr [Ycam_fly] fld dword ptr [rbx+000001B0+20] // Load Cosinus to alloc fstp dword ptr [COScam_fly] fld dword ptr [rbx+000001B8+20] // Load Sinus to alloc fstp dword ptr [SINcam_fly] // Operations // For X fld dword ptr [COScam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [COScam_fly] fld qword ptr [Xcam_fly] fsub dword ptr [COScam_fly] fstp qword ptr [Xcam_fly] // For Y fld dword ptr [SINcam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [SINcam_fly] fld qword ptr [Ycam_fly] fsub dword ptr [SINcam_fly] fstp qword ptr [Ycam_fly] // Uploading fld qword ptr [Xcam_fly] fstp qword ptr [rbx+000001B0] fld qword ptr [Ycam_fly] fstp qword ptr [rbx+000001B0+8+8] @@: cmp [camfly_Hotkey_Left_Mov],#1 jne @f // Loading to allocS fld qword ptr [rbx+000001B0] // Load X to alloc fstp qword ptr [Xcam_fly] fld qword ptr [rbx+000001B0+8+8] // Load Y to alloc fstp qword ptr [Ycam_fly] fld dword ptr [rbx+000001B0+20] // Load Cosinus to alloc fstp dword ptr [COScam_fly] fld dword ptr [rbx+000001B8+20] // Load Sinus to alloc fstp dword ptr [SINcam_fly] // Operations // For X fld dword ptr [SINcam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [SINcam_fly] fld qword ptr [Xcam_fly] fsub dword ptr [SINcam_fly] fstp qword ptr [Xcam_fly] // For Y fld dword ptr [COScam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [COScam_fly] fld qword ptr [Ycam_fly] fadd dword ptr [COScam_fly] fstp qword ptr [Ycam_fly] // Uploading fld qword ptr [Xcam_fly] fstp qword ptr [rbx+000001B0] fld qword ptr [Ycam_fly] fstp qword ptr [rbx+000001B0+8+8] @@: cmp [camfly_Hotkey_Right_Mov],#1 jne @f // Loading to allocS fld qword ptr [rbx+000001B0] // Load X to alloc fstp qword ptr [Xcam_fly] fld qword ptr [rbx+000001B0+8+8] // Load Y to alloc fstp qword ptr [Ycam_fly] fld dword ptr [rbx+000001B0+20] // Load Cosinus to alloc fstp dword ptr [COScam_fly] fld dword ptr [rbx+000001B0+20+8] // Load Sinus to alloc fstp dword ptr [SINcam_fly] // Operations // For X fld dword ptr [SINcam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [SINcam_fly] fld qword ptr [Xcam_fly] fadd dword ptr [SINcam_fly] fstp qword ptr [Xcam_fly] // For Y fld dword ptr [COScam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [COScam_fly] fld qword ptr [Ycam_fly] fsub dword ptr [COScam_fly] fstp qword ptr [Ycam_fly] // Uploading fld qword ptr [Xcam_fly] fstp qword ptr [rbx+000001B0] fld qword ptr [Ycam_fly] fstp qword ptr [rbx+000001B0+8+8] @@: cmp [camfly_Hotkey_Up_Mov],#1 jne @f fld qword ptr [rbx+000001B0+8] fadd dword ptr [CamFlyingspeed_fly_cam] fstp qword ptr [rbx+000001B0+8] @@: cmp [camfly_Hotkey_Down_Mov],#1 jne @f fld qword ptr [rbx+000001B0+8] fsub dword ptr [CamFlyingspeed_fly_cam] fstp qword ptr [rbx+000001B0+8] @@: cmp [camfly_Hotkey_FullForw_Mov],#1 jne @f // Loading to allocS fld qword ptr [rbx+000001B0] // Load X to alloc fstp qword ptr [Xcam_fly] fld qword ptr [rbx+000001B0+8] // Load Y to alloc fstp qword ptr [Zcam_fly] fld qword ptr [rbx+000001B0+8+8] // Load Y to alloc fstp qword ptr [Ycam_fly] fld dword ptr [rbx+000001B0+20] // Load Cosinus to alloc fstp dword ptr [COScam_fly] fld dword ptr [rbx+000001B0+20+8] // Load Sinus to alloc fstp dword ptr [SINcam_fly] fld dword ptr [rbx+000001B0+20+4] // Load Sinus to alloc fstp dword ptr [PITCHcam_fly] // Operations // For X fld dword ptr [COScam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [COScam_fly] fld qword ptr [Xcam_fly] fadd dword ptr [COScam_fly] fstp qword ptr [Xcam_fly] // For Y fld dword ptr [SINcam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [SINcam_fly] fld qword ptr [Ycam_fly] fadd dword ptr [SINcam_fly] fstp qword ptr [Ycam_fly] // For Z fld dword ptr [PITCHcam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [PITCHcam_fly] fld qword ptr [Zcam_fly] fadd dword ptr [PITCHcam_fly] fstp qword ptr [Zcam_fly] // Uploading fld qword ptr [Xcam_fly] fstp qword ptr [rbx+000001B0] fld qword ptr [Zcam_fly] fstp qword ptr [rbx+000001B0+8] fld qword ptr [Ycam_fly] fstp qword ptr [rbx+000001B0+8+8] @@: cmp [camfly_Hotkey_FullBacw_Mov],#1 jne @f // Loading to allocS fld qword ptr [rbx+000001B0] // Load X to alloc fstp qword ptr [Xcam_fly] fld qword ptr [rbx+000001B0+8] // Load Y to alloc fstp qword ptr [Zcam_fly] fld qword ptr [rbx+000001B0+8+8] // Load Y to alloc fstp qword ptr [Ycam_fly] fld dword ptr [rbx+000001B0+20] // Load Cosinus to alloc fstp dword ptr [COScam_fly] fld dword ptr [rbx+000001B0+20+8] // Load Sinus to alloc fstp dword ptr [SINcam_fly] fld dword ptr [rbx+000001B0+20+4] // Load Sinus to alloc fstp dword ptr [PITCHcam_fly] // Operations // For X fld dword ptr [COScam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [COScam_fly] fld qword ptr [Xcam_fly] fsub dword ptr [COScam_fly] fstp qword ptr [Xcam_fly] // For Y fld dword ptr [SINcam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [SINcam_fly] fld qword ptr [Ycam_fly] fsub dword ptr [SINcam_fly] fstp qword ptr [Ycam_fly] // For Z fld dword ptr [PITCHcam_fly] fmul dword ptr [CamFlyingspeed_fly_cam] fstp dword ptr [PITCHcam_fly] fld qword ptr [Zcam_fly] fsub dword ptr [PITCHcam_fly] fstp qword ptr [Zcam_fly] // Uploading fld qword ptr [Xcam_fly] fstp qword ptr [rbx+000001B0] fld qword ptr [Zcam_fly] fstp qword ptr [rbx+000001B0+8] fld qword ptr [Ycam_fly] fstp qword ptr [rbx+000001B0+8+8] @@: cmp [camfly_RECORD_Checker],#1 je camera_RECORD_ACT jmp BACKcamera_coord_x ////////////////////////////////////////-camera_RECORD_ACT-////////////////////// camera_RECORD_ACT: cmp [camfly_RECORD_PAUSE_AH],#1 je camera_coord_x_ORIG cmp [camfly_RECORD_PLAY],#1 je camera_RECORD_PLAY_ACT cmp [camfly_RECORD_RESTART],#0 je @f mov [Get_First_Alloc_Adree_X],#0 mov [Get_First_Alloc_Adree_Z],#0 mov [Get_First_Alloc_Adree_Y],#0 mov [Get_First_Alloc_Adree_Turn_X],#0 mov [Get_First_Alloc_Adree_Turn_Z],#0 mov [Get_First_Alloc_Adree_Turn_Y],#0 mov [PLACEEcamfly_Record+F4240],#0 mov [PLACEEcamfly_Record_Z+F4240],#0 mov [PLACEEcamfly_Record_Y+F4240],#0 mov [PLACEEcamfly_Record_Turn_X+F4240],#0 mov [PLACEEcamfly_Record_Turn_Z+F4240],#0 mov [PLACEEcamfly_Record_Turn_Y+F4240],#0 mov [camfly_RECORD_RESTART],#0 mov [camfly_RECORD_START],#1 mov [Record_Percent_complete],#0 @@: cmp [camfly_RECORD_START],#0 je camera_coord_x_ORIG cmp [Get_First_Alloc_Adree_X],#0 jne @f push rdi mov rdi,PLACEEcamfly_Record mov [Get_First_Alloc_Adree_X],rdi pop rdi push rdi mov rdi,PLACEEcamfly_Record_Z mov [Get_First_Alloc_Adree_Z],rdi pop rdi push rdi mov rdi,PLACEEcamfly_Record_Y mov [Get_First_Alloc_Adree_Y],rdi pop rdi push rdi mov rdi,PLACEEcamfly_Record_Turn_X mov [Get_First_Alloc_Adree_Turn_X],rdi pop rdi push rdi mov rdi,PLACEEcamfly_Record_Turn_Z mov [Get_First_Alloc_Adree_Turn_Z],rdi pop rdi push rdi mov rdi,PLACEEcamfly_Record_Turn_Y mov [Get_First_Alloc_Adree_Turn_Y],rdi pop rdi @@: fld qword ptr [Get_First_Alloc_Adree_X] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_X] fld qword ptr [Get_First_Alloc_Adree_Z] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Z] fld qword ptr [Get_First_Alloc_Adree_Y] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Y] fld qword ptr [Get_First_Alloc_Adree_Turn_X] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Turn_X] fld qword ptr [Get_First_Alloc_Adree_Turn_Z] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Turn_Z] fld qword ptr [Get_First_Alloc_Adree_Turn_Y] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Turn_Y] cmp [PLACEEcamfly_Record+F4240],#0 je @f mov [camfly_RECORD_START],#0 @@: push rdi push rsi mov rdi,PLACEEcamfly_Record mov rsi,[Get_First_Alloc_Adree_X] sub rsi,rdi mov [Record_Percent_complete],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_X] mov rsi,[rbx+000001B0] mov [rdi],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Z] mov rsi,[rbx+1C0] mov [rdi],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Y] mov rsi,[rbx+000001B0+8] mov [rdi],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Turn_X] mov rsi,[rbx+000001B0+20] mov [rdi],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Turn_Z] mov rsi,[rbx+000001B0+24] mov [rdi],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Turn_Y] mov rsi,[rbx+000001B0+28] mov [rdi],rsi pop rsi pop rdi jmp BACKcamera_coord_x /////////////////////////////////////////////-camera_RECORD_PLAY_ACT camera_RECORD_PLAY_ACT: cmp [camfly_RECORD_PLAY_PAUSE_Forw_AH],#1 je camera_coord_x_ORIG cmp [PLACEEcamfly_Record+8],#0 je camera_coord_x_ORIG cmp [camfly_RECORD_PLAY_FORW],#1 je camera_RECORD_PLAY_Forward cmp [camfly_RECORD_PLAY_BACW],#1 je camera_RECORD_PLAY_Bacward jmp BACKcamera_coord_x /////////////////////////////////////////////-camera_RECORD_PLAY_Forward camera_RECORD_PLAY_Forward: cmp [camfly_RECORD_PLAY_FORW_restart],#0 je @f push rdi mov rdi,PLACEEcamfly_Record mov [Get_First_Alloc_Adree_X],rdi pop rdi push rdi mov rdi,PLACEEcamfly_Record_Z mov [Get_First_Alloc_Adree_Z],rdi pop rdi push rdi mov rdi,PLACEEcamfly_Record_Y mov [Get_First_Alloc_Adree_Y],rdi pop rdi push rdi mov rdi,PLACEEcamfly_Record_Turn_X mov [Get_First_Alloc_Adree_Turn_X],rdi pop rdi push rdi mov rdi,PLACEEcamfly_Record_Turn_Z mov [Get_First_Alloc_Adree_Turn_Z],rdi pop rdi push rdi mov rdi,PLACEEcamfly_Record_Turn_Y mov [Get_First_Alloc_Adree_Turn_Y],rdi pop rdi mov [camfly_RECORD_PLAY_FORW_restart],#0 @@: push rdi mov rdi,[Get_First_Alloc_Adree_X] cmp [rdi+16],#0 pop rdi jne @f mov [camfly_RECORD_PLAY_FORW],#0 jmp BACKcamera_coord_x @@: fld qword ptr [Get_First_Alloc_Adree_X] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_X] fld qword ptr [Get_First_Alloc_Adree_Z] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Z] fld qword ptr [Get_First_Alloc_Adree_Y] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Y] fld qword ptr [Get_First_Alloc_Adree_Turn_X] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Turn_X] fld qword ptr [Get_First_Alloc_Adree_Turn_Z] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Turn_Z] fld qword ptr [Get_First_Alloc_Adree_Turn_Y] fadd qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Turn_Y] push rdi push rsi mov rdi,PLACEEcamfly_Record mov rsi,[Get_First_Alloc_Adree_X] sub rsi,rdi mov [Record_PLAY_Percent_complete],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_X] mov rsi,[rdi] mov [rbx+000001B0],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Z] mov rsi,[rdi] mov [rbx+000001B0+8+8],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Y] mov rsi,[rdi] mov [rbx+000001B0+8],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Turn_X] mov rsi,[rdi] mov [rbx+000001B0+20],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Turn_Z] mov rsi,[rdi] mov [rbx+000001B0+24],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Turn_Y] mov rsi,[rdi] mov [rbx+000001B0+28],rsi pop rsi pop rdi jmp BACKcamera_coord_x /////////////////////////////////////////////-camera_RECORD_PLAY_Bacward camera_RECORD_PLAY_Bacward: cmp [PLACEEcamfly_Record+8],#0 je camera_coord_x_ORIG push rdi mov rdi,[Get_First_Alloc_Adree_X] cmp [rdi-18],#0 pop rdi jne @f mov [camfly_RECORD_PLAY_BACW],#0 jmp BACKcamera_coord_x @@: fld qword ptr [Get_First_Alloc_Adree_X] fsub qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_X] fld qword ptr [Get_First_Alloc_Adree_Z] fsub qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Z] fld qword ptr [Get_First_Alloc_Adree_Y] fsub qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Y] fld qword ptr [Get_First_Alloc_Adree_Turn_X] fsub qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Turn_X] fld qword ptr [Get_First_Alloc_Adree_Turn_Z] fsub qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Turn_Z] fld qword ptr [Get_First_Alloc_Adree_Turn_Y] fsub qword ptr [First_Adrees_Adder] fstp qword ptr [Get_First_Alloc_Adree_Turn_Y] push rdi push rsi mov rdi,PLACEEcamfly_Record mov rsi,[Get_First_Alloc_Adree_X] sub rsi,rdi mov [Record_PLAY_Percent_complete],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_X] mov rsi,[rdi] mov [rbx+000001B0],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Z] mov rsi,[rdi] mov [rbx+000001B0+8+8],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Y] mov rsi,[rdi] mov [rbx+000001B0+8],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Turn_X] mov rsi,[rdi] mov [rbx+000001B0+20],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Turn_Z] mov rsi,[rdi] mov [rbx+000001B0+24],rsi pop rsi pop rdi push rdi push rsi mov rdi,[Get_First_Alloc_Adree_Turn_Y] mov rsi,[rdi] mov [rbx+000001B0+28],rsi pop rsi pop rdi jmp BACKcamera_coord_x camera_coord_x_ORIG: jmp BACKcamera_coord_x //////////////// First_Adrees_Adder: dd #8 SCANcamera_coord_x: jmp PLACEcamera_coord_x nop nop nop BACKcamera_coord_x: [DISABLE] dealloc(PLACEcamera_coord_x) unregistersymbol(SCANcamera_coord_x) dealloc(camfly_pos_Checker) unregistersymbol(camfly_pos_Checker) dealloc(camfly_Hotkey_Forward_Mov) unregistersymbol(camfly_Hotkey_Forward_Mov) dealloc(camfly_Hotkey_Backward_Mov) unregistersymbol(camfly_Hotkey_Backward_Mov) dealloc(camfly_Hotkey_Left_Mov) unregistersymbol(camfly_Hotkey_Left_Mov) dealloc(camfly_Hotkey_Right_Mov) unregistersymbol(camfly_Hotkey_Right_Mov) dealloc(camfly_Hotkey_Up_Mov) unregistersymbol(camfly_Hotkey_Up_Mov) dealloc(camfly_Hotkey_Down_Mov) unregistersymbol(camfly_Hotkey_Down_Mov) dealloc(camfly_Hotkey_FullForw_Mov) unregistersymbol(camfly_Hotkey_FullForw_Mov) dealloc(camfly_Hotkey_FullBacw_Mov) unregistersymbol(camfly_Hotkey_FullBacw_Mov) dealloc(Xcam_fly) unregistersymbol(Xcam_fly) dealloc(Zcam_fly) unregistersymbol(Zcam_fly) dealloc(Ycam_fly) unregistersymbol(Ycam_fly) dealloc(COScam_fly) unregistersymbol(COScam_fly) dealloc(SINcam_fly) unregistersymbol(SINcam_fly) dealloc(PITCHcam_fly) unregistersymbol(PITCHcam_fly) dealloc(CamFlyingspeed_fly_cam) unregistersymbol(CamFlyingspeed_fly_cam) //**********************RECORD dealloc(camfly_Firts_Time_run_Scr) unregistersymbol(camfly_Firts_Time_run_Scr) dealloc(PLACEEcamfly_Record) unregistersymbol(PLACEEcamfly_Record) dealloc(Get_First_Alloc_Adree_X) unregistersymbol(Get_First_Alloc_Adree_X) dealloc(PLACEEcamfly_Record_Z) unregistersymbol(PLACEEcamfly_Record_Z) dealloc(Get_First_Alloc_Adree_Z) unregistersymbol(Get_First_Alloc_Adree_Z) dealloc(PLACEEcamfly_Record_Y) unregistersymbol(PLACEEcamfly_Record_Y) dealloc(Get_First_Alloc_Adree_Y) unregistersymbol(Get_First_Alloc_Adree_Y) dealloc(PLACEEcamfly_Record_Turn_X) unregistersymbol(PLACEEcamfly_Record_Turn_X) dealloc(Get_First_Alloc_Adree_Turn_X) unregistersymbol(Get_First_Alloc_Adree_Turn_X) dealloc(PLACEEcamfly_Record_Turn_Z) unregistersymbol(PLACEEcamfly_Record_Turn_Z) dealloc(Get_First_Alloc_Adree_Turn_Z) unregistersymbol(Get_First_Alloc_Adree_Turn_Z) dealloc(PLACEEcamfly_Record_Turn_Y) unregistersymbol(PLACEEcamfly_Record_Turn_Y) dealloc(Get_First_Alloc_Adree_Turn_Y) unregistersymbol(Get_First_Alloc_Adree_Turn_Y) dealloc(Record_Percent_complete) unregistersymbol(Record_Percent_complete) dealloc(Record_PLAY_Percent_complete) unregistersymbol(Record_PLAY_Percent_complete) dealloc(First_Adrees_Adder) unregistersymbol(First_Adrees_Adder) dealloc(camfly_RECORD_Checker) unregistersymbol(camfly_RECORD_Checker) dealloc(camfly_RECORD_START) unregistersymbol(camfly_RECORD_START) dealloc(camfly_RECORD_RESTART) unregistersymbol(camfly_RECORD_RESTART) dealloc(camfly_RECORD_PAUSE_AH) unregistersymbol(camfly_RECORD_PAUSE_AH) dealloc(camfly_RECORD_PLAY) unregistersymbol(camfly_RECORD_PLAY) dealloc(camfly_RECORD_PLAY_FORW) unregistersymbol(camfly_RECORD_PLAY_FORW) dealloc(camfly_RECORD_PLAY_BACW) unregistersymbol(camfly_RECORD_PLAY_BACW) dealloc(camfly_RECORD_PLAY_FORW_restart) unregistersymbol(camfly_RECORD_PLAY_FORW_restart) dealloc(camfly_RECORD_PLAY_PAUSE_Forw_AH) unregistersymbol(camfly_RECORD_PLAY_PAUSE_Forw_AH) SCANcamera_coord_x: movsd [rbx+000001B0],xmm6 { // ORIGINAL CODE - INJECTION POINT: 7FF6301157D8 7FF6301157A3: FF 50 10 - call qword ptr [rax+10] 7FF6301157A6: F3 0F 10 4C 24 64 - movss xmm1,[rsp+64] 7FF6301157AC: 0F 57 C0 - xorps xmm0,xmm0 7FF6301157AF: 44 0F 28 94 24 90 00 00 00 - movaps xmm10,[rsp+00000090] 7FF6301157B8: F3 0F 58 4C 24 54 - addss xmm1,[rsp+54] 7FF6301157BE: F2 0F 58 30 - addsd xmm6,[rax] 7FF6301157C2: F2 44 0F 58 40 10 - addsd xmm8,[rax+10] 7FF6301157C8: F2 44 0F 58 48 18 - addsd xmm9,[rax+18] 7FF6301157CE: F2 0F 58 78 08 - addsd xmm7,[rax+08] 7FF6301157D3: 0F 5C 44 24 40 - subps xmm0,[rsp+40] // ---------- INJECTING HERE ---------- 7FF6301157D8: F2 0F 11 B3 B0 01 00 00 - movsd [rbx+000001B0],xmm6 // ---------- DONE INJECTING ---------- 7FF6301157E0: 0F 28 B4 24 D0 00 00 00 - movaps xmm6,[rsp+000000D0] 7FF6301157E8: F2 44 0F 11 83 C0 01 00 00 - movsd [rbx+000001C0],xmm8 7FF6301157F1: 44 0F 28 84 24 B0 00 00 00 - movaps xmm8,[rsp+000000B0] 7FF6301157FA: F2 44 0F 11 8B C8 01 00 00 - movsd [rbx+000001C8],xmm9 7FF630115803: 44 0F 28 8C 24 A0 00 00 00 - movaps xmm9,[rsp+000000A0] 7FF63011580C: F2 0F 11 BB B8 01 00 00 - movsd [rbx+000001B8],xmm7 7FF630115814: 0F 29 83 D0 01 00 00 - movaps [rbx+000001D0],xmm0 7FF63011581B: F3 0F 58 8B 10 02 00 00 - addss xmm1,[rbx+00000210] 7FF630115823: F3 0F 58 8B D4 01 00 00 - addss xmm1,[rbx+000001D4] 7FF63011582B: F3 0F 11 8B D4 01 00 00 - movss [rbx+000001D4],xmm1 } Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения