Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обсуждение развития ТЕ и новых команд ERM для него
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Моды > Скрипты
Страницы: 1, 2, 3, 4, 5
hippocamus
Ну почему же? Во-первых - можно запрограммировать один объект как дистанционный доступ к ряду других. Во-вторых, будет выполнен весь код для данного посещения, а не только стандартный. Ведь мы, программируя объект, не знаем, какие ещё скрипты будут подключены к нему...

Поясняю.
Например, Магический колодец. Да, мы можем сэмулировать его посещение, добавив ману и выведя соответствующую надпись. И установив флаг "Посещён". Но сторонний скрипт (в данном случае - Рыбалка) - выполнен не будет. А предугадать, что ещё за обработчики на нём висят, мы не можем.
Aнгeл
Я думаю можно даже реальное посещение эмулировать, только героя всё же нужно портануть туда. Если объекты и щелчки жизненноважны, то я включу их поддержку. Хотя кроме телекинеза в голову ничего не лезет rolleyes.gif
SAG19330184
я хотел бы разнообразить количество возможных действий во время хода противника. Например, установление "автодвижения" - если я вижу что мне позарез нужна ртуть, то я мог бы установить "автодвижение" какого нибудь героя до ближайшей кучки ртути. Т.к. ход занимает обычно 8-15 минут, то за это время уже можно и позабыть про какую нибудь важную деталь, а потом в результате не сможешь поставить ангелов на первой неделе...и т.д. А так, как только игрок получает ход - герой (если он еще жив), автоматически двигается и забирает ртуть. Ну и прочие аналогичные действия...Я не хочу переписывать логику игры (т.е. делать самостоятельно просчет движения, уничтожение ресурса, добавление ресурса в казну), хотя другие варианты пока не просматриваются...
hippocamus
Ну да. А это по сути - инициация триггера !?HM
Aнгeл
Хиппо, треггер - это всего лишь перехватчик, прыжок. Он не двигает героя. Двигает героя код игры.
SAG19330184
реально ли перепрыгнуть в ту точку кода, которая двигает? имхо надо только поработать мозгами и ручками
Aнгeл
Всё реально, но это реверс-инженеринг. Нужно разбираться в исходной логике и повторять её.
SAG19330184
нужны:
9) триггеры на нажатие клавиш клавиатуры (горячие кнопки)
10) распознавание нажатия CTRL или ALT или SHIFT с правым нажатием мышки
asm
Цитата(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 и т.д.
hippocamus
Сложно...
Прокладываем маршрут.. Это как? Рисуем стрелочки? Если их не убрать до начала движения героя, игра вылетит. Т.е. нужно как минимум 2 функции игры вычленить, и научиться передавать туда управление: выяснение маршрута, и посещение объекта.
gamecreator
не стрелочки, а определяем сколько ходов он потратит на движение.
SAG19330184
asm, правильно в общем говоришь, только самая сложность так раз в том что нет механизма инициации события (движения героя или клика мышки)...и пока не заметно, что кто то может такое напрограммировать...хотя подождем
Aнгeл
Цитата
нужны:
9) триггеры на нажатие клавиш клавиатуры (горячие кнопки)
10) распознавание нажатия CTRL или ALT или SHIFT с правым нажатием мышки


Код
1) Деактивированы проверки CRC
2) ЕРМ больше не отключает скрипты при ошибке
3) Исправлен баг с установкой дорог через ЕРМ
4) Возможность сохранять игру через ЕРМ
5) Событие: Игра Сохранена (если сохраняли через ЕРМ); #100
6) Событие: Запись данных в сейв; #101
7) PROCEDURE GZipWrite(Address: POINTER; Count: INTEGER); CDECL; AT $704062;
8) PROCEDURE GZipRead(Address: POINTER; Count: INTEGER); CDECL; AT $7040A7;
9) Событие: Загрузка данных из сейва; #102
10) Опция: Отключить вопрос "Вы действительно хотите загрузить игру?"
11) Событие: Нажатие Клавиши - полный контроль реакции через ЕРМ; #103
12) Событие: Вход в Окно Героя; #104
13) Событие: Выход из Окна Героя; #105
14) Исправление триггера ЕРМ !?HE на универсальный, где v51 и v52 - инициатор и цель соответственно, а сам триггер = !?HE200
15) Событие: Контроль над очерёдностью хода в битве; #106
16) Опция: Отключение ERM таймера (ускоряет игру)


