| gamecreator   
   Posts: 7107
 
 |  | 
	| 19.01.2011 17:39 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Здесь довольно неприятная штука - нужно хранить информацию о посещении каждого объекта (вроде есть предел их количества) в w-переменных каждого героя, либо инфу о всех героях в PO каждого объекта. Причём в любом случае побитно.
			 |  | 
	| 19.01.2011 18:20 |  | 
	
		| gamecreator   
   Posts: 7107
 
 |  | 
	| 19.01.2011 19:11 |  | 
	
		| Barin   
 Posts: 836
 
 | 
			| 
 
				Может быть попробовать оттолкнуться от этого варианта:!?OB63/48;
 !!IF:W-1;
 !!POv998/v999/v1000:H?y10;
 !!VRw50&y10<>y2:S0;  (здесь непонятно значение y2, ноль? Она же не может иметь значение, установленное в конце скрипта.)
 !!FU&y10=y2/w50=1:E;
 
 !!IF:M^Сообщение^;
 !!HE-1:O?y1 N?y2;Номер текущего героя.
 !!OB998:T?y3 U?y4 ;
 !!PO998:Hy2 Oy1 Ty3 Sy4;
 !!VRw50:S1;
 
 Скрипт работает в течении 1 дня. Запускаем карту, у нас есть герои и 4 объекта, начинаем всеми посещать объекты и добиваемся того, чего хотели - каждый герой посетивший конкретный объект, больше не мог его посетить, и даже так - посетил 1-й герой объект, потом 2-й герой этот же объект и снова посещаю 1-ым, для которого объект уже
 недоступен. Т.е. в течении 1 дня всё работает, но наступает новый день (2-й) и герои вновь могут посетить объекты. (вроде бы даже 1-й посещает объект и следующий доступ как положено закрывается, а 2-й вообще не может посетить этот же объект).
 
 Значит когда наступает новый день, все настройки сбрасываются. Что ещё можно добавить в этот скрипт?
 
 Так, выяснилось ещё кое-что... работает хорошо, если каждый герой пробежится сразу по всем объектам. А если в тот же 1 день посетит 1 герой, за ним 2-й этот же объект, потом 1-й герой посещает другой объект, за ним посетивший этот другой объект уже вообще не может посетить.
 
 Моя страница в ВК
 Моя разработка мода
 
 
				
(This post was last modified: 19.01.2011 23:04 by Barin.)
 |  | 
	| 19.01.2011 22:52 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Этот скрипт не рабочий, т. к. y2 не устанавливается перед проверкой. День тут не при чём.
 Здесь всё должно быть гораздо сложнее. Если хочешь, я напишу тебе правильный скрипт, но не сразу и с ограничениями на число объектов.
 |  | 
	| 19.01.2011 23:04 |  | 
	
		| Barin   
 Posts: 836
 
 | 
			| 
 
				 (19.01.2011 23:04)Sav Wrote:  Этот скрипт не рабочий, т. к. y2 не устанавливается перед проверкой. День тут не при чём. 
Как этот скрипт работает я написал выше, вот и сам не пойму про y2, когда устанавливал перед проверкой, скрипт так не работал, а он ближе кажется для реализации идеи.
 Quote:Здесь всё должно быть гораздо сложнее. Если хочешь, я напишу тебе правильный скрипт, но не сразу и с ограничениями на число объектов. 
Напиши скрипт. И сколько объектов предполагается?
			 
 Моя страница в ВК
 Моя разработка мода
 
 |  | 
	| 19.01.2011 23:15 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Diman Master Wrote:Как этот скрипт работает я написал выше, вот и сам не пойму про y2, когда устанавливал перед проверкой, скрипт так не работал, а он ближе кажется для реализации идеи. 
Поскольку ты её не устанавливаешь, у неё просто становится неизвестное значение, которое к тому же меняется при передаче хода. Приближение к реализации задумки в данном случае - случайность. 
Чисто логически - если ты не давал переменной никакого значения, как ты можешь её с чем-то сравнивать?
 Diman Master Wrote:Напиши скрипт. И сколько объектов предполагается? 
