Current time: 13.04.2025, 07:18 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Ваши вопросы по ERM-скриптам
Author Message
Berserker Offline
Administrators

Posts: 16734
Post: #5191

!!SN:X?y2 Xe1 X?y3 Xy2;
Сохранить значение параметра SN:X1 в y2
Записать в SN:X1 значение e1 (вещественное число, 4 байта)
Прочитать из SN:X1 значение в y3 (вещественное число теперь записано без преобразования в y3)
Восстановить оригинальное значение SN:X1

По сути это запись вещественного числа в целое, с которым работать удобнее. Запись идёт без преобразования, результат может выглядеть мусором.


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

Posts: 3881
Post: #5192

(12.03.2019 00:48)Trident_D Wrote:  а для Sorcery, чтобы установить нужные проценты согласно таблице скиллов приходится отнимать от стандартных 0-3:
..S25/-3; ..S25/-2; ..S25/-1;
т.е. получаем отрицательные значения установки скилла.
При этом сами итоговые проценты работают правильно, а вот специализация, игнорирует отрицательные числа.

Наверно было бы даже проще переписать работу специализации для таких случаев в этом же скрипте, чем ковыряться с непонятными UN:C и правильностью их применения.
Это как раз в корне неверный подход - плодить костыли для совместимости с "эмуляторами", если есть прямое решение. Никаких отрицательных значений не нужно. Нужно просто переписать старые скрипты усиливающие процентные навыки, они и гораздо упростятся и не будут мешать другим.
Либо, как вариант, в своем скрипте отключаешь конфликтующие. Все равно, насколько я понял, их функционал дублируется.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
12.03.2019 10:06
Visit this user's website Find all posts by this user Quote this message in a reply
ALEXALEX3434 Offline

Posts: 272
Post: #5193

Вроде где то была на форуме команда UN,Спец. Сэра Мюлиха +2 скорости ,уменьшить до +1 скорости.
Напишите пожалуйста
12.03.2019 16:27
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1022
Post: #5194

Здравствуйте..

Выходит, что компьютер не прав, когда совершает подобные действия, снимая при этом со всех дружественных юнитов полезные заклинания, а затем наносит урон своему противнику? Может на самом деле 3 и более заклинаний под которыми может быть монстр, как-то в отрицательную сторону влияют? Хотя я испытывал и урон на самом деле гораздо сильнее с заклинаниями, вернее когда монстр под ними, а без них слабее.. Но каждый раз наблюдая подобную картину, когда компьютер, играя за моего всадника на автобитве снимает все дружественные заклинания, то я уже начинаю в этом сомневаться!
(This post was last modified: 12.03.2019 19:03 by fatsawhorse.)
12.03.2019 18:47
Find all posts by this user Quote this message in a reply
Trident_D Offline

Posts: 52
Post: #5195

Berserker, вроде понял, спасибо.
______

Доделываю один скрипт, решил вставить проверку опции, как у всех. Возник вопрос - какой диапазон возможных значений опций? Где можно посмотреть перечень уже занятых? - В разделе "claimed" учебника для значений UN:P ничего нет. В паке скриптов Algor'а указаны используемые значения, а в оригинальной сборке где это? Каждый скрипт проверять что ли? Так там ещё перечень хард-кодированных опций есть.
12.03.2019 23:53
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3881
Post: #5196

Trident_D, В файле usage358.txt. Но в сборке от igrik'а он вроде вырезан из help'а не пойму зачем 105


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

Posts: 2819
Post: #5197

(13.03.2019 02:43)Algor Wrote:  Trident_D, В файле usage358.txt. Но в сборке от igrik'а он вроде вырезан из help'а не пойму зачем 105
А зачем он нужен, когда вся эта инфа есть в ERM-Help.
Image: image.png


game bug fixes extended.dll || My Plugins || My GitHub
13.03.2019 11:42
Visit this user's website Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3881
Post: #5198

Да, точно, я ж когда то видел ее там. Но по старинке usage юзаю )


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
13.03.2019 17:45
Visit this user's website Find all posts by this user Quote this message in a reply
Trident_D Offline

Posts: 52
Post: #5199

Я с этой странички (в английском варианте) и начал, но искал значения P, а раздел ERM WoG Option Numbers проглядел - слишком короткий он )) Спасибо за очки! )
___________