Скоро выложу, добавив ещё пару фичей.

Добавлено ([mergetime]1227984905[/mergetime]):
Цитата
- Насчёт моргания/пометки клетки куда кликнули, тут видимо сложности, которые преодолеть не удастся

Ну это-то проще всего.
Что касается хода, то послать сообщение проще простого, а серию - хрен. Надо будет посмотреть на код движения героя, может быть и есть возможность повторить его.
Aнгeл
Глянул, в принципе можно. Но эмуляция - она и в Африке эмуляция. Юзер начнёт щёлкать во время работы скрипта и будет хрен знает что.
SAG19330184
отключать мышу на время работы скрипта
hippocamus
Ангел, можно поподробнее насчёт нового триггера HE200
И ещё: А нельзя ли инициировать ход героя двумя командами: Поставить якорь (крестик) на нужный квадрат (возможно - объект №3?), и "нажата кнопка <M>". И пусть прерывают пробелом, если охота.
Aнгeл
Цитата
Ангел, можно поподробнее насчёт нового триггера HE200

Старые данные. !?HE199.

Всё просто:

!?HE199;
!!IF:M^Герой-Инициатор: %V51 Герой-Цель: %V52^;

То не нужно как воговцы прописывать 156 триггеров на каждого героя, а можно !?HE199&тут условия любые

Цитата
Поставить якорь (крестик)

Если бы так. Ставится много крестиков и якорей, причём по разному могут быть к одной и той же точке. Моя идея в том, чтобы сэмулировать щелчок мышью, заменить координаты на нужные -тогда якорь устанавливается к нужному месту. (если пройти можно). Также можно послать окну сообщение о клавише M (это стандартные WinAPI, пробовал, работает), но дальше чел может пощёлкать мышью, нажать Esc + скрипт не будет знать, дошёл герой до места назначения или нет, если да, то когда, и ещё сотни нюансов.
SAG19330184
Цитата(Aнгeл @ 30 Nov 2008, 16:09)
но дальше чел может пощёлкать мышью, нажать Esc + скрипт не будет знать, дошёл герой до места назначения или нет, если да, то когда, и ещё сотни нюансов.

ну можно как то отслеживать через !?HM. И кстати пофиг дошел или не дошел, это ведь работа стандартного кода, нам то какая разница?
hippocamus
Если это герой "на побегушках" - то не наше дело отслеживать, остановили ли его. Ну пусть остановят, собьют его график, потом на следующий день он продолжит свой маршрут.

А зачем HE199? Пусть будет HE просто, или HE-1
Aнгeл
Цитата
А зачем HE199? Пусть будет HE просто, или HE-1

А я как-то сразу взял максимальный номер сразу, а можно, в принципе, было любой, кроме -1. Без номера нельзя. Так что !?HE0 думаю будет оптимально.
Хмм..
кстати платформа Ангела, будет официальной для Хота, если автор не будет против
Aнгeл
Сочту за честь, господин Нео
asm
Цитата(SAG19330184 @ 29 Nov 2008, 00:39)
asm, правильно в общем говоришь, только самая сложность так раз в том что нет механизма инициации события (движения героя или клика мышки)...и пока не заметно, что кто то может такое напрограммировать...хотя подождем

Ну Ангел вроде говорит, что можно. Но даже если нельзя это не такая проблема. Можно что бы тебе прокладывали маршрут, а ты жал кнопку <М> сам. Т.е. маршрут проложен, ты жмёшь кнопку <М>, взял кучку, маршрут проложен до следующей, жмёшь <M> и т.д.

По поводу:
Цитата(hippocamus @ 28 Nov 2008, 19:13)
Сложно...
Прокладываем маршрут.. Это как? Рисуем стрелочки? Если их не убрать до начала движения героя, игра вылетит. Т.е. нужно как минимум 2 функции игры вычленить, и научиться передавать туда управление: выяснение маршрута, и посещение объекта.

