Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				А у тебя не сложнее? Сейчас ещё протестирую.
			 
			
			
			
		 |  
	 
 | 
	| 16.09.2010 21:43 | 
	
		
	 | 
	
		
		GhostManSD 
 
 
		
		
		
			
			
			
 
 
			
Posts: 1054 
	
		
	 | 
	
		
			
			 
			
				У меня можно даже без добавления функции. А у тебя - сканирование слотов и прочая. Речь же шла об отряде монстров, т.е. о тех, что на карте. Так что тут не надо сканировать каждый слот и вычислять его стоимость.
			 
			
			
  
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
			
		 |  
	 
 | 
	| 16.09.2010 21:57 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				Поправил свой скрипт (в предпрошлом сообщении). Теперь он точно работает. 
Кстати, у него есть преимущество в том, что он считает цену улучшенного стека среди неулучшенных монстров, если таковой появился. Добавлено: 
GhostManSD, ты зря запоминаешь владельца героя. Можно просто сравнить с -1.
			 
			
			
			
				
(This post was last modified: 16.09.2010 22:02 by Sav.)
 
			 
		 |  
	 
 | 
	| 16.09.2010 22:00 | 
	
		
	 | 
	
		
		GhostManSD 
 
 
		
		
		
			
			
			
 
 
			
Posts: 1054 
	
		
	 | 
	
		
			
			 
			
				Sav, кстати, да.    Спасибо.   
А насчет улучшенного отряда стеков - не критично, ибо игрок, имхо, должен получать совсем копейки за такие победы. А то особого баланса это не привнесет.  
			 
			
			
  
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
			
		 |  
	 
 | 
	| 16.09.2010 22:04 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				GhostManSD, в твоём скрипте деньги не добавляются.  
			 
			
			
			
		 |  
	 
 | 
	| 16.09.2010 22:05 | 
	
		
	 | 
	
		
		M.A.K.C. 
 
 
		
		
		
			
			
			 
			
Posts: 472 
	
		
	 | 
	
		
			
			 
			
				 (16.09.2010 21:26)GhostManSD Wrote:  Если брать проценты, то будет более справедливо. Золото за победу = 25% *[стоимость существа] *[количество]. Справки под рукой нет, пишу в общем виде: 
не работает (скрипт)
			  
			
			
  
Все свежие обновления я выкладываю на своем сайте здесь. 
			
				
(This post was last modified: 16.09.2010 22:12 by M.A.K.C..)
 
			 
		 |  
	 
 | 
	| 16.09.2010 22:11 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				Quote:не работает (скрипт) 
Quote:Все работает 
Так работает или нет?
			  
			
			
			
				
(This post was last modified: 16.09.2010 22:20 by Sav.)
 
			 
		 |  
	 
 | 
	| 16.09.2010 22:17 | 
	
		
	 | 
	
		
		GhostManSD 
 
 
		
		
		
			
			
			
 
 
			
Posts: 1054 
	
		
	 | 
	
		
			
			 
			
				Я ж говорю, писал без справки. Не до того сейчас, Ксенофонт давит мертвым грузом. 
И все же, работает или нет? 
			 
			
			
  
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
			
		 |  
	 
 | 
	| 16.09.2010 22:24 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				Поправленный вариант у меня работает. 
!?OB54/-1; Триггер при посещении монстра 
!!OBv998/v999/v1000:U?y-1; Запомнить номер существа 
!!MA:Cy-1/6/?y-2; Запомнить стоимость монстра 
!!MOv998/v999/v1000:G?y-3; Запомнить кол-во 
!!FU9000:Py-2/y-3; Запустить функцию вычисления получаемого золота 
 
!?FU9000; Функция вычисления получаемого золота 
; x1 - стоимость монстра, x2 - количество 
!!VRx1:*25 :100; Вычислить 25% от стоимости 
!!VRv9401:Sx1 *x2; Вычислить количество золота 
 
