[Вопрос] Дроп нескольких вещей с определённым шансом
|
|
ZeromCroufer | Дата: Воскресенье, 22 Июня 2014, 18:53:00 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 480
Награды: 0
Репутация: 113
Блокировки:
| Вообщем нужно чтобы с шансом 50% падала монета и с 25% вязанка дров и 10% на дроп золотого слитка (дроп третьего предмета еще не ставил, на примере обьяснить) Монеты падают, вязанка дров - вообще нет, что тут не так
|
|
|
|
SirNikolas | Дата: Воскресенье, 22 Июня 2014, 18:57:42 | Сообщение # 2 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Могут ли выпасть несколько предметов одновременно?
|
|
|
|
ZeromCroufer | Дата: Воскресенье, 22 Июня 2014, 18:59:56 | Сообщение # 3 |
7 уровень
Группа: Проверенные
Сообщений: 480
Награды: 0
Репутация: 113
Блокировки:
| SirNikolas Да, могут.
|
|
|
|
SirNikolas | Дата: Воскресенье, 22 Июня 2014, 19:55:02 | Сообщение # 4 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Play "morph" animation Set Flag = False If __Random number between 0 and 1 == 0 Then __Create Счастливая монетка __Set Flag = True If __Random number between 0 and 3 == 0 Then __Create Вязанка дров __Set Flag = True If __Random number between 0 and 9 == 0 Then __Create Золотой слиток __Set Flag = True If __Flag Then __Play sound
Это если воспроизводить звук требуется только тогда, когда что-то падает. Если при каждом открытии сундука, то действие нужно просто переместить в начало, к проигрыванию анимации.
|
|
|
|
Melodia | Дата: Воскресенье, 22 Июня 2014, 20:36:03 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| муть какая то в 1 опмте, что за странная переменная?
|
|
|
|
ZeromCroufer | Дата: Воскресенье, 22 Июня 2014, 20:57:20 | Сообщение # 6 |
7 уровень
Группа: Проверенные
Сообщений: 480
Награды: 0
Репутация: 113
Блокировки:
| Melodia целочисленная массив, каждый пункт идет как за 25% шанса дропа
|
|
|
|
Melodia | Дата: Воскресенье, 22 Июня 2014, 21:07:04 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| а я 1 скрин не посмотрел а почему не задавать обычную перменную случайному числу и не сравнивать её?
|
|
|
|
ZeromCroufer | Дата: Воскресенье, 22 Июня 2014, 22:36:50 | Сообщение # 8 |
7 уровень
Группа: Проверенные
Сообщений: 480
Награды: 0
Репутация: 113
Блокировки:
| Melodia уже делал так, но толк тот же - падает только один предмет. А то что написал SirNikolas я не пойдму некоторых выражений чтобы перевести мне это в гуи язык.
Set Flag = False , а зачем проверка логической?
Random number between 0 and 1 == 0 - случайный номер от 0 до 1 равен 0 , я всё правильно понял?
SirNikolas за звук совет спасибо , а вот в остальном пытаюсь вот разобратся сейчас ...
Сообщение отредактировал ZeromCroufer - Воскресенье, 22 Июня 2014, 23:35:49 |
|
|
|
Overkills | Дата: Понедельник, 23 Июня 2014, 00:33:41 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
| Теперь понятно почему не падает вязанка дров.
Ну, вот давай представим, что переменная "Chest_Drop_Chanse[Случайное 1-4]" равна "1" (т.е. наше 25%), тогда 1-е условие будет выполняться(т.е. счастливая монета), а вот 2-е нет. Потому в первом условии стоит меньше или равно 2, а поскольку 1 - это меньше, чем 2, то первое условие выполнится, а 2-е - нет, потому что 2-е условие рассчитано на то, что число будет либо 3, либо 4.
Вообщем, переделай.Добавлено (23 Июня 2014, 00:23:16) --------------------------------------------- И да, делай как сказал Николас. Добавлено (23 Июня 2014, 00:30:59) --------------------------------------------- Вот то, что сказал Николас. На переменную "Loc" и действие "Custom Script" не обращай внимания. Нужные действия с анимацией добавишь сам. Добавлено (23 Июня 2014, 00:31:49) --------------------------------------------- Ой, я там использовал переменную "Flag", так как начитался пост Николаса. Она там не нужна, на нее обращать внимания тоже не стоит. Добавлено (23 Июня 2014, 00:33:41) ---------------------------------------------
Цитата ZeromCroufer ( ) Set Flag = False , а зачем проверка логической? Это для того, чтобы анимация была только тогда, когда выпадет нужная вещь. Если же нет - убираем проверку логической переменной и ставим нужное действие анимации первым действием в триггере.
|
|
|
|
Reddalerzn | Дата: Понедельник, 23 Июня 2014, 08:41:02 | Сообщение # 10 |
4 уровень
Группа: Проверенные
Сообщений: 89
Награды: 0
Репутация: 4
Блокировки:
| Присвой точку для Chest_drop самым первым действием в триггере, иначе у тебя в 1ом "если" точка присваивается, а во втором нет. В результате вязанка спавнится, но далекоооо...
Сообщение отредактировал Reddalerzn - Понедельник, 23 Июня 2014, 08:45:29 |
|
|
|
ZeromCroufer | Дата: Понедельник, 23 Июня 2014, 12:10:37 | Сообщение # 11 |
7 уровень
Группа: Проверенные
Сообщений: 480
Награды: 0
Репутация: 113
Блокировки:
| Overkills Спасибо большое за наработку и отдельное за пояснение Set Flag = False да как по мне это ненужно, сундук открыт ключ ипользован, а сундук может оказатся и просто пустой когда откроешь
Reddalerzn Кстати точно подметил! а то я сделал всё как написано а дроп всё равно 2й и 3й вещей нету, потом переставил Chest_drop в начало действий и вуаля! ))
SirNikolas Еще раз отдельное спасибо за то, что есть такие люди на форуме
Кстати, всем трём + в репутацию за помощь
Долго просто мучался с этим, решил написать сюда и рад что помогли
|
|
|
|