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

Full Version: ERA II
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Berserker, да, теперь понял)
Спасибо - звучит действительно очень удобно.Ab
daemon_n, на здоровье Ab
Получится — будет релиз 2.9.8 с ещё более интересной и долгожданной для ЕРМ фишкой — циклами без SN:G и !!DO:P.
нет!!!Fie
теперь вся мозговая деятельность, которую пускали скриптеры на смоздание правильных циклов, уйдёт в жевание чипсов, пока он будет вставлять автоматические команды цикла 148
Bes, вовремя ты успел! Всё, сворачиваю активность, удаляю код… 112
Новый генсек, я посмотрю
Для тестов:
https://dropmefiles.com/N8Ao0

[+] Introduced high-level loops in ERM via new receivers: !!re, !!br, !!co.
   
    !!re$loop-counter-var/#counter-start-value = $loop-counter-var/#counter-stop-value = $loop-counter-var/#step = 1, if stop value is set, 0 otherwise.
    ...
    !!en:;
   
    Repeats block of code. Only the first argument is obligatory.
    At first loop counter variable is initialized to either its own value or #counter-start-value.
    #counter-stop-value and #step are remembered for the whole loop and won't be evaluated on each iteration.
    #step determines, what value must be added to counter variable after each iteration. It also determines type of iteration termination condition.
    Positive step check if counter > stop value. Negative step checks if counter < stop value.
    #counter-stop-value determines, when iterations must be stopped.
   
    On !!re it's checked, if counter reached stop-value or exceeds it. If true, execution is passed to corresponding !!en block.
    On !!en counter is increased by step and if termination condition is not met, next receiver after closest !!re will be executed.

    !!br (BREAK) with optional condition immediately jumps after loop !!en receiver.
    !!co (CONTINUE) with optional condition immediately jumps to loop !!en receiver, which will be executed as usual.

    Examples:


[*] Maximum 16 nested IF/RE blocks are allowed.
[-] Fixed crash due to invalid RD:M second parameter handling.
[-] Fixed 'for' snippet in ERM editor.
FU:G заменён на более функциональный FU:S#argument_index/?$syntax_type
Syntax type:
0 - get
1 - set
2 - add (aka 'd')

!!FU(...):Pd200; syntax type = 2
жесть, смотрю на мутацию развитие ЕРМ и говорю про себя "жесть" ))) он перестаёт быть простым низкоуровневым языком программирования, я уже примеры с трудом осмысляю )))

кстати, а реально удобно без спецзков писать !!rei/0/6; ?
так и напрашивается разделитель какой-то после !!re... !!re/i/0/6 к примеру... а то будут читаться странные rei, rem, rev1 или не дай бог revy1 148
Bes, zvsey1en;
Bes, всё упрощается, просто где-то нужно мне лучше разъяснять смысл примеров на русском.

В редакторе удобно. Что лучше — не особо ясно.
https://yadi.sk/i/186wgrfGEfZITw

Голосуем.
XEPOMAHT, это языковая конструкция а-ля !!if, потому с малой. И после : должны идти подкоманды. Вариантов два:

!!rex/y/z:; - как сейчас
или
!!re/x/y/z:;, где первый параметр по сути всегда 0 и в коде будет игнорироваться.
(02.02.2020 04:11)Berserker Wrote: [ -> ]это языковая конструкция а-ля !!if, потому с малой.

ERM вроде не учитывает регистр - можно и !!IF и !!if

(02.02.2020 04:11)Berserker Wrote: [ -> ]И после : должны идти подкоманды.

А, тогда возможно так:

Code:
!!re:Py1/от/до/шаг; //y1 - счётчик
  ...
  !!re:Py2/от/до/шаг; //y2 - счётчик
    ...
    !!re&...:E; //прыжок до !!en:; с выходом из цикла
    !!re&...:C; //прыжок до !!en:; с продолжением цикла
    ...
  !!en:;
!!en:;
XEPOMAHT, конечно учитывает. !!IF — одно, !!if — совсем другое и обрабатывается на вернем уровне.
Русификатор пока старый (2.8.3) можно?
А то на русский комплит Эру поставил, и крокозябры вместо многих текстов.

Поставил Эру на английский SOD (без HD и ES) сделал аналогичные настройки.
Проблем не увидел: и вогификация без проблем проходит и сейв/лоад без ошибок.

Комплит (бука)+ERA2.9.7+Rus(для ERA 2.8.3) при вогификации:+HD4.0.8. Настройки выставил, создал случайную карту поиграл минут 10 - проблем нет. И сейвы грузятся.
C ES 1.40 падает сразу после вогификации ну или при первом же движении героя.
Image: 0bdb3778dc80.jpg
Reference URL's