Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				В начале его хода сделать клетку красной, а в конце обратно поменять. 
Ещё можно вроде закрыть объект для игрока.
			 
			
			
			
		 |  
	 
 | 
	| 16.11.2010 10:31 | 
	
		
	 | 
	
		
		GhostManSD 
 
 
		
		
		
			
			
			
 
 
			
Posts: 1054 
	
		
	 | 
	
		
			
			 
			
				Через триггер на движение любого героя и проверку активного героя?
			 
			
			
  
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
			
				
(This post was last modified: 16.11.2010 14:26 by GhostManSD.)
 
			 
		 |  
	 
 | 
	| 16.11.2010 14:24 | 
	
		
	 | 
	
		
		Efrit 
 
 
		
		
		
			
			
 
 
			 
			
Posts: 6186 
	
		
	 | 
	
		
			
			 
			
				GhostManSD, есть команда "проклятие бога" (!!HE:Y вроде) - она позволяет запретить посещение определённого объекта для определённого героя...
			 
			
			
  
Welcome!
			
		 |  
	 
 | 
	| 16.11.2010 14:51 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				GhostManSD, через таймер на начало хода игрока и следующего игрока. А для объекта проще - в !!OB вроде можно. Или, действительно, через проклятье.
			 
			
			
			
		 |  
	 
 | 
	| 16.11.2010 15:52 | 
	
		
	 | 
	
		
		Chaomen 
 
 
		
		
		
			
			
			 
			
Posts: 59 
	
		
	 | 
	
		
			
			 
			
				Как сделать, чтобы можно было ставить собственные скрипты в "Настройки WOG"?
			 
			
			
			
		 |  
	 
 | 
	| 04.12.2010 00:11 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				Создать ers-файл (как - написано в хелпе), который создаст опцию. А в скрипте поставить на все триггеры условие их выполнения - только если опция включена (т. е. в начале триггеров поставить проверку через !!UN:P, если не включено - выходить. Или проверить и записать результат в начале игры, тогда можно будет вставлять условия в сами триггеры).
			 
			
			
			
				
(This post was last modified: 04.12.2010 00:59 by Sav.)
 
			 
		 |  
	 
 | 
	| 04.12.2010 00:24 | 
	
		
	 | 
	
		
		Chaomen 
 
 
		
		
		
			
			
			 
			
Posts: 59 
	
		
	 | 
	
		
			
			 
			
				Хотя я сделал этот файл, скрипт всё равно не хочет появляться в настройках. Можешь посмотреть что делать? 
Code: 
 ZVSE 
 
** script to prevent creature experience reduction due to overflow. JHV, 
2/3/2009 
 
** uses v7090-v7103 to store troop ranks @ start of battle 
** uses FU459-FU462 
 
!?BA0&1000; start of (human) battle 
!!BA:H0/?v1; get attacker hero # 
!!BA:H1/?v2; get defender hero # (if any) 
!!DO459/0/6/1&v1>-1/v1<156:Pv1; check stacks 0-6 for attacker 
!!DO460/0/6/1&v2>-1/v2<156:Pv2; check stacks 0-6 for defender 
 
 
!?FU459; get exp. rank of troop in slot x16 of hero x1, store in v[7090+x16] 
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience 
!!VRv5:S7090+x16; 
!!VRvv5:Sy3; 
 
!?FU460; get exp. rank of troop in slot x16 of hero x1, store in v[7097+x16] 
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience 
!!VRv5:S7097+x16; 
!!VRv5:Sy3; 
 
!?BA1&1000; end of (human) battle 
!!BA:H0/?v1; get attacker hero # 
!!BA:H1/?v2; get defender hero # (if any) 
!!VRv3:C-1/-1; set v3 & v4 to -1 
!!HEv1&v1>-1/v1<156:O?v3; get attacker's Owner - will be 0-7 if attacker won 
!!HEv2&v2>-1/v2<156:O?v4; get defender's Owner - will be 0-7 if defender won 
!!DO461/0/6/1&v3>-1/v3<8:Pv1; check stacks 0-6 for attacker 
!!DO462/0/6/1&v4>-1/v4<8:Pv2; check stacks 0-6 for defender 
 
!?FU461; get exp. rank of troop in slot x16 of hero x1, vs. v[7090+x16] 
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience 
!!FU&y2<1:E; quit if no troops left in slot 
!!VRv5:S7090+x16; 
!!VRy4:Svv5; 
!!HEx1&y4>y3:C0/x16/d/d/11/12; set rank to 11 if negative experience was 
gained (overflow occurred) 
 
