Как сделать спавн рандомных указанных предметов в определённой области?
Например проходишь данж, твоего героя телепортирует в комнату, а там предмет Меч1. В другой раз там предмет Меч2. И кроме этих двух мечей больше ничего не выпадает.

NazarPunk, Прошу прощения, был не прав.
Deleted

Вот так выглядит нормальный вариант
Переменная Тип предмета
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
29
8gabriel8,
  1. во вложенных if/then/else нормально работают рандом
  2. без переменной здесь не обойтись, потому что if get random = x then сработает только для одного if/than/else на следующем будет повторная проверка на тот же get random = x и так для каждого вложенного типа предмета, есть вероятность не получить ничего. Предметов ведь не два может быть.
30
PrincePhoenix, не учите людей плохому. Если шансы у каждого предмета одинаковы, то проще использовать массив. Сейчас нет редактора, напишу на псевдогуях.
ПРЕДМЕТЫ[1] = Тип предмета 1
ПРЕДМЕТЫ[2] = Тип предмета 2
ПРЕДМЕТЫ[3] = Тип предмета 3
ПРЕДМЕТЫ[4] = Тип предмета 4
ПРЕДМЕТЫ[5] = Тип предмета 5
ПРЕДМЕТЫ[6] = Тип предмета 6
СоздатьПредмет ПРЕДМЕТЫ[Случайное(1,6)] где-то ТАМ
И не нужно создавать 100500 вложенных ифов. А массив вообще можно использовать один на всю игру каждый раз перезаписывая значения.
29
NazarPunk, Прошу прощения, был не прав.
Deleted

Вот так выглядит нормальный вариант
Переменная Тип предмета
Загруженные файлы
Принятый ответ
26
PrincePhoenix:
Предметов ведь не два может быть.
Lop_Top4ik:
И кроме этих двух мечей больше ничего не выпадает.
8gabriel8:
P. S. Для его случая создавать переменную не нужно,
29
8gabriel8, Я думаю два предмета имелось в виду только для примера. В любом случае вариант без if/then/else выглядит лучше.
26

Не один раз сталкивались с проблемой вложенных Если/То/Иначе, чтобы не держать кучу информации в памяти, просто запоминаю общую краткую суть, относительно ифов - не вкладывать в элзэ прочие ифы. Необязательно с рандомом проблемы, это могут быть какие угодно условия. Мне просто сейчас некогда проверять в редакторе, с чем именно проблема, и разбирать её по полочкам.
20
8gabriel8, ну, пишу на джассе, использую вложенные ифы, полёт нормальный.
30
не вкладывать в элзэ прочие ифы
Правильно, для этого else if придумали.
if (false) then
// ...
else if (false) then
// ...
else
// ...
endif
28
8gabriel8, вложение if\else никак не может сделать плохо, нужно просто знать булевую логику и правильно составлять условия.
Вот так вложенные if\else конвертируются.
if ConditionFunct1() then
    ...
else
    if ConditionFunct2() then
        ...
    else
        if ConditionFunct3() then
            ...
        else
        endif
    endif
endif
Это такой же миф, как и про действие Do nothing, якобы без него работать не будет, вот только действие Do nothing вызывает функцию DoNothing(), которая ничего не делает.
function DoNothing takes nothing returns nothing
endfunction
Нет смысла это действие использовать.
26
PT153:
нужно просто знать булевую логику и правильно составлять условия.
Да, помню, что в этом проблема. Кажется, что всё нормально составлено, а в игре не работает. У меня самого нет под рукой подходящего примера, помню только, что относительно недавно с кем-то этим занимался, но раз быстрый поиск по сайту не дал результатов, то либо копать надо глубже, либо в личке лежит, либо вконтакте. Это правда занятный случай, но больше для практикующих картоделов, а ты кодер)
28
практикующих картоделов, а ты кодер)
Я, конечно, немного карт сделал, но старался брать качеством, а не количеством. Скоро создам проект на XGM, есть, что показать.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.