Current time: 26.04.2024, 19:36 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Школа ERM 2
» ERM 2.0 для ERA III
Author Message
Berserker Offline
Administrators

Posts: 16493
Post: #102

SergOz, твоя задача решается следующим образом:
1) Тебе нужен массив на 9 чисел. По умолчанию в них будут значения 1, 2, 3, 4, 5, 6, 7, 8, 9.
2) Тебе нужна переменная, которая будет хранить длину массива.

Для генерации случайного числа выполняем следующее:
1) Генерируем случайный индекс от 0 до РазмерМассива - 1.
2) Смотрим элемент в массиве под данным индексом и запоминаем его в результат.
3) Копируем последний элемент массива в тот, что выпал случайно.
4) Уменьшаем размер массива на один.

Привожу пример.
Массив: 1 2 3 4 5 6 7 8 9
Размер массива: 9

Генерируем случайный индекс от 0 до (9 - 1) = 4.
Под индексом 4 у нас значение 5. 5 → первый результат. Копируем в этот элемент значение последнего (9) и уменьшаем длину массива на один.

Массив: 1 2 3 4 9 6 7 8
Размер массива: 8.

Как видишь, после указанной операции у нас массив чисел, в котором уже гарантированно нет ранее сгенерированного числа.
Повторяем процедуру. Случайный индекс от 0 до (8 - 1) = 2.

В результат помещаем ещё одно число (3), которое заменяем на 8 в массиве.

Массив: 1 2 8 4 9 6 7
Размер массива: 7.

Случайный индекс: 6. В результат помещаем 7, заменяем 7 на 7 и уменьшаем размер массива на один.

Массив: 1 2 8 4 9 6
Размер массива: 6.

На ЕРМ тебе понадобятся:

!#VA(uniqueNumbers[9]:y); Массив, в котором хранятся уникальные числа
!!VR(uniqueNumbers):C1/2/3/4/5/6/7/8/9; сразу же его заполни
!!VR(sampleSize:y):S9; начальный размер массива

Сгенерировать случайный индекс можно командой R0/мин/макс.
Если нужно сгенерировать число от 0 до 9 - 1, можно сгенерировать от 1 до 9, а затем вычесть 1.

!!VR(randomInd:y):R0/1/(sampleSize) -1; получили случайный индекс.
!!VR(randomItemPtr:y):S(@uniqueNumbers) +(randomInd); Random item pointer — указатель на случайный элемент в переводе
Вычисляется как индекс начала массива + смещение в массиве. Если у тебя массив y50..y58, то 50 — его начальный индекс.
@uniqueNumbers и компилируется в начальный индекс массива

само значение по указателю можно получить так: y(randomItemPtr)

