Wake of Gods Forum | Форум Во Имя Богов

Full Version: Школа ERM 2
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
(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-строк. Сами строки копируются во временное хранилище, а оттуда уже присваиваются указанным при вызове переменным.
мне вот совсем не понравилось, что моё имя было взято в примерах Beee
Bes, это месть Spiteful А так это Big Erm Script мод.
bad erm scriptmod Ab
А что есть нового по глобальным массивам?
Мне надо сделать массив на десяток текстовых элементов - всё ещё через !!SN:M?
daemon_n, да.
Berserker, я, честно сказать, не понимаю, а где вывод текста?
Berserker, спасибо - это понял.

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

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

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

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

Мне надо сделать так, чтобы не было повторной подгрузки файла, уникальное имя которого уже использовалось
Сохрани их в s^temp^ и s^temp2^, сравни s^temp^=s^temp2^, а в конце обнули обе через s^temp^:S^^.
Berserker, эти переменные какие-то особенные? Просто я делал так же со своими именованными.
Хотя я вчера кодил сутки напролет. Естественно мог ошибиться
daemon_n, обычные глобальные именованные переменные SN:W.
s^...^ - строковые. Можно использовать почти везде, где используются z-переменные, кроме установок подсказок и описаний старыми ЕРМ командами.
(28.03.2021 20:46)Berserker Wrote: [ -> ]daemon_n, да.

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

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

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


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

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

Массивы выбрал, потому что работа с текстами.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Reference URL's