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

Post Reply 
Threaded Mode | Linear Mode
Школа ERM 2
» ERM 2.0 для ERA III
Author Message
Berserker Offline
Administrators

Posts: 16546
Post: #166

(28.03.2021 16:40)daemon_n Wrote:  Bes, Raistlin, ребята, спасибо, получилось (как ни странно) 96-copy
Нет, товарищи, так дело не пойдёт. Оставьте Вы этот ужас . Вариант Беса — неопределённое поведение и игра с памятью, которая давно могла быть освобождена. Остальные варианты тоже ужасны. А глянуть, как куча функций в Era Erm Framework принимают строки?

Для очень старых скриптов всегда можно было передать индекс глобальной или ERT z-переменной в функцию.
В Эре 3 строки можно передавать напрямую.

А что делать, если Вы хотите объединить две строки произвольного размера? Локальные строки по 511 байт могут обрезать текст.
Тогда можно создать глобальную временную z-переменную с огромным индексом, которая будет доступна только для чтения и будет уничтожена по выходу из триггера.
Но что делать, если мы хотим вернуть строку из функции? Например, функция будет принимать имя героя и возвращать строку «Dear, [Name], your time is over».
По выходу из функции везде, где применялся синтаксис возврата строки вида P.../?z(...)/.../?s^...^ функция трактует конечные значения x-параметров как индексы z-строк. Сами строки копируются во временное хранилище, а оттуда уже присваиваются указанным при вызове переменным.


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

Posts: 5422
Post: #167

мне вот совсем не понравилось, что моё имя было взято в примерах Beee
28.03.2021 18:51
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16546
Post: #168

Bes, это месть Spiteful А так это Big Erm Script мод.


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

Posts: 5422
Post: #169

bad erm scriptmod Ab
28.03.2021 19:47
Visit this user's website Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4339
Post: #170

А что есть нового по глобальным массивам?
Мне надо сделать массив на десяток текстовых элементов - всё ещё через !!SN:M?


Image: widget.png?style=banner2

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

Posts: 16546
Post: #171

daemon_n, да.


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

Posts: 4339
Post: #172

Berserker, я, честно сказать, не понимаю, а где вывод текста?


Image: widget.png?style=banner2

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

Posts: 16546
Post: #173



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

Posts: 4339
Post: #174

Berserker, спасибо - это понял.

А выставить добавление в след пустой слот можно через команду какую-нибудь или надо проверять каждый раз, свободен ли он? (разные триггеры)

UPD: Почему не работает заполнение через re i или иную другую переменную?

Мне надо заполнить определённый элемент массива, номер которого я не могу задать точно.


Image: widget.png?style=banner2

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

Posts: 16546
Post: #175



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

Posts: 4339
Post: #176

Спасибо! Странно, что сразу не сработало 105

А есть ли возможность сравнить 2 текстовых переменных?

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


Image: widget.png?style=banner2

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

Posts: 16546
Post: #177

Сохрани их в s^temp^ и s^temp2^, сравни s^temp^=s^temp2^, а в конце обнули обе через s^temp^:S^^.


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

Posts: 4339
Post: #178

Berserker, эти переменные какие-то особенные? Просто я делал так же со своими именованными.
Хотя я вчера кодил сутки напролет. Естественно мог ошибиться


Image: widget.png?style=banner2

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

Posts: 16546
Post: #179

daemon_n, обычные глобальные именованные переменные SN:W.
s^...^ - строковые. Можно использовать почти везде, где используются z-переменные, кроме установок подсказок и описаний старыми ЕРМ командами.


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

Posts: 4339
Post: #180

(28.03.2021 20:46)Berserker Wrote:  daemon_n, да.

А как удалить массив, не зная его ID?

Надо ли вообще их удалять?

И полезно ли постоянно изменять его размеры?


У меня функция использует, можно сказать, 3 динамических массива.
Изначально объявил кол-во элементов = 0.
Перед добавлением элемента я увеличиваю размер на +1
как только массив перестаёт быть нужен, ставлю кол-во элементов = 0.

Как именно правильно поступать в таких ситуациях с точки зрения здорового кода?

Массивы выбрал, потому что работа с текстами.


Image: widget.png?style=banner2

Новейший Heroes Launcher
31.03.2021 13:31
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