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

Post Reply 
Threaded Mode | Linear Mode
ERA III
Author Message
Bes Offline

Posts: 5422
Post: #106

daemon_n, ты там используешь именованную переменную, имя не привязано к text или var. Это просто в примерах для понимания.
можно хоть
.../?(описание.арт120:z)
upd. Berserker, ты ещё больше щас пошатнул желание daemon_n'а к скриптингу на ERM2.0 96-copy
28.07.2020 19:53
Visit this user's website Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #107

я еще не освоил массивыDash1
язык игры нужен для русских и китайцев - у них свои шрифты и проблемы с отображением - для предстоящего обновления мне необходимо сделать именно так, в данном случае есть понятие язык игры, я считаю, ведь текст = шрифты. Текста у меня мало, так что плодить кучу модов плохо, а у меня планирутся лаунчер, которому важно, чтобы все мои изменения были в 1 моде.

Что касается кода, он не просто длиннее, он в разы сложнее -- где же то самое написание "без комментариев". Только и хочется сказать: "Без комментариев".96-copy

UPD: есть возможность сделать выход из erm файла?
Имеем 2 файла скриптов - 1 для Эры 2.9 , а второй - для Эры 3.
???


Image: widget.png?style=banner2

Новейший Heroes Launcher
28.07.2020 19:58
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #108

daemon_n, комменты Berserker для тебя расписал, так то он итак всё поймёт спустя год не у дел Yes
вообще, если писать не английским имена переменных и массивов, то куда удобнее тебе будет
28.07.2020 20:03
Visit this user's website Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #109

Bes, сне вот что бы понять
вот массив - с 4 элементами/ z говорит нам, что они текстовые, так понмаю, у меня оно должно быть egb_dialogOpt, чтобы не пересекаться с иными именами.


Я просто пока делаю мод универсальный между 2.9 и 3.0 - пока работает.


Image: widget.png?style=banner2

Новейший Heroes Launcher
28.07.2020 20:10
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #110

daemon_n, выход из ЕРМ файлов не предусмотрен и алгоритмически не нужен.

Quote:у них свои шрифты и проблемы с отображением
Эти проблемы никак не решаемы твоим способом. Много модов — это нормально. В этом принцип управляемости и поддерживаемости в программировании и вообще в любых сложных инженерных системах.

Сверху очень много костылей. Все они не нужны. Json-файл с локализацией должен содержать перевод только для одного языка. В другом моде свой файл с переводом для другого.
Тему школы ЕРМ я продолжу, но хотелось бы узнать задачи, которые ты пытаешься решить и примеры кода, в которых нуждаешься (могу без массивов).


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

Posts: 5422
Post: #111

daemon_n, ну массивы в таком исполнении с серией 2.9.x ты не подружишь
или делай как делал, без ERM2.0, пока ERA3 всё ещё на альфа-стадии, а потом... спустя эн-ное кол-во времени перепишешь уже красиво на ERM2.0
28.07.2020 20:14
Visit this user's website Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #112

Berserker, у меня сейчас 3 json файла , в каждом свои строки
имеется такой код (Click to View)
Сейчас работает всё вообще без проблем, и на эре 2.9.14, и на эре 3.0.2.

Я уже понял, как делать тексты - спасибо, но вот вопрос остался


Image: widget.png?style=banner2

Новейший Heroes Launcher
28.07.2020 20:17
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #113

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

Смотри. Происходит событие, скажем щелчок мышкой. !?CM0.
Для данного события выделяется временная память в 100 целых чисел (y1..y100). Если в рамках события произойдёт показ диалога, а в том нажатие кнопки, то у нового события будут свои уникальные y1..y100.

Так вот, ЕРМ 2 позволяет тебе не вручную в голове выделять индексы для локальных переменных, а автоматически под читаемыми именами.


Quote:почему последний индекс -1, а не 3?
Отрицательные индексы в именованных локальных переменных имеют значение: «N-й с конца», как во многих функциях Javascript/PHP, например.
-1 — последний или первый с конца
-2 — предпоследний или второй с конца

Если ты изменишь размер массива на 10 элементов, то мой код будет работать, а твой сломается.


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

Posts: 4343
Post: #114

То есть все новые именованные переменные локальные? Понял, значит, польза для удобного чтения кода.
А будет что-то подобное для глобальных w? вместо !!SN:W^rrtyrty^/?(howMuch:y);?

(28.07.2020 20:18)Berserker Wrote:  -1 — последний или первый с конца
-2 — предпоследний или второй с конца
Если ты изменишь размер массива на 10 элементов, то мой код будет работать, а твой сломается.

Понял! Спасибо!

Ну, говорю же, массивы пока не освоил, но надо бы - на них всё строится, как я понял147


Image: widget.png?style=banner2

Новейший Heroes Launcher
28.07.2020 20:24
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #115

daemon_n, уже есть.
!!VRs^egb_caption^:S^Заголовок^ вместо !!SN:W^egb_caption^/^Заголовок^
или для чисел !!VRi^egb_age^:S29 +3 *7;

s^...^ и i^...^ — глобальные именованные переменные, SN:W больше не нужен. Можно использовать напрямую во всех командах.

!!VR(daemonAge:y):Si^egb_globalDaemonAgeReadFromSecretIniFile^;

daemon_n, массив — просто набор последовательных элементов одного типа.
Например, y10..y15 — массив из 6-и элементов.
У него логические индексы 0..5, а реальные — 10..15.

Ты можешь получить реальный индекс локальной именованной переменной через (@имя) или (@имя[логический индекс элемента массива]):


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

Posts: 4343
Post: #116

Berserker, вот последнее я как раз уже усвоил, когда книжку по с++ изучалYes


Image: widget.png?style=banner2

Новейший Heroes Launcher
28.07.2020 20:31
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #117

daemon_n, если читал, то понимаешь разницу между логическим индексом элемента массива и адресом элемента в памяти. В ЕРМ у массива y10..y15 10 — по сути виртуальный адрес, а 0 — логический индекс первого элемента.


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

Posts: 4343
Post: #118

(28.07.2020 20:26)Berserker Wrote:  s^...^ и i^...^ — глобальные именованные переменные, SN:W больше не нужен. Можно использовать напрямую во всех командах.

!!VR(daemonAge:y):Si^egb_globalDaemonAgeReadFromSecretIniFile^;

Отлично!
Это ZVSE2, так понимаю, но это с какой версии Эры? на 2.9.14 работать будет?


Image: widget.png?style=banner2

Новейший Heroes Launcher
28.07.2020 21:23
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #119

daemon_n, нет, s^...^ и i^...^ на ERA3 началось
28.07.2020 21:25
Visit this user's website Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #120

(28.07.2020 21:25)Bes Wrote:  daemon_n, нет, s^...^ и i^...^ на ERA3 началось

Понял

(28.07.2020 19:24)Bes Wrote:  Berserker, не хватало отдельной "доски обновлений" с последними релизами, так что я это сделал в некогда открытой тобой для этих целей теме, опубликовав пост... переделай авторство поста на себя там, ок? 177

Я скинул последнюю dll в дискорд, чтобы можно было скачать сразу файл
имеется прямая ссылка на подольше


Image: widget.png?style=banner2

Новейший Heroes Launcher
28.07.2020 21:26
Visit this user's website 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