Current time: 04.10.2022, 15:57 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 16056
Post: #4591

Bes, создаются и назначаются автоматически, всегда уникальные.

Механизм автосоздания SN:W не документирован, я его скорее всего удаляю. Ни на что он не влияет.

Функции кроме 1..30000 должны быть только именованные для максимальной совместимости.


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

Posts: 5404
Post: #4592

Berserker, ясно, кстати, версий новых для ERA II уже не ждать? ты завершил её развитие, теперь только ERA III ?
04.06.2020 16:15
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16056
Post: #4593

Bes, да.


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

Posts: 4140
Post: #4594

Berserker, 3.0! Мои поздравления!120
С такмим списком изменений можно Эру 3.0 назвать "Новой Эрой Эры" Ab


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
05.06.2020 02:40
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5404
Post: #4595

Berserker, 1 для SN:G[labelname] метки только латиницей? или любой мордорский язык поддерживает?
2 И ещё про это же...
правильно я понял?..
т.е. я могу на конкретный якорь прыгнуть как с использованием именованного перехода, так и простым числовым?
просто было бы удобно, завести некую базовую точку возврата, через [:base], а уже в дальнейшем писать просто !!SN:G0, зная куда он приведёт, не отсчитывая никогда от головы триггера строки, да и короче так писать ))

====
3
Что будет, если я через !!SN:H^objects^/-1/1/^чужой дом^; захочу пометить своими подсказками все любые объекты с подтипом 1 ?
так в принципе можно? или ругнётся ERA, мол "не наглей парень", и тип всегда должен быть?
собственно, в догонку, я же могу всем объектам через ^objects^/-1/-1/^^ сменить подсказку?

===
4
У SN:F поддержка только двух библиотек, я правильно понял? другие уже через связку SN_L_A_E можно юзать?

===
5
Для описания SN:R^old^/^new^; какое слово правильно брать? подмена или замена, или переназначение, или ещё какой синоним?
я взял подмена, но вдруг это не совсем точно с твоей стороны как автора команды?

===
6
!!SN:W; не затронет именованные ф-ции? автономера для них не потрёт до кучи?
(This post was last modified: 05.06.2020 04:51 by Bes.)
05.06.2020 04:43
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16056
Post: #4596

1. Чем угодно. Но SN:G устарела. Так и пиши, что предпочтительнее использовать !!if и !!re.
2. G0 — перейти к первому ресиверу текущего триггера. Метки заменяются на порядковый номер ресивера, переод которым они стоят.
3. Всё сработает, но если есть подсказка более специфичная, то будет использована она. Приоритеты:
а) объект с точными координатами
б) объект с типом и подтипом
в) объект с типом и -1 подтипом
г) объект с типом -1 и конкретным подтипом
г) объект в типом -1 и -1 подтипом

4. Да, только двух.
5. Перенаправление (redirection). По сути подмена на лету.
6. Да, соответствие имён функций и ID хранится отдельно от SN:W.


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

Posts: 5404
Post: #4597

Quote:G0 — перейти к первому ресиверу текущего триггера. Метки заменяются на порядковый номер ресивера, перед которым они стоят.
Berserker, хм, теперь стало ясно. Но вопрос остаётся касаемо приведённого выше ерм, примера: (я понял что ДА, но подтверди, всё же...)
сами ж якоря в счётчик строк не попадают?!
(This post was last modified: 05.06.2020 06:12 by Bes.)
05.06.2020 06:09
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16056
Post: #4598

Попадают все !!XX-подобные ресиверы.
Выше в примере ты верно описал прыжок на ресивер №6 (7-й по счёту).
Обязаталельно укажи, что SN:G создавался как костыль для циклов, для которых теперь есть быстрый и безопасный !!re.


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

Posts: 5404
Post: #4599

Berserker, не соглашусь, довольно полезно иметь подобный "телепорт" (учитывая что теперь можно с именным якорем, не парясь с подсчётом строк) без оглядки на ф-ционал циклов !!re
да, SN:G в качестве цикла уже не актуально, тут бесспорно. Но и пользу единичного прыжка тоже не занижай Yes
05.06.2020 14:47
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5404
Post: #4600

P.S. не могу остановиться, прости...
а можно заводить имя метки через ассоциативную память?
!!SN:G[(имя)] - извращение, согласен
(This post was last modified: 05.06.2020 15:00 by Bes.)
05.06.2020 14:53
Visit this user's website Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3923
Post: #4601

(05.06.2020 14:53)Bes Wrote:  P.S. не могу остановиться, прости...
а можно заводить имя метки через ассоциативную память?
!!SN:G[(имя)] - извращение, согласен

Bes, GOTO уже минимум пару десятков лет моветон во всех ЯП.
В ERM его присутствие несколько оправдывалось только лишь отсутствием нормальных циклов и медлительностью вызова функций.
С момента появления !!re, SN:G must die!

Можешь прям так вот цитатой и засунуть в help. А лучше, вообще не включать SN:G в help как рудимент. Просто, что бы и не искушать даже.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
05.06.2020 16:24
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2695
Post: #4602

(05.06.2020 16:24)Algor Wrote:  С момента появления !!re, SN:G must die!

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


game bug fixes extended.dll || My Plugins
05.06.2020 16:29
Visit this user's website Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 785
Post: #4603

Нет, включить в хелп нужно. Что тогда делать тем, кто в старых скриптах будет разбираться?
Просто написать, что это устаревшая команда, использовать не рекомендуется.
05.06.2020 16:34
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16056
Post: #4604

В Эра 3.0.2 укажу, что команда устарела (deprecated).
Bes, goto иногда бывает полезен, но чаще всего запутывает код, делая его не структурным и сложным для анализа потока управления.


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

Posts: 5404
Post: #4605

вот же вы любите всё выпиливать старое...
есть команда, она работает - добавляем в справку. точка.
я даже больше скажу... я на эту команду больше всего демо-примеров понавешал 96-copy
Пример 2:
Пример 3:
06.06.2020 03:59
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-2022 MyBB Group