| etoprostoya   
 Posts: 1809
 
 | 
			| 
 
				Я уже писал это на дф2, сейчас поищу.
			 |  | 
	| 21.09.2010 20:58 |  | 
	
		| etoprostoya   
 Posts: 1809
 
 |  | 
	| 21.09.2010 21:09 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				Знатоки математики, обращаюсь к вам. Есть функция генерации особого числа в зависимости от x1, x2, x3. 
Code:
 !!FU90001:Pa/b/c/d;!?FU90001;
 !!VRd:S0;
 !!VRa:*1;
 !!VRb:*2;
 !!VRc:*4;
 !!VRd:+a +b +c;
 
Нужно состряпать обратную ей. Обратная функция должна вычислять a, b и c в зависимости от значения d и подставлять это значение в указанные переменные.
 
Добавлено:Code:
 !!FU90001:Pd/v;!?FU90000;
 ...вычисления...
 !!VRv:Sa;
 !!VR[v+1]:Sb;
 !!VR[v+2]:Sc;
 
Не обязательно использовать формулу "d=a*1 + b*2 + c*4". Можно использовать любую, лишь бы генерировались разные числа для разных a, b, c.
			
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 
				
(This post was last modified: 22.09.2010 08:07 by GhostManSD.)
 |  | 
	| 22.09.2010 08:05 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Если a и b могут иметь отличные от 0 и 1 значения, то однозначно вычислить a, b и c, зная d невозможно.К примеру d=2. Тогда либо a=2, b=0, c=0, либо a=0, b=1, c=0.
 |  | 
	| 22.09.2010 09:24 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Чтобы ужать 3 переменные в 1, можно использовать по 10 из 32 бит переменной для каждого числа. Но тогда максимально a, b, c будут равны 1023. Или 511, если с отрицательными значениями.
			 |  | 
	| 22.09.2010 09:32 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				Sav, напиши, пожалуйста, код.Переменные a, b, c не будут вылезать за пределы 144 каждая.
 
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 |  | 
	| 22.09.2010 21:25 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				*code*...
 !!FU701:Pp/r/s/?t;Вызываем функцию сжатия значений.
 ...
 !!FU702:Pt/?p/?r/?s;Вызываем функцию извлечения значений.
 ...
 *code*
 
 ;Функции сжатия-извлечения значений.
 !?FU701;Функция сжатия значений.
 !!VRx2:*1024;
 !!VRx3:*1048576;(1024*1024).
 !!VRx4:Sx1+x2+x3;
 !?FU702;Функция извлечения значений.
 !!VRx2:Sx1&1023;(1024-1).
 !!VRx3:Sx1&1047552;(1024*(1024-1)).
 !!VRx4:Sx1&1072693248;(1024*(1024*(1024-1))).
 
 Что-то в этом роде.
 Корректно будут обрабатываться только положительные, меньшие 1024 числа. За адекватную работу не ручаюсь - сам не проверял.
 |  | 
	| 22.09.2010 22:37 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				Quote:Отображает слишком большие второе и третье значения. 
Исправил. Должно быть так:
 
SavCode:
 !?FU90001;!!VRx2:Sx1&1023;
 !!VRx3:Sx1&1047552 :1024;
 !!VRx4:Sx1&1072693248 :1048576;
 , большое спасибо!
			 
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 
				
(This post was last modified: 23.09.2010 01:59 by GhostManSD.)
 |  | 
	| 23.09.2010 01:57 |  | 
	
		| M.A.K.C.   
 Posts: 472
 
 | 
			| 
 
				Можно ли сделать следующий скрипт  так, чтобы он срабатывал перед сражением Название события Бодун
 Суть, перед сражением появляется сообщение, что:
 Часть ваших войск злоупотребила выпивкой и:
 (накладываются следующие эффекты) (случайным образом на свои случайные войска)
 Замедление 50%
 Неудача 45%
 Разрушающий луч 30%
 Слабость 20%
 Отравление 10%
 Каюк5%
 формула
 (% х уровень монстра) - (уровень монстра  х значение Интеллекта) = шанс наступления таких последствий
 Это событие должно срабатывать не всегда, а периодически
 
 Все свежие обновления я выкладываю на своем сайте здесь.
 
 
				
(This post was last modified: 30.09.2010 17:22 by M.A.K.C..)
 |  | 
	| 30.09.2010 17:21 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Каюк - это мнгновенная гибель?Заклы накладывать на какую длительность?
 Бодун должен мочь случиться в любом бою или как?
 Думаю, через некоторое время напишу скрипт.
 |  | 
	| 30.09.2010 23:18 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				Каюк? Как-то "капельку" не в духе Героев, имхо. Бодун, в общем-то, тоже.Хотя, если предположить, что герои не воюют, а денно и нощно употребляют косорыловку со своей армией...
 
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 
				
(This post was last modified: 01.10.2010 01:19 by GhostManSD.)
 |  | 
	| 01.10.2010 01:17 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Да, и отравление наложить не получится - оно глючное. Альтернатива - старость.Добавлено:
 Да, и не слишком ли крутая формула? У существ 7 уровня целый 35% шанс сдохнуть.
 
				
(This post was last modified: 01.10.2010 11:08 by Sav.)
 |  | 
	| 01.10.2010 11:06 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Quote:Предлагаю создать отдельную тему, куда люди будутвыкладывать полностью рабочие скрипты
 
Если что, я создал тему для чего-то подобного: http://wforum.heroes35.net/showthread.php?tid=2526 . 
Предлагаю выкладывать просьбы и обсуждать результаты в ней.
			 |  | 
	| 02.10.2010 23:22 |  | 
	
		| DracoLich   
   Posts: 251
 
 | 
			| 
 
				[Set water wheel resources to 0 and "visited" for current colour]!!WMx1/x2/x3&2:B0;
 !!OW&2:C?y1;
 !!VRy2&2/y1=0:S-8160;
 !!VRy2&2/y1=1:S-8128;
 !!VRy2&2/y1=2:S-8000;
 !!VRy2&2/y1=3:S-7872;
 !!VRy2&2/y1=4:S-7680;
 !!VRy2&2/y1=5:S-7168;
 !!VRy2&2/y1=6:S-6144;
 !!VRy2&2/y1=7:S-4096;
 !!OBx1/x2/x3&2:C?y3;
 !!VRy3&2:|y2;
 !!OBx1/x2/x3&2:Cy3;
 
 кто может найти зависимость между номером игрока и его битом в "слове" объекта?
 |  | 
	| 03.10.2010 14:49 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				А там точно не такой ряд чисел:8160
 8128
 8064
 7936
 7680
 7168
 6144
 4096
 ?
 Добавлено:
 В смысле должен быть.
 
				
(This post was last modified: 03.10.2010 15:14 by Sav.)
 |  | 
	| 03.10.2010 15:13 |  |