| gamecreator   
   Posts: 7107
 
 |  | 
	| 04.09.2009 20:31 |  | 
	
		| Efrit   
   
 Posts: 6186
 
 | 
			| 
 
				gamecreator, ничего мы не химичили. Я вообще под 3.59 ещё скрипты не пишу - пока и возможностей 3.58 хватает, !!UN:C  и в 3.58 есть. Вот как LUA просмотрю как следует - так и пересяду на 3.59-платформу    
 Welcome!
 |  | 
	| 04.09.2009 20:36 |  | 
	
		| Bes   
   Posts: 5453
 
 | 
			| 
 
				Подскажите,пожалуйста!!!"Как можно узнать, что битва происходит в магическом гарнизоне?"
 
 Желательно не громозский способ.. например через UN:C
 |  | 
	| 05.09.2009 03:37 |  | 
	
		| Efrit   
   
 Posts: 6186
 
 | 
			| 
 
				Bes, а как насчёт такого варианта - попробовать скастануть в пустую позицию поля битвы (предварительно проверим её с помощью !!BU:O ) один зыбучий песок с помощью !!BH:Q  или !!BM:Q , и после этого - тут же проверить эту клетку на наличие песка с помощью всё того же !!BU:O  ? (и удалить песок, если он там ещё есть, естес-но    )
			 
 Welcome!
 |  | 
	| 05.09.2009 16:19 |  | 
	
		| Bes   
   Posts: 5453
 
 | 
			| 
 
				идея мне понравилась.. необычная,интересная..   
но не подходит: 
1. а если будет не гарнизон запретом,а антимагический арт? лишние условия нужно прописывать...
 
спасибо за идеюДобавлено: 
sergroj предложил способ найти адрес для UN:C..
 Quote:с АртМани точно можно найтиGrayFace (02:54:26 5/09/2009)
 это должно быть внутри менеджера битвы - его адрес лежит в 6919200
 GrayFace (02:54:51 5/09/2009)
 найди простое значение
 GrayFace (02:55:59 5/09/2009)
 потом просто добавь любое 4-байтовое значение в таблицу и замени его адрес на 699420 (это уже в шестнадцатиричной)
 GrayFace (02:56:57 5/09/2009)
 потом из адреса простого значения, которое ты нашел, вычти значение по второму адресу
 
я не сообразил как это.. может кто поможет по такому алгоритму?
   (я бездарь)
			
				
(This post was last modified: 05.09.2009 22:13 by Bes.)
 |  | 
	| 05.09.2009 22:08 |  | 
	
		| MOP   
   
   Posts: 1468
 
 | 
			| 
 
				 (31.08.2009 18:25)Bes Wrote:  !!BA-10:H0/?y3; получит к примеру 56 
Э-э-э... А есть команда BA-10? Может, НЕ-10?
 Quote:Мой совет: не использовать триггеры вообще, сразу вызывать функции. 
Проще всегда использовать лишь глобальные переменные.
 
Вчера натолкнулся на глюк: в !?BR не получилось задать значение z-переменной. Высер произошёл на таком коде:
 Quote:!?BR|15/16; обнуление информации каждый раунд битвы!!VRz1:S^^;
 !!VRv2:S$ID DEF`S & DWELLINGS$+462; инфо о стеках
 !!SN:E$CopyMemory$/0/42/$AdressZ1$/v2; скопировать нулевую информацию
 
Посмотрел через АртМани - произошло копирование не нулевой информации, а последнего значения z1, которое она фиг знает где и когда получила. Пришлось заменить код на такой:
 Quote:!?BR|15/16; обнуление информации каждый раунд битвы!!VRv3:S$ID ArtifactsMerchants$+224; - нулевая память после артефактов Торговцев
 !!VRv2:S$ID DEF`S & DWELLINGS$+462; инфо о стеках
 !!SN:E$CopyMemory$/0/42/v3/v2; скопировать нулевую информацию
 