Пробовал скриптовать обелиски. У данного объекта есть свой ресивер и единственный параметр - номер. Нашел функцию (!!UN:L#1/#2/$; ) , которая вроде должна проверять посещение игроком данного обелиска. Задал действие, но проверка посещения чего-то не работает - действие можно повторять бесконечно. Сделал текстовую проверку параметра.
  1. !?OB57;
  2. !!MT998:N?y2;
  3. !!UN:L-1/y2/?y3;
  4. !!IF:M^U step on {%Y2} marked as {%Y3}!^
В итоге в сообщении номер обелиска меняется для разных объектов, а вот параметр посещения всегда остается "0" (не посещенный). Почему??
Добавил строки
  1. !$OB57;
  2. !!MT998:N?y2;
  3. !!UN:L-1/y2/1;
Не помогло! Все равно "0"! Что не так? Как задать проверку посещения игроком конкретного обелиска?
(This post was last modified: 13.03.2019 22:55 by Trident_D.)
13.03.2019 22:52
Find all posts by this user Quote this message in a reply
hippocamus Offline

Posts: 517
Post: #5200

Странно, что команда UN:L ещё и выполняет совершенно другое действие - смещает точку просмотра карты...


-= подпись Гиппокамуса =-
13.03.2019 23:22
Visit this user's website Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3881
Post: #5201

Странно, что команда UN:L позволяет указать номер обелиска 0..47, тогда как !!MT - 0..31.
Может одно относится к обелискам, а другое - к частям карты-загадки?

Trident_D, попробуй получить контрольные слова объектов для обелиска и сравнить с номером, который возвращает МТ. Так, на всякий случай.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
14.03.2019 01:32
Visit this user's website Find all posts by this user Quote this message in a reply
hippocamus Offline

Posts: 517
Post: #5202

А частей паззла карты-загадки разве не 32?


-= подпись Гиппокамуса =-
14.03.2019 02:34
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #5203

Нет, частей пазла карты-загадки 48.

Видимо ошибка в справке ERM, потому что судя по исходникам UN:L не должна проверять на посещен ли обелиск или нет.
Он может только установить посещение конкретному или всем игрокам.

Но проверку можно выполнить так:
  1. !?OB57;
  2. !!MT998:N?y1; получить номер обелиска
  3. !!UN:C6919480/4/?y2; игровой менеджер
  4. !!VRy3:Sy2 +320489 +y1; перешли на необходимый обелиск
  5. !!UN:Cy3/1/?y4; проверили биты посещенных игроков
  6. !!OW:C?y5; цвет текущего игрока
  7. !!FU(GetPlayerColorBits):Py5/?y6; получить цвет игрока побитно
  8. !!VRy4:&y6; проверяем биты
  9. !!IF&y4=y6:M^Обелиск был посещен^;
  10. !!IF&y4<>y6:M^Обелиск НЕ был посещен^;
  11. !?FU(GetPlayerColorBits);
  12. ; x1 - цвет игрока
  13. ; x2 - возвращаемые биты
  14. !!VRx2&x1=0:S1; !!VRx2&x1=1:S2;
  15. !!VRx2&x1=2:S4; !!VRx2&x1=3:S8;
  16. !!VRx2&x1=4:S16; !!VRx2&x1=5:S32;
  17. !!VRx2&x1=6:S64; !!VRx2&x1=7:S128;


game bug fixes extended.dll || My Plugins || My GitHub
14.03.2019 13:39
Visit this user's website Find all posts by this user Quote this message in a reply
Trident_D Offline

Posts: 52
Post: #5204

Algor, значение контрольного слова обелиска совпадает с его номером, а вот второй параметр UN:L, как и третий, всегда нулевые.
igrik, спасибо за науку. Для меня, правда, все эти операции с битами и их заменой лес темный, да и разузнать об этом функционале особо негде. Верней, откуда вся эта информация добывается. Поэтому тупо вставлю кусок кода не разбираясь.
14.03.2019 23:05
Find all posts by this user Quote this message in a reply
hippocamus Offline

Posts: 517
Post: #5205

Trident_D, в крайнем случае можно ведь было и самому запоминать, кто из игроков какой обелиск посетил. Выделить память через Эру и писать. Или даже воспользоваться переменными территории через !!PO:V


-= подпись Гиппокамуса =-
15.03.2019 04:22
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-2025 MyBB Group