-
Постов
19 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Rest0rer
-
-
6 часов назад, LIRW сказал:
Так по моему... я особо не тестировал.. не когда игрой заниматься.
Ps: Да... чуть не забыл! Игра у тебя старой версии, не так давно, её обновили на 1.5 gb пришлось восстанавливать.
xorps xmm14,xmm14//привести к 0 comiss xmm14,[rcx+4c]//??? je code
Не могу понять для чего ты это делаешь : comiss xmm14,[rcx+4c]
-
13 минут назад, LIRW сказал:
Так по моему... я особо не тестировал.. не когда игрой заниматься.
Ps: Да... чуть не забыл! Игра у тебя старой версии, не так давно, её обновили на 1.5 gb пришлось восстанавливать.
Да, работает, сейчас буду разбираться в чем напортачил. Спасибо большое за подсказку
- 1
-
GetPBase:
Спойлер{ Game : Sam4.exe Version: Date : 2020-10-09 Author : vlad This script does blah blah blah } [ENABLE] aobscanmodule(NEWGetPBase,Sam4.exe,25 49 8B 00 49 8B C8) // should be unique alloc(newmem,$1000,"Sam4.exe"+D4F3E) alloc(store_pbase,4) label(code) label(return) label(pbase) registersymbol(pbase) store_pbase: pbase: dd 0 newmem: push rbx mov rbx,[r8+1D0] mov [pbase],rbx pop rbx code: mov rax,[r8] mov rcx,r8 jmp return NEWGetPBase+01: jmp newmem nop return: registersymbol(NEWGetPBase) [DISABLE] NEWGetPBase+01: db 49 8B 00 49 8B C8 unregistersymbol(NEWGetPBase) unregistersymbol(pbase) dealloc(newmem) dealloc(store_pbase) { // ORIGINAL CODE - INJECTION POINT: "Sam4.exe"+D4F3E "Sam4.exe"+D4F15: 48 81 EC B0 02 00 00 - sub rsp,000002B0 "Sam4.exe"+D4F1C: 45 33 FF - xor r15d,r15d "Sam4.exe"+D4F1F: 0F 29 B4 24 A0 02 00 00 - movaps [rsp+000002A0],xmm6 "Sam4.exe"+D4F27: 44 89 7C 24 44 - mov [rsp+44],r15d "Sam4.exe"+D4F2C: 0F 28 F3 - movaps xmm6,xmm3 "Sam4.exe"+D4F2F: 4C 8B F2 - mov r14,rdx "Sam4.exe"+D4F32: 48 8B F9 - mov rdi,rcx "Sam4.exe"+D4F35: 45 8D 67 01 - lea r12d,[r15+01] "Sam4.exe"+D4F39: 4D 85 C0 - test r8,r8 "Sam4.exe"+D4F3C: 74 25 - je Sam4.exe+D4F63 // ---------- INJECTING HERE ---------- "Sam4.exe"+D4F3E: 49 8B 00 - mov rax,[r8] "Sam4.exe"+D4F41: 49 8B C8 - mov rcx,r8 // ---------- DONE INJECTING ---------- "Sam4.exe"+D4F44: FF 10 - call qword ptr [rax] "Sam4.exe"+D4F46: 48 8B 15 1B D3 17 02 - mov rdx,[Sam4.exe+2252268] "Sam4.exe"+D4F4D: 48 8B C8 - mov rcx,rax "Sam4.exe"+D4F50: E8 2B 4F FF 00 - call Sam4.exe+10C9E80 "Sam4.exe"+D4F55: 8B 4C 24 44 - mov ecx,[rsp+44] "Sam4.exe"+D4F59: 85 C0 - test eax,eax "Sam4.exe"+D4F5B: 41 0F 44 CC - cmove ecx,r12d "Sam4.exe"+D4F5F: 89 4C 24 44 - mov [rsp+44],ecx "Sam4.exe"+D4F63: 48 8B 0D 7E 6A 1A 02 - mov rcx,[Sam4.exe+227B9E8] "Sam4.exe"+D4F6A: 48 8B 81 78 1C 00 00 - mov rax,[rcx+00001C78] }
GetAimCoords:
Спойлер[ENABLE] aobscanmodule(AimCoords,Sam4.exe,F2 0F 10 87 60 21 00 00) // should be unique alloc(newmem,$1000,"Sam4.exe"+11EA1F) alloc(store_aimcoords,16) label(code) label(return) label(x_aim) label(y_aim) label(z_aim) registersymbol(x_aim) registersymbol(y_aim) registersymbol(z_aim) store_aimcoords: x_aim: dd 0 y_aim: dd 0 z_aim: dd 0 newmem: push rbx mov rbx,[rdi+00002160] mov [x_aim],rbx mov rbx,[rdi+00002164] mov [y_aim],rbx mov rbx,[rdi+00002168] mov [z_aim],rbx pop rbx jmp code code: movsd xmm0,[rdi+00002160] jmp return AimCoords: jmp newmem nop 3 return: registersymbol(AimCoords) [DISABLE] AimCoords: db F2 0F 10 87 60 21 00 00 unregistersymbol(AimCoords) unregistersymbol(x_aim) unregistersymbol(y_aim) unregistersymbol(z_aim) dealloc(newmem) dealloc(store_aimcoords)
Teleport:
Спойлер{ Game : Sam4.exe Version: Date : 2020-10-09 Author : vlad This script does blah blah blah } [ENABLE] aobscanmodule(Tp_4,Sam4.exe,8B 40 54 89 42 18 48 8B C2) // should be unique alloc(newmem,$1000,"Sam4.exe"+470046) alloc(store_coord,256) label(code) label(return) label(xpos) label(ypos) label(zpos) label(en_save) label(en_load) label(en_load_aim) label(save) label(load) label(load_aim) registersymbol(en_load) registersymbol(en_save) registersymbol(en_load_aim) registersymbol(xpos) registersymbol(ypos) registersymbol(zpos) store_coord: xpos: dd 0 ypos: dd 0 zpos: dd 0 en_save: dd 0 en_load: dd 0 en_load_aim: dd 0 newmem: cmp rax,[pbase] jne code cmp [en_save],1 je save cmp [en_load],1 je load cmp [en_load_aim],1 je load_aim jmp code //сохранить корды save: mov [en_save],0 push rdx mov rdx,[rax+4c] mov [xpos],rdx mov rdx,[rax+50] mov [ypos],rdx mov rdx,[rax+54] mov [zpos],rdx pop rdx //загрузить корды load: mov [en_load],0 push rdx mov rdx,[xpos] mov [rax+4c],rdx mov rdx,[ypos] mov [rax+50],rdx mov rdx,[zpos] mov [rax+54],rdx pop rdx //сохранить корды прицела и загрузить load_aim: mov [en_load_aim],0 push rdx //save mov rdx,[x_aim] mov [xpos],rdx mov rdx,[y_aim] mov [ypos],rdx mov rdx,[z_aim] mov [zpos],rdx //load mov rdx,[xpos] mov [rax+4c],rdx mov rdx,[ypos] mov [rax+50],rdx mov rdx,[zpos] mov [rax+54],rdx pop rdx code: mov eax,[rax+54] mov [rdx+18],eax jmp return Tp_4: jmp newmem nop return: registersymbol(Tp_4) [DISABLE] Tp_4: db 8B 40 54 89 42 18 unregistersymbol(Tp_4) unregistersymbol(en_save) unregistersymbol(en_load) unregistersymbol(en_load_aim) unregistersymbol(xpos) unregistersymbol(ypos) unregistersymbol(zpos) dealloc(newmem) dealloc(store_coord) { // ORIGINAL CODE - INJECTION POINT: "Sam4.exe"+470046 "Sam4.exe"+470020: 40 53 - push rbx "Sam4.exe"+470022: 48 83 EC 20 - sub rsp,20 "Sam4.exe"+470026: 48 8B 81 D0 01 00 00 - mov rax,[rcx+000001D0] "Sam4.exe"+47002D: 48 8B DA - mov rbx,rdx "Sam4.exe"+470030: 48 85 C0 - test rax,rax "Sam4.exe"+470033: 74 20 - je Sam4.exe+470055 "Sam4.exe"+470035: 0F 10 40 3C - movups xmm0,[rax+3C] "Sam4.exe"+470039: 0F 11 02 - movups [rdx],xmm0 "Sam4.exe"+47003C: F2 0F 10 48 4C - movsd xmm1,[rax+4C] "Sam4.exe"+470041: F2 0F 11 4A 10 - movsd [rdx+10],xmm1 // ---------- INJECTING HERE ---------- "Sam4.exe"+470046: 8B 40 54 - mov eax,[rax+54] "Sam4.exe"+470049: 89 42 18 - mov [rdx+18],eax // ---------- DONE INJECTING ---------- "Sam4.exe"+47004C: 48 8B C2 - mov rax,rdx "Sam4.exe"+47004F: 48 83 C4 20 - add rsp,20 "Sam4.exe"+470053: 5B - pop rbx "Sam4.exe"+470054: C3 - ret "Sam4.exe"+470055: 48 8B 01 - mov rax,[rcx] "Sam4.exe"+470058: FF 90 A8 00 00 00 - call qword ptr [rax+000000A8] "Sam4.exe"+47005E: 48 8B C3 - mov rax,rbx "Sam4.exe"+470061: 48 83 C4 20 - add rsp,20 "Sam4.exe"+470065: 5B - pop rbx "Sam4.exe"+470066: C3 - ret }
(Указатель на коорд Х: "Sam4.exe"+02265FD0 + 8 + 8 + 1D0 + 4C)
-
6 часов назад, youneuoy сказал:
если всё сделано верно, значит игре не нравится что-то ещё. Может стоит попробовать при телепорте сначала сохранять координаты прицеливания, потом изменять их и перемещаться на сохранённые?
Тоже не прокатило
-
В 04.10.2020 в 17:21, Garik66 сказал:
а координаты и координаты прицела в одном типе
да
-
Пока что решение данной проблемы не найдено
-
1 час назад, LIRW сказал:
На метро я делал что то типа такого!
loadcrosshaircoordinatehook: mov rax,[rbx + 1B58h] // загружка значения координат в пределах карты mov [loadmaxaddr],eax // загружаем его... что бы в некуда не улететь mov edx,[rbx + 1B30h] // далее загружаем коориднаты прицела mov [crosshairX],edx mov edx,[rbx + 1B34h] mov [crosshairY],edx mov edx,[rbx + 1B38h] mov [crosshairZ],edx mov rax,[rbx] // оригинал код.... lea rdx,[rsp + 20h + 8] ret pointerplayercoordinatehook: movss [rax + 18h],xmm0 sub rax,30h mov [loadaddrpointer],rax // поинтер - проще говоря фильтр mov eax,[rbx + 0Ch] ret baseplatercoordinatehook: cmp [loadaddrpointer],rcx // смотрим ровно ли - перс или нет jne @f movss xmm0,[loadmaxaddr] // проверям координаты прицела с максимально допустимым расстоянием comiss xmm0,[maxaddr] // если всё норм то под флаг je @f cmp [enableteleport],0 // ну и сам флаг на запись данных в коориднаны персонажа jz @f mov eax,[crosshairX] mov [rcx + 40h],eax mov eax,[crosshairY] mov [rcx + 44h],eax mov eax,[crosshairZ] mov [rcx + 48h],eax @@: mov eax,[rcx + 48h] // оригинал mov [rcx + F8h],eax ret
Зачем загружал максимально допустимое значение ? Хм.... игры разные... у меня перс улетал просто в некуда - это если без них! В другой игре к примеру, если улететь так же в не куда, она просто зависала и вылетала.
вроде загрузка, выгрузка такая же.. Завтра попробую все сначала сделать
-
А можно как то быстро узнать на какой инструкции происходит краш?
-
Только что, Garik66 сказал:
а ...
подожди а почему ты не разово записываешь координаты прицела?
у тебя же постоянно значение меняется
Упс, а это влияет как то?
-
2 минуты назад, Garik66 сказал:
проверяй что у тебя в x_aim, y_aim иz_aim.
там все норм. Сейчас проверил, координаты подставляются нормально а дальше хрен знает где по инструкции вылет. Сейчас еще поймаю, отпишусь
-
-
4 часа назад, Garik66 сказал:
И вопрос - для чего тебе эта функция? Если для подъема на высоту. то ее лучше писать отдельно.
Функция для того чтобы при восстановлении координат увеличить Y, чтобы не провалиться под карту.
Я пробовал без нее, вообще не увеличивая, проблема такая-же.
Еще пробовал в другие места инжектить, на чтении тоже - проблема сохраняется: в сохраненные тепается нормально, а в координаты прицела с вылетом.
Может быть координаты прицела записываются слишком далеко в памяти или что то типа такого?
-
3 минуты назад, Garik66 сказал:
ну что? без вылета?
я отъехал, чуть позже буду
-
13 минут назад, Garik66 сказал:
Где объявление переменных x_aim, y_aim иz_aim?
И откуда ты их берешь?
В другом скрипте?Да, в другом.
Вот:
Спойлер[ENABLE] aobscanmodule(AimCoords,Sam4.exe,F2 0F 10 87 60 21 00 00) // should be unique alloc(newmem,$1000,"Sam4.exe"+11EA1F) alloc(store_aimcoords,24) label(code) label(return) label(x_aim) label(y_aim) label(z_aim) registersymbol(x_aim) registersymbol(y_aim) registersymbol(z_aim) store_aimcoords: x_aim: dd 0 y_aim: dd 0 z_aim: dd 0 newmem: push rbx mov rbx,[rdi+00002160] mov [x_aim],rbx mov rbx,[rdi+00002164] mov [y_aim],rbx mov rbx,[rdi+00002168] mov [z_aim],rbx pop rbx jmp code code: movsd xmm0,[rdi+00002160] jmp return AimCoords: jmp newmem nop 3 return: registersymbol(AimCoords) [DISABLE] AimCoords: db F2 0F 10 87 60 21 00 00 unregistersymbol(AimCoords) unregistersymbol(x_aim) unregistersymbol(y_aim) unregistersymbol(z_aim) dealloc(newmem) dealloc(store_aimcoords)
-
Делаю разные виды телепорта в serious sam 4. Получилось написать телепорт к сохраненной точке, а вот при телепортации в место прицеливания происходит телепорт, затем через пару секунд вылет с игры(Код такой же, как телепорт в сохраненные координаты, за исключением подставления координат прицеливания). В чем может быть проблема?(3й день сижу над ней)
код(много букаф) :
Спойлер{ Game : Sam4.exe Version: Date : 2020-10-02 Author : vlad This script does blah blah blah } [ENABLE] aobscanmodule(testnewtp,Sam4.exe,C3 CC CC CC 48 83 EC 28 48 8D 0D * * * * E8 C8 9E) // should be unique alloc(newmem,$1000,"Sam4.exe"+BEE6F4) alloc(store_coord,256) label(code) label(return) label(xpos) label(ypos) label(zpos) label(en_save) label(en_load) label(en_load_aim) label(increasey) label(incr) label(save) label(load) label(popRDX) label(load_aim) registersymbol(en_load) registersymbol(en_save) registersymbol(en_load_aim) registersymbol(xpos) registersymbol(ypos) registersymbol(zpos) //место для сохранения координат store_coord: xpos: dd 0 ypos: dd 0 zpos: dd 0 en_save: dd 0 en_load: dd 0 en_load_aim: dd 0 //фильтр на проверку игрока и проверка флагов newmem: push rdx mov rdx,[pbase] cmp rcx,rdx jne popRDX pop rdx cmp [en_save],1 je save cmp [en_load],1 je load cmp [en_load_aim],1 je load_aim jmp code popRDX: pop rdx jmp code //сохранить координаты save: mov [en_save],0 push rdx mov rdx,[rcx+4c] mov [xpos],rdx mov rdx,[rcx+50] mov [ypos],rdx mov rdx,[rcx+54] mov [zpos],rdx pop rdx jmp code //телепорт к созраненным координатам load: mov [en_load],0 push rdx mov rdx,[xpos] mov [rcx+4c],rdx mov rdx,[ypos] mov [rcx+50],rdx mov rdx,[zpos] mov [rcx+54],rdx pop rdx jmp code //телепорт к координатам прицеливания(вылет с игры после телепорта) load_aim: mov [en_load_aim],0 push rdx mov rdx,[x_aim] mov [rcx+4c],rdx call increasey mov rdx,[z_aim] mov [rcx+54],rdx pop rdx jmp code //увеличение y при телепорте в место прицеливания increasey: movss xmm10,[y_aim] addss xmm10,[incr] movss [rcx+50],xmm10 xorps xmm10,xmm10 ret code: ret int 3 int 3 int 3 sub rsp,28 jmp return incr: dd (float)1 testnewtp: jmp newmem nop 3 return: registersymbol(testnewtp) [DISABLE] testnewtp: db C3 CC CC CC 48 83 EC 28 unregistersymbol(testnewtp) unregistersymbol(en_save) unregistersymbol(en_load) unregistersymbol(en_load_aim) unregistersymbol(xpos) unregistersymbol(ypos) unregistersymbol(zpos) dealloc(newmem) dealloc(store_coord { // ORIGINAL CODE - INJECTION POINT: "Sam4.exe"+BEE6F4 "Sam4.exe"+BEE6C5: 41 0F 28 7B E0 - movaps xmm7,[r11-20] "Sam4.exe"+BEE6CA: 45 0F 28 43 D0 - movaps xmm8,[r11-30] "Sam4.exe"+BEE6CF: 45 0F 28 4B C0 - movaps xmm9,[r11-40] "Sam4.exe"+BEE6D4: 45 0F 28 53 B0 - movaps xmm10,[r11-50] "Sam4.exe"+BEE6D9: 45 0F 28 5B A0 - movaps xmm11,[r11-60] "Sam4.exe"+BEE6DE: 45 0F 28 63 90 - movaps xmm12,[r11-70] "Sam4.exe"+BEE6E3: 45 0F 28 6B 80 - movaps xmm13,[r11-80] "Sam4.exe"+BEE6E8: 45 0F 28 B3 70 FF FF FF - movaps xmm14,[r11-00000090] "Sam4.exe"+BEE6F0: 49 8B E3 - mov rsp,r11 "Sam4.exe"+BEE6F3: 5D - pop rbp // ---------- INJECTING HERE ---------- "Sam4.exe"+BEE6F4: C3 - ret "Sam4.exe"+BEE6F5: CC - int 3 "Sam4.exe"+BEE6F6: CC - int 3 "Sam4.exe"+BEE6F7: CC - int 3 "Sam4.exe"+BEE6F8: 48 83 EC 28 - sub rsp,28 // ---------- DONE INJECTING ---------- "Sam4.exe"+BEE6FC: 48 8D 0D 5D 08 22 01 - lea rcx,[Sam4.exe+1E0EF60] "Sam4.exe"+BEE703: E8 C8 9E 4D 00 - call Sam4.exe+10C85D0 "Sam4.exe"+BEE708: 48 83 C4 28 - add rsp,28 "Sam4.exe"+BEE70C: C3 - ret "Sam4.exe"+BEE70D: CC - int 3 "Sam4.exe"+BEE70E: CC - int 3 "Sam4.exe"+BEE70F: CC - int 3 "Sam4.exe"+BEE710: 48 8B 01 - mov rax,[rcx] "Sam4.exe"+BEE713: 83 61 60 FB - and dword ptr [rcx+60],-05 "Sam4.exe"+BEE717: 48 FF 60 38 - jmp qword ptr [rax+38] }
-
Делаю разные виды телепорта в serious sam 4. Получилось написать телепорт к сохраненной точке, а вот при телепортации в место прицеливания происходит телепорт, затем через пару секунд вылет с игры(Код такой же, как телепорт в сохраненные координаты, за исключением подставления координат прицеливания). В чем может быть проблема?(3й день сижу над ней)
код(много букаф) :
Спойлер{ Game : Sam4.exe Version: Date : 2020-10-02 Author : vlad This script does blah blah blah } [ENABLE] aobscanmodule(testnewtp,Sam4.exe,C3 CC CC CC 48 83 EC 28 48 8D 0D * * * * E8 C8 9E) // should be unique alloc(newmem,$1000,"Sam4.exe"+BEE6F4) alloc(store_coord,256) label(code) label(return) label(xpos) label(ypos) label(zpos) label(en_save) label(en_load) label(en_load_aim) label(increasey) label(incr) label(save) label(load) label(popRDX) label(load_aim) registersymbol(en_load) registersymbol(en_save) registersymbol(en_load_aim) registersymbol(xpos) registersymbol(ypos) registersymbol(zpos) //место для сохранения координат store_coord: xpos: dd 0 ypos: dd 0 zpos: dd 0 en_save: dd 0 en_load: dd 0 en_load_aim: dd 0 //фильтр на проверку игрока и проверка флагов newmem: push rdx mov rdx,[pbase] cmp rcx,rdx jne popRDX pop rdx cmp [en_save],1 je save cmp [en_load],1 je load cmp [en_load_aim],1 je load_aim jmp code popRDX: pop rdx jmp code //сохранить координаты save: mov [en_save],0 push rdx mov rdx,[rcx+4c] mov [xpos],rdx mov rdx,[rcx+50] mov [ypos],rdx mov rdx,[rcx+54] mov [zpos],rdx pop rdx jmp code //телепорт к созраненным координатам load: mov [en_load],0 push rdx mov rdx,[xpos] mov [rcx+4c],rdx mov rdx,[ypos] mov [rcx+50],rdx mov rdx,[zpos] mov [rcx+54],rdx pop rdx jmp code //телепорт к координатам прицеливания(вылет с игры после телепорта) load_aim: mov [en_load_aim],0 push rdx mov rdx,[x_aim] mov [rcx+4c],rdx call increasey mov rdx,[z_aim] mov [rcx+54],rdx pop rdx jmp code //увеличение y при телепорте в место прицеливания increasey: movss xmm10,[y_aim] addss xmm10,[incr] movss [rcx+50],xmm10 xorps xmm10,xmm10 ret code: ret int 3 int 3 int 3 sub rsp,28 jmp return incr: dd (float)1 testnewtp: jmp newmem nop 3 return: registersymbol(testnewtp) [DISABLE] testnewtp: db C3 CC CC CC 48 83 EC 28 unregistersymbol(testnewtp) unregistersymbol(en_save) unregistersymbol(en_load) unregistersymbol(en_load_aim) unregistersymbol(xpos) unregistersymbol(ypos) unregistersymbol(zpos) dealloc(newmem) dealloc(store_coord { // ORIGINAL CODE - INJECTION POINT: "Sam4.exe"+BEE6F4 "Sam4.exe"+BEE6C5: 41 0F 28 7B E0 - movaps xmm7,[r11-20] "Sam4.exe"+BEE6CA: 45 0F 28 43 D0 - movaps xmm8,[r11-30] "Sam4.exe"+BEE6CF: 45 0F 28 4B C0 - movaps xmm9,[r11-40] "Sam4.exe"+BEE6D4: 45 0F 28 53 B0 - movaps xmm10,[r11-50] "Sam4.exe"+BEE6D9: 45 0F 28 5B A0 - movaps xmm11,[r11-60] "Sam4.exe"+BEE6DE: 45 0F 28 63 90 - movaps xmm12,[r11-70] "Sam4.exe"+BEE6E3: 45 0F 28 6B 80 - movaps xmm13,[r11-80] "Sam4.exe"+BEE6E8: 45 0F 28 B3 70 FF FF FF - movaps xmm14,[r11-00000090] "Sam4.exe"+BEE6F0: 49 8B E3 - mov rsp,r11 "Sam4.exe"+BEE6F3: 5D - pop rbp // ---------- INJECTING HERE ---------- "Sam4.exe"+BEE6F4: C3 - ret "Sam4.exe"+BEE6F5: CC - int 3 "Sam4.exe"+BEE6F6: CC - int 3 "Sam4.exe"+BEE6F7: CC - int 3 "Sam4.exe"+BEE6F8: 48 83 EC 28 - sub rsp,28 // ---------- DONE INJECTING ---------- "Sam4.exe"+BEE6FC: 48 8D 0D 5D 08 22 01 - lea rcx,[Sam4.exe+1E0EF60] "Sam4.exe"+BEE703: E8 C8 9E 4D 00 - call Sam4.exe+10C85D0 "Sam4.exe"+BEE708: 48 83 C4 28 - add rsp,28 "Sam4.exe"+BEE70C: C3 - ret "Sam4.exe"+BEE70D: CC - int 3 "Sam4.exe"+BEE70E: CC - int 3 "Sam4.exe"+BEE70F: CC - int 3 "Sam4.exe"+BEE710: 48 8B 01 - mov rax,[rcx] "Sam4.exe"+BEE713: 83 61 60 FB - and dword ptr [rcx+60],-05 "Sam4.exe"+BEE717: 48 FF 60 38 - jmp qword ptr [rax+38] }
-
5 часов назад, LIRW сказал:
Там Руслан 9-11 по моему. Ну задавать можно dx. Не так давно делал к ней, помню этот момент
Ну так и в чем проблема у тебя была?
-
Подскажите в чем проблема? В меню все правильно отрисовывает, а в игре какие то блики делает. Код получения девайса:
Спойлерbool GetD3D9Device(void** pTable, size_t size) { if (!pTable) return false; IDirect3D9* pD3D = Direct3DCreate9(D3D_SDK_VERSION); if (!pD3D) return false; IDirect3DDevice9* pDummyDevice = nullptr; D3DPRESENT_PARAMETERS d3dpp = {}; d3dpp.Windowed = false; d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dpp.hDeviceWindow = GetProcessWindow(); HRESULT dummyDevCreated = pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, d3dpp.hDeviceWindow, D3DCREATE_HARDWARE_VERTEXPROCESSING, &d3dpp, &pDummyDevice); if (dummyDevCreated != S_OK) { d3dpp.Windowed = !d3dpp.Windowed; HRESULT dummyDevCreated = pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, d3dpp.hDeviceWindow, D3DCREATE_HARDWARE_VERTEXPROCESSING, &d3dpp, &pDummyDevice); if (dummyDevCreated != S_OK) { pD3D->Release(); return false; } } memcpy(pTable, *(void***)(pDummyDevice), size); pDummyDevice->Release(); pD3D->Release(); return true; }
[Serious Sam 4] телепорт в точку прицеливания
in Вопросы по созданию читов в одиночных играх
Опубликовано
Я вижу, что 0 сравнивается со значением координаты Х, так? Она же может быть нулевая