Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
10 Nov 2008, 01:26
Сообщение
#41
|
|
![]() допустим, мяў Сообщений: 24 165 Спасибо сказали: 13536 раз |
Я просто доказываю бессмысленность этой затеи. Жулик найдёт способ обойти запрет, а простого игрока невозможность переключения будет просто раздражать.
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
|
10 Nov 2008, 12:20
(Сообщение отредактировал sergroj - 10 Nov 2008, 12:23)
Сообщение
#42
|
|
![]() В миру GrayFace Сообщений: 2 529 Спасибо сказали: 819 раз |
Цитата(Aнгeл @ 09 Nov 2008, 22:15) Цитата Еще можно запоминать checksum основных вещей при деактивации окна. А потом сравнивать checksum с самим собой, заменив пару команд в отладчике Имхо, ни одна игра в подобный бред не лезет. Нужна совершенная ОС, другие механизмы и т.д. Просто пустая трата сил и времени. Не верю. Это же не сложно. И против большинства читеров подействует. Кстати, исходники Windows NT тоже есть в свободном распространении. -------------------- ДНК банана на 50% состоит из человека.
|
|
|
|
| Гость_Aнгeл_* |
10 Nov 2008, 13:39
Сообщение
#43
|
|
|
cmp crc, needed crc
jne @@Fuck => cmp crc, crc jne @@Fuck Сравнивать с самим собой всегда удобнее. Уже есть куча команд условных класса mov, прыжки - прошлый век. |
|
|
|
10 Nov 2008, 16:16
Сообщение
#44
|
|
![]() допустим, мяў Сообщений: 24 165 Спасибо сказали: 13536 раз |
последние 2 строки не могу понять.
Это же примерно равно следующему: "if False then Fuck;" и оно не может быть выполнено. -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
|
| Гость_Aнгeл_* |
10 Nov 2008, 17:14
(Сообщение отредактировал Aнгeл - 10 Nov 2008, 17:17)
Сообщение
#45
|
|
|
Так и есть. Оригинальная логика:
Цитата CALL CalculateCRC CMP EAX, $12345 JNE @@Fuck JMP @@OK @@Fuck PUSH OFFSET 'Какой-то тупой крякер внёс изменения в ехе' CALL ShowMessage PUSH -777 CALL ExitProcess Так вот, если нет возможности исправить прыжок или там идёт серия других условных команд, то мы патчим саму проверку и теперь любая CRC будет корректна. Код CALL CalculateCRC CMP EAX, EAX Если же есть место, но наиболее корректно - изменить возвращаемую CRC, потому как проверки могут быть отложены, скопированы по десяткам локальных переменных и т.д. Было: Код CALL CalculateCRC Стало Код MOV EAX, $12345
|
|
|
|
10 Nov 2008, 23:17
Сообщение
#46
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз |
тему надо переименовать в бредовые идеи (по аналогии с бредовыми городами)
так извращаться всего лишь чтобы исключить читерства - это глупость |
|
|
|
11 Nov 2008, 01:08
Сообщение
#47
|
|
![]() допустим, мяў Сообщений: 24 165 Спасибо сказали: 13536 раз |
Ангел,
понял Игродел, Нет, тему не надо переименовывать, просто нужно посты касающиеся защиты от жуликов из этой и из соседней темы перенести в одну новую. А сама идея новых триггеров - вещь важная. Жаль, я здесь не модератор. Ангел, вот скажи - нет никакой возможности сделать допустим такую команду: ?!OBx/y/l:H25; которая будет инициировать триггер посещения объекта героем #25 -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
|
| Гость_Aнгeл_* |
11 Nov 2008, 02:00
Сообщение
#48
|
|
|
Я делаю команды не в таком виде, но всё же. Конечно можно, нужно лишь проследить за триггером на посещение объекта, выйти на верхний код, наставить брейков, попробовать заходить через пробел, если попадём на один из брейков, то выявить ключевые процедуры и параметры. А потом это повторять. Просто рутинно всё
А для задачи SAG-а вовсе не обязательно посещать героем мельницы и т.д. Можно попросту снимать с объектов ресы и прибавлять в казну, что и делает скрипт то ли Драколича, то ли Солмира. |
|
|
|
11 Nov 2008, 02:34
Сообщение
#49
|
|
![]() допустим, мяў Сообщений: 24 165 Спасибо сказали: 13536 раз |
Не, я так понял - он хочет, чтобы герой действительно бегал, и тратил на это необходимое время без возвращения ему управления...
Мысль хорошая, но имхо, неоправданно сложна в реализации... А мой вопрос по сути сводися к следующему: чтобы сделать все триггеры как события - типа OnEnter, OnClick и проч. -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
|
| Гость_Aнгeл_* |
11 Nov 2008, 03:10
Сообщение
#50
|
|
|
Всё - тяжело, многие нереально. Более простые - возможно.
На досуге гляну указанные тобой объекты и щелчки. Добавлено ([mergetime]1226362206[/mergetime]): В принципе, с щелчками и объектами попробовать можно, по крайней мере, не смертельно. Но это лишь обман ЕРМ, граждане, практического применения пока не вижу. |
|
|
|
11 Nov 2008, 11:25
Сообщение
#51
|
|
![]() допустим, мяў Сообщений: 24 165 Спасибо сказали: 13536 раз |
Ну почему же? Во-первых - можно запрограммировать один объект как дистанционный доступ к ряду других. Во-вторых, будет выполнен весь код для данного посещения, а не только стандартный. Ведь мы, программируя объект, не знаем, какие ещё скрипты будут подключены к нему...
Поясняю. Например, Магический колодец. Да, мы можем сэмулировать его посещение, добавив ману и выведя соответствующую надпись. И установив флаг "Посещён". Но сторонний скрипт (в данном случае - Рыбалка) - выполнен не будет. А предугадать, что ещё за обработчики на нём висят, мы не можем. -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
|
| Гость_Aнгeл_* |
11 Nov 2008, 13:22
Сообщение
#52
|
|
|
Я думаю можно даже реальное посещение эмулировать, только героя всё же нужно портануть туда. Если объекты и щелчки жизненноважны, то я включу их поддержку. Хотя кроме телекинеза в голову ничего не лезет
|
|
|
|
11 Nov 2008, 13:37
Сообщение
#53
|
|
|
Организатор лиги WCL Сообщений: 984 Спасибо сказали: 642 раза |
я хотел бы разнообразить количество возможных действий во время хода противника. Например, установление "автодвижения" - если я вижу что мне позарез нужна ртуть, то я мог бы установить "автодвижение" какого нибудь героя до ближайшей кучки ртути. Т.к. ход занимает обычно 8-15 минут, то за это время уже можно и позабыть про какую нибудь важную деталь, а потом в результате не сможешь поставить ангелов на первой неделе...и т.д. А так, как только игрок получает ход - герой (если он еще жив), автоматически двигается и забирает ртуть. Ну и прочие аналогичные действия...Я не хочу переписывать логику игры (т.е. делать самостоятельно просчет движения, уничтожение ресурса, добавление ресурса в казну), хотя другие варианты пока не просматриваются...
-------------------- Постоянно играю на рейтинг www.heroes-III.com в онлайне через сервер GameRanger - в HoMM3 SOD или WT. Присоединяйтесь! Чужие подписи и аватары не читаю - отключил
|
|
|
|
11 Nov 2008, 15:03
Сообщение
#54
|
|
![]() допустим, мяў Сообщений: 24 165 Спасибо сказали: 13536 раз |
Ну да. А это по сути - инициация триггера !?HM
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
|
| Гость_Aнгeл_* |
11 Nov 2008, 18:45
Сообщение
#55
|
|
|
Хиппо, треггер - это всего лишь перехватчик, прыжок. Он не двигает героя. Двигает героя код игры.
|
|
|
|
12 Nov 2008, 09:29
Сообщение
#56
|
|
|
Организатор лиги WCL Сообщений: 984 Спасибо сказали: 642 раза |
реально ли перепрыгнуть в ту точку кода, которая двигает? имхо надо только поработать мозгами и ручками
-------------------- Постоянно играю на рейтинг www.heroes-III.com в онлайне через сервер GameRanger - в HoMM3 SOD или WT. Присоединяйтесь! Чужие подписи и аватары не читаю - отключил
|
|
|
|
| Гость_Aнгeл_* |
12 Nov 2008, 15:46
Сообщение
#57
|
|
|
Всё реально, но это реверс-инженеринг. Нужно разбираться в исходной логике и повторять её.
|
|
|
|
28 Nov 2008, 11:08
Сообщение
#58
|
|
|
Организатор лиги WCL Сообщений: 984 Спасибо сказали: 642 раза |
нужны:
9) триггеры на нажатие клавиш клавиатуры (горячие кнопки) 10) распознавание нажатия CTRL или ALT или SHIFT с правым нажатием мышки -------------------- Постоянно играю на рейтинг www.heroes-III.com в онлайне через сервер GameRanger - в HoMM3 SOD или WT. Присоединяйтесь! Чужие подписи и аватары не читаю - отключил
|
|
|
|
28 Nov 2008, 14:50
Сообщение
#59
|
|
|
Member Сообщений: 92 Спасибо сказали: 23 раза |
Цитата(SAG19330184 @ 11 Nov 2008, 16:37) я хотел бы разнообразить количество возможных действий во время хода противника. Например, установление "автодвижения" - если я вижу что мне позарез нужна ртуть, то я мог бы установить "автодвижение" какого нибудь героя до ближайшей кучки ртути. Т.к. ход занимает обычно 8-15 минут, то за это время уже можно и позабыть про какую нибудь важную деталь, а потом в результате не сможешь поставить ангелов на первой неделе...и т.д. А так, как только игрок получает ход - герой (если он еще жив), автоматически двигается и забирает ртуть. Ну и прочие аналогичные действия...Я не хочу переписывать логику игры (т.е. делать самостоятельно просчет движения, уничтожение ресурса, добавление ресурса в казну), хотя другие варианты пока не просматриваются... Мои идеи по этому поводу: Возможен следующий интерфейс: Наступает чужой ход. Ты первым делом рассавляешь героев в том порядке в котором они будут предположительно ходить. Далее, например: есть лошок и пара кучек взятие которых необходимо "запрограмить" - Мы кликаем на первую кучку мышкой, например, с Шифтом, желательно что бы после щелчка квадрат в который ты попал как-нть моргнул, а то не всегда понятна сетка ландшафта на вскидку - Появляется статусное сообщение типа: Действие 1 - Герой ХХХ будет направлен в клетку X1, Y1 - Если промахнулся, то зажимаешь, например, Alt+"клик в любом месте карты" и приходит статусное сообщение вида "Действие 1 - Направление в клетку X1, Y2 отменено", последнее запрограммленое действие соотеветсвенно отменяется - Далее с Shift'ом жмем на второй рес - сообщение Действие 2 - Герой ХХХ будет направлен в клетку X2, Y2 - Переходим к следующему герою - Когда выбираем героя, то проверяем есть ли у него запрограммленые действия, если есть, то выводим в статусной строке: Действие 1 - Герой ХХХ будет направлен в клетку X1, Y1 Действие 2 - Герой ХХХ будет направлен в клетку X2, Y2 - Если хочешь отменть все скрипты, то зажимаешь, например, Alt+Shift+"клик в любом месте карты" и приходит статусное сообщение вида "Все действия отменены" Далее ты всех запрограмил и тебе передают ход. - Проверяем есть ли у выбранного героя (первого в списке) скрипты - Если есть, то берём первые координаты прокладываем маршрут и выводим сообщение: "Вы хотите пустить Героя ХХХ по маршруту?" - Если говорим что нет, то потом можно выполнить скрипты кликнув на Героя, например, с зажатым Alt'ом - Если да, то прокладываем маршрут в точку X1, Y1 - Гоним героя по маршруту - ща это можно выполнить вручную нажав кнопку "М", думаю можно будет как-нть отследить что в проге в этот момент происходит и с помошью ЕРМ/асемблера это вызывать. - Как только герой останавливается, то переменные в которых хранились X1, Y1 очищаем и прокладываем следующий маршрут до X2, Y2 - Гоним по маршруту - Как только заканчиваются МП то завершаем скрипт, переменные где хранились координаты очищаем, выводим сообщение в статусной строке вида "Маршрут выполнен, закончились МП" - Если очередной путь в точку X, Y проложить не удаётся, то завершаем скрипт, переменные где хранились координаты очищаем, выводим сообщение в статусной строке вида "Маршрут проложить не удалось" - Если список координат просто закончился, то выводим сообщение в статусной строке вида "Маршрут выполнен" - Переключаемся на сл. героя и начинается заново Алгоритм реализации: - Щелчки записываем в переменные w по каждому герою, например w101, w102 - X1, Y1; w103, w104 - X2, Y2 и т.д. тут вроде проблем нет, с удаленим и отображением информации вроде тоже. - Насчёт моргания/пометки клетки куда кликнули, тут видимо сложности, которые преодолеть не удастся - В свой ход необходим функция прокладки маршрута вида: X, Y, для текущего героя, неплохо бы результат в какой-нть флаг писать 1 - удалось проложить маршрут в точку X, Y 0 - не удалось - Необходима процедура запуска героя по маршруту (то что ща при нажатии на кнопку коня мли буквы М происходит) Как можно будет использовать в игре: 1) Для посещения лошками рес-объектов, сбора ресов 2) Спланировать будующее направление движения 3) Создать план передаче по цепочкам. Например: Герой1 на 117 сидит в замке герои 2, 3, 4 стоят в цепке до Героя5 (папка) Накликиваем Герой1 бежит в Героя2, Герой2 в Героя3 и т.д. На 121 тебе задают вопрос выполнить скрипт для Героя1 ты говоришь нет. Заходишь в замок скупаешься, кликаешь Alt+клик по герою, начинает выполнятся маршрут: Герой1 добегает до Героя2, открывается окно обмена ты щёлкаешь 1 кнопку "Change army", далее (скрипт САГ'а) правой кнопкой на галочку, левой на галочку - фокусируется Герой2, и по нему вопрос "Выполнить маршрут?" жмём "Enter" он добегает до Героя3 и т.д. |
|
|
|
28 Nov 2008, 16:13
Сообщение
#60
|
|
![]() допустим, мяў Сообщений: 24 165 Спасибо сказали: 13536 раз |
Сложно...
Прокладываем маршрут.. Это как? Рисуем стрелочки? Если их не убрать до начала движения героя, игра вылетит. Т.е. нужно как минимум 2 функции игры вычленить, и научиться передавать туда управление: выяснение маршрута, и посещение объекта. -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
|
![]() ![]() |
| Текстовая версия | Сейчас: 11 May 2026 - 22:02 |
|
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |
|