!?FU462; get exp. rank of troop in slot x16 of hero x1, vs. v[7097+x16] 
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience 
!!FU&y2<1:E; quit if no troops left in slot 
!!VRv5:S7097+x16; 
!!VRy4:Svv5; 
!!HEx1&y4>y3:C0/x16/d/d/11/12; set rank to 11 if negative experience was 
gained (overflow occurred) 
!!IF&610:V616/1; 
negative     92      7      0      5       1       0      90      Отключение отрицательного опыта монстров       Данный скрипт позволяет отключать появление отрицательного опыта монстров
  
			 
			
			
			
		 |  
	 
 | 
	| 04.12.2010 18:42 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				
Code: 
 negative 92      7      0      5       1       0      90      Отключение отрицательного опыта монстров       Данный скрипт позволяет отключать появление отрицательного опыта монстров
  
Это нужно поместить в отдельный файл с названием script**.ers (** - номер скрипта).
 
В начале скрипта нужно вставить такой код: !#UN:P**/?v***; (** - номер скрипта, v*** - любая свободная v-переменнная).
 
В каждый триггер надо вписать условие (&v***=1), где v*** - та же v-переменная, которая использовалась выше.
 
Так примерно будет выглядеть твой код:
 
Code: 
 ZVSE 
!#UN:P92/?v9001; Считываем включённость опции. 
 
** script to prevent creature experience reduction due to overflow. JHV, 
2/3/2009 
 
** uses v7090-v7103 to store troop ranks @ start of battle 
** uses FU459-FU462 
 
!?BA0&v9001=1/1000; start of (human) battle 
!!BA:H0/?v1; get attacker hero # 
!!BA:H1/?v2; get defender hero # (if any) 
!!DO459/0/6/1&v1>-1/v1<156:Pv1; check stacks 0-6 for attacker 
!!DO460/0/6/1&v2>-1/v2<156:Pv2; check stacks 0-6 for defender 
 
 
!?FU459&v9001=1; get exp. rank of troop in slot x16 of hero x1, store in v[7090+x16] 
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience 
!!VRv5:S7090+x16; 
!!VRvv5:Sy3; 
 
!?FU460&v9001=1; get exp. rank of troop in slot x16 of hero x1, store in v[7097+x16] 
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience 
!!VRv5:S7097+x16; 
!!VRv5:Sy3; 
 
!?BA1&v9001=1/1000; end of (human) battle 
!!BA:H0/?v1; get attacker hero # 
!!BA:H1/?v2; get defender hero # (if any) 
!!VRv3:C-1/-1; set v3 & v4 to -1 
!!HEv1&v1>-1/v1<156:O?v3; get attacker's Owner - will be 0-7 if attacker won 
!!HEv2&v2>-1/v2<156:O?v4; get defender's Owner - will be 0-7 if defender won 
!!DO461/0/6/1&v3>-1/v3<8:Pv1; check stacks 0-6 for attacker 
!!DO462/0/6/1&v4>-1/v4<8:Pv2; check stacks 0-6 for defender 
 
!?FU461&v9001=1; get exp. rank of troop in slot x16 of hero x1, vs. v[7090+x16] 
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience 
!!FU&y2<1:E; quit if no troops left in slot 
!!VRv5:S7090+x16; 
!!VRy4:Svv5; 
!!HEx1&y4>y3:C0/x16/d/d/11/12; set rank to 11 if negative experience was 
gained (overflow occurred) 
 
!?FU462&v9001=1; get exp. rank of troop in slot x16 of hero x1, vs. v[7097+x16] 
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience 
!!FU&y2<1:E; quit if no troops left in slot 
!!VRv5:S7097+x16; 
!!VRy4:Svv5; 
!!HEx1&y4>y3:C0/x16/d/d/11/12; set rank to 11 if negative experience was 
gained (overflow occurred) 
!!IF&610:V616/1;
  
			 
			
			
			
				
(This post was last modified: 04.12.2010 20:36 by Sav.)
 
			 
		 |  
	 
 | 
	| 04.12.2010 20:09 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16789 
	
		
	 | 
	
		
 | 
	| 04.12.2010 20:30 | 
	
		
	 | 
	
		
		Chaomen 
 
 
		
		
		
			
			
			 
			
Posts: 59 
	
		
	 | 
	
		
			
			 
			
				 (04.12.2010 20:30)Berserker Wrote:  Sav, тебе нужно памятник ставить. 
   Это точно, скольким людям ты помог, кто бы знал...
    На счёт таблицы ers я понял, просто думал что в ней проблема, и скинул вместе с кодом.
			  
			
			
			
		 |  
	 
 | 
	| 05.12.2010 00:18 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				Chaomen, в ers-файле ты пропустил одно из полей. 
Вместо:
 
Code: 
 negative     92      7      0      5       1       0      90      Отключение отрицательного опыта монстров       Данный скрипт позволяет отключать появление отрицательного опыта монстров
  
напиши:
 
