| Bes   
   Posts: 5451
 
 | 
			| 
 
				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: 4366
 
 |  | 
	| 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: 16785
 
 |  | 
	| 01.09.2020 15:59 |  | 
	
		| Bes   
   Posts: 5451
 
 | 
			| 
 
				Berserker, ну так я ж потому и сделал выше вариант с циклом re  daemon_n  сказал, что ничего не изменилось
			 |  | 
	| 01.09.2020 19:27 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 | 
			| 
 
				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: 4366
 
 |  | 
	| 02.09.2020 17:18 |  | 
	
		| Bes   
   Posts: 5451
 
 | 
			| 
 
				в том то и дело ,что НЕТigrik же сказал, что пока перевод на ERA3 не планируется. 
так что там много какие скрипты должны были в итоге похериться, увы.   daemon_n , надо каждый скрипт теперь на предмет глобальности "быстрых" переменных смотреть и менять под реалии ERA3   
А иначе тебя замучают багрепортами щас.
			 |  | 
	| 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: 16785
 
 | 
			| 
 
				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: 16785
 
 |  | 
	| 03.09.2020 03:04 |  |