Berserker
Posts: 16648
|
|
19.04.2009 20:49 |
|
Bes
Posts: 5422
|
Что это за синтаксис???
Quote:!!VRy2:S0 T20000000 R1/y2;
|
|
26.10.2009 13:04 |
|
Berserker
Posts: 16648
|
|
26.10.2009 16:33 |
|
WWWoWaNuS
Posts: 138
|
Вопрос:
В WoG до Era, насколько помню (могу ошибаться), ГСЧ был косвенно привязан к времени, что накладывало запрет на попытки "реплеев вручную". А есть ли возможность вернуть этот или подобный ГСЧ в Эру в виде мода (и что для этого нужно)?
(This post was last modified: 07.12.2013 17:56 by WWWoWaNuS.)
|
|
07.12.2013 17:56 |
|
Berserker
Posts: 16648
|
|
07.12.2013 18:59 |
|
WWWoWaNuS
Posts: 138
|
(07.12.2013 18:59)Berserker Wrote: Ты повторы сражений имеешь в виду?
События на КП. Сражения детально смоделировать не удавалось - "удача" и "мораль" влияли всё же рандомно..
Ок, а перехват VR:R и передача вместо него VR:T реально? (подозреваю, правда, что тогда совсем шиза начнётся)
(This post was last modified: 07.12.2013 22:08 by WWWoWaNuS.)
|
|
07.12.2013 22:07 |
|
Berserker
Posts: 16648
|
|
07.12.2013 22:20 |
|
WWWoWaNuS
Posts: 138
|
Ээ..
(07.12.2013 22:07)WWWoWaNuS Wrote: Ок, а перехват VR:R и передача вместо него VR:T реально?
(07.12.2013 22:20)Berserker Wrote: !!VR([^T])*T([^;]*);
на
!!VR\1R\2;
Не наоборот ли для моего случая?
|
|
08.12.2013 02:33 |
|
Berserker
Posts: 16648
|
|
08.12.2013 04:08 |
|
GrayFace
Posts: 1233
|
(07.12.2013 22:07)WWWoWaNuS Wrote: Ок, а перехват VR:R и передача вместо него VR:T реально?
VR:T возвращает одно и то же значение при вызове подряд. Это вообще не случайное число, а остаток от деления времени. Он практически не используется. Вообще, ЕРМ тут не при чём.
Я не смог найти, где в ВоГе делается то, о чём ты говоришь, но оно определённо делается. Для СоДа есть даже спец. прога, показывающая деревья навыков героев, а в ВоГе они случайны.
Вся правда обо мне
|
|
17.12.2013 19:51 |
|
WWWoWaNuS
Posts: 138
|
Ранее спрашивал про VR:R и VR:Т.
Horn, 28 Oct 2006, 17:23 Wrote:Druin,25 Sep 2006, 13:22 Wrote:Системного времени...
Чесс гря сам до конца не понимаю где там что и как, но не раз сталкивался в паскале с следущим: простой генератор при каждом запуске програмы выдавал одну и туже комбинацию чисел, генератор со временем всегда разную...
1. Комп не умеет генерить настоящие случайные числа, т.к. любой алгоритм (пока что) вещь в принципе жестко детерминированная.
2. Стандартный ГСЧ выдает последовательность псевдослучайных чисел, каждое из которых однозначно определяет последующие по некоторому правилу (тут есть разные варианты, чаще всего используют остатки от деления на большие числа). Текущее число, по которому будет определяться следующее, называется "зерном" генератора. В сетевом бою при ударе одного монстра другим, например, урон на каждой машине рассчитывается отдельно, а не передается по сети. Но для этого в начале боя машины синхронизируются, устанавливая одинаковое зерно (в ЕРМ есть специальная команда для этого). И в дальнейшем нужно, чтобы количество запусков ГСЧ на машинах игроков строго совпадало, иначе может случиться та самая печально известная рассинхронизация - у одного игрока ходит гоблин противника, а на компе противника выпал бОльший урон, в результате этот гоблин уже труп и ходит другой отряд.
3. VR:R - это тот самый ГСЧ, стартующий всегда с одной и той же точки. То есть первый его вызов (первый - после запуска НММ) даст всегда Х1, второй - Х2 и т.д.
4. А в VR:Т в качестве зерна используется системное время (с точностью до миллисекунд), поэтому иногда он предпочтительнее. С другой стороны, если его вызвать в цикле несколько раз подряд, то он возможно вернет одно и то же число, ведь цикл успеет прокрутиться несколько раз в течение одной миллисекунды.
5. В ТЕ я сделал так - в начале партии генерю число с помощью VR:Т, записываю в переменную, а в дальнейшем вызываю только VR:R, но к результату "подмешиваю" это число. Интересующиеся могут глянуть текст функции 23013 (она генерит случайное число между х1 и х2) скрипта01. Есть еще интересная функция 23017, переставляющая случайным образом значения v-переменных в диапазоне vx1 - vx2. Нашёл на DF2, м.б. кому полезно будет..
(This post was last modified: 18.12.2013 12:36 by WWWoWaNuS.)
|
|
18.12.2013 12:31 |
|
Alexander_Cw
Posts: 104
|
А какой командой можно установить генератор случайных чисел, чтобы вышедшее значение не добавлялось к переменной, а устанавливалось?
|
|
14.03.2015 16:37 |
|
gamecreator
Posts: 7107
|
|
14.03.2015 16:46 |
|
Alexander_Cw
Posts: 104
|
|
14.03.2015 17:03 |
|
Valery
Posts: 2196
|
Guys, do you have a good randomizer? I always get same values on reload
Using this
(This post was last modified: 17.07.2016 20:50 by Valery.)
|
|
17.07.2016 20:23 |
|