Bes 
 
 
		
		
		
			
			
			
 
 
			
Posts: 5453 
	
		
	 | 
	
		
			
			 
			
				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: 16788 
	
		
	 | 
	
		
 | 
	| 01.09.2020 15:59 | 
	
		
	 | 
	
		
		Bes 
 
 
		
		
		
			
			
			
 
 
			
Posts: 5453 
	
		
	 | 
	
		
			
			 
			
				Berserker, ну так я ж потому и сделал выше вариант с циклом re  
daemon_n сказал, что ничего не изменилось
			  
			
			
			
		 |  
	 
 | 
	| 01.09.2020 19:27 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
			
			 
			
				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: 5453 
	
		
	 | 
	
		
			
			 
			
				в том то и дело ,что НЕТ 
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: 16788 
	
		
	 | 
	
		
			
			 
			
				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: 16788 
	
		
	 | 
	
		
 | 
	| 03.09.2020 03:04 | 
	
		
	 |