Current time: 15.11.2024, 22:28 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA II
» WoG Era 2: Русская и Английская версии
Author Message
Valery Offline

Posts: 2196
Post: #2086

ok, I know nothing about technical process, so asking 118

So, for PA and QU receivers, if the plugins are in seer huts mod, another mod having the plugins inside will conflict? Or is just a priority issue and will read only from first package?

I will also make a thread with all the additional codes, fixes and UN:C solutions I found so far; I think is time to renew that erm help which it gets quite old now.
(This post was last modified: 02.05.2015 15:44 by Valery.)
02.05.2015 15:41
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16655
Post: #2087

Will read only from the first package.
You are right. Any changes to hmm35wog.pac/snd would be also welcomed, cause I'm more or less ready. Working code:


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

Posts: 2196
Post: #2088

hehee, DO receiver is going to bed.
02.05.2015 19:27
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16655
Post: #2089

Right, it's tooo slow and was a replacement for loops lackage Sm
We can also have normal function names and normal function libraries.

I hope none of you used 95000-99999 :D


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

Posts: 16655
Post: #2090

Era 2.47 alpha 2
Code:
[+] Functions can now have names. Any time you use (something) inside commands, the engine looks for appropriate SN:W-var. If it finds it, the integer value of variable will replace (something) in source code. If nothing is find, W-var is created on-the-fly and the number is automatically assigned from 95000+ range.

Example: !!FU(OnHenchmanHire); call function which maybe does not exist, but script users will be able to handle the event.
Example: !?FU(Phoenix.FindFreeSlot);

Please, don't forget that names are global. Prefix function names with mod abbreviation: (BattleLib.RessurectStack).

[+] Added labels support. Label is command ordinal number inside current trigger starting from 0. [:LabelName] defines local label. [LabelName] means replace label with command number. Labels are used with SN:G command to implement loops and conditions.

Example:
!?CM2; archangel in every slot
!!VRy1:S0;
[:loop]
!!HE-1:C0/y1/13/1;
!!VRy1:+1;
!!SN&y1<=6:G[loop];

[*] Ported igrik's code to fix SN:D in heroes meeting screen.


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

Posts: 7107
Post: #2091

(02.05.2015 18:56)Berserker Wrote:  [:loop]
Посреди ЕРМ кода выглядит неуместно. SN:G?$ куда лучше.

Вообще надо мне переписывать ЕРМ поскорей, а то он выглядит всё более и более несвязно.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
02.05.2015 19:57
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16655
Post: #2092

Это просто объявление метки. Оно схожее во всех языках, от ассемблера до Delphi и Си же )).
Code:
label xxx
:xxx
xxx:
Указанные функции реализованы через препроцессор. Во время выполнения анализ не происходит.
Ты, как я понимаю, предложил SN:G? возвращать индекс текущей команды, а прыгать уже на переменную. Такая реализация была в разы проще, но визуально это прыжки на y[n] и получение в y[n]. В такой реализации нельзя прыгать на неизвестную метку вперёд. В общем, не то.

Добавил в пост выше:
[*] Ported igrik's code to fix SN: D in heroes meeting screen.


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

Posts: 7107
Post: #2093

Да я понимаю что это объявление метки.
(02.05.2015 20:00)Berserker Wrote:  В такой реализации нельзя прыгать на неизвестную метку вперёд. В общем, не то.
Хм, и правда. Этого я не заметил. Я так понимаю, ты предлагаешь метки и как замену условиям?


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
02.05.2015 20:23
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16655
Post: #2094

Общие While, For реализуются с прыжком вперёд. Условия нет, лучше !!if-!!en, так читаемее.


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

Posts: 3881
Post: #2095

(02.05.2015 19:57)gamecreator Wrote:  
(02.05.2015 18:56)Berserker Wrote:  [:loop]
Посреди ЕРМ кода выглядит неуместно. SN:G?$ куда лучше.

Согласен.
Bers, [:loop] это фиксированная комбинация или можно использовать [:mark1], [:mark2] и пр.?
Если последнее (чего бы очень хотелось), то можно сделать однообразный ERM-овский синтаксис? Например как с if/en/el:


