Bes
Posts: 5422
|
Quote:скрипт 76 wog - artifact boost.erm
переменная k всегда 0, потому кольцо просто не рабоает - не знаю, как такое фиксить
хм, замени переменную k на другую, проверь реакция та же?
неужели буквенные переменные похерелись?
P.S. там весь скрипт выше-ниже такую же конструкцию с k использует
(This post was last modified: 01.09.2020 02:00 by Bes.)
|
|
01.09.2020 01:59 |
|
daemon_n
Posts: 4341
|
|
01.09.2020 02:18 |
|
PerryR
Posts: 460
|
Line 365 in **WoG 39 HERO SPECIALIZATION BOOST (HSB) needs to be deleted according to Panda because it can give Debug Message during the game.
|
|
01.09.2020 11:13 |
|
Berserker
Posts: 16618
|
|
01.09.2020 15:59 |
|
Bes
Posts: 5422
|
Berserker, ну так я ж потому и сделал выше вариант с циклом re
daemon_n сказал, что ничего не изменилось
|
|
01.09.2020 19:27 |
|
Berserker
Posts: 16618
|
daemon_n, да, в Эре 3 быстрые переменные f..t стали локальными для триггера. Ранее были глобальными. Причина — их в каждом триггере используют как локальные, для временных значений и счётчиков.
В скрипте быстрые переменные поголовно используются как глобальные. Это очень плохо.
В Sublime Text можно для данного скрипта выделить все f..t переменные через поиск по следующему регулярному выражению:
Code:
\[[^\r\n]*+(*SKIP)(*F)|\*\*[^\r\n]*+(*SKIP)(*F)|;[^\r\n]*+(*SKIP)(*F)|![!#].{2}(*SKIP)(*F)|[f-t]
Преобразовал в глобальные целочисленные именованные переменные с префиксом wab_
k => i^wab_k^
i => i^wab_i^
https://dropmefiles.com/oCqrz
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
02.09.2020 17:13 |
|
daemon_n
Posts: 4341
|
|
02.09.2020 17:18 |
|
Bes
Posts: 5422
|
в том то и дело ,что НЕТ
igrikже сказал, что пока перевод на ERA3 не планируется.
так что там много какие скрипты должны были в итоге похериться, увы.
daemon_n, надо каждый скрипт теперь на предмет глобальности "быстрых" переменных смотреть и менять под реалии ERA3 ![Dry Dry](http://wforum.heroes35.net/images/smilies/dry.gif)
А иначе тебя замучают багрепортами щас.
|
|
02.09.2020 19:04 |
|
Night
Posts: 462
|
daemon_n, Bes, Berserker, а я спрашивал, что отвалится. Мне ответили - ничего, всё должно быть.
А тут такое. Список бы, что реализовано в Эра2, а то с Era2 на Era3 пока не перенесено, можно было бы самому хоть по поиску покопаться по скриптом, определить какие скрипты отвалятся.
|
|
02.09.2020 19:37 |
|
Night
Posts: 462
|
Bes, ну так это надо всё вообще досконально про erm знать, чтобы понимать, что к чему. Мне бы вариант для "тупых", которые только условно могут "кубики квадратные в квадратную дырочку вставить". Вот там есть такое:
Code:
To define a constant use the following instruction !#DC(CONSTANT_NAME) = 777; where 777 is arbitrary number.
Examples:
!#DC(PLAYER_BLUE) = 1;
!#DC(SKILL_FIRST_AID) = 27;
To use a constant simply write its name in parentheses:
!!OW:R(CURRENT_PLAYER)/(RES_GOLD)/d1000; give 1000 gold to current player
will be compiled to
!!OW:R-1/6/d1000; give 1000 gold to current player
То есть я понимаю, что !!OW:R-1/6/d1000 стало теперь !!OW:R(CURRENT_PLAYER)/(RES_GOLD)/d1000, вот так бы по стилю:
" Era2 пример ---> Era3 пример теперь так", по простому.
И так по всем ерм командам бы пройтись, понять для чего не сделана компиляция между языками, чтобы через тотал-коммандер поискать по скритам...
Такого вида.
1) *** ---> ***
2) *** ---> ***
3) *** ---> ***
Хотя я думаю это слишком уж, упрощать так, в принципе потребуется работа на перелопачивание с changelog программиста на changelog for lamer =) Лан, пусть как есть, будем в процессе ловить все ошибки и баги.
|
|
02.09.2020 20:31 |
|
Berserker
Posts: 16618
|
Night, мы обсуждали здесь на форуме, делать ли переменные f..t локальными. Все высказались за. 99% пользы, 1% вреда из-за того, что какой-то один скрипт писал не-программист. Такой вот скрипт нашёлся в единичном экземпляре. Для его исправления качаем мою версию, а затем через поиск и замену меняем i^wab_i^ на какую-нибудь v20, i^wab_k^ на v21 и так далее, пока не станет совсем i^wab_?^. Всё, скрипт будет работать под любой версией после этого.
Если ребята не справятся, сам заменю, напишите.
Quote:То есть я понимаю, что !!OW:R-1/6/d1000 стало теперь !!OW:R(CURRENT_PLAYER)/(RES_GOLD)/d1000, вот так бы по стилю:
Так можно, но старый подход с просто числами тоже работает. Править не нужно.
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
02.09.2020 21:28 |
|
Berserker
Posts: 16618
|
|
03.09.2020 03:04 |
|