Никого ведь не удивляет, что прибавив опыта с помощью ЕРМ само отображается окно левелапа и не приходится рисовать эти окна вручную и не приходжится проверять достиг ли герой левелапа.
Я предполагаю что есть некая функция которой, например, в стеке передаются параметры X, Y. А за прорисовку или не прорисовку стрелочек она сама и отвечает.
Думаю надо по-трассировать код и посмотреть на него. Вроде у меня были какие-то отладчики, вроде WinDASM или может кто-нть более удобную прогу посоветует для исследования кода? Жалко только что знаний асемблера у меня маловато.
Aнгeл
Цитата
Жалко только что знаний асемблера у меня маловато.

А по нику не скажешь.

Цитата
Думаю надо по-трассировать код и посмотреть на него.

Как говорил магистр Йода, думать и пробовать не нужно. Или делай или не делай (С).

Как я понял, и Sag и asm ратуют за автоматизацию ТЕ?
hippocamus
Ну, за автоматизацию рутины я пожалуй тоже. Так как это действительно начинает доставать, а метод бака (автоматическое поступление ресурсов) не приемлю. Ломает интересные экономические моменты.
asm
Цитата(Aнгeл @ 01 Dec 2008, 13:48)
Цитата
Жалко только что знаний асемблера у меня маловато.

А по нику не скажешь.

К сожалению, это только инициалы (((

Цитата(Aнгeл @ 01 Dec 2008, 13:48)
Цитата
Думаю надо по-трассировать код и посмотреть на него.

Как говорил магистр Йода, думать и пробовать не нужно. Или делай или не делай (С).

Как я понял, и Sag и asm ратуют за автоматизацию ТЕ?

Моя основная идея такова:
ХММ3ТЕ1.03q - отличная игра: практически идеальный баланс, множество стратегий, фишек и т.д., можно конечно сделать несколько штрихов в строну баланса и разнообразия стратегий, но лишь штрихов. А вот основная проблема, на мой взгляд, это время партии, например вчера играли финал Лиги - 8 часов. А так, в среднем игра идёт 5-10 часов.
Если с балансом легко боротся правилами или количественными изменениями, то вот со временем партии сложнее.
Я думаю есть пара моментов с помощью которых можно ускорить игру:
1) Пока первый игрок дожидается второго, он мог бы спланировать свои действия и частично "запрограмить" свой будующий ход. Здесь же неплохо бы реализовать планирование постройки в городе в свой ход.
2) Нападаешь на нейтралов, тебе через секунду выдают результат квик комбата и вопрос: "Нравится результат битвы или хочешь вручную побится?". Если жмёшь "всё хорошо", то экономишь 0,5-5 мин игры, если жмёшь "Вручную", то всё как по-старому.
Spartak
Цитата(asm @ 01 Dec 2008, 12:02)
1) Пока первый игрок дожидается второго, он мог бы спланировать свои действия и частично "запрограмить" свой будующий ход. Здесь же неплохо бы реализовать планирование постройки в городе в свой ход.
Представь, вот ты распланировал всё, как вдруг форс-мажор, пришёл комп или другой игрок, и начал грабить...
Тогда нужно сделать некую защиту от такого случия, что-то вроде такого: Перед началом хода вылезает табличка: "хотите ли вы использовать заготовленый вариант?"
Иначе будут появляться неудобства от этой системы.
asm
Цитата(Spartak @ 01 Dec 2008, 15:37)
Цитата(asm @ 01 Dec 2008, 12:02)
1) Пока первый игрок дожидается второго, он мог бы спланировать свои действия и частично "запрограмить" свой будующий ход. Здесь же неплохо бы реализовать планирование постройки в городе в свой ход.
Представь, вот ты распланировал всё, как вдруг форс-мажор, пришёл комп или другой игрок, и начал грабить...
Тогда нужно сделать некую защиту от такого случия, что-то вроде такого: Перед началом хода вылезает табличка: "хотите ли вы использовать заготовленый вариант?"
Иначе будут появляться неудобства от этой системы.

