Current time: 31.10.2024, 23:23 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 16637
Post: #9016

I would use custom sort.


Right click on adv map to show active hero slots sorted by stack total price in gold.


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

Posts: 1174
Post: #9017

interesting. This is the first time I see FU(Array_CustomSort) in practice. The instruction from EEF is too long and didn't raise my interest in reading through it. Fie

For some reason, I didn't get the correct result from this script though. Checking my Tazar and it returns 1 2 0 (should be 0 1 2).



Latest ERA mods and scripts in development - My GitHub
(This post was last modified: 18.03.2023 14:53 by Archer30.)
18.03.2023 07:47
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16637
Post: #9018

Stacks are sorted by total cost.
Gnolls: 20 * 5 = 1000
Lizardmen: 110 * 5 = 550
Flies: 220 * 4 = 880

Thus lizardmen stack (1) is the cheapest, then goes Flies (2), then gnolls (0).
Maybe I didn't get the point and you wanted to compare non by total stack cost, but by single unit cost.



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

Posts: 1174
Post: #9019

Berserker, you got that correclty, but I confused myself! Thanks, great script 132


Latest ERA mods and scripts in development - My GitHub
18.03.2023 14:29
Find all posts by this user Quote this message in a reply
Archer30 Offline
Moderators

Posts: 1174
Post: #9020

I am creating a script for putting Utopia on the sea. Yet can't think of a handy way to get all the tiles suitable for such a job.

What I would do is loop through every tile and see if the surrounding is big enough for Utopia - in the way, a tile would be checked multiple times. Any better implementation?


Latest ERA mods and scripts in development - My GitHub
(This post was last modified: 18.03.2023 19:28 by Archer30.)
18.03.2023 17:08
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 784
Post: #9021

Archer30, choose tile randomly and check if it's suitable for building. If tile fits, build Utopia immediately.
If not, choose another random tile. And so several times, 20-50 times will be enough. If 50 failures - do not build Utopia.
(This post was last modified: 18.03.2023 20:46 by wessonsm.)
18.03.2023 19:27
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16637
Post: #9022

wessonsm, такой алгоритм будет работать плохо, если кол-во вариантов размещений утопий X очень мало по сравнению с площадью карты (Y). Будет работать сносно на картах с очень большой водной зоной.


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

Posts: 784
Post: #9023

Berserker, возможно. Но посчитать все варианты размещения утопии будет очень сложно, во много раз дольше, чем проверить 50 рандомных позиций. 20 попыток мало, да. Это было слишком оптимистично.

Есть еще один вариант - разбить карту на прямоугольники 6x3 клетки (в такой прямоугольник влезают все красные клетки утопии) и проверять все такие прямоугольники. А чтобы координаты не повторялись, смещать координаты первого прямоугольника от угла карты случайным образом. Этот вариант тоже не идеален.
Нужно тестировать, чтобы понять, как будет быстрее. Я все-таки думаю, что первый способ.
Также если карта случайная, где-то в памяти игры должно храниться количество воды ("None"/"Normal"/"Islands").
Неплохо было бы его сразу прочитать, чтобы не тратить время впустую.
(This post was last modified: 18.03.2023 22:39 by wessonsm.)
18.03.2023 22:17
Find all posts by this user Quote this message in a reply
XEPOMAHT Online
Moderators

Posts: 2348
Post: #9024

(18.03.2023 22:17)wessonsm Wrote:  Также если карта случайная, где-то в памяти игры должно храниться количество воды ("None"/"Normal"/"Islands").
Неплохо было бы его сразу прочитать, чтобы не тратить время впустую.

Параметр water_level хранится в структуре _RMG_, которая к конкретным картам не привязана и используется исключительно для генерации случайных карт (т.е. что туда пришло из выбранного игроком шаблона, то игра и помнит у себя в памяти). Сами случайные карты после генерации считаются игрой самыми обычными картами стандартного геройского формата.
19.03.2023 07:03
Find all posts by this user Quote this message in a reply
Georgv Offline

Posts: 30
Post: #9025

Всем привет ! Я таки придумал как переделать гипноз. В итоге через !!SS:P и через !!SS:E не заработало. Сделал вот так. Гипноз теперь работает без ограничения по здоровью, действует всегда 3 хода, а от школы магии зависит уровень гипнотизируемых существ. ИИ тоже стал активно гипноз применять теперь. Может кому пригодится.
(This post was last modified: 20.03.2023 12:57 by Georgv.)
20.03.2023 12:53
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1313
Post: #9026

Georgv, спасибо - пригодится.
Из этого скрипта сделал вывод, что ИИ активно применяет "Гипноз", потому что изначально выставлены его высокие уровень и сила, а скрипт уже корректирует его эффект. Эту идею можно использовать для оригинальных боёв, в которых нужно "заставить" ИИ отдавать приоритет определённому заклинанию. 20


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

Posts: 30
Post: #9027

SergOz, Я думаю тут дело не в силе самого гипноза. Я когда тестил этот скрипт заметил, что ии в первую очередь выбирает целью гипноза самых сильных бойцов ближнего боя, а так как раньше у гипноза было сильное ограничение по здоровью, то он просто не находил подходящей цели и в итоге переключался на другое заклинание. А если нужно заставить ии именно спамить определенным заклинанием там же есть !!SS:I который именно приоритеты для ии выставляет. Я у гипноза приоритеты не трогал, оставил как есть, они и так достаточно высокие. Сейчас ии активно применяет гипноз но и другие заклинания тоже выбирает если есть.
(This post was last modified: 20.03.2023 14:05 by Georgv.)
20.03.2023 13:55
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16637
Post: #9028

Интересный вариант, хотя, возможно, стоит ограничить и 1-2 ходами. В целом отличная идея.


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

Posts: 30
Post: #9029

Berserker, Не совсем понял. Типа 1-2 уровень монстров гипнотизируются без ограничения, а дальше от навыка школы воздуха ? Думаю это перебор уже, слишком ослабит заклинание. Я просто играю с переделанной под себя опцией remagic. У меня гипноз заклинание 5-го уровня. Раньше, когда было ограничение по здоровью гипнотизируемого отряда, смысла в нем особого не было, тк к моменту появления заклинаний 5-го уровня там уже отряды в сотни и тысячи существ у компа. А сейчас нормальное заклинание стало на мой взгляд, и не совсем имба, и полезное при этом, примерно как берсерк или молитва по полезности.
21.03.2023 00:23
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16637
Post: #9030

Это я от усталости спутал уровни с ходами. Имелись в виду ходы. 3 хода — ощутимый период.

Georgv, да, решение прекрасное. А remagic настраивал через правку текстовика?


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
21.03.2023 02:18
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