!$OB54/-1; Пост-триггер при посещении монстра 
!!HE-1:O?y-1; Запомнить владельца героя 
!!FU&y-1=-1:E; Выйти, если игрок проиграл 
!!OW:R-1/6/dv9401; Установить новое количество золота 
!!UN:R2; Проблема, видимо, была в переменной v9001, по всей видимости используемой в бою и обнулявшейся, но я изменил там ещё немало чего, так что не факт.
			  
			
			
			
				
(This post was last modified: 16.09.2010 22:29 by Sav.)
 
			 
		 |  
	 
 | 
	| 16.09.2010 22:29 | 
	
		
	 | 
	
		
		GhostManSD 
 
 
		
		
		
			
			
			
 
 
			
Posts: 1054 
	
		
	 | 
	
		
			
			 
			
				Стараюсь не добавлять значения через префикс d. Ибо не всегда работает нужным образом.
			 
			
			
  
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
			
		 |  
	 
 | 
	| 16.09.2010 22:34 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				GhostManSD Wrote:Стараюсь не добавлять значения через префикс d. Ибо не всегда работает нужным образом. 
А можно пример? У меня всегда с d всё работало. А делать с нем проще и изящнее.
			  
			
			
			
		 |  
	 
 | 
	| 16.09.2010 22:36 | 
	
		
	 | 
	
		
		M.A.K.C. 
 
 
		
		
		
			
			
			 
			
Posts: 472 
	
		
	 | 
	
		
			
			 
			
				Все работает (вариант Sav) 
Вариант GhostManSD предыдущая версия не работала
 
 
!#TM51:S30/30/7/1;Устанавливаем таймер на 30 день. 
 
!?TM51;При срабатывании таймера...      !!VRv62:S-1;Подготавливаем x-координату к поиску координат шахт.      !!UN:U53/-1/?y1;Считаем количество шахт на карте.      !!DO91/1/y1/1:P53;Запускаем цикл, находящий и устанавливающий все шахты на карте. 
 
!?FU91;Функция поиска и установки шахты.      !!UN:Ux1/-1/-1/62;Находим координаты шахты.      !!MNv62/v63/v64:O-1;Делаем шахту нейтральной.      !!VRy1:R165;Генерируем случайный номер монстра.      !!VRy1&y1>121:Sy1+1;Исключаем 1 неиспользуемого монстра.      !!VRy1&y1>123:Sy1+1;Исключаем 2 неиспользуемого монстра.      !!VRy1&y1>125:Sy1+1;Исключаем 3 неиспользуемого монстра.      !!VRy1&y1>127:Sy1+1;Исключаем 4 неиспользуемого монстра.      !!VRy1&y1>144:Sy1+5;Исключаем боевые машины и стрелковые башни.      !!VRy1&y1>159:Sy1+4;Исключаем Эмиссаров.      !!VRy1&y1>173:Sy1+18;Исключаем командиров.      !!MA:Cy1/6/?y2;Считываем стоимость монстра.      !!VRy3:S30000:y2;Вычисляем количество монстров исходя из стоимости.      !!MNv62/v63/v64:M0/-1/0;Обнуляем охрану шахты.      !!MNv62/v63/v64:M1/-1/0;Обнуляем охрану шахты.      !!MNv62/v63/v64:M2/-1/0;Обнуляем охрану шахты.      !!MNv62/v63/v64:M3/y1/y3;Устанавливаем этих монстров на охрану шахты.      !!MNv62/v63/v64:M4/-1/0;Обнуляем охрану шахты.      !!MNv62/v63/v64:M5/-1/0;Обнуляем охрану шахты.      !!MNv62/v63/v64:M6/-1/0;Обнуляем охрану шахты.      
на 30-й день выдает ошибку  !!MA:Cy1/6/?y2;Считываем стоимость монстра. как быть?
			  
			
			
  
Все свежие обновления я выкладываю на своем сайте здесь. 
			
				
(This post was last modified: 16.09.2010 22:38 by M.A.K.C..)
 
			 
		 |  
	 
 | 
	| 16.09.2010 22:37 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				Исправил шахты. Побочный эффект - шахта во время её посещения меняет владельца на "левого". Это исправляется после посещения и не влияет на игру, но может бросаться в глаза при быстрой битве. 
