Current time: 24.03.2024, 01:59 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 16449
Post: #7891

Archer30, nope, it's not possible in ERM in one condition.

v999>=100/v999<=106|v999>=400/v999<=406

should be read as IF (v999>=100 AND v999<=106) OR (v999>=400) OR (v999<=406)

Something like


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

Posts: 1098
Post: #7892

Oh? Thanks. From my tests the one condition writing looked ok, maybe I missed something.


Latest ERA mods and scripts in development - My GitHub
14.03.2021 20:45
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16449
Post: #7893

It will not work as you expect it to work. 599 will pass your check.


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

Posts: 1098
Post: #7894

Ah thanks, now I fully understand. Looks like I figured out the best way from the very beginning :D

New question:
Is there a way to add a condition to re-loop?
aka either of these is valid?


Latest ERA mods and scripts in development - My GitHub
(This post was last modified: 14.03.2021 23:16 by Archer30.)
14.03.2021 23:09
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16449
Post: #7895

Nope, wrap re loop in if-else block. Same in all other languages:

if () ... {
    repeat ... { }
}


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

Posts: 1098
Post: #7896

Gotha.

Does ert support string in this format %s^^? Do I have to convert to %z1xxx?


Latest ERA mods and scripts in development - My GitHub
(This post was last modified: 16.03.2021 07:35 by Archer30.)
15.03.2021 17:56
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16449
Post: #7897

Yes, it does. support %s(), %i() and %T(json key to translate).


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

Posts: 1285
Post: #7898

Подскажите, пожалуйста, что не так в следующем скрипте. ERA3.3.5
Цель скрипта:
владелец арта "Острейший Меч" в бою имеет возможность в 33% полностью лишить атакуемый отряд его защиты.
Проблема в том, что в логе битвы неправильно отображается урон, наносимый лишённому защиты стеку, и сам урон наноситься обычный - такой же как и стеку с защитой.
Но, если "просмотреть" атакуемый, беззащитный, отряд кликом по нему, то иногда выводиться и наноситься уже откорректированный (правильный) урон.

P.S. Через структуру стека всё то же самое
Поставил 4 байта от балды - не знаю как узнать сколько байт нужно прописывать в том или ином случае.
Но проверял и на 1 и на 2. Результат одинаковый.


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

Posts: 462
Post: #7899

SergOz, по комментариям смотрю нужно полностью лишить стек защиты, а по коду получается:
!!BM:D0 - это кажется не то немного, более статичный вариант. Не лишение ли это защиты ПОСЛЕ удара? (на бой ли или навсегда...?). По описанию по крайней мере так выглядит.

Если требуется при ударе рассчитывать урон существу, словно он лишен защиты, то может попробовать добавить из функционала !!EA:B0? Вот например из ReMagic Era Script, есть подобное для клона, на проверке хорошо показало себя, рабочая штука:

Последние две строки, переделать под своих существ, дописать, если нужно будет проверку на нанесение удара и отключение пробивания защиты (код изначально для клонов, которые исчезают после битвы или по получении удара...так что нужно посмотреть как будет на постоянных существ)


И разве структура стека не только на Get (получение)? В хелпе не вижу, что Set (установить) значения можно было. По описанию команда именно для определения, что навешано на существо, сколько и каких гадостей...

P.S. Вроде был уже готовый вариант на существ на форуме, тут (нужна помощь или требуется скрипт) или на d2f, но искать лень - глаза слипаются. Если на завтра не решится, погляжу, где видел.102
(This post was last modified: 16.03.2021 04:04 by Night.)
16.03.2021 04:00
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1285
Post: #7900

Night, спасибо. Это немного не то, но пригодится наверняка. Laie_11
Я хочу лишить атакуемый стек защиты на весь оставшийся бой, как это бы сделал многократный каст "разрушающего луча". Кстати, я испытывал и вариант через каст атакуемому стеку "разрушающего луча":
но, результат меня тоже не устроил.
Та я уже решил проблему. Если сбрасывать защиту стека на 1, а не на 0, то всё замечательно. Меня такое даже больше устраивает: типа издевательство - оставляет децел защиты. У меня там набор демонических артов - этот из их числа.
Так что всё о.к. - спокойной ночи Lazy3


Карта-мод "Война на Холсте"
(This post was last modified: 16.03.2021 05:36 by SergOz.)
16.03.2021 05:23
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4333
Post: #7901

SergOz, в скрипте (ранее моде) ReMagic из Era scripts mod созданные клоны полностью игнорируют защиту цели. Возьми код оттуда Yes


Image: widget.png?style=banner2

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

Posts: 1285
Post: #7902

daemon_n, спасибо, обязательно посмотрю.
Я, всё же, хочу чтобы защита стека не игнорировалась, а чтобы она сбрасывалась. Чтобы при просмотре стека у него были показатели защиты, к примеру, = 50(1).

Меня сейчас больше интересует вопрос, как узнать какое количество байтов нужно прописывать в команде !!UN:C, чтобы получить/установить данные в структуре стека/героя/объекта...

daemon_n, в 4:55 желательно спать Yes


Карта-мод "Война на Холсте"
16.03.2021 14:19
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #7903

SergOz, ну, там же даже по таблице можно определить, где 1байт, а где 4 байта
db - значит на этот адрес памяти занято 1 байт для числа
dd - инфа занимает 4 байта памяти для числа
есть ещё dw - 2 байта для числа

Например,
Quote:// +164 dd - Загруженный def монстра → ctroll.def (тролль)
// +168 db - загруж. def снаряда
по смещению 164..168 - инфа по дефу стэка
по смещению 168..169 - деф снаряда
17.03.2021 16:03
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2265
Post: #7904

(17.03.2021 16:03)Bes Wrote:  Например,
Quote:// +164 dd - Загруженный def монстра → ctroll.def (тролль)
// +168 db - загруж. def снаряда
по смещению 164..168 - инфа по дефу стэка
по смещению 168..169 - деф снаряда

Там оба значения 4-хбайтные, по крайней мере по структуре из MoP. Адрес на снаряд в 1 байт не влезает никак. 166
17.03.2021 16:42
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1285
Post: #7905

Bes, XEPOMAHT, благодарю!
Это просто надо было знать. Я ещё и обратил внимание: что за непонятные дб дд 105


Карта-мод "Война на Холсте"
(This post was last modified: 17.03.2021 17:47 by SergOz.)
17.03.2021 17:43
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