В справке ошибка:
ERM-Help 2.81d Full.chm Wrote:Земля во время битвы
-1 - Обычная (где происходит битва без изменений)
0 - Битва на побережье
1 - Проклятая земля
2 - Равнины магов
3 - Святая земля
4 - Дьявольский туман
5 - Клеверное поле
6 - Прозрачные пруды
7 - Огненные поля
8 - Скалистая земля
9 - Магические облака
На самом деле 1 - Равнины магов, а 2 - Проклятая земля (проверено).
Справка Wrote:!!MO:R$/#;
0 – последователи (всегда присоединятся)
1…7 – дружелюбные
1…10 – нейтральные
4…10 – злобные
10 – агрессивные (никогда не присоединятся)
Здесь нет ли случайно ошибки?
В англ. справке также. Наверное, это не то означает.
Все, разобрался. Если у монстра в редакторе стоит "податливый", то он присоединится всегда и параметр равен 0. Если он - "дружелюбный", то параметр принимает значения от 1 до 7. Если он "агрессивный", то параметр принимает значения от 1 до 10. Ну, и так далее.
!$CM.
Я не нашёл упоминания о нём в справке, но его использование не вызывает ошибки и ресейверы срабатывают (столкнулся с этим в Эре, при нажатии на кнопку "след. герой", различия с !?CM не увидел).
Приветствую!
Есть непонятка, в скрипте 48 в частности в функции разведка
(это где есть шанс найти что нибудь на халяву) встречается следующий код:
Code:
!!IFv7020&1000/y4=1:Q2/20/y3/1/z148023;
!!IFv7020&1000/y4=1:Q2/35/20/1^^;
!!HEv7020&y4=1:Id+20; [give 20 spell points]
!!IFv7020&1000/y4=2:Q2/20/y3/1/z148024;
!!VRr&y4=2:S1 R24 *100; [random 1 to 25 x 100]
!!IFv7020&1000/y4=2:Q2/6/r/1^^;
!!OW&y4=2:Rv7021/6/dr; [give gold]
и т.д.
дак вот что это за синтаксис такой
!!IFxxx:Q.....; xxx-?
В данном случае v7020 - это номер героя. Тогда вообще непонятно, намек на то что только этот герой должен видеть это? Ошибок тоже не вылетает, все работает.
В хелпе такого не нашел вообще, там во всех случаях после
!!IF сразу ":" и потом команда.
Параметр v7020 тут игнорируется. Ошибки не возникает, т.к. ERM не различает отсутствие параметра и наличие одного параметра. Простой IF: эквивалентен IF0:. Так же с любой командой.
Итак... не буду вдаваться в детали, просто скажу что
DracoLich не у дел более.
исходники/наработки справки он оставил (спасибо ему за это).
Кое-что я в своё время довершил, когда мог ещё...
(23.10.2012 21:53)Algor Wrote: [ -> ] у Драколича, помню, находил какие-то мелкие баги.
если можно, вспомните что именно?
вскоре хочу обновление для Справочника таки выпустить (на днях установил рабочую версию CHM-компановщика)
Из того, что помню:
по BM:G:
Флаги существа - это не -71, а -69.
"Правильное" количество заклинаний для любого использования - это по -1. По 173 находится кусок вложенной структуры заголовка массива номеров наложенных заклинаний, которое используется только при операциях с этой структурой.
-40 - это номер стека (0-21)
-100 - это не невидимость, а порядок отображения стека (0-7, стеки с большим значением рисуются поверх тех, у кого ниже), причём эта величина не постоянная, а настраивается специально для каждого действия стека.
По флагам существ:
2097152 - этот флаг показывает, умер ли стек, использовать его можно только для проверки, т. к. смерть стека на самом деле - сложная функция.
536870912 - стек окрашен в красный цвет (колдовство жажды крови).
Ну и ещё неплохо бы во многих местах изменить текст на более понятный. Например, про PO - вообще убрать всякую фигню по номер объекта и т. п., а описать, как ячейки хранилища данных для каждой клетки.
Quote:* описание неизвестного триггера MP
Триггер нашёл Berserker в исходниках WoG.
Что известно про "его команды":
Quote:C - остановка текущего
MP:C?y1 - что сейчас играет (в триггере значение меньше на один чем в других.. уточнить)
P - для установки что сейчас играть (файл)
Вот это бы в реале пощупать, проверить и при необходимости подправить инфу.
А результаты сюда...
есть ещё недопереведённая статья, вот её содержимое
Логические операторы:
Они используются повсюду, где вы сравниваете переменные, These are actually used anywhere you want to use a conditional expression, but since they are explained here in the help and are very useful to know in general, I will list them here. They are explained quite well in the help file.
Use & to indicate a logical AND in your conditions
Use | to indicate a logical OR
Use X to indicate a logical XOR (exclusive or)
Use / to indicate the same operator as previously used.
You must have all AND conditions first, and ll OR conditions next. Note that if you have both, All the ANDs are counted together first, and then the ORs, so if at least one OR is true, the whole statement is true. This is because ERM evaluates expressions left-to-right. This also makes multiple XORs very hard, if at all possible, to code.
Arithmetic operators
These were covered above, but in summary,
+ is addition
- is subtraction
* is multiplication
: is division
% is modulus
Again, all math is done left-to-right. Thus,
Code:
!!VRv1:S0+5+6*3+2;
gives v1 the value of 35 (5+6=11; 11*3=33; 33+2=35) and not 25, as algebraic order would say (6*3=18; 5+18+2=25)
String operators
H#
Set flag # to true if the z-variable is empty, and false if not.
S^TEXT^
Set the z-variable to the text between the carats. Remember that ^ and ; cannot be used in the text.
Within the text string, you can show the contents of a variable by using a % followed by the variable name, using a capitol letter instead of a lower-case one. For flags, which have no letter normally, use an F. For common variables that have no numbers, prefix them with a V. Although not listed in the help file, %Z can be used for z-variables. To display a percent-sign, use %%.
+
When working with strings, + is used to concatenate two strings. Either string may be a z-variable or text (within carats).
Questions and Answers
Question: I'm not sure what you mean when you're talking about the H# command. You're talking about flags and variables in the same statement?
Answer: There is a very nicely described example of the H option in the help file, but I will give a simple example here.
Code:
!!VRz1:H1;
This takes a look at (text) variable z1. If it is a null string (say you set it with !!VRz1:S^^;), then flag number 1 is set to false (0). If there are only spaces, tabs, new lines, etc. in z1, flag 1 wil also be 0. If there is actual text in z1, then flag 1 will be set to 1.
Copying from the help file:
Code:
!!VRz100:S^Hello!^;
!!VRz101:S^^;
!!VRz102:S^ ^;
!!VRz100:H300; flag300=1
!!VRz101:H301; flag301=0
!!VRz102:H302; flag302=0
Note that anything after the ; in any given line is a comment.
Кто поможет перевести?
Буду рад любой помощи по указанным моментам.
Еще буду крайне признателен, если в таблицах артефактов, существ, номеров героев и т.п. будет указано и шестнадцатеричное значение.
feanor, если вас такое устроит, то сделаю лучше так: наводишь на нужный десятич.номер, вылазит хинт с 16-чным значением.
Не хочется визуально нагромождать эти таблицы
Отлично, работа над учебником значит продолжается.
Как я помню, триггер MP некорректен, он вызывается в параллельном потоке. Если использовать, будут разнообразные глюки.
Когда я в последний раз смотрел, справку Драколича, в ней сразу бросались в глаза неправильно и криво переведённые слова, типа "ресейвер".