Команда !!SN, кстати, начинает бесить. Так же как и !!UN. И та и другая делают все подряд. Из-за этого и код становится нечитабильнее и в справку надо постоянно лазить. Может пока сильно далеко не зашло, озаботиться таки нормальными именами?
Это же касается и новых триггеров. Ты вот сам навскидку не подглядывая в Эровскую доку вспомнишь что такое !?FU77006;?

Berserker Wrote:I hope none of you used 95000-99999
После ввода loop'ов, как минимум в 90% случаях функции можно будет вообще не использовать.

Блин, все анонсированное конечно классно, но у меня самый затык с z-переменными. Их жёстко не хватает, порой даже поглядываю в некоторые расточительные wog-скрипты с целью оптимизации и высвобождения z...


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
02.05.2015 21:55
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #2096

(02.05.2015 21:55)Algor Wrote:  Блин, все анонсированное конечно классно, но у меня самый затык с z-переменными. Их жёстко не хватает, порой даже поглядываю в некоторые расточительные wog-скрипты с целью оптимизации и высвобождения z...
согласен
текстовых переменных всегда в обрез было, и те Algor последние растащил )))
02.05.2015 21:59
Visit this user's website Find all posts by this user Quote this message in a reply
fireman Offline
Forum Moderators

Posts: 1426
Post: #2097

Berserker, а ты собираешься релизы выкладывать средствами github?


Новости по WoG 3.59, ХотА и другим модам.
02.05.2015 22:11
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16655
Post: #2098

Quote:Bers, [:loop] это фиксированная комбинация или можно использовать [:mark1], [:mark2] и пр.?
Имя произвольное:
[:обход замков]

Метки можно использовать везде, например:
!!VRv2:C[дать огнещит]/[дать благословение]/[дать по морде];
А потом прыгать на метку по значению выражения, реализация ветвления, аналог если-иначе если то…

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

Quote:Команда !!SN, кстати, начинает бесить. Так же как и !!UN. И та и другая делают все подряд. Из-за этого и код становится нечитабильнее и в справку надо постоянно лазить. Может пока сильно далеко не зашло, озаботиться таки нормальными именами?
Это же касается и новых триггеров. Ты вот сам навскидку не подглядывая в Эровскую доку вспомнишь что такое !?FU77006;?
Отряд получает ход в бою, кажется. Или фаза регенерации. Абсолютно согласен. Нечитаемые события — зло. Есть гениальное решение в рамках текущего нововведения.

!?FU(OnStackRegenerate);
...

Мне нужно просто определить 15 переменных до предобработки исходного кода. Всё. Всякие CM3 — тоже ацтой, могу всем сделать синонимы, как в API Эры.

А вот касаемо команды. Что там у нас SN: D (reDraw), G (go), C (call), A (address), L (library), K (copy), M (memory), W (Var).
Я начинал делать добавление новых команд, так чтобы любой это мог делать, будь-то Эра или плагины, но не закончил. У игродела можно было бы одолжить часть наработок. Задача ясна, но не критична. Имена у событий будут, команда ещё не уровня !!UN по масштабам. А вот локализацию бы успеть добавить.

!!IF:M^%S[game start message]
%S[you have N towns]^;

Вместо муторных z-шек из ert человеческие json-файлы с парами вида ключ — значение. Я после ертификации Бесом Феникса хуже разбираюсь в коде. Не сообщения, а сплошной шифр.

Quote:Блин, все анонсированное конечно классно, но у меня самый затык с z-переменными.
Для артов и описаний? Там, где SN:W не катит?

fireman, код обновлю. А с релизами исполняемых файлов не разбирался. Думаешь, стоит?


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

Posts: 1426
Post: #2099

Berserker, конечно стоит. Куда надёжнее, чем всякие сторонние файлообменники. Но в релизы как раз то, что собираешь из исходников. А сборку с эрой и кучей остального, конечно не на гитхаб.


Новости по WoG 3.59, ХотА и другим модам.
02.05.2015 22:16
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16655
Post: #2100

fireman, попробую в следующий раз.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
02.05.2015 22:27
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