Почитай внимательно мой алгоритм там есть такое:
Цитата(asm)
Далее ты всех запрограмил и тебе передают ход.
- Проверяем есть ли у выбранного героя (первого в списке) скрипты
- Если есть, то берём первые координаты прокладываем маршрут и выводим сообщение: "Вы хотите пустить Героя ХХХ по маршруту?"
hippocamus
Не, то что пишут sag и asm вообще не представляю, как реализовывать. Это новую игру писать нужно...
Можно задать маршруты для сборщиков - вот это согласен.
Aнгeл
hippo, а чем маршруты для сборщиков отличаются от полного автомата? Тем, что забирают время? Можно доставлять ресурсы из мельниц за Х ходов в зависимости от расстояния. +шанс атаки грабителей или ещё чего-нибудь нехорошего. А героев самих вывести на значимый уровень, а не собиралок. Собиралка - это уже не тактика, а рутина. Хотя, в играх вроде ТЕ пожизне есть некий "папа" и лохи и нет механизмов раскачки сериии персов. Но ведь не все сидят на турнирах spiteful.gif
hippocamus
> Хотя, в играх вроде ТЕ пожизне есть некий "папа" и лохи и нет механизмов раскачки сериии персов.
Вот-вот.

> чем маршруты для сборщиков отличаются от полного автомата? Тем, что забирают время? Можно доставлять ресурсы из мельниц за Х ходов в зависимости от расстояния. +шанс атаки грабителей или ещё чего-нибудь нехорошего.

не нужно. просто без участия игрока - это уже неинтересно. опять же - тест на лень. К тому же - "шанс" атаки грабителей - это вероятность, а вероятность противоречит опытности. Может я опытный сборщик, и у меня таких "шансов" не случается? + ещё это не только время, а и экономика. Целесообразно ли нанять героя, заплатив 2500, чтобы он регулярно посещал ещё 3 мельницы? На разных картах разный ответ.

А времени маршруты заберут минимум. Секунд 5-10.
SAG19330184
караваны ф топку. мы с asm не хотим рушить линию игры лошками, просто стараемся придумать:
- как сэкономить количество кликов
- как меньше отвлекаться на действия и меньше забывать мелкие действия
- как скрасить ожидание своего хода

Кстати, автопосещения пожалуй можно сделать уже сейчас (типа пробела). Я думал, что придется самому генерить ресурсы, но это не потребуется, ведь текущий рандомный ресурс уже сохранен в слове объекта
Aнгeл
Цитата
На разных картах разный ответ.

В сингле на ВСЕХ картах один ответ. Покажите мне людей, что играют одним героем и не посещают мельницы. 2500 - это не серьёзно и платится лишь единожды.

Тест на лень? Нужно просто вводить класс героя Эконом и давать ему уникальные ветви развития, необходимость посещения разных городов и объектов и т.д. Спец абилки для скрашивания ожидания. Потому как если сделать маршруты фоновыми, то выйдут те же караваны. Герои будут ходить, но вы этого даже видеть не будете.
asm
Цитата(Aнгeл @ 01 Dec 2008, 16:56)
Цитата
На разных картах разный ответ.

В сингле на ВСЕХ картах один ответ. Покажите мне людей, что играют одним героем и не посещают мельницы. 2500 - это не серьёзно и платится лишь единожды.

Тест на лень? Нужно просто вводить класс героя Эконом и давать ему уникальные ветви развития, необходимость посещения разных городов и объектов и т.д. Спец абилки для скрашивания ожидания. Потому как если сделать маршруты фоновыми, то выйдут те же караваны. Герои будут ходить, но вы этого даже видеть не будете.

Да не, никаких фоновых маршрутов, точно такая же игра.... просто заранее назначаем маршрут. Сегодня это для сбора ресурсов, завтра для передачи армии в цепе, послезавтра ещё для чего-нть, просто хочется сократить игровое время.
В идеале это вообще одновременные ходы, типа как в Циве, скажем дня до 6-го, но это только мечты при наличии исходников )))

А насчёт автопосещения... САГ ты имеешь ввиду что уже можно запрограмить посещение объекта если ты в нём стоишь? т.е. типа эмуляции нажатия пробела? оч неплохо было бы для начала.....
А зачастую на 1Х7 лошками ночюешь в мельницах и думаешь надо всеми всё собрать и незабыть "пробел нажать".... а если он будет автоматом посылаться, то это будет неплохо.
Aнгeл
Цитата
но это только мечты при наличии исходников )))

Ну-ну. Любят люди обоготворять таинственные левые исходники с ужасным кодом и на не менее ужасном языке. Там сущий ад был бы при попытке ввести одновременный ход, вся игра на него не расчитана. Да и автору проще внести изменения, чем стороннему человеку.
В любом случае, ТЕ сейчас не развивается, да и использовать альтернативные ехе - рисковый шаг.

Добавлено ([mergetime]1228132485[/mergetime]):
Цитата
А зачастую на 1Х7 лошками ночюешь в мельницах и думаешь надо всеми всё собрать и незабыть "пробел нажать".... а если он будет автоматом посылаться, то это будет неплохо.

Что мне не нравится у игроков ТЕ, так это сленг. Ну коробит от названия своих героев лохами smile.gif А так да, иногда проворонишь или забудешь собрать ресы с мельниц, садов, хотя герои на них стоят. Но тут и ЕРМ средствами всё решается. При чём в фоновом режиме.
asm
Цитата(Aнгeл @ 01 Dec 2008, 17:54)
Цитата
но это только мечты при наличии исходников )))

Ну-ну. Любят люди обоготворять таинственные левые исходники с ужасным кодом и на не менее ужасном языке. Там сущий ад был бы при попытке ввести одновременный ход, вся игра на него не расчитана. Да и автору проще внести изменения, чем стороннему человеку.
В любом случае, ТЕ сейчас не развивается, да и использовать альтернативные ехе - рисковый шаг.

В своё время отслеживал 5-х героев и выходила мега-пре-альфа-демо версия. Там было на 3-м движке, всё новое (но совсем не такое как у них сейчас), а вот башня магии из 3ки )))
Говорят Нивал попытался писать 5-ку из исходников 3-ки, но там была полная Ж и пришлось начать с нуля.

Цитата(Aнгeл @ 01 Dec 2008, 17:54)
Добавлено ([mergetime]1228132485[/mergetime]):
Цитата
А зачастую на 1Х7 лошками ночюешь в мельницах и думаешь надо всеми всё собрать и незабыть "пробел нажать".... а если он будет автоматом посылаться, то это будет неплохо.

Что мне не нравится у игроков ТЕ, так это сленг. Ну коробит от названия своих героев лохами smile.gif А так да, иногда проворонишь или забудешь собрать ресы с мельниц, садов, хотя герои на них стоят. Но тут и ЕРМ средствами всё решается. При чём в фоновом режиме.

Видимо ещё каждый объект по разному придётся обрабатывать... мельницы, конюшню
hippocamus
Само собой.
А такой вариант:
- подсчитать количество мувпойнтов
- отнять их у героя
- переместить героя на нужную позицию
- выянить и обнулить ресурс на мельнице
- прибавить его игроку
- вывести соотвествующее сообщение
считаю нехорошим, ибо на ту же мельницу могут быть зацеплены другие скрипты, которые в результате не выполнятся.
Aнгeл
Цитата
17) Опция: Грааль не даёт все спелы; #2
18) Событие: До действия (пример: регенерация троллей) - полный контроль через ЕРМ; #107

Изменения ядра:
1) Универсальные опции. Авто-подгрузка и автосохранение.
2) Поддержка трёх соглашений вызова процедур: CDECL, PASCAL, STDCALL.
gamecreator
Цитата(Aнгeл @ 01 Dec 2008, 14:56)
Покажите мне людей, что играют одним героем и не посещают мельницы.

*показывает на себя*

зы. по-моему уже флуд пошел. мы же говорим не о целесообразности сбора ресов, а о создании планировщика ходов.
Хмм..
Все-равно сборка ресурсов необходима лишь в начале, а потом по необходимости. И это никогда не усложняло игру (по-крайней мере для меня)
asm
Вроде нашёл вызов:

:004089A0 lea edx, dword ptr [ebp-08]
:004089A3 lea eax, dword ptr [ebp-0C]
:004089A6 push edx
:004089A7 push eax
:004089A8 push edi
:004089A9 mov ecx, esi
:004089AB call h3te.00409740


После вызова call h3te.00409740 крестик перемещается на кликаемую точку, притом если кликнул куда-нть где ставить крестик нельзя, то ничего не произойдёт, т.е. корректно отрабатывает
Сейчас мне нужна помощь специалистов посерьёзнее, ну или хотяб подскажите в какую сторону копать.
Я так понимаю что где-то здесь: edx, eax, edi, ecx, esi должны быть координаты клика, притом уже карточные координаты.

P.S. Модераторы/админы форума дайте плиз доступ до персональной информации форумчан, а то хочу с кем-нть связатся, а он мне говорит что мол ошибка
P.P.S. САГ вылазь в аську, а то на форуме висишь, а в аську не выходишь )))
SAG19330184
сборка ресурсов занимает время, секунд 15 в неделю * 4 недели * 2 игроков = 2 минуты за игру. Там 2 минуты, там 2 минуты глядишь и полчаса набежит а это уже результат
Aнгeл
asm, ты привёл верный код, но там идёт обработка любого щелчка. Я же говорю, можно послать нужное сообщение и попытаться подменить данные, но сложно. И какая помощь нужна?
Да и в ТЕ всё равно ничего не сделать, так что не стоит и голову забивать. smile.gif

Добавлено ([mergetime]1228164837[/mergetime]):
Да, и действует это только при активном выбранном герое.
asm
Цитата(Aнгeл @ 02 Dec 2008, 02:53)
asm, ты привёл верный код, но там идёт обработка любого щелчка. Я же говорю, можно послать нужное сообщение и попытаться подменить данные, но сложно. И какая помощь нужна?
Да и в ТЕ всё равно ничего не сделать, так что не стоит и голову забивать. smile.gif

Добавлено ([mergetime]1228164837[/mergetime]):
Да, и действует это только при активном выбранном герое.


Приведённый код на самом деле вызывается при любом клике, но дальше я там нашёл процедуру, которая отвечает именно за маршрут, т.е. если кликаешь на горы, то в ту процедуру не попадёшь.
Почему в ТЕ ничего не сделать? А с твоим екзешником получится? А совместима ли ТЕ с твоим экзешником? Какой есть способ вызвать процедуру щелчка? А то что действует это только при активном герое дак это не проблема.
Сегодня/завтра попробую поискать джамп который запрещает вызывать функцию прокладки маршрутов в чужой ход. Если удастся занопить, то проблема будет решена на 50% и дальше с ней можно не разбираться.
А можно ли как-то узнать сколько за маршрут надо МП? И вывести например это в статусной строке?
hippocamus
Конечно, используй экзешник Ангела. С ТЕ он совместим, потому что он ТЕ-шный smile.gif Только апгрейженный.
asm
Цитата(hippocamus @ 02 Dec 2008, 15:55)
Конечно, используй экзешник Ангела. С ТЕ он совместим, потому что он ТЕ-шный smile.gif Только апгрейженный.

Берсерк, а где можно поподробнее про твою работу, а то видел ты в разных ветках форума выкладываешь по чуть-чуть информации.
Желательно бы с примерами.
Я так вижу из твоих наработок можно ещё 1 оч неплохую идею ТЕшников реализовать - запароленые сейвы. Так же видимо можно будет написать встроенный автосейвкаунтер.
Iv
А возможно просто задать маршрут движения героя не к одной конечной точке, а по нескольким?
Т.е. после посещения 1ого запланированного объекта сразу ставится 2ая точка маршрута и герой-сборщик устремляется к ней.
hippocamus
Нет. Одной. А потом к другой.
SAG19330184
прокладка маршрута движения героя не к одной конечной точке, а по нескольким - полезно с точки зрения планирования хода. Реально реализовать?
asm
Цитата(SAG19330184 @ 02 Dec 2008, 17:21)
прокладка маршрута движения героя не к одной конечной точке, а по нескольким - полезно с точки зрения планирования хода. Реально реализовать?

Реализовать реально если будет функция прокладки маршрута, у меня так в алгоритме прописано.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.