!#IF:V20/0;Сбрасываем контрольный флаг. 
!#TM51:S30/30/7/1;Устанавливаем таймер на 30 день. 
 
!?TM51;При срабатывании таймера...    !!VRv62:S-1;Подготавливаем x-координату к поиску координат шахт.    !!UN:U53/-1/?y1;Считаем количество шахт на карте.    !!DO91/1/y1/1:P53;Запускаем цикл, находящий и устанавливающий все шахты на карте.        
!?OB53;При посещении шахты...    !!MNv998/v999/v1000:O?y-1;Проверяем влдельца шахты.    !!FU&y-1>-1:E;Если у шахты есть владелец, выходим из триггера.    !!OBv998/v999/v1000:U?y-1;Считываем подтип шахты.    !!FU&y-1=7:E;Если шахта - заброшенная, выходим из триггера.    !!OW:C?y-1;Считываем цвет текущего игрока.    !!VRy-2:S7-y-1;Вычисляем цвет временного влдельца шахты.    !!MNv998/v999/v1000:Oy-2/1;Устанавливаем временного влдельца шахты.    !!IF:V20/1;Устанавливаем контрольный флаг.     
!$OB53&20;После посещения шахты, если контрольный флаг равен 1...    !!OW:C?y-1;Считываем цвет текущего игрока.    !!MNv998/v999/v1000:O?y-2;Считываем цвет влдельца шахты.    !!MNv998/v999/v1000&y-1<>y-2:O-1;Если владелец шахты - не текущий игрок, делаем шахту нейтральной.    !!IF:V20/0;Сбрасываем контрольный флаг. 
 
!?FU91;Функция поиска и установки шахты.    !!UN:Ux1/-1/-1/62;Находим координаты шахты.    !!MNv62/v63/v64:O-1;Делаем шахту нейтральной.    !!VRy1:S0 R165;Генерируем случайный номер монстра.    !!VRy1&y1>121:Sy1+1;Исключаем 1 неиспользуемого монстра.    !!VRy1&y1>123:Sy1+1;Исключаем 2 неиспользуемого монстра.    !!VRy1&y1>125:Sy1+1;Исключаем 3 неиспользуемого монстра.    !!VRy1&y1>127:Sy1+1;Исключаем 4 неиспользуемого монстра.    !!VRy1&y1>144:Sy1+5;Исключаем боевые машины и стрелковые башни.    !!VRy1&y1>159:Sy1+4;Исключаем Эмиссаров.    !!VRy1&y1>173:Sy1+18;Исключаем командиров.    !!MA:Cy1/6/?y2;Считываем стоимость монстра.    !!VRy3:S30000:y2;Вычисляем количество монстров исходя из стоимости.    !!MNv62/v63/v64:M0/-1/0;Обнуляем охрану шахты.    !!MNv62/v63/v64:M1/-1/0;Обнуляем охрану шахты.    !!MNv62/v63/v64:M2/-1/0;Обнуляем охрану шахты.    !!MNv62/v63/v64:M3/y1/y3;Устанавливаем тип и количество монстров на охране шахты.    !!MNv62/v63/v64:M4/-1/0;Обнуляем охрану шахты.    !!MNv62/v63/v64:M5/-1/0;Обнуляем охрану шахты.    !!MNv62/v63/v64:M6/-1/0;Обнуляем охрану шахты.  
			 
			
			
			
		 |  
	 
 | 
	| 16.09.2010 23:31 | 
	
		
	 | 
	
		
		M.A.K.C. 
 
 
		
		
		
			
			
			 
			
Posts: 472 
	
		
	 | 
	
		
			
			 
			
				 (16.09.2010 23:31)Sav Wrote:  Исправил шахты. Побочный эффект - шахта во время её посещения меняет владельца на "левого". Это исправляется после посещения и не влияет на игру, но может бросаться в глаза при быстрой битве. 
 
