Current time: 29.11.2024, 04:03 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 792
Post: #8731

Great!
In ERM:

15.03.2022 20:52
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #8732

wessonsm, нужно в стандартную библиотеку добавить, наверное. Полезная функция.

Archer, could you test distance calculating function from above?


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

Posts: 1175
Post: #8733

Berserker, looks like I have some issues executing the function. What does "wrong command" suppose to do here?

Image: AkJ8sAI.jpg


Latest ERA mods and scripts in development - My GitHub
16.03.2022 23:40
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 792
Post: #8734

Слишком много параметров. У функции выше только 3 параметра.

Too many parameters. The function above has only 3 parameters.
17.03.2022 05:16
Find all posts by this user Quote this message in a reply
Archer30 Offline
Moderators

Posts: 1175
Post: #8735

Dash1 Oh god...thanks. it works flawlessly!


Latest ERA mods and scripts in development - My GitHub
(This post was last modified: 17.03.2022 14:27 by Archer30.)
17.03.2022 05:38
Find all posts by this user Quote this message in a reply
etrexetrex Offline

Posts: 168
Post: #8736

Добрый день!
Новая "эра" (в сравнении с тем, что было год назад) и теперь старые приемы по правке кодов у меня не работают, поэтому снова вопросы.
Мне надо, чтобы хранитель и священный брелок не давали своих бонусов, то есть не открывало пространство и не дарило заклы.
Раньше я что-то менял в скрипте 76 wog в этих строчках:
Code:
!!HEv600:A2/64/0/?v617; [check for Stoic Watchman]
..............
!!HEv600:A2/102/0/?v619; [check for Pendant Of Holiness]
Я пробовал удалять - дает ошибки. Вроде попробовал ставить другое значение, но в игре в какой-то момент, без Pendant Of Holiness мне вдруг дало закл и открыло простанство. То есть глюки появляются.
Вопрос, что надо сделать в этих строчках, чтобы эти два арта не работали? Или не тут теперь это меняется?
--
Или изменить свойства, чтобы хранитель открывал пространство и исчезал (разовое применение за игру), а священный брелок чтоб не давал портала и воскрешения. Такой вариант лучше, но он наверное сложный, поэтому меня и первый бы устроил. ))
18.03.2022 00:07
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 792
Post: #8737

etrexetrex, строку
замени на строку
и строку
замени на
Это должно решить проблему.
18.03.2022 09:04
Find all posts by this user Quote this message in a reply
etrexetrex Offline

Posts: 168
Post: #8738

wessonsm, спасибо )
18.03.2022 11:54
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 792
Post: #8739

В процессе раздумий возник такой вопрос: как определить наличие защитного рва на позиции, кроме как простым перечислением позиций, где он должен находиться?
!!BU:O игнорирует защитный ров, не считая его препятствием, кроме мин для Башни - здесь добросовестно выдает 9.
18.03.2022 18:38
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #8740

(18.03.2022 18:38)wessonsm Wrote:  В процессе раздумий возник такой вопрос: как определить наличие защитного рва на позиции, кроме как простым перечислением позиций, где он должен находиться?

Для отряда - примерно так:

1. Проверяешь сражение на лодке или нет - флаг isboat в комбатменеджере. Если битва в лодке, значит никакого рва быть не может.
2. Проверяешь флаг клеточности стека, если двуклеточный, то узнаешь ориентацию из структуры стека и вычисляешь номер гекса "морды", если одноклеточный - пишешь -1 в номер гекса морды.
3. Вызываешь 2 раза содовскую функцию, проверяющую гекс на наличие рва в нём, соотвественно, для "мо" и "жо".

Если просто нужно проверить гекс на ров, то только пункт 3.
18.03.2022 20:17
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 792
Post: #8741

XEPOMAHT, спасибо.
Теперь осталось только найти адрес этой функции.
18.03.2022 20:33
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #8742

(18.03.2022 20:33)wessonsm Wrote:  XEPOMAHT, спасибо.
Теперь осталось только найти адрес этой функции.

A0_Battle_IsHexInRow_Ger_RowRow_sub_4699A0
18.03.2022 20:58
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 792
Post: #8743

Как исключить ошибочное срабатывание даблклика?
!?CM4;
!!CM:F?(flag:y);
!!if&(flag)=1; shift
    !!FU(SomeFU):P;
!!en;
Может у меня мышка заедает, но вызов функции срабатывает дважды.
Двойного вызова не происходит, если вставить IF:M.
Мне пока в голову приходят только мегакостыли с использованием глобальных переменных.

Upd: уже решил проблему. Добавил проверку на подтип действия !!CM:S 115
19.03.2022 07:01
Find all posts by this user Quote this message in a reply
Archer30 Offline
Moderators

Posts: 1175
Post: #8744



Latest ERA mods and scripts in development - My GitHub
19.03.2022 09:40
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 792
Post: #8745

Archer30, спасибо.
Тем временем мне удалось реализовать обход позиций поля битвы в порядке увеличения расстояния до целевего гекса.
Archer30, thanks.
In the meantime, I managed to implement a bypass of the battlefield positions in order of increasing distance to the target hex.

I'll be glad if it's useful. If you don't need it, no big deal.
19.03.2022 12:47
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