Так вот вопрос: глюк в !?BR или в ЭРЕ?
			 
 Circle of destruction, hammer comes crushing
 Powerhouse of energy
 Whipping up a fury, dominating flurry
 We create the battery
 
				
(This post was last modified: 09.09.2009 14:54 by MOP.)
 |  | 
	| 09.09.2009 14:50 |  | 
	
		| Дьякон   
 Posts: 395
 
 | 
			| 
 
				Я думал все баги уже известны
			 
 Страус труп (с) Бьерн
 |  | 
	| 09.09.2009 23:15 |  | 
	
		| DracoLich   
   Posts: 251
 
 | 
			| 
 
				 (05.09.2009 03:37)Bes Wrote:  Подскажите,пожалуйста!!!"Как можно узнать, что битва происходит в магическом гарнизоне?"
 
 Желательно не громозский способ.. например через UN:C
 
эм... а такой метод чем не нра? 
!?BA; 
!!HE-10:P?y1/?y2/?y3; 
!!OBy1/y2/y3:T?y4 U?y5; 
!!IF&y4=33/y5=1:M^гарнизон антимагии^;
			 |  | 
	| 11.09.2009 08:49 |  | 
	
		| Bes   
   Posts: 5453
 
 | 
			| 
 
				сэн-сэй,такой метод даёт тип и подтип ГЕРОЯ,а не гарнизона..(насчёт BA-10 эт я перепутал,конечно же просто !!BA:H0/?y3)
 |  | 
	| 11.09.2009 14:47 |  | 
	
		| DracoLich   
   Posts: 251
 
 | 
			| 
 
				 (11.09.2009 14:47)Bes Wrote:  сэн-сэй,такой метод даёт тип и подтип ГЕРОЯ,а не гарнизона..(насчёт BA-10 эт я перепутал,конечно же просто !!BA:H0/?y3)
 
ты хоть пробовал? у меня все работает, и как положено возвращает гарнизон 33 антимагический 1
			 |  | 
	| 11.09.2009 17:17 |  | 
	
		| Bes   
   Posts: 5453
 
 | 
			| 
 
				хм.. в том то и дело что ДА.   
мне давал именно Героя   
ладно,спасибо,я всётаки вынужден был писать цикл поиска нужного мне гарнизона,сверяя координаты 
(как говорится,глумная голова и не такое сделает)Добавлено: 
правда я координаты брал через BA:P,а не через HE:PДобавлено: 
может есть разница? %)
			
				
(This post was last modified: 11.09.2009 19:48 by Bes.)
 |  | 
	| 11.09.2009 19:46 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 | 
			| 
 
				Не так, Бес. Всё намного проще. Для проверки объекта идёт следующий псевдокод: Quote:выключить ошибкиполучить координаты героя
 получить значение Х объекта У по этим координатам
 включить ошибки
 если была ошибка, то объета нет, иначе есть
 
Альтернатива: установка v2,v3,v4 координат героя, при этом v2 = x - 1; Затем одна команда поиска. Если координаты не равны геройским, значит гарнизон не здесь. Всё экранировать запретом ошибок.
			
 Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
 Поддержать проект
 
 |  | 
	| 11.09.2009 21:12 |  | 
	
		| Bes   
   Posts: 5453
 
 | 
			| 
 
				дело в том,что на карте практически,очень редки такие гарнизоны,потому не вижу особой разнице в твоём варианте и в том,что я вынужден был реализовывать.. всё равно цикл проскочит очень быстро (UN:U33/1/-1/#)..(если будет желание,я конечно пропишу твоим способом,а пока пусть как есть,прости)
 |  | 
	| 11.09.2009 22:23 |  | 
	
		| DracoLich   
   Posts: 251
 
 | 
			| 
 
				ну можно вспомниить про скрипт "гарнизоны".. правда там тока обычные (во всяком случае, я получал именно номер объхекта гарнизона, а не героя. 3.58ф без модулей и т.п.
 |  | 
	| 12.09.2009 17:53 |  |