Перейти к содержанию

Garik66

Помогаторы
  • Постов

    5 750
  • Зарегистрирован

  • Победитель дней

    292

Весь контент Garik66

  1. Garik66

    Etherlords 2

    Бабы они все такие (всё бы им на халяву) - привыкай
  2. Garik66

    Etherlords 2

    Скорее всего поменялось условие - кто атакует, у меня такое было в Героях 2, таблицу которую выложил недавно. Т.е. фильтр, который я использовал в скрипте GodMod менялся на противоположный в зависимости от того, кто атакует. Выход - добавил ещё один фильтр (в данном случае по регистру). Т.е. сперва идёт проверка - кто атакует, а потом фильтр свой/чужой.
  3. Записал видео для Героев 2, а это противный Тюб заблокировал (теперь и в России), а жаль (нравилось под твоё радио писать). Поудалял треки, чёй-то там всунул вместо них, но после этого Тюб чего-то долго обрабатывает. Если завтра видео не будет в доступе, удалю и перепишу новое. Только что видео разблокировалось - но теперь без звука в основном.
  4. Нужно кого-нибудь убить. <<---- Какой вопрос - такой и ответ.
  5. Версия v 1

    13 раз скачали

    Опции: 1 OpenMap 2 GuessMapPuzzle 3 InfiniteMove 4 GodMod + OneHitKill 5 AddResources 6 InfiniteBuilding 7 BuildAll 8 RebuildCastle 9 CastleDefense 10 LearnAllSspells 11 AllGreatArtefacts 12 InfiniteMana 13 TeleportToGreatArtifact Подробности, скрипты, инструкции и видео смотри в теме поддержки файла.
  6. Поддерживаю. Всех с ПРАЗДНИКОМ!!!
  7. Я тоже использовал такой метод, в некоторых скриптах. Но не все адреса в структуре будут работать именно с той одной инструкцией с которой ты и построил структуру. У меня было именно так, Т.е. для некоторых адресов приходилось вытаскивать в таблицу и ставить на него бряк и получать новую инструкцию с которой он работал, чаще всего при этом смещения в новой инструкции остаются теми же - так что использовал старые фильтры.
  8. Для того, чтобы точно ответить на вопрос, нужны твой скрипт и информация на что срабатывает игровая инструкция, которую ты использовал в скрипте (на ход ГГ или всегда читает координаты, ну и т.д.). А так, без этой информации, попробуй в скрипте поменять местами - допустим у тебя записан скрипт так: ты вводишь новые координаты, а потом срабатывает оригинальная инструкция -> сделай наоборот, сперва срабатывает оригинальная инструкция, а потом твои инструкции по записи новых координат.
  9. Вот нашёл про сам опкод MOVQ: "инструкция MOV для 64-битных операндов из памяти в MMX регистр, называется MOVQ. Символ Q означает QUAD WORD (четыре слова)"
  10. Во-первых, не копируйте полностью цитируемое сообщение - потом очень тяжело читать топик. Зачем? Игру я качать не хочу. Я сейчас другой игрушкой занимаюсь. Лучше сам пробуй: пиши скрипт, выкладывай, спрашивай - учись. Вот к примеру прочти статью по работе с вещественными числами:
  11. Во-первых, не копируйте полностью цитируемое сообщение - потом очень тяжело читать топик. Тогда никакого умножения не нужно. fld dword ptr[edi+смещение] // выгружаем в стек значение координатыfadd dword ptr [metr] // прибавляем к значению в стеке metrfstp dword ptr[edi+смещение]// выгружаем из стека в адрес новое значение координаты...................................metr:dd (float)1 // здесь объявляем 1 метр (сколько он равен единицам в игре)
  12. Тут всё зависит от нужной задачи. Дальше мои теоретические выкладки, т.к. вопрос полностью не исследовал. Если нужно нормальное ускорение передвижения, то нужно искать именно коэффициенты скорости. Например как здесь через поиск по заранее известному названию коэффициентов, либо искать в структуре самому (методом проб и ошибок), как например делал JIeXA (написал об этом в этом сообщении. Если достаточно и дискретного увеличения передвижения, т.е. при каждом шаге ГГ делает просто больше шаг, то можно и через координаты. Для этого нужно: 1. Выйти на разовые инструкции для каждой координаты (что я подразумеваю под разовые - на каждый шаг -> одно срабатывание инструкции.) 2. Дальше можно делать двумя способами: 2.1. Работаем непосредственно с координатой. Возьму твою инструкцию movq [edi+смещение],xmm5 fld dword ptr[edi+смещение] // выгружаем в стек значение координатыfmul dword ptr [mnozitel] // умножаем значение в стеке на множитель, про множитель ниже.fstp dword ptr[edi+смещение]// выгружаем из стека в адрес новое значение координаты.про множитель почитай это моё сообщение (или лучше весь) топик. 2.2. Работаем с разницей в значениях координат между шагом. push eax push ebx // сохраняем регистрыmov eax,dword ptr [edi+смещение] // записываем в него координату.push eax // сохраняем старую координату в стеке movq [edi+смещение],xmm5 // получаем новое значение координатыfsub eax,dword ptr [edi+смещение]// рассчитываем разницу imul ebx,eax,4 // ebx - сюда запишется результат (новый шаг), eax - разница, // 4 - в данном случае множительpop eax // восстанавливаем в eax старую координатуfadd eax,ebx // прибавляем к координате новый шагmov dword ptr [edi+смещение],eax // записываем новую координату по адресуpop ebx // восстанавливаем регистры pop eax Коды могут быть неточные, т.к. без отладки в игре я за них не ручаюсь. Но мысль примерно такая.
  13. Я думаю, что не в разрядности дело. Вот сейчас пишу скрипты для очень старой игрушки. И у меня тоже фильтр (по регистру EDI), причём, при соблюдении условий в игре для работы фильтра, на одну секунду фильтр как бы работает в противоположную сторону, а потом работает как надо.
  14. Не поленись - сделай Анализ структуры: Во- первых, где-то здесь ([rbx+00000164]) или ([rbx+0000016с]) скорее всего будут лежать максимальная жизнь героя и соответсвеено можно будет записать, код так: newmem: cmp [rbx+........],...........// во-вторых найдёшь фильтрjne originalcodepush [rbx+00000164] // выталкиваем максимальное значение жизни в стек. (или [rbx+0000016с])pop [rbx+00000168] // заталкиваем в адресoriginalcode:cmp dword ptr [rbx+00000168],00Во-вторых найдёшь фильтр.
  15. У меня она не пойдёт - Видеокарта: NVIDIA GeForce GTX 680 - GTX 780 |
  16. Ты уверен, что инструкция работает только с деньгами? Если работает не только с деньгами, то однозначно будет вылет при включении твоего скрипта. В таком случае нужно искать фильтр.
  17. Сомневаюсь, что с такой малой инфой, которую ты дал, кто-то тебе поможет. Вот обрати внимание на соседний топик (здесь.- вот так нужно подавать инфу:
  18. Не плохо получилось. Молодца!!!. RockHammer, прочитай это. Очень не удобно читать топик.
  19. Ты попробовал изменить скрипт, как я предлагал? то и в игре без защиты - при включении твоего скрипта, игра будет вылетать.
  20. Выложи, то что уже написал (скрипт), попробуем его исправить.
  21. Судя по коду игры (если эта инструкция add [rbx+28],esi, очень часто обращается к адресу), вылет может быть связан с неправильным скриптом, т.к происходит быстрое переполнение. Попробуй написать так: newmem:mov [rbx+28],#999999code: add [rbx+28],esi mov al,01
  22. Практически ни в чём, как я понял, только при использовании registersymbol выделяется память под переменную уже внутри выделенной памяти newmem,128, а в случае alloc - отдельно выделяется память под переменную.
  23. Может кому-то поможет: Все предыдущие ответы и Bromvol, и Mishkas мне не помогли. Оказалось, что я просто не делал перезагрузку - после установки программы. В результате у меня не появлялся файл am743.cfg. Т.е. установка такая: 1. Устанавливаем 2. Соглашаемся на перезагрузку и перезагружаем комп 3. Первый запуск соглашаемся и вводим ключ (если есть). Вот после этих операций и появляется файл am743.cfg. Больше, при запуске Артмани, запроса на ключ нету.
  24. Судя, потому что я услышал, можно обойтись без указателей. Проверь ещё такой скрипт: [ENABLE]alloc(newmem,128,"DAI.exe"+373B05)label(returnhere)registersymbol(Coord)registersymbol(offset)newmem:push eaxmov eax,[rbx+1a0]mov [Coord],eaxfld [Coord]fadd [offset]fstp [Coord]mov eax,[Coord]mov [rbx+10],eaxmov eax,[rbx+1a4]mov [rbx+14],eaxmov eax,[rbx+1a8]mov [rbx+18],eaxpop eaxmov eax,[rbx+10]movss xmm1,[rbx+18]jmp returnhereCoord:dd 0offset:dd (float)0.7"DAI.exe"+373B05:jmp newmemnopnopnopreturnhere:[DISABLE]"DAI.exe"+373B05:mov eax,[rbx+10]movss xmm1,[rbx+18]unregistersymbol(Coord)unregistersymbol(offset)dealloc(newmem) Coord:dq 0offset:dq (float)0.7
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.