Code: 
 negative 92      7      0      5       1       0      90      Отключение отрицательного опыта монстров       отключение появления отрицательного опыта монстров      Данный скрипт позволяет отключить появление отрицательного опыта монстров.
  
			 
			
			
			
				
(This post was last modified: 05.12.2010 21:12 by Sav.)
 
			 
		 |  
	 
 | 
	| 05.12.2010 21:12 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				После того, как герой сходил, клетка, на которой он стоит в этот ход больше не считается жёлтой. Как можно определить стоит ли на клетке какой-нибудь герой (не проходя циклом по всем героям)? 
 
UPD: уже разобрался: надо проверить тип объекта на клетке с помощью !!OB.
			 
			
			
			
				
(This post was last modified: 05.12.2010 23:06 by Sav.)
 
			 
		 |  
	 
 | 
	| 05.12.2010 22:47 | 
	
		
	 | 
	
		
		Barin 
 
 
		
		
		
			
			
			 
			
Posts: 836 
	
		
	 | 
	
		
			
			 
			
				Помогите правильно отредактировать вот это скрипт: 
 
ZVSE 
!#TM29:S1/999/7/255; 
!?TM29; 
!!UN:U63/19/?y1; для объхекта типа х подтипа у 
!!DO278/1/y1/1&y1>0:P; 
 
!?FU278; 
!!UN:U63/19/x16/1; 
!!PO1:N?y1; 
!!FU&y1=0:E; если уже нуль, выход 
!!PO1:N0; - каждую неделю обнуление 
 
!?OB63/19&1000; [посещение объекта] 
!!IF:V43/0; флаг сообщения 
!!PO998:N?y1; (получить посещение) 
!!IF&y1>0:M^объект в этой точке на карте нельзя посетить^; 
!!FU273&y1=0:P; объект можно посетить, далее функция 
 
!?FU273; 
!!IF:Q43^{Да или Нет?}^; 
!!PO998&43:N1; (запретить посещение этого объекта, в этой клетке на карте) 
 
Скрипт должен работать так: на карте много объектов (тип 63/19 пепел). Каждый из них должен быть независимым друг от друга, т.е. посещаю 1 пепел, появляется скрипт, этот объект блокируется до следующей недели и его можно посетить только через неделю, или хотя бы в любой день на следующей недели. Посещаю 2-й пепел - там такой же сценарий и т.д. Объекты одного типа и подтипа должны работать каждый сам за себя, не влияя на другие.
			 
			
			
  
Моя страница в ВК 
Моя разработка мода 
			
		 |  
	 
 | 
	| 10.01.2011 22:48 | 
	
		
	 | 
	
		
		Sav 
 
 
		
		
		
			
			
			 
			
Posts: 2180 
	
		
	 | 
	
		
			
			 
			
				Diman Master, поправил скрипт, кроме того убрал некоторые правильные, но ненужные действия (типа проверки на 0 перед обнулением и вызова лишних функций).
 
ZVSE 
!#TM29:S1/999/7/1; 
!?TM29; 
!!UN:U63/19/?y-1; для объхекта типа х подтипа у 
!!VRv2:S-1; 
!!DO185/1/y-1/1:P; 
 
!?FU185; 
!!UN:U63/19/-1/2; 
!!POv2/v3/v4:N0; - каждую неделю обнуление 
 
!?OB63/19&1000; [посещение объекта] 
!!POv998/v999/v1000:N?y-1; (получить посещение) 
!!IF&y-1>0:M^Объект в этой точке на карте нельзя посетить.^; 
!!FU&y-1>0:E; 
!!IF:Q43^{Да или Нет?}^; 
!!POv998/v999/v1000&43:N1; (запретить посещение этого объекта, в этой клетке на карте)  
Изменения понятны, или стоит пояснить?
			  
			
			
			
				
(This post was last modified: 11.01.2011 00:37 by Sav.)
 
			 
		 |  
	 
 | 
	| 11.01.2011 00:06 | 
	
		
	 | 
	
		
		Barin 
 
 
		
		
		
			
			
			 
			
Posts: 836 
	
		
	 | 
	
		
			
			 
			
				Sav, спасибо! Кое-что уже стало лучше, по крайней мере за 1 неделю не вылазиет 1 и тот же скрипт, но только что тестил его - там заметен сбой какой-то, 1 посетил и он больше никогда не включается, другой бывает включается через неделю, ещё другой опять непонятно как работает, вроде должно каждую неделю, а там то появляется, то нет. Может ещё чего-то нехватает в командах erm? Посмотри внимательней или протести его сам, если не получится, всё равно спасибо, тогда этот скрипт поясни.  
			 
			
			
  
Моя страница в ВК 
Моя разработка мода 
			
		 |  
	 
 | 
	| 11.01.2011 00:20 | 
	
		
	 |