Current time: 16.11.2024, 18:27 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 1005
Post: #7171

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

- А теперь проблемы:
1. Если при создании игры выбрать бонус "Артефакт", то если герою выпадет любой артефакт, повышающий первичные навыки, допустим "Щит Гномьих Героев", то у героя со стартовыми первичными навыками 2/2/2/2, их должно стать 2/4/2/2, но остается 2/2/2/2, и это не все, если снять артефакт, то вообще будет 2/0/2/2, т.е. артефакт вместо того, чтобы прибавить +2 к защите, он делает -2 к защите...
2. Если изначально у героя навык "Знания" был 1, я ему сделал допустим 3, то при создании игры, маны у него будет только 10/30, хотя должно быть 30/30. "Решил" этой добавив строчку "!!HE1:Id20;" и да, я понимаю, что это тоже самое, что затыкать текущую трубу решетом, но другого выхода я не нашел.
3. Не добавляются палатки, баллисты и тележка, хотя книга заклинаний и любой другой артефакт добавляется без проблем. Совет Perry R использовать вместо "!!HE0:A1/6/15; !!HE0:A1/4/13;" это "!!HE(your Hero ID):A4/4; !!HE(your Hero ID):A4/5; !!HE(your Hero ID):A4/6;" к положительному результату увы не привел, к тому же еще и книга заклинаний при этом перестала выдаваться.

Вот код самого скрипта:


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
04.10.2020 23:28
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #7172

Если нужно прибавить первичные навыки герою, то используем синтаксис d5, где 5 — прибавляемое число. Если нужно установить значения без учёта артефактов, то понадобится функция.
Объяснение: HE:F с 5-ю параметрами возвращает навыки героя без учёта артефактов. Например, с артефактами все по 10, без — по 2. А мы хотим 3/4/5/6.
Осталось найти разницу между желаемыми значениями и текущими, чтобы понять, сколько очков нужно прибавить к каждому параметру. Для примера это 3-2/4-2/5-2/6-2 = 1/2/3/4
Далее с используением синтаксиса прибавления "d" производит коррекцию:
!!HE(...):Fd(...)/d(...)/d(...)/d(...);

Для примера итоговые значения станут 10 + 1/10 + 2/10 + 3/10 + 4 = 11/12/13/14 или 3/4/5/6 без артефактов.


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

Posts: 5422
Post: #7173

Panda, да правильно насчёт HE#:Id10; при условии ранней выдачи Знаний. Чем тебе не нравится
В остальном надо так:

С артами должно работать всё ок


P.S.ну, в общем Berserker уже даж оптимизировал 132
(This post was last modified: 05.10.2020 00:08 by Bes.)
05.10.2020 00:07
Visit this user's website Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #7174

Panda, Сверху всё правильно написали, у Berserker так уже заготовка под скрипт шикарная, прям сходу пили новый глобальный мод ^_^

А так, когда у меня сейчас (да и ранее) подобные проблемы встречаются, я сразу начинаю искать подобную реализацию в других скриптах и смотреть, как там сделано, работает ли и сравнивать со своим вариантом. Таким образом:

По твоему вопросу нашёл скрипт (Click to View)

Не долго покопавшись сделал, как там:
Только изменив на твои значения (Click to View)

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

P.S. А !?FU(OnGameEnter); в описанном выше варианте адекватно ли использовать? Или он будет на каждой загрузке давать арты героям?

P.P.S Неадекватно Sm ставит после save/load...забавно. Всё, поменял на !?PI и нормально всё.
(This post was last modified: 05.10.2020 00:31 by Night.)
05.10.2020 00:18
Find all posts by this user Quote this message in a reply
Panda Away
Moderators

Posts: 1005
Post: #7175

Berserker, Bes, Night, Спасибо всем за разъяснения!