Попробуй поэкспериментировать. Если не выйдет, приведу полный код.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
21.11.2020 04:32
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Messages In This Thread
Школа ERM 2 - Berserker - 05.07.2020, 03:45
RE: Школа ERM для ERA III - Berserker - 05.07.2020, 04:23
RE: Школа ERM для ERA III - V_Maiko - 05.07.2020, 04:51
RE: Школа ERM для ERA III - Berserker - 05.07.2020, 13:41
RE: Школа ERM для ERA III - Bes - 05.07.2020, 17:20
RE: Школа ERM для ERA III - daemon_n - 05.07.2020, 18:43
RE: Школа ERM для ERA III - Berserker - 05.07.2020, 19:50
RE: Школа ERM для ERA III - Bes - 05.07.2020, 20:00
RE: Школа ERM для ERA III - Berserker - 05.07.2020, 21:49
RE: Школа ERM для ERA III - Bes - 05.07.2020, 22:14
RE: Школа ERM для ERA III - Berserker - 06.07.2020, 01:36
RE: Школа ERM для ERA III - Berserker - 09.10.2020, 15:00
RE: Школа ERM для ERA III - Bes - 31.10.2020, 23:29
RE: Школа ERM для ERA III - igrik - 09.10.2020, 15:08
RE: Школа ERM для ERA III - Berserker - 09.10.2020, 15:13
RE: Школа ERM для ERA III - igrik - 09.10.2020, 15:17
RE: Школа ERM для ERA III - Berserker - 09.10.2020, 15:19
RE: Школа ERM для ERA III - Berserker - 09.10.2020, 15:26
RE: Школа ERM для ERA III - Night - 09.10.2020, 17:47
RE: Школа ERM для ERA III - Berserker - 09.10.2020, 18:00
RE: Школа ERM для ERA III - Night - 09.10.2020, 18:13
RE: Школа ERM для ERA III - Berserker - 09.10.2020, 23:32
RE: Школа ERM для ERA III - SergOz - 10.10.2020, 00:51
RE: Школа ERM для ERA III - Berserker - 10.10.2020, 02:51
RE: Школа ERM для ERA III - Bes - 10.10.2020, 04:35
RE: Школа ERM для ERA III - Berserker - 10.10.2020, 14:50
RE: Школа ERM для ERA III - Bes - 10.10.2020, 18:50
RE: Школа ERM для ERA III - igrik - 10.10.2020, 21:17
RE: Школа ERM для ERA III - Bes - 10.10.2020, 21:27
RE: Школа ERM для ERA III - Berserker - 10.10.2020, 23:13
RE: Школа ERM для ERA III - Bes - 10.10.2020, 23:42
RE: Школа ERM для ERA III - Berserker - 13.10.2020, 05:05
RE: Школа ERM для ERA III - Berserker - 24.10.2020, 01:30
RE: Школа ERM для ERA III - Berserker - 24.10.2020, 04:14
RE: Школа ERM для ERA III - Berserker - 25.10.2020, 06:25
RE: Школа ERM для ERA III - SergOz - 25.10.2020, 12:24
RE: Школа ERM для ERA III - Berserker - 25.10.2020, 16:08
RE: Школа ERM для ERA III - Bes - 25.10.2020, 19:01
RE: Школа ERM для ERA III - SergOz - 25.10.2020, 19:15
RE: Школа ERM для ERA III - Berserker - 25.10.2020, 21:43
RE: Школа ERM для ERA III - Bes - 25.10.2020, 21:54
RE: Школа ERM для ERA III - Berserker - 25.10.2020, 22:33
RE: Школа ERM для ERA III - igrik - 26.10.2020, 23:07
RE: Школа ERM для ERA III - Night - 27.10.2020, 17:28
RE: Школа ERM для ERA III - Berserker - 27.10.2020, 17:53
RE: Школа ERM для ERA III - igrik - 27.10.2020, 18:11
RE: Школа ERM для ERA III - Bes - 28.10.2020, 05:00
RE: Школа ERM для ERA III - Berserker - 28.10.2020, 05:44
RE: Школа ERM для ERA III - Bes - 28.10.2020, 05:53
RE: Школа ERM для ERA III - Berserker - 28.10.2020, 06:10
RE: Школа ERM для ERA III - Bes - 28.10.2020, 06:18
RE: Школа ERM для ERA III - Berserker - 28.10.2020, 06:36
RE: Школа ERM для ERA III - Bes - 28.10.2020, 15:21
RE: Школа ERM для ERA III - Berserker - 28.10.2020, 19:49
RE: Школа ERM для ERA III - Bes - 29.10.2020, 03:08
RE: Школа ERM для ERA III - Berserker - 29.10.2020, 04:22
RE: Школа ERM для ERA III - Bes - 30.10.2020, 03:19
RE: Школа ERM для ERA III - Berserker - 30.10.2020, 03:47
RE: Школа ERM для ERA III - Bes - 30.10.2020, 04:03
RE: Школа ERM для ERA III - Berserker - 30.10.2020, 04:21
RE: Школа ERM для ERA III - Berserker - 01.11.2020, 00:31
RE: Школа ERM для ERA III - Bes - 21.11.2020, 03:28
RE: Школа ERM для ERA III - SergOz - 21.11.2020, 04:03
RE: Школа ERM для ERA III - Bes - 21.11.2020, 04:11
RE: Школа ERM для ERA III - Berserker - 21.11.2020 04:32
RE: Школа ERM для ERA III - SergOz - 21.11.2020, 18:14
RE: Школа ERM для ERA III - SergOz - 21.11.2020, 04:41
RE: Школа ERM для ERA III - Berserker - 21.11.2020, 18:18
RE: Школа ERM для ERA III - SergOz - 21.11.2020, 18:52
RE: Школа ERM для ERA III - Berserker - 21.11.2020, 19:02
RE: Школа ERM для ERA III - Bes - 21.11.2020, 19:09
RE: Школа ERM для ERA III - Berserker - 21.11.2020, 19:30
RE: Школа ERM для ERA III - SergOz - 21.11.2020, 19:59
RE: Школа ERM для ERA III - Bes - 21.11.2020, 20:59
RE: Школа ERM для ERA III - SergOz - 21.11.2020, 21:19
RE: Школа ERM для ERA III - Berserker - 21.11.2020, 22:03
RE: Школа ERM для ERA III - SergOz - 21.11.2020, 22:34
RE: Школа ERM для ERA III - Berserker - 21.11.2020, 22:40
RE: Школа ERM для ERA III - SergOz - 22.11.2020, 01:12
RE: Школа ERM для ERA III - Berserker - 22.11.2020, 01:33
RE: Школа ERM для ERA III - Berserker - 22.11.2020, 01:42
RE: Школа ERM для ERA III - SergOz - 22.11.2020, 01:54
RE: Школа ERM для ERA III - Berserker - 22.11.2020, 02:09
RE: Школа ERM для ERA III - SergOz - 22.11.2020, 02:16
RE: Школа ERM для ERA III - Berserker - 22.11.2020, 03:06
RE: Школа ERM для ERA III - SergOz - 05.12.2020, 03:24
RE: Школа ERM для ERA III - Bes - 05.12.2020, 03:31
RE: Школа ERM для ERA III - SergOz - 05.12.2020, 03:43
RE: Школа ERM для ERA III - Bes - 05.12.2020, 04:01
RE: Школа ERM для ERA III - SergOz - 05.12.2020, 05:08
RE: Школа ERM для ERA III - Berserker - 05.12.2020, 05:09
RE: Школа ERM для ERA III - Berserker - 05.12.2020, 05:15
RE: Школа ERM для ERA III - SergOz - 05.12.2020, 05:17
RE: Школа ERM для ERA III - Berserker - 05.12.2020, 05:27
RE: Школа ERM для ERA III - SergOz - 05.12.2020, 05:31
RE: Школа ERM для ERA III - Bes - 06.12.2020, 01:28
RE: Школа ERM для ERA III - Berserker - 06.12.2020, 06:33
RE: Школа ERM для ERA III - igrik - 22.01.2021, 01:18
RE: Школа ERM для ERA III - Berserker - 22.01.2021, 14:49
RE: Школа ERM для ERA III - Berserker - 22.01.2021, 22:06
RE: Школа ERM для ERA III - igrik - 23.01.2021, 01:41
RE: Школа ERM для ERA III - Berserker - 23.01.2021, 03:58
RE: Школа ERM для ERA III - Archer30 - 27.01.2021, 17:13
RE: Школа ERM для ERA III - Berserker - 27.01.2021, 20:20
RE: Школа ERM для ERA III - Archer30 - 27.01.2021, 22:54
RE: Школа ERM для ERA III - Berserker - 28.01.2021, 19:17
RE: Школа ERM для ERA III - SergOz - 20.02.2021, 17:50
RE: Школа ERM для ERA III - Berserker - 20.02.2021, 17:56
RE: Школа ERM 2 - Archer30 - 10.03.2021, 10:26
RE: Школа ERM 2 - Berserker - 10.03.2021, 14:00
RE: Школа ERM 2 - Archer30 - 10.03.2021, 14:40
RE: Школа ERM 2 - Berserker - 10.03.2021, 17:06
RE: Школа ERM 2 - Archer30 - 10.03.2021, 17:50
RE: Школа ERM 2 - Berserker - 10.03.2021, 19:15
RE: Школа ERM 2 - Archer30 - 10.03.2021, 20:06
RE: Школа ERM 2 - Berserker - 10.03.2021, 21:12
RE: Школа ERM 2 - Berserker - 11.03.2021, 18:03
RE: Школа ERM 2 - igrik - 11.03.2021, 21:52
RE: Школа ERM 2 - daemon_n - 11.03.2021, 20:39
RE: Школа ERM 2 - Berserker - 11.03.2021, 21:47
RE: Школа ERM 2 - Bes - 11.03.2021, 22:33
RE: Школа ERM 2 - igrik - 11.03.2021, 23:31
RE: Школа ERM 2 - Berserker - 12.03.2021, 01:14
RE: Школа ERM 2 - Berserker - 28.03.2021, 17:47
RE: Школа ERM 2 - Bes - 28.03.2021, 18:51
RE: Школа ERM 2 - Berserker - 28.03.2021, 19:31
RE: Школа ERM 2 - Bes - 28.03.2021, 19:47
RE: Школа ERM 2 - Berserker - 22.07.2021, 23:26
RE: Школа ERM 2 - Berserker - 15.10.2021, 18:55
RE: Школа ERM 2 - Archer30 - 15.10.2021, 19:29
RE: Школа ERM 2 - daemon_n - 05.12.2021, 09:11
RE: Школа ERM 2 - wessonsm - 05.12.2021, 11:21
RE: Школа ERM 2 - daemon_n - 05.12.2021, 11:30
RE: Школа ERM 2 - Berserker - 05.12.2021, 12:52
RE: Школа ERM 2 - daemon_n - 05.12.2021, 12:54
RE: Школа ERM 2 - SergOz - 05.12.2021, 13:19
RE: Школа ERM 2 - Berserker - 05.12.2021, 19:45
RE: Школа ERM 2 - daemon_n - 05.12.2021, 19:49
RE: Школа ERM 2 - Berserker - 05.12.2021, 19:57
RE: Школа ERM 2 - Archer30 - 25.02.2022, 10:38
RE: Школа ERM 2 - wessonsm - 25.02.2022, 10:48
RE: Школа ERM 2 - Archer30 - 25.02.2022, 10:55
RE: Школа ERM 2 - daemon_n - 25.02.2022, 11:31
RE: Школа ERM 2 - Berserker - 10.03.2022, 17:06
RE: Школа ERM 2 - slater777 - 16.12.2022, 01:16
RE: Школа ERM 2 - SergOz - 16.12.2022, 03:46
RE: Школа ERM 2 - slater777 - 16.12.2022, 05:21
RE: Школа ERM 2 - slater777 - 18.12.2022, 23:45
RE: Школа ERM 2 - Berserker - 19.12.2022, 03:31
RE: Ваши вопросы по ERM-скриптам - Bes - 06.09.2020, 02:20
RE: Ваши вопросы по ERM-скриптам - ElfbI - 06.09.2020, 02:23
RE: Ваши вопросы по ERM-скриптам - Berserker - 06.09.2020, 02:47
RE: Ваши вопросы по ERM-скриптам - ElfbI - 06.09.2020, 02:51
RE: Ваши вопросы по ERM-скриптам - Bes - 06.09.2020, 02:58
RE: Ваши вопросы по ERM-скриптам - Berserker - 06.09.2020, 03:04
RE: Ваши вопросы по ERM-скриптам - Bes - 06.09.2020, 03:11
RE: Ваши вопросы по ERM-скриптам - Berserker - 07.09.2020, 21:06
ERM функции - Berserker - 08.09.2020, 03:13
RE: Школа ERM для ERA III - wessonsm - 13.10.2020, 19:41
RE: Если просто нужен скрипт - SergOz - 23.10.2020, 06:23
RE: Если просто нужен скрипт - Bes - 23.10.2020, 19:54
RE: Если просто нужен скрипт - Berserker - 23.10.2020, 20:17
RE: Если просто нужен скрипт - SergOz - 23.10.2020, 20:44
RE: Если просто нужен скрипт - Bes - 23.10.2020, 20:50
RE: Если просто нужен скрипт - SergOz - 23.10.2020, 21:01
RE: Если просто нужен скрипт - Berserker - 23.10.2020, 21:54
RE: Если просто нужен скрипт - Bes - 23.10.2020, 22:25
RE: Если просто нужен скрипт - SergOz - 23.10.2020, 22:39
RE: Если просто нужен скрипт - Berserker - 23.10.2020, 22:51
RE: Если просто нужен скрипт - Bes - 24.10.2020, 00:13
RE: Если просто нужен скрипт - SergOz - 24.10.2020, 00:20
RE: Если просто нужен скрипт - Berserker - 24.10.2020, 00:26
RE: Если просто нужен скрипт - Bes - 24.10.2020, 00:42
RE: Если просто нужен скрипт - Berserker - 24.10.2020, 00:53
RE: Если просто нужен скрипт - Berserker - 24.10.2020, 02:03
RE: Если просто нужен скрипт - SergOz - 24.10.2020, 02:24
RE: Если просто нужен скрипт - Berserker - 24.10.2020, 02:37
RE: Если просто нужен скрипт - Berserker - 24.10.2020, 02:42
RE: Если просто нужен скрипт - Berserker - 24.10.2020, 02:50
RE: Если просто нужен скрипт - SergOz - 24.10.2020, 03:00
RE: Если просто нужен скрипт - Berserker - 24.10.2020, 03:16
RE: Если просто нужен скрипт - SergOz - 24.10.2020, 03:23
RE: Если просто нужен скрипт - Bes - 24.10.2020, 03:29
RE: ERA III - Bes - 28.10.2020, 15:40
RE: ERA III - igrik - 28.10.2020, 19:18
RE: ERA III - SergOz - 21.11.2020, 02:03
RE: ERA III - daemon_n - 09.01.2021, 15:51
RE: ERA III - Berserker - 09.01.2021, 16:15
RE: Плагины. Обсуждение - daemon_n - 10.01.2021, 22:32
RE: Плагины. Обсуждение - Berserker - 10.01.2021, 23:52
RE: Плагины. Обсуждение - daemon_n - 10.01.2021, 23:58
RE: Ваши вопросы по ERM-скриптам - daemon_n - 28.03.2021, 19:59
RE: Ваши вопросы по ERM-скриптам - Berserker - 28.03.2021, 20:46
RE: Ваши вопросы по ERM-скриптам - daemon_n - 28.03.2021, 21:01
RE: Ваши вопросы по ERM-скриптам - Berserker - 28.03.2021, 21:03
RE: Ваши вопросы по ERM-скриптам - daemon_n - 28.03.2021, 21:22
RE: Ваши вопросы по ERM-скриптам - Berserker - 28.03.2021, 21:54
RE: Ваши вопросы по ERM-скриптам - daemon_n - 29.03.2021, 01:01
RE: Ваши вопросы по ERM-скриптам - Berserker - 29.03.2021, 02:03
RE: Ваши вопросы по ERM-скриптам - daemon_n - 29.03.2021, 07:49
RE: Ваши вопросы по ERM-скриптам - Berserker - 29.03.2021, 15:58
RE: Ваши вопросы по ERM-скриптам - daemon_n - 31.03.2021, 13:31
RE: Ваши вопросы по ERM-скриптам - Berserker - 31.03.2021, 16:06
RE: Ваши вопросы по ERM-скриптам - daemon_n - 31.03.2021, 17:30
RE: Ваши вопросы по ERM-скриптам - Berserker - 31.03.2021, 18:44
RE: Ваши вопросы по ERM-скриптам - daemon_n - 31.03.2021, 19:17
RE: Ваши вопросы по ERM-скриптам - Berserker - 31.03.2021, 23:41
RE: Ваши вопросы по ERM-скриптам - daemon_n - 01.04.2021, 00:42
RE: Ваши вопросы по ERM-скриптам - Berserker - 01.04.2021, 02:26
RE: Ваши вопросы по ERM-скриптам - daemon_n - 01.07.2021, 13:36
RE: Ваши вопросы по ERM-скриптам - Berserker - 01.07.2021, 18:37
RE: Ваши вопросы по ERM-скриптам - daemon_n - 01.07.2021, 18:51
RE: Ваши вопросы по ERM-скриптам - Berserker - 01.07.2021, 20:16
RE: Ваши вопросы по ERM-скриптам - SergOz - 01.07.2021, 21:02
RE: Ваши вопросы по ERM-скриптам - Berserker - 02.07.2021, 01:36
RE: Ваши вопросы по ERM-скриптам - SergOz - 02.07.2021, 03:36
RE: Ваши вопросы по ERM-скриптам - daemon_n - 02.07.2021, 10:29
RE: Ваши вопросы по ERM-скриптам - SergOz - 02.07.2021, 13:06
RE: Ваши вопросы по ERM-скриптам - Archer30 - 15.10.2021, 14:01
RE: Ваши вопросы по ERM-скриптам - daemon_n - 15.10.2021, 14:26
RE: Ваши вопросы по ERM-скриптам - Archer30 - 04.12.2021, 22:14
RE: Ваши вопросы по ERM-скриптам - Berserker - 05.12.2021, 04:03
RE: ERA III - Raistlin - 02.01.2022, 23:50
RE: ERA III - Berserker - 03.01.2022, 01:19
RE: ERA III - Raistlin - 03.01.2022, 01:20
RE: ERA III - Berserker - 03.01.2022, 01:22
RE: ERA III - Raistlin - 03.01.2022, 01:36
RE: Ваши вопросы по ERM-скриптам - Archer30 - 07.03.2022, 17:15
RE: Ваши вопросы по ERM-скриптам - Berserker - 07.03.2022, 18:23
RE: Ваши вопросы по ERM-скриптам - Archer30 - 09.03.2022, 18:16
RE: Ваши вопросы по ERM-скриптам - wessonsm - 09.03.2022, 18:40
RE: Ваши вопросы по ERM-скриптам - Berserker - 09.03.2022, 21:22
RE: Ваши вопросы по ERM-скриптам - Archer30 - 10.03.2022, 09:18

Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group