| etoprostoya   
 Posts: 1809
 
 | 
			| 
 
				 (22.03.2010 18:32)Bes Wrote:  Quote:Было бы замечательно, если бы возможность проверить запреты на строительство здания в городе также была реализована.Хм.. не помню,здесь это работает или нет?Размечтался, да?
 
 Quote:New command CD:BSyntax:
 B0/town/struct/ENdis - global enable/disable structure
 Details:
 B0/#1/#2/$;
 Enable/disable #2 structure to build in any towns of #1 type.
 $ - flag (0=disabled, 1=enabled).
 
Тут ведь только установка, а не проверка?Добавлено: 
Это вопрос скорее не к Bes'у, а к команде ВоГа и ТЕ.
			 
				
(This post was last modified: 22.03.2010 18:42 by etoprostoya.)
 |  | 
	| 22.03.2010 18:41 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 | 
			| 
 
				Bes, зачем тебе дефрагментация? Она автоматом при щелчке на кнопку прокрутки влево. Удаление арта корректное есть в коде Феникса. А алгоритмов дефрагментации основных два:1) До тех пор, пока поиск пустого слота не вернёт ошибку определяем размер сплошного блока за пустым местом (не слотом!) и переносим его влево к сплошному ряду.
 2) Проходимся в цикле по всем слотам, при этом Left указывает на текущую левую границу сплошного ряда артефактов, а i - на индекс слота (0..63). Если очередной слот не пустой, то A[Left]:=A[i]; A[i]:=-1; Left++; Иными словами, если слот не пустой, то массив артов в индексе Left получает значение арта массива в индексе i. А слот, на который указывает i обнуляется (или -1 забивается, что вернее).
 
 Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
 Поддержать проект
 
 |  | 
	| 22.03.2010 19:48 |  | 
	
		| gamecreator   
   Posts: 7107
 
 |  | 
	| 22.03.2010 20:35 |  | 
	
		| Bes   
   Posts: 5451
 
 | 
			| 
 
				Спасибо за советы. 
1.  Удаление арта корректное в коде ФМ конечно есть, но вот в чём проблема - там удаляет первый попавшийся такой арт в рюкзаке, что весьма неподходяще в случе когда нам надо удалить второй такой же арт дальше по цепочке.. в итоге у нас не закроется "прогал" в середине рюкзака, а появится ещё один но только ранее (в уже отдефрагментированной части)
 
2. Я благодарен за столь продуманные алгоритмы, но, к сожалению, не имея знаний в программировании, мне весьма размыто представляется что стоит за словами "блок", "ряд" и что подразумевается под "перенос блока". Хотя бы приведите маленький пример адаптированный под "парадигмы ЕРМ", ну скажем на таком примере: в рюкзаке 2 артa.. 
[-1 ][-1 ][12 ][45 ][-1 ]
   |  | 
	| 23.03.2010 12:34 |  | 
	
		| gamecreator   
   Posts: 7107
 
 |  | 
	| 23.03.2010 19:27 |  | 
	
		| Harvester   
   Posts: 20
 
 | 
			| 
 
				У меня не совсем корректно работает код: 
Code:
 !#HE152:X6/138/139/143;!#UN:G2/152/1/245G2/152/2/245G2/152/3/245;
 
Должно быть: 
Специальность — апгрейд крестьян и хальфлингов до воров. Картинка специальности — изображение вора, и соответствующий текст.
 
Получается только картинка. Описание старое. Апгрейд не работает. 
Как можно добиться желаемого?
			 |  | 
	| 12.04.2010 13:00 |  | 
	
		| Bes   
   Posts: 5451
 
 | 
			| 
 
				заметка по UN:G2/$/2/#;
 Здесь надо в третьем параметре указывать номер z-переменной с описанием, а не номер картинки
 
 P.S.: а что такое UN:G2/$/1/# ???
 
				
(This post was last modified: 13.04.2010 13:10 by Bes.)
 |  | 
	| 13.04.2010 13:07 |  | 
	
		| Harvester   
   Posts: 20
 
 | 
			| 
 
				 (13.04.2010 13:07)Bes Wrote:  заметка по UN:G2/$/2/#;
 Здесь надо в третьем параметре указывать номер z-переменной с описанием, а не номер картинки
 
