Submarina Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 (изменено) Всем привет игра DYING LIGHT, в игре есть полоска выносливости,когда кого ни будь колотишь,она уменьшается до 0, когда полоска восстанавливается, то показывает Float 1,5, можно сделать что бы выносливость, восстанавливалась не с нуля, когда уменьшится до нуля, а сразу с Float 1 то есть с од нерки 1. Вот скрипт Показать контент [ENABLE] aobscanmodule(Endurance,gamedll_x64_rwdi.dll,F3 0F 10 41 10 0F 2F C6) alloc(newmem,2048,"Endurance) label(returnhere) label(originalcode) newmem: mov [rcx+10],(float)1,5 originalcode: movss xmm0,[rcx+10] jmp returnhere Endurance: jmp newmem returnhere: registersymbol(Endurance) [DISABLE] Endurance: db F3 0F 10 41 10 unregistersymbol(Endurance) dealloc(newmem) Изменено 1 июня, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 (изменено) Сегодня как раз делал выносливость. У меня полоска 1.75 максимальное значение может из-за 250 легендарного уровня. Могу сразу таблицу кинуть, если нужно. Показать контент { Game : DyingLightGame.exe Version: Date : 2016-06-01 Author : partoftheworlD This script does blah blah blah } [ENABLE] aobscanmodule(stamina,gamedll_x64_rwdi.dll,F3 0F 11 7B 10 0F 28 7C 24 60) // should be unique alloc(newmem,$1000,"gamedll_x64_rwdi.dll"+C02AC7) label(code) label(return) newmem: mov [rbx+10],(float)2.0 jmp return code: movss [rbx+10],xmm7 jmp return stamina: jmp newmem return: registersymbol(stamina) [DISABLE] stamina: db F3 0F 11 7B 10 unregistersymbol(stamina) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "gamedll_x64_rwdi.dll"+C02AC7 "gamedll_x64_rwdi.dll"+C02AA4: F3 0F 10 4B 10 - movss xmm1,[rbx+10] "gamedll_x64_rwdi.dll"+C02AA9: F3 41 0F 5C C8 - subss xmm1,xmm8 "gamedll_x64_rwdi.dll"+C02AAE: 0F 2F CF - comiss xmm1,xmm7 "gamedll_x64_rwdi.dll"+C02AB1: 72 0D - jb gamedll_x64_rwdi.dll+C02AC0 "gamedll_x64_rwdi.dll"+C02AB3: 0F 2F C8 - comiss xmm1,xmm0 "gamedll_x64_rwdi.dll"+C02AB6: 76 05 - jna gamedll_x64_rwdi.dll+C02ABD "gamedll_x64_rwdi.dll"+C02AB8: 0F 28 F8 - movaps xmm7,xmm0 "gamedll_x64_rwdi.dll"+C02ABB: EB 03 - jmp gamedll_x64_rwdi.dll+C02AC0 "gamedll_x64_rwdi.dll"+C02ABD: 0F 28 F9 - movaps xmm7,xmm1 "gamedll_x64_rwdi.dll"+C02AC0: 0F 2F 3D 79 53 7D 00 - comiss xmm7,[gamedll_x64_rwdi.dll+13D7E40] // ---------- INJECTING HERE ---------- "gamedll_x64_rwdi.dll"+C02AC7: F3 0F 11 7B 10 - movss [rbx+10],xmm7 // ---------- DONE INJECTING ---------- "gamedll_x64_rwdi.dll"+C02ACC: 0F 28 7C 24 60 - movaps xmm7,[rsp+60] "gamedll_x64_rwdi.dll"+C02AD1: 73 07 - jae gamedll_x64_rwdi.dll+C02ADA "gamedll_x64_rwdi.dll"+C02AD3: C7 43 10 00 00 00 00 - mov [rbx+10],00000000 "gamedll_x64_rwdi.dll"+C02ADA: 44 0F 2E 4B 10 - ucomiss xmm9,[rbx+10] "gamedll_x64_rwdi.dll"+C02ADF: 0F 85 36 01 00 00 - jne gamedll_x64_rwdi.dll+C02C1B "gamedll_x64_rwdi.dll"+C02AE5: 48 8B 03 - mov rax,[rbx] "gamedll_x64_rwdi.dll"+C02AE8: 48 8B CB - mov rcx,rbx "gamedll_x64_rwdi.dll"+C02AEB: FF 50 20 - call qword ptr [rax+20] "gamedll_x64_rwdi.dll"+C02AEE: 48 8B F8 - mov rdi,rax "gamedll_x64_rwdi.dll"+C02AF1: 80 78 50 00 - cmp byte ptr [rax+50],00 } Изменено 1 июня, 2016 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 1 июня, 2016 Автор Поделиться Опубликовано 1 июня, 2016 (изменено) Спасибо тебе,partoftheworLD но таблица мене не нужна, мене именно по моей теме надо, чтобы мене помогли. Изменено 1 июня, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 (изменено) В 01.06.2016 в 07:19, Baracuda сказал: можно сделать что бы выносливость, восстанавливалась не с нуля, когда уменьшится до нуля, а сразу с Float 1 то есть с од нерки 1. Показать Показать контент [ENABLE] aobscanmodule(Endurance,gamedll_x64_rwdi.dll,F3 0F 10 41 10 0F 2F C6) alloc(newmem,2048,"Endurance) label(returnhere) label(originalcode) registersymbol(Endurance) newmem: cmp [rcx+10],(float)0 jne originalcode mov [rcx+10],(float)1 originalcode: movss xmm0,[rcx+10] jmp returnhere Endurance: jmp newmem returnhere: [DISABLE] Endurance: db F3 0F 10 41 10 unregistersymbol(Endurance) dealloc(newmem) Если я тебя правильно понял, попробуй так. Изменено 1 июня, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 Легче тогда поставить проверку и когда значение будет меньше или равно 1 - тогда прыгнуть на свой код, а то есть 1.5 В итоге оно будет восстанавливаться всегда как только значение достигнет 1_ или будет ниже его. Хотя вопрос какой то странный не одному Игорю он не понятен конкретно. Хотя правильно - Игорь вроде бы как надо сделал. Но это если он подумал так же как я сейчас спустя 5 минут Но тогда не допишет до максимального значения. Фиг его знает в общем конкретная цель какая. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 В 01.06.2016 в 08:29, LIRW сказал: Игорь вроде бы как надо сделал Показать По видимому я не правильно понял Baracuda. Baracuda, напиши более подробно и понятно. До скольки должна упасть выносливость и со скольки должна подняться. (в твоём описании не очень понятно). 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 1 июня, 2016 Автор Поделиться Опубликовано 1 июня, 2016 Все вроде бы хорошо РАБОТАЕТ GARIK66, и тут для меня новая проблема, если полоску выносливости использовать не до нуля 0, а до 0,00963452, то с 1, не восстанавливает а восстанавливает именно с 0,00963452, а как мене сделать что бы полоска выносливости восстанавливалась с любого числа. я надеюсь понятно написал СЕЙЧАС В ДАННЫЙ МОМЕНТ ПОЛОСКА ВОССТАНАВЛИВАЕТСЯ С 1, ЕСЛИ ВЫНОСЛИВОСТЬ ДОВЕСТИ ДО 0, ЕСЛИ ВЫНОСЛИВОСТЬ НЕ ДОВОДИТЬ ДО НУЛЯ, ТО ПОЛОСКА НЕ ВОССТАНАВЛИВАЕТСЯ С 1 А КАК СДЕЛАТЬ ЧТО БЫ НЕ ТОЛЬКО С НУЛЯ ВОССТАНАВЛИВАЛАСЬ А С ЛЮБОГО ЧИСЛА. Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 Тогда поставь если больше нуля,а не равно 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 В 01.06.2016 в 09:07, Baracuda сказал: а как мене сделать что бы полоска выносливости восстанавливалась с любого числа. Показать Это уже сложнее. Это можно либо сделать принудительно (по хоткею), либо отслеживать, когда Герой прекратил тратиь выносливость (что сложнее). 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 В 01.06.2016 в 09:10, LIRW сказал: Тогда поставь если больше нуля,а не равно 0 Показать Жень,Так ничего не получиться. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 В 01.06.2016 в 09:12, Garik66 сказал: Жень,Так ничего не получиться. Показать Не учел однёрку. упустил. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 1 июня, 2016 Автор Поделиться Опубликовано 1 июня, 2016 (изменено) Ну Garik66 ещё можно сделать вот так, но это вариант подходит только если полоска выносливости 1 до 100, а не так как 1-0,009347464 Показать контент [ENABLE] aobscanmodule(Endurance,gamedll_x64_rwdi.dll,F3 0F 10 41 10 0F 2F C6) alloc(newmem,2048,"Endurance) label(returnhere) label(originalcode) registersymbol(Endurance) newmem: cmp [rcx+10],(float)0 jne @F mov [rcx+10],(float)1 @@: cmp [rcx+10],(float)2 jne @F mov [rcx+10],(float)1 @@: cmp [rcx+10],(float)3 jne @F mov [rcx+10],(float)1 @@: cmp [rcx+10],(float)4 и так до максимума но это если полоска 1 до 100 а если нет jne @F mov [rcx+10],(float)1 originalcode: movss xmm0,[rcx+10] jmp returnhere Endurance: jmp newmem returnhere: [DISABLE] Endurance: db F3 0F 10 41 10 unregistersymbol(Endurance) dealloc(newmem) Изменено 1 июня, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 В 01.06.2016 в 09:07, Baracuda сказал: а как мене сделать что бы полоска выносливости восстанавливалась с любого числа. Показать Сейчас сделаю нормально, кажись придумал. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 (изменено) В 01.06.2016 в 09:07, Baracuda сказал: а как мене сделать что бы полоска выносливости восстанавливалась с любого числа. Показать Baracuda, вроде написал, скрипт по идее должен работать так, пока предыдущее значение выносливости больше текущего, т.е. выносливость тратиться, то ничего не будет происходить, как только выносливость начнёт расти, то выносливость сразу станет максимальной, т.е. 1,5 во float. Попробуй скрипт, отпишись о результатах. Показать контент [ENABLE] aobscanmodule(Endurance,gamedll_x64_rwdi.dll,F3 0F 10 41 10 0F 2F C6) alloc(newmem,2048,"Endurance) label(returnhere) label(originalcode) label(TEndur) // предыдущее значение выносливости, с ним и будем сравнивать. registersymbol(Endurance) newmem: push rax mov eax,[rcx+10] cmp [TEndur],eax pop rax ja @f mov [rcx+10],(float)1.5 mov [TEndur],(float)1.5 jmp originalcode @@: mov [TEndur],eax originalcode: movss xmm0,[rcx+10] jmp returnhere TEndur: dd (float)1,5 Endurance: jmp newmem returnhere: [DISABLE] Endurance: db F3 0F 10 41 10 unregistersymbol(Endurance) dealloc(newmem) Изменено 1 июня, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 1 июня, 2016 Автор Поделиться Опубликовано 1 июня, 2016 вот из за это строчка это инструкция, не может быть скомпилирована. mov [rcx+10],(float)1,5 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 1 июня, 2016 Поделиться Опубликовано 1 июня, 2016 В 01.06.2016 в 09:56, Baracuda сказал: вот из за это строчка это инструкция, не может быть скомпилирована. Показать Поставь . вместо , Забыл. Поправил скрипт в предыдущем сообщении. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 1 июня, 2016 Автор Поделиться Опубликовано 1 июня, 2016 Ладно Garik66, у меня дела, завтра если сможешь то до делаем. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 2 июня, 2016 Автор Поделиться Опубликовано 2 июня, 2016 (изменено) Он не работает так как ты написал,Garik66 он работает как обычный скрипт на заморозку. Изменено 2 июня, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 2 июня, 2016 Поделиться Опубликовано 2 июня, 2016 В 02.06.2016 в 05:08, Baracuda сказал: Он не работает так как ты написал,Garik66 он работает как обычный скрипт на заморозку. Показать По-видимому в этой инструкции ещё не начинается изменение выносливости, т.к. инструкция на чтение. Дай АА-скрипт на запись. Но доделать смогу только вечером. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 2 июня, 2016 Автор Поделиться Опубликовано 2 июня, 2016 (изменено) Игру у меня нет, испытывал на другой игре, та у меня слетела уже 3 раз, я тебе дам другую инструкцию другой игры, вот инструкция на Чтения. Эти инструкции тоже выносливость, только Float от 0 до 100. Показать контент [ENABLE] alloc(newmem,2048,"GTA5.exe"+68710D)//////0F 2F 83 00 0C 00 00 73 label(returnhere) label(originalcode) newmem: mov [rbx+00000C00],(float)100 originalcode: comiss xmm0,[rbx+00000C00] jmp returnhere "GTA5.exe"+68710D: jmp newmem nop nop returnhere: [DISABLE] dealloc(newmem) "GTA5.exe"+68710D: comiss xmm0,[rbx+00000C00] /////db 0F 2F 83 00 0C 00 00 { // ORIGINAL CODE - INJECTION POINT: "GTA5.exe"+68710D "GTA5.exe"+6870DC: E8 57 6E FC FF - call GTA5.exe+64DF38 "GTA5.exe"+6870E1: 83 3D 84 6B 76 01 02 - cmp dword ptr [GTA5.exe+1DEDC6C],02 "GTA5.exe"+6870E8: 0F 84 C4 00 00 00 - je GTA5.exe+6871B2 "GTA5.exe"+6870EE: 48 8D 8B 00 02 00 00 - lea rcx,[rbx+00000200] "GTA5.exe"+6870F5: E8 BE 00 00 00 - call GTA5.exe+6871B8 "GTA5.exe"+6870FA: 48 8B CB - mov rcx,rbx "GTA5.exe"+6870FD: E8 46 E1 CB FF - call GTA5.exe+345248 "GTA5.exe"+687102: 48 8B CB - mov rcx,rbx "GTA5.exe"+687105: E8 46 9C 00 00 - call GTA5.exe+690D50 "GTA5.exe"+68710A: 0F 57 C0 - xorps xmm0,xmm0 // ---------- INJECTING HERE ---------- "GTA5.exe"+68710D: 0F 2F 83 00 0C 00 00 - comiss xmm0,[rbx+00000C00] // ---------- DONE INJECTING ---------- "GTA5.exe"+687114: 73 13 - jae GTA5.exe+687129 "GTA5.exe"+687116: 48 8B 93 60 01 00 00 - mov rdx,[rbx+00000160] "GTA5.exe"+68711D: 48 8D 8B 64 0C 00 00 - lea rcx,[rbx+00000C64] "GTA5.exe"+687124: E8 D3 FB FF FF - call GTA5.exe+686CFC "GTA5.exe"+687129: 83 A3 7C 0C 00 00 00 - and dword ptr [rbx+00000C7C],00 "GTA5.exe"+687130: 48 8B CB - mov rcx,rbx "GTA5.exe"+687133: E8 9C 47 00 00 - call GTA5.exe+68B8D4 "GTA5.exe"+687138: 48 8B CB - mov rcx,rbx "GTA5.exe"+68713B: E8 08 AB 00 00 - call GTA5.exe+691C48 "GTA5.exe"+687140: 48 8B CB - mov rcx,rbx } вот инструкция на запись. Показать контент { Game : GTA5.exe Version: Date : 2016-06-02 Author : Silicon Valley This script does blah blah blah } [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscanmodule(INJECT,GTA5.exe,F3 0F 11 BB 00 0C 00 00) // should be unique alloc(newmem,$1000,"GTA5.exe"+6707A1) label(code) label(return) newmem: code: movss [rbx+00000C00],xmm7 jmp return INJECT: jmp code nop nop nop return: registersymbol(INJECT) [DISABLE] //code from here till the end of the code will be used to disable the cheat INJECT: db F3 0F 11 BB 00 0C 00 00 unregistersymbol(INJECT) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "GTA5.exe"+6707A1 "GTA5.exe"+670774: 0F 2F CF - comiss xmm1,xmm7 "GTA5.exe"+670777: 0F 86 AB 00 00 00 - jbe GTA5.exe+670828 "GTA5.exe"+67077D: 0F 28 C6 - movaps xmm0,xmm6 "GTA5.exe"+670780: F3 41 0F 59 F0 - mulss xmm6,xmm8 "GTA5.exe"+670785: F3 0F 58 83 B8 05 00 00 - addss xmm0,[rbx+000005B8] "GTA5.exe"+67078D: F3 0F 5C CE - subss xmm1,xmm6 "GTA5.exe"+670791: F3 0F 11 83 B8 05 00 00 - movss [rbx+000005B8],xmm0 "GTA5.exe"+670799: 0F 2F CF - comiss xmm1,xmm7 "GTA5.exe"+67079C: 72 03 - jb GTA5.exe+6707A1 "GTA5.exe"+67079E: 0F 28 F9 - movaps xmm7,xmm1 // ---------- INJECTING HERE ---------- "GTA5.exe"+6707A1: F3 0F 11 BB 00 0C 00 00 - movss [rbx+00000C00],xmm7 // ---------- DONE INJECTING ---------- "GTA5.exe"+6707A9: E9 2D FF FF FF - jmp GTA5.exe+6706DB "GTA5.exe"+6707AE: F3 0F 10 89 04 0C 00 00 - movss xmm1,[rcx+00000C04] "GTA5.exe"+6707B6: F3 0F 10 91 00 0C 00 00 - movss xmm2,[rcx+00000C00] "GTA5.exe"+6707BE: 0F 2F D1 - comiss xmm2,xmm1 "GTA5.exe"+6707C1: 73 65 - jae GTA5.exe+670828 "GTA5.exe"+6707C3: 83 A1 B8 05 00 00 00 - and dword ptr [rcx+000005B8],00 "GTA5.exe"+6707CA: 4D 85 C0 - test r8,r8 "GTA5.exe"+6707CD: 74 1F - je GTA5.exe+6707EE "GTA5.exe"+6707CF: 49 8B 80 98 14 00 00 - mov rax,[r8+00001498] "GTA5.exe"+6707D6: 48 85 C0 - test rax,rax } Изменено 2 июня, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 2 июня, 2016 Поделиться Опубликовано 2 июня, 2016 (изменено) В 02.06.2016 в 06:47, Baracuda сказал: вот инструкция на запись. Показать Попробуй так: Показать контент { Game : GTA5.exe Version: Date : 2016-06-02 Author : Silicon Valley This script does blah blah blah } [ENABLE] aobscanmodule(INJECT,GTA5.exe,F3 0F 11 BB 00 0C 00 00) // should be unique alloc(newmem,$1000,"GTA5.exe"+6707A1) label(code) label(return) label(TEndur) registersymbol(INJECT) newmem: movss [rbx+00000C00],xmm7 push rax mov eax,[rbx+00000C00] cmp [TEndur],eax jb code mov [TEndur],eax pop rax jmp return code: pop rax mov [rbx+00000C00],(float)100 mov [TEndur],(float)100 jmp return TEndur: dd (float)100 INJECT: jmp newmem db 90 90 90 return: [DISABLE] INJECT: db F3 0F 11 BB 00 0C 00 00 unregistersymbol(INJECT) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "GTA5.exe"+6707A1 "GTA5.exe"+670774: 0F 2F CF - comiss xmm1,xmm7 "GTA5.exe"+670777: 0F 86 AB 00 00 00 - jbe GTA5.exe+670828 "GTA5.exe"+67077D: 0F 28 C6 - movaps xmm0,xmm6 "GTA5.exe"+670780: F3 41 0F 59 F0 - mulss xmm6,xmm8 "GTA5.exe"+670785: F3 0F 58 83 B8 05 00 00 - addss xmm0,[rbx+000005B8] "GTA5.exe"+67078D: F3 0F 5C CE - subss xmm1,xmm6 "GTA5.exe"+670791: F3 0F 11 83 B8 05 00 00 - movss [rbx+000005B8],xmm0 "GTA5.exe"+670799: 0F 2F CF - comiss xmm1,xmm7 "GTA5.exe"+67079C: 72 03 - jb GTA5.exe+6707A1 "GTA5.exe"+67079E: 0F 28 F9 - movaps xmm7,xmm1 // ---------- INJECTING HERE ---------- "GTA5.exe"+6707A1: F3 0F 11 BB 00 0C 00 00 - movss [rbx+00000C00],xmm7 // ---------- DONE INJECTING ---------- "GTA5.exe"+6707A9: E9 2D FF FF FF - jmp GTA5.exe+6706DB "GTA5.exe"+6707AE: F3 0F 10 89 04 0C 00 00 - movss xmm1,[rcx+00000C04] "GTA5.exe"+6707B6: F3 0F 10 91 00 0C 00 00 - movss xmm2,[rcx+00000C00] "GTA5.exe"+6707BE: 0F 2F D1 - comiss xmm2,xmm1 "GTA5.exe"+6707C1: 73 65 - jae GTA5.exe+670828 "GTA5.exe"+6707C3: 83 A1 B8 05 00 00 00 - and dword ptr [rcx+000005B8],00 "GTA5.exe"+6707CA: 4D 85 C0 - test r8,r8 "GTA5.exe"+6707CD: 74 1F - je GTA5.exe+6707EE "GTA5.exe"+6707CF: 49 8B 80 98 14 00 00 - mov rax,[r8+00001498] "GTA5.exe"+6707D6: 48 85 C0 - test rax,rax } По первому скрипту заметил у себя ошибку: Показать контент pop rax // восстановили значение регистра ja @f mov [rcx+10],(float)1.5 mov [TEndur],(float)1.5 jmp originalcode @@: mov [TEndur],eax // и записали это значение сюда, но в eax лежит уже не значенние выносливости. Error (: Невнимательность блин. Поправлю и первый скрипт здесь: Показать контент [ENABLE] aobscanmodule(Endurance,gamedll_x64_rwdi.dll,F3 0F 10 41 10 0F 2F C6) alloc(newmem,2048,"Endurance) label(returnhere) label(originalcode) label(TEndur) // предыдущее значение выносливости, с ним и будем сравнивать. registersymbol(Endurance) newmem: push rax mov eax,[rcx+10] cmp [TEndur],eax ja @f pop rax mov [rcx+10],(float)1.5 mov [TEndur],(float)1.5 jmp originalcode @@: mov [TEndur],eax pop rax originalcode: movss xmm0,[rcx+10] jmp returnhere TEndur: dd (float)1,5 Endurance: jmp newmem returnhere: [DISABLE] Endurance: db F3 0F 10 41 10 unregistersymbol(Endurance) dealloc(newmem) Вот теперь и он должен сработать. Изменено 2 июня, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 5 июня, 2016 Автор Поделиться Опубликовано 5 июня, 2016 Не Garik66 он работает как обычный скрипт на заморозку, самый первый скрипт который ты выложил, он больше подходить как раз, так что СПАСИБО ТЕБЕ Garik66 ТЕМУ МОЖНО ЗАКРЫВАТЬ Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения