Matroix123 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 привет всем. я нашел координат Z и хочу сделать так чтоб при нажатии NUMPAD1 игрок поднялся 1 метров большее а при нажати NUMPAD2 спустился 1 метров.например я нажал 10 раз на NUMPAD1 поднялся 10 метров. а если нажимал Numpad2 20 рaза спустился 20 метров.можете помогать меня с кодами в С# пожалуйста? я создал бase аддресс , оффсеты и прочее. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 Просто так, ты героя не поднимешь, нужно либо отключить гравитацию, либо, как делал я для Fallout3 здесь, когда писал скрипт "псевдополёт". Ссылка на комментарий Поделиться на другие сайты Поделиться
Matroix123 Опубликовано 15 марта, 2015 Автор Поделиться Опубликовано 15 марта, 2015 Просто так, ты героя не поднимешь, нужно либо отключить гравитацию, либо, как делал я для Fallout3 здесь, когда писал скрипт "псевдополёт". забыл сказать. гравитацию отключил )) Ссылка на комментарий Поделиться на другие сайты Поделиться
Matroix123 Опубликовано 15 марта, 2015 Автор Поделиться Опубликовано 15 марта, 2015 если по асм делаю mov функцио всe работать. но надо чтобы с клавишами контролировал mov. вниз / вверх Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 если по асм делаю mov функцио всe работать. но надо чтобы с клавишами контролировал mov. вниз / вверх Тогда проблем нет, поставь Flag при 1 (NUMPAD1)прибавляй метр или при Flag = 2 (NUMPAD2 ) отнимай метр, и после прибавления/отнимания обнуляй Flag (mov btye ptr [Flag],0). Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 А для более точного ответа, выложи скрипт, исправим как нужно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Matroix123 Опубликовано 15 марта, 2015 Автор Поделиться Опубликовано 15 марта, 2015 вот [ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(exit) newmem: originalcode:fld dword ptr [esi+04]fstp dword ptr [ecx+04] exit:jmp returnhere "game.exe"+109CA5:jmp newmemnopreturnhere: [DISABLE]dealloc(newmem)"game.exe"+109CA5:fld dword ptr [esi+04]fstp dword ptr [ecx+04]//Alt: db D9 46 04 D9 59 04ARM4ND0: Используем тег кода. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 Тогда подожди,(я к сожалению языков программирования не знаю), другие пользователи ответят. Но всё-равно не вижу какие могут возникнуть проблемы при дискретном прибавлении/отнимании, если тем более гравитацию ты отключил. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 Ты же вроде написал: я могу это сделать в CE . мне нужно в С# )) Ссылка на комментарий Поделиться на другие сайты Поделиться
Matroix123 Опубликовано 15 марта, 2015 Автор Поделиться Опубликовано 15 марта, 2015 можете исправить этот скрипт? возможно смогу в С# конвертировать. думаю у вас лучше получится Ссылка на комментарий Поделиться на другие сайты Поделиться
Matroix123 Опубликовано 15 марта, 2015 Автор Поделиться Опубликовано 15 марта, 2015 (изменено) да , в CE пробовал. но хочу увидеть как вы будете делать . возможно с вашим кодом смогу конвертитовать в C# . если не трудно сделайте пожалуйста Изменено 15 марта, 2015 пользователем Matroix123 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 (изменено) Попробуй, если заработает, то на минус уже сам допиши.[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(vverx) newmem:fld dword ptr [esi+04]cmp byte ptr [flag],1jne originalcodefadd [vverx]mov byte ptr [flag],0 originalcode:fstp dword ptr [ecx+04]jmp returnherevverx:dd 1 // Поставь здесь 1 метр.Flag: // Добавь в таблицу адрес с адресом "Flag" и названием "0-ничего, 1 + 1 метр".db 0 "game.exe"+109CA5:jmp newmemnopreturnhere: [DISABLE]dealloc(newmem)"game.exe"+109CA5:fld dword ptr [esi+04]fstp dword ptr [ecx+04]//Alt: db D9 46 04 D9 59 04 Изменено 15 марта, 2015 пользователем garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Matroix123 Опубликовано 15 марта, 2015 Автор Поделиться Опубликовано 15 марта, 2015 Попробуй, если заработает, то на минус уже сам допиши.вы там несколько кодов забыли , я добавил. но скрипт не работает [ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(vverx) newmem:fld dword ptr [esi+04]cmp byte ptr [flag],1jne originalcodefadd [vverx]mov byte ptr [flag],0 originalcode:fstp dword ptr [ecx+04]jmp returnherevverx:dd 1 // Поставь здесь 1 метр.Flag: // Добавь в таблицу адрес с адресом "Flag" и названием "0-ничего, 1 + 1 метр".db 0 "game.exe"+109CA5:jmp newmemnopreturnhere: [DISABLE]dealloc(newmem)"game.exe"+109CA5:fld dword ptr [esi+04]fstp dword ptr [ecx+04]//Alt: db D9 46 04 D9 59 04 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 вы там несколько кодов забыли , я добавил. но скрипт не работает Да вроде ничего не забыл, только исправь строчку: fadd [vverx] на fadd dword ptr [vverx] Ссылка на комментарий Поделиться на другие сайты Поделиться
Matroix123 Опубликовано 15 марта, 2015 Автор Поделиться Опубликовано 15 марта, 2015 Да вроде ничего не забыл, только исправь строчку: fadd [vverx] на fadd dword ptr [vverx]label (flag)registersymbol(flag) ---unregistersymbol(flag)) Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 PS: и ещё забыл vverx:dd (float)1 // Поставь здесь 1 метр. Ссылка на комментарий Поделиться на другие сайты Поделиться
Matroix123 Опубликовано 15 марта, 2015 Автор Поделиться Опубликовано 15 марта, 2015 потом добавить flag в аддресс и кнопку сделать чтоб при нажатии увеличение +1 сделал? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 label (flag)registersymbol(flag) ---unregistersymbol(flag) )Точно забыл. Короче добавь dword ptr и (float) и должно всё заработать Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 потом добавить flag в аддресс и кнопку сделать чтоб при нажатии увеличение +1 сделал?А это что:Flag: // Добавь в таблицу адрес с адресом "Flag" и названием "0-ничего, 1 + 1 метр".db 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 Короче вот:[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(vverx)label(Flag) registersymbol(Flag) newmem:fld dword ptr [esi+04]cmp byte ptr [flag],1jne originalcodefadd dword ptr [vverx]mov byte ptr [flag],0 originalcode:fstp dword ptr [ecx+04]jmp returnherevverx:dd (float)1 // Поставь здесь 1 метр.Flag: // Добавь в таблицу адрес с адресом "Flag" и названием "0-ничего, 1 + 1 метр".db 0 "game.exe"+109CA5:jmp newmemnopreturnhere: [DISABLE]"game.exe"+109CA5:fld dword ptr [esi+04]fstp dword ptr [ecx+04]unregistersymbol(Flag) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
Matroix123 Опубликовано 15 марта, 2015 Автор Поделиться Опубликовано 15 марта, 2015 ничего не делает --------------[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(vverx)label(flag)registersymbol(flag) newmem:fld dword ptr [esi+04]cmp byte ptr [flag],1jne originalcodefadd dword ptr [vverx]mov byte ptr [flag],0 originalcode:fld dword ptr [esi+04]fstp dword ptr [ecx+04]jmp returnhere vverx:dd (float)1 // Поставь здесь 1 метр. flag: // Добавь в таблицу адрес с адресом "Flag" и названием "0-ничего, 1 + 1 метр".db 0 "SniperEliteV2.exe"+109CA6:jmp newmemnopreturnhere: [DISABLE]dealloc(newmem)unregistersymbol(flag)"SniperEliteV2.exe"+109CA6:fld dword ptr [esi+04]fstp dword ptr [ecx+04]//Alt: db D9 46 04 D9 59 04---------------------- Ссылка на комментарий Поделиться на другие сайты Поделиться
Matroix123 Опубликовано 15 марта, 2015 Автор Поделиться Опубликовано 15 марта, 2015 пробовал. не работает. хммм Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 пробовал. не работает. хммм Мой скрипт пробуй, а не свой у тебя лишний раз: fld dword ptr [esi+04], она должна быть только наверху. Ссылка на комментарий Поделиться на другие сайты Поделиться
Matroix123 Опубликовано 15 марта, 2015 Автор Поделиться Опубликовано 15 марта, 2015 да, и так пробовал. все равно не хочет работать Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 15 марта, 2015 Поделиться Опубликовано 15 марта, 2015 Цифру больше делал здесь: dd (float)1 // Поставь здесь 1 метр? Гравитация точно отключена? Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения