Current time: 15.04.2024, 00:42 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Ваши вопросы по ERM-скриптам
Author Message
daemon_n Offline
Administrators

Posts: 4338
Post: #8956

OB: R S,
Ставить флаг посещенности
После OB ещё, как вариант


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
25.01.2023 19:00
Visit this user's website Find all posts by this user Quote this message in a reply
ArKan Offline

Posts: 199
Post: #8957

Но противники смогут захватывать объект?
25.01.2023 22:29
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4338
Post: #8958

ArKan, зависит от того, какой код ты напишешь. Прочитай информацию в справке


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
25.01.2023 22:49
Visit this user's website Find all posts by this user Quote this message in a reply
ArKan Offline

Posts: 199
Post: #8959

В этом то и есть мой вопрос...
26.01.2023 01:16
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1287
Post: #8960

ArKan, попробуй так


Не тестировал: нет времени на это. Да и скрипт написал "на лету": будет ли работать - не знаю.
Но двигаться нужно примерно в этом направлении.

Не забудь, что если ты скриптом создал команду с кем-то, то эти данные в игре не сохраняются и после загрузки нужно возобновлять команду.

И ещё может быть так, что ИИ будет тупо пытаться безрезультатно посетить шахту, не подозревая, что не проходит фэйсконтроль.


Карта-мод "Война на Холсте"
(This post was last modified: 26.01.2023 09:01 by SergOz.)
26.01.2023 09:00
Find all posts by this user Quote this message in a reply
ArKan Offline

Posts: 199
Post: #8961

О как, благодарю!
26.01.2023 09:34
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1287
Post: #8962

Возможно ли на версии ERA 3.9.2 отключить окно "победитель/проигравший"?
Нашёл вот это:

Quote: отключение окон "победитель/проигравший"

Без HD мода это работает, а с ним -нет. Видимо, Бараторч что-то изменил в последних версиях.

Очень нужно для того, чтобы имитировать некоторые события на карте. То есть: вызываю бой, ставлю уникальную картинку фона, и управляю стеками по своему усмотрению. Это может быть что угодно: посещение библиотеки, оружейного магазина, бордели, космопорта и т.д.

Пример из моего мода: в заброшенной шахте должны пройти переговоры с некими "повстанцами". 174
Когда игрок заходит в шахту, вызывается бой с определённым монстром. Игрока лишаю ходов, а "повстанцем" управляю. Он подходит и предлагает свои условия. После - принудительно заканчиваю бой поражением "повстанца".
Естественно, что после этого окно "победитель/проигравший" крайне нежелательно.

Идея бесплатная - только помогите !!!


Карта-мод "Война на Холсте"
27.01.2023 03:43
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2271
Post: #8963

(27.01.2023 03:43)SergOz Wrote:  Пример из моего мода: в заброшенной шахте должны пройти переговоры с некими "повстанцами". 174
Когда игрок заходит в шахту, вызывается бой с определённым монстром. Игрока лишаю ходов, а "повстанцем" управляю. Он подходит и предлагает свои условия. После - принудительно заканчиваю бой поражением "повстанца".
Естественно, что после этого окно "победитель/проигравший" крайне нежелательно.

Если результаты боя совершенно не важны, то можно сделать так:

Code:
!!UN:C4682216/2/59792; считать любой бой проигранным для Третьего Рейха
!!UN:C4682395/1/235; выполнять ветку gosolo вместо вывода окна проигравшего

Либо выставляй байт gosolo перед боем, а после боя - восстанавливай как было, тогда игрок не сможет управлять битвой - за него это сделает ИИ как в автобитве.
27.01.2023 10:18
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1287
Post: #8964

(27.01.2023 10:18)XEPOMAHT Wrote:  Если результаты боя совершенно не важны, то можно сделать так:
Code:
!!UN:C4682216/2/59792; считать любой бой проигранным для Третьего Рейха
!!UN:C4682395/1/235; выполнять ветку gosolo вместо вывода окна проигравшего

Это работает: окно победитель/проигравший после боя не выводится.

(27.01.2023 10:18)XEPOMAHT Wrote:  а после боя - восстанавливай как было...

Беда в том, что не знаю как восстановить "как было", а из-за этого, по окончании следующих боёв, окно так же не выводится. А надо Bad


Карта-мод "Война на Холсте"
27.01.2023 11:01
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1287
Post: #8965

XEPOMAHT, большое спасибо - я разобрался. Всё работает!

Жаль только, что парой строчкой кода нельзя оформить поражение Третьего Рейха...


Карта-мод "Война на Холсте"
27.01.2023 11:37
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16471
Post: #8966

Видимо имелось в виду:
!!UN:C4682395/1/?y1; сохранить оригинальный байт gosolo


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
27.01.2023 17:16
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1287
Post: #8967

Berserker, да.
Я так сразу и делал, но не туда вставил (имеются ввиду строчки кода) отчего и решил, что действую неправильно.
Но потом вставил в "правильное" место и всё пошло как по маслу )))


Карта-мод "Война на Холсте"
27.01.2023 18:06
Find all posts by this user Quote this message in a reply
Archer30 Offline
Moderators

Posts: 1104
Post: #8968

Hi, I wonder if it is true that UN:U does not work for heroes

With this code, nothing is returned.

Is there an alternative way to check for heroes on the map (apart from OW:O)?


Latest ERA mods and scripts in development - My GitHub
(This post was last modified: 11.02.2023 02:12 by Archer30.)
11.02.2023 02:07
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4338
Post: #8969

Archer30, re i and get coords + owner))


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
11.02.2023 07:25
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2271
Post: #8970

(11.02.2023 02:07)Archer30 Wrote:  Hi, I wonder if it is true that UN:U does not work for heroes

Перед вызовом отключаешь функцию-фильтр на героев на карте:

Code:
_Hero_ *GetHeroOrBoat(_MapItem_ *mip)
{
    STARTNA(__LINE__, 0)
    if (mip->OType == 0x22) RETURN(GetHeroStr(mip->SetUp)); // герой
    if (mip->OType == 8) RETURN((_Hero_*)GetBoatStr(mip->SetUp)); // лодка
    RETURN(0)
}

Тогда функция проверки типов объектов на карте станет их учитывать, но объекты, на которых стоят герои, учитываться перестанут и при поиске других объектов вылезет куча ошибок. Поэтому героев на карте стоит искать всё же через перебор активных героев у 8 игроков. Алгоритм не сложный: узнаёшь количество героев у игрока, получаешь их структуры, смотришь флаг присутствия на карте у каждого, если флаг 1, то далее смотришь флаг нахождения героя в каком-то объекте, если герой в объекте, то считываешь dword с координатами, расжимаешь их битовым сдвигом, если не в объекте - считываешь стандартные координаты из структуры героя. Далее - зависит от того, что ты хочешь сделать с полученным героем по координатам.
11.02.2023 09:33
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group