Я думал, описание стандартное генерируется. Или здесь нужно сначала обьявить переменную, присвоить ей текст, а потом использовать?
  (13.04.2010 13:07)Bes Wrote:  P.S.: а что такое UN:G2/$/1/# ??? 
Это замена картинки специализации. Вроде работает.
 
У меня подозрение, что просто конфликтует с встроенными скриптами вогификации, и в итоге получается первоначальное значение    |  | 
	| 13.04.2010 17:09 |  | 
	
		| Bes   
   Posts: 5451
 
 | 
			| 
 
				 (13.04.2010 17:09)Harvester Wrote:  Я думал, описание стандартное генерируется. Или здесь нужно сначала обьявить переменную, присвоить ей текст, а потом использовать? 
Я не про то.. 
Вот, вы пишите..
 Quote:У меня не совсем корректно работает код:Код:
 !#UN:G2/152/2/245;
 
А теперь смотрим справку:
 Quote:G2/#1/#2/#3; #3- is z-variable index (0 to restore) if #2=2
 
А вы там используете, видимо, номер картинки 245..
 
Назначте свою, неиспользуемую в стандартных скриптах, z-переменную (к примеру, z850)..
 
P.S.: насчёт вашего позозрения - а вы назначьте смену спецухи не через инструкции, а, например в теле триггера !?PI   |  | 
	| 13.04.2010 22:39 |  | 
	
		| Harvester   
   Posts: 20
 
 | 
			| 
 
				 (13.04.2010 22:39)Bes Wrote:  ...Назначте свою, неиспользуемую в стандартных скриптах, z-переменную (к примеру, z850)..
 
Заработало, правда, ради этого пришлось отключить вогификацию.   Хотелось чтобы были доступны все опции вогификации, только с некоторыми изменениями. Может кто что уже придумал?
  (13.04.2010 22:39)Bes Wrote:  ...P.S.: насчёт вашего позозрения - а вы назначьте смену спецухи не через инструкции, а, например в теле триггера !?PI
  
Не могу сообразить, как его использовать     (16.04.2010 19:44)etoprostoya Wrote:  Может фильтрует в "Спам? Или это так форум работает 
Форум как-будто услышал мои слова. Сразу посыпались сообщения.    
				
(This post was last modified: 19.04.2010 14:27 by Harvester.)
 |  | 
	| 19.04.2010 14:26 |  | 
	
		| DracoLich   
   Posts: 251
 
 | 
			| 
 
				!?PI;!!HE152:X6/138/139/143;
 !!UN:G2/152/1/245 G2/152/2/245 G2/152/3/245; -???
 что за параметр 1
 2 это текст
 3 это картинка
 |  | 
	| 20.04.2010 08:49 |  | 
	
		| Harvester   
   Posts: 20
 
 | 
			| 
 
				DracoLich, спасибо, проверю. 
Я то пытался записать команду в одну строчку    |  | 
	| 20.04.2010 10:23 |  | 
	
		| DracoLich   
   Posts: 251
 
 | 
			| 
 
				ну, если имеешь в виду именно команды (т.е. UN:G2/152/1/245G2/152/2/245G2/152/3/245; то это ничего страшного. Парсер позволяет даже конструкции нечитабельного вида !!UNG2/152/1/245G2/152/2/245G2/152/3/245). А вот мешать ресиверы друг с другом естесственно не надо
			 |  | 
	| 20.04.2010 13:04 |  | 
	
		| Harvester   
   Posts: 20
 
 | 
			| 
 
				 (20.04.2010 08:49)DracoLich Wrote:  !?PI;!!HE152:X6/138/139/143;
 !!UN:G2/152/1/245 G2/152/2/245 G2/152/3/245; -???
 ...
 
Работает, но ограничено, вот код:
 
Code:
 !?PI;!!VRz850:S^Sir Roland can upgrade peasants to rogues^;
 !!UN:G2/152/1/245G2/152/2/z850G2/152/3/245;
 !!HE152:X6/138/139/143;
 
В начале игры запускается вогификация. Новый текст не появляется. 
Апгрейд работает, но после второй битвы пропадает.
 
Думаю, может исходные скрипты править, но дело это неблагодарное    |  | 
	| 21.04.2010 13:28 |  |