Т.е. моя концепция правок изначальная была не правильная (
Допустим я хочу изменить первичные навыки героя "Оррин", изначально мне нужно опять просмотреть его оригинальные первичные навыки - они равны 2/2/1/1. Допустим, я хочу сделать так: 1/2/1/2, т.е. добавить ему +1 к знанию, но убрав при этом -1 атаки, и чтобы при выдаче ему артефакта были корректные значения, и чтобы количество маны так же было корректным, то код для него должен выглядеть теперь так:
Code:
!!HE0:Fd-1/d0/d0/d1 Id10;
Верно?

Bes, A4 пробовал уже, но не выдает он ничего, хоть ап стену убейся (


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
05.10.2020 02:09
Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #7176

Panda, ну если смотреть на мой пример, то у меня корректно заработало, когда я сделал функцию, а её срабатывание повесил на !?PI.
Скрипт тот старый, видимо так всё и работает.

Как я понял из объяснения Berserker, если ты хочешь и АРТ поставить и навыки этому герою повысить/понизить, то нужно писать код, указанный в его сообщении. Это если артефакт также изменяет твои УЖЕ меняемые параметры.

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

Такое видимо не сработает.
(This post was last modified: 05.10.2020 02:27 by Night.)
05.10.2020 02:24
Find all posts by this user Quote this message in a reply
Panda Away
Moderators

Posts: 1005
Post: #7177

Night, проблема не в том, что я герою артефакт вешаю, а в том, что если в перед началом игры выбрать в качестве бонуса артефакт, а не золото или ресурсы, то если герою попадется любой артефакт, который повышает его первичные навыки, допустим "Щит Гномьих Героев", который должен дать герою +2 к защите, т.е у героя "Оррин" имея его стартовые первичные навыки 1/2/1/2, должно стать 1/4/1/2, но их остается 1/2/1/2, а если снять с него этот выданный артефакт, то вовсе будет 1/0/1/2, как-то так...

PS: что я имею в итоге:
- Книгу Заклинаний выдает без проблем, это я даже не буду трогать, имхо, зачем?
- Вопрос с количеством маны при повышении навыка "Знания" снят, я все делал правильно.
- Вторичные навыки работали без проблем, так же не буду трогать.
- А вот с первичными навыками я опять буду "плясать" заново: если мой новый код в посте выше верен, то сейчас мне нужно заново просмотреть все оригинальные первичные навыки всех героев, которым я их изменял, и исходя из этого кода уже опять переписать их всех.
- Что делать с палаткой, балистой и телегой я вообще не знаю.


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
(This post was last modified: 05.10.2020 02:52 by Panda.)
05.10.2020 02:32
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #7178

Quote:!!HE0:Fd-1/d0/d0/d1 Id10;
Если я верно помню, "d-" на Эре 2 и в Воге не работает. Вы на Эре?
В остальном верно, только обновлять ману нужно без обновления экрана.


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

Posts: 1005
Post: #7179

Berserker, ЭРА 3.0.4, сборка от daemon_n, v1.35 (09.09.20), возвращаться на 2.Х.Х не планирую Ab Спасибо, ну и за подсказку с маной тоже. Пошел переписывать 148


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
05.10.2020 02:57
Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #7180

Panda,
Quote:Что делать с палаткой, балистой и телегой я вообще не знаю.

В смысле? Я же показал скрин, всё выдаёт без проблем. Ты проверял мой вариант?

P.S.Статы тоже только что проверил, с артами, если выбирать эту опцию, правильно рассчитываются новые значения. Использовал код Berserker, из последнего сообщения.
(This post was last modified: 05.10.2020 03:14 by Night.)
05.10.2020 03:05
Find all posts by this user Quote this message in a reply
Panda Away
Moderators

Posts: 1005
Post: #7181

(05.10.2020 03:05)Night Wrote:  Panda,
Quote:Что делать с палаткой, балистой и телегой я вообще не знаю.

В смысле? Я же показал скрин, всё выдаёт без проблем. Ты проверял мой вариант?

Да, проверял, хоть бы хны. Ничего. и A4 пробовал - толку ноль.


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
05.10.2020 03:13
Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #7182

Panda, прям полностью скопировал, вставил и ничего?
Вот такой не пашет? У меня и А1 и А4 правильно срабатывают. Попробуй ТОЛЬКО этот код, без всего своего остального. Если заработает, добавляй уже остальные элементы.

В heroes.ini в папке корневой игры стоит ErmLegacySupport=1? Не должно конечно влиять, но хз.
(This post was last modified: 05.10.2020 03:19 by Night.)
05.10.2020 03:16
Find all posts by this user Quote this message in a reply
Panda Away
Moderators

Posts: 1005
Post: #7183

Night, нет, не пашет, В heroes.ini стоит ErmLegacySupport=1 уже давно, с тех пор, как обнаружили, что его выключили.


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
05.10.2020 03:19
Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #7184

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

Ещё всегда стоит проверять, где лежит изменяемый скрипт, включён ли он в менеджере плагинов, стоит ли ZVSE (это вообще очень важно), потом сохранены ли изменения в ERM редакторе, перезайти в игру бывает тоже помогает... Хм, вроде все моменты указаны. Если всё же не пашет, видимо какой-то иной скрипт включён и он уже переписывает на базовую...Такое не стоит исключать.
(This post was last modified: 05.10.2020 03:28 by Night.)
05.10.2020 03:23
Find all posts by this user Quote this message in a reply
Panda Away
Moderators

Posts: 1005
Post: #7185

Night, сообщение высвечивается. Поэтому куда копать дальше даже не знаю.


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
05.10.2020 03:32
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