Хорошо, только не сразу. 
По поводу объектов - у каждого героя по 200 w-переменных (ну 100, если учитывать стандартные скрипты). Каждая переменная - 32 объекта. 
Соответственно, объектов можно сделать очень много, но не неограниченно. Ну и, конечно, всё сильно упростилочь бы, если бы объектов было не более 32.
			 |  | 
	| 19.01.2011 23:29 |  | 
	
		| Barin   
 Posts: 836
 
 |  | 
	| 20.01.2011 00:01 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Diman Master, вот скрипт. Не тестировал, но по идее должен работать. Посещён или нет каждый объект - записано побитно в переменной w116 каждого героя. Номера объектов записываются в PO:H в начале игры (Для поставленного ERM объекта его придётся записывать вручную). 
Подробные комментарии писать неохота, извини.
 
*Присваиваем номер каждому нужному объекту в PO:H.!?PI;
 !!VRy-2:Sv2;
 !!VRy-3:Sv3;
 !!VRy-4:Sv4;
 !!UN:U63/48/?y-1;
 !!VRy-1:-1;
 !!VRv2:S-1;
 !!DO22100/0/y-1/1:P;
 !!VRv2:Sy-2;
 !!VRv3:Sy-3;
 !!VRv4:Sy-4;
 
 *При посещении объекта...
 !?OB63/48;
 !!POv998/v999/v1000:H?y-1;
 !!VRy-2:S1;
 !!DO22101/1/y-1/1:P=y-2/?y-2;
 !!IF:W-1;
 !!VRy-3:Sw116&y-2;
 !!FU&y-3=0:E;
 !!IF:M^Сообщение.^;
 !!VRw116:|y-2;
 
 *Функция, устанавливающая PO:H объекту..
 !?FU22100;
 !!UN:U63/48/-1/2;
 !!POv2/v3/v4:Hx16;
 
 *Функция, вычисляющая степень 2-ки.
 !?FU22101;
 !!VRx2:Sx1*2;
 |  | 
	| 23.01.2011 20:48 |  | 
	
		| Barin   
 Posts: 836
 
 | 
			| 
 
				Sav, спасибо. Но скрипт не включается вообще. Можно оставить эту идею и не заморачиваться. Я сам долго долбил этот скрипт. Для конкретного объекта !!OBx/y/l; легко сделать, чем для !!OB63/48;   
 Моя страница в ВК
 Моя разработка мода
 
 
				
(This post was last modified: 23.01.2011 22:31 by Barin.)
 |  | 
	| 23.01.2011 22:28 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Чтобы работал:1.  ZVSE.
 2. Замени !!FU&y-3=0:E; на !!FU&y-3=1:E;.
 |  | 
	| 24.01.2011 01:36 |  | 
	
		| Barin   
 Posts: 836
 
 |  | 
	| 25.01.2011 00:01 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Опять я ошибся с условием.Замени !!FU&y-3=1:E; на !!FU&y-3<>0:E;.
 Это точно правильное условие.
 |  | 
	| 25.01.2011 12:20 |  | 
	
		| Barin   
 Posts: 836
 
 |  | 
	| 25.01.2011 12:37 |  | 
	
		| Bes   
   Posts: 5453
 
 | 
			| 
 
				Неприятную вещь обнаружил :(Все попытки изменить в сетевой битве для удалённого ПК величину маны героям заканчиваются неудачей :( Т.е. на моём ПК мана нормально меняется, а да другом конце показатели даже не знают что что-то должно было измениться.. Даже если поменять ману обеим сторонам на ходе удалённого ПК, то у него ничего а у меня всё измениться.
 
 Меняю командой HE:I в теле триггера BG. Попытки использовать FU:D дают тот же результат - ничего. :(
 
 Опытным путём убедился в том, что данная операция неработает для стороны с флагом "-999". Т.е. мана меняется только для игрока-инициатора.
 
 И как тогда менять ману в таком случае?
 Может кто напишет ф-цию, где мана будет меняться непосредственно через память (UN:C)? вдруг такой способ подействует?
 Буду очень благодарен.. :sorry:
 
				
(This post was last modified: 30.01.2011 01:35 by Bes.)
 |  | 
	| 30.01.2011 01:27 |  |