!#IF:V20/0;Сбрасываем контрольный флаг. 
!#TM51:S30/30/7/1;Устанавливаем таймер на 30 день. 
 
!?TM51;При срабатывании таймера...    !!VRv62:S-1;Подготавливаем x-координату к поиску координат шахт.    !!UN:U53/-1/?y1;Считаем количество шахт на карте.    !!DO91/1/y1/1:P53;Запускаем цикл, находящий и устанавливающий все шахты на карте.        
!?OB53;При посещении шахты...    !!MNv998/v999/v1000:O?y-1;Проверяем влдельца шахты.    !!FU&y-1>-1:E;Если у шахты есть владелец, выходим из триггера.    !!OBv998/v999/v1000:U?y-1;Считываем подтип шахты.    !!FU&y-1=7:E;Если шахта - заброшенная, выходим из триггера.    !!OW:C?y-1;Считываем цвет текущего игрока.    !!VRy-2:S7-y-1;Вычисляем цвет временного влдельца шахты.    !!MNv998/v999/v1000:Oy-2/1;Устанавливаем временного влдельца шахты.    !!IF:V20/1;Устанавливаем контрольный флаг.     
!$OB53&20;После посещения шахты, если контрольный флаг равен 1...    !!OW:C?y-1;Считываем цвет текущего игрока.    !!MNv998/v999/v1000:O?y-2;Считываем цвет влдельца шахты.    !!MNv998/v999/v1000&y-1<>y-2:O-1;Если владелец шахты - не текущий игрок, делаем шахту нейтральной.    !!IF:V20/0;Сбрасываем контрольный флаг. 
 
!?FU91;Функция поиска и установки шахты.    !!UN:Ux1/-1/-1/62;Находим координаты шахты.    !!MNv62/v63/v64:O-1;Делаем шахту нейтральной.    !!VRy1:S0 R165;Генерируем случайный номер монстра.    !!VRy1&y1>121:Sy1+1;Исключаем 1 неиспользуемого монстра.    !!VRy1&y1>123:Sy1+1;Исключаем 2 неиспользуемого монстра.    !!VRy1&y1>125:Sy1+1;Исключаем 3 неиспользуемого монстра.    !!VRy1&y1>127:Sy1+1;Исключаем 4 неиспользуемого монстра.    !!VRy1&y1>144:Sy1+5;Исключаем боевые машины и стрелковые башни.    !!VRy1&y1>159:Sy1+4;Исключаем Эмиссаров.    !!VRy1&y1>173:Sy1+18;Исключаем командиров.    !!MA:Cy1/6/?y2;Считываем стоимость монстра.    !!VRy3:S30000:y2;Вычисляем количество монстров исходя из стоимости.    !!MNv62/v63/v64:M0/-1/0;Обнуляем охрану шахты.    !!MNv62/v63/v64:M1/-1/0;Обнуляем охрану шахты.    !!MNv62/v63/v64:M2/-1/0;Обнуляем охрану шахты.    !!MNv62/v63/v64:M3/y1/y3;Устанавливаем тип и количество монстров на охране шахты.    !!MNv62/v63/v64:M4/-1/0;Обнуляем охрану шахты.    !!MNv62/v63/v64:M5/-1/0;Обнуляем охрану шахты.    !!MNv62/v63/v64:M6/-1/0;Обнуляем охрану шахты.  
Все работает, большое тебе спасибо за такую работу и помощь.
			  
			
			
  
Все свежие обновления я выкладываю на своем сайте здесь. 
			
		 |  
	 
 | 
	| 16.09.2010 23:49 | 
	
		
	 | 
	
		
		Valery 
 
 
		
		
		
			
			
			
 
 
			
Posts: 2196 
	
		
	 | 
	
		
			
			 
			
				Is there any way to make a creature walk then shoot from destination position? (re-enable turn in some way, trigger 100% morale?) 
 
67108864 bits (set if done) is triggering on the next creature turn, so will not work.
			 
			
			
			
		 |  
	 
 | 
	| 18.09.2010 20:22 | 
	
		
	 |