Случайность
|
|
WedeR00 | Дата: Воскресенье, 24 Июля 2011, 17:33:57 | Сообщение # 1 |
6 уровень
Группа: Проверенные
Сообщений: 162
Награды: 0
Репутация: 29
Блокировки:
| Как сделать "случайность?" То есть, к примеру, юнит зашел в зону и с определенным шансом включится какой-то скрипт.
|
|
|
|
Arthur_666_ | Дата: Воскресенье, 24 Июля 2011, 17:47:11 | Сообщение # 2 |
8 уровень
Группа: Проверенные
Сообщений: 632
Награды: 0
Репутация: 238
Блокировки:
| Пример событие юнит ентерс регион тата Условие- че хочешь Действие Set (переменная целочислинная)=random integer от 1 до 100 If\then\else если Переменная целочисленная меньше или равно (ну и шанс) То Че то делать иначе-
Beetops
|
|
|
|
WedeR00 | Дата: Воскресенье, 24 Июля 2011, 18:07:38 | Сообщение # 3 |
6 уровень
Группа: Проверенные
Сообщений: 162
Награды: 0
Репутация: 29
Блокировки:
| Благодарю! Добавлено (24-07-2011, 18:07) --------------------------------------------- Хм. А вот как сделать что бы с шансом XX% выпало одно из 20 действий?
|
|
|
|
Dimon4iK-ERA | Дата: Воскресенье, 24 Июля 2011, 18:14:39 | Сообщение # 4 |
9 уровень
Группа: Проверенные
Сообщений: 1046
Награды: 0
Репутация: 397
Блокировки:
| WedeR00, ну смотри.. допустим тебе нужен шанс 10%
тогда
If intiger i <= (меньше или равно) 10 (ну если выбрало такие числа 1,2,3,4,5,6,7,8,9,10) then Тут твои дейтсвия If intiger i >10 intiger i <= 25 (это 15% шанса)then И тут другие действия...
Все просто
|
|
|
|
Arthur_666_ | Дата: Воскресенье, 24 Июля 2011, 18:18:43 | Сообщение # 5 |
8 уровень
Группа: Проверенные
Сообщений: 632
Награды: 0
Репутация: 238
Блокировки:
| хм-хм попробуй так несколько раз токо с массивом ну или несколькими переменными просто несколко раз с другими действиями по-другому я не знаю
Beetops
|
|
|
|
adiga | Дата: Понедельник, 25 Июля 2011, 12:59:30 | Сообщение # 6 |
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
| Юнит входит в регион условие: реальная (rеаl) математика - random percentage <= х событие любое. (вместо х ставь нужный процент, например 17)
триггеринг 439/450 спеллкрафт 447/450 картокрафт 427/450 ландшафтинг 189/450 фастмэйкинг 225/225 иконкрафтинг 310/450 импортинг 110/450 самооценкинг 450/450
|
|
|
|
Mep3aB4uK | Дата: Понедельник, 25 Июля 2011, 13:52:04 | Сообщение # 7 |
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
| Не реальная, а целочисленая. И чтоб случайное действие из 10 то: установить переменную(целочисленная) х - случайное число от 1 до 10 если х равно 1 то бла-бла иначе если х равно 2 то, и так далее
|
|
|
|
adiga | Дата: Вторник, 26 Июля 2011, 12:40:26 | Сообщение # 8 |
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
| Именно реальное сравнение! Добавлено (26-07-2011, 12:40) --------------------------------------------- Че за геморой мерзавчик предлагаешь? Переменые еще какие то! Делается 1 строчкой в 3 слова, и любой процент можно задать
триггеринг 439/450 спеллкрафт 447/450 картокрафт 427/450 ландшафтинг 189/450 фастмэйкинг 225/225 иконкрафтинг 310/450 импортинг 110/450 самооценкинг 450/450
|
|
|
|
Mep3aB4uK | Дата: Вторник, 26 Июля 2011, 22:31:37 | Сообщение # 9 |
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
| Adiga, реальная может и 3.42 випасть, и по логике не сработает, если нужен % в реальных, то от 0 до 1 меньше равно 0.15(%). Там еще был вопрос, чтоб запустилось случайное действие из 10, для этого нужна переменная
|
|
|
|
adiga | Дата: Среда, 27 Июля 2011, 11:01:55 | Сообщение # 10 |
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
| С математикой видимо не дружишь? Пусть хоть 12.4351 выпадет это число подходит под условие и все идеально сработает. Потому что если х=13, то число меньше его. И значит шанс 13% наступил Добавлено (27-07-2011, 11:01) --------------------------------------------- Если надо 13.5% и то х = 13.5 можно задать и система сработает как надо
триггеринг 439/450 спеллкрафт 447/450 картокрафт 427/450 ландшафтинг 189/450 фастмэйкинг 225/225 иконкрафтинг 310/450 импортинг 110/450 самооценкинг 450/450
|
|
|
|
FkoFF | Дата: Среда, 27 Июля 2011, 11:14:14 | Сообщение # 11 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (Mep3aB4uK) Не реальная, а целочисленая. И чтоб случайное действие из 10 то: установить переменную(целочисленная) х - случайное число от 1 до 10 если х равно 1 то бла-бла иначе если х равно 2 то, и так далее вообще джасс для таких вещей больше преспособлен..
Set i =GetRandomReal(1,5)
if i>4 then call pew-pew elseif i>3 then ... elseif i>2 then ... elseif i>1 then ... elseif i>0 then ... endif
Quote (Mep3aB4uK) и 3.42 випасть, и по логике не сработает Плохо у тебя с логикой )
|
|
|
|
adiga | Дата: Среда, 27 Июля 2011, 15:20:34 | Сообщение # 12 |
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
| Я видимо плохо объяснил? Раз выкладываете такую хрень? 1 строчка условия!
триггеринг 439/450 спеллкрафт 447/450 картокрафт 427/450 ландшафтинг 189/450 фастмэйкинг 225/225 иконкрафтинг 310/450 импортинг 110/450 самооценкинг 450/450
|
|
|
|