Онлайн-справочник по самым часто задаваемым вопросам из темы "Как сделать?" на форуме QSP.su
20.21. Как сделать случайный предмет?
В: Как сделать случайный предмет?
О:
Если вам нужно, чтобы на локации случайным образом появлялся какой-либо предмет, необходимо использовать "действие по условию" и функцию `rand`.
В самом простом виде можно сделать так:
i=rand(1,5)
if i=1:
act "Взять отвёртку":
addobj "Отвёртка"
! другой код
end
elseif i=2:
act "Взять кость":
addobj "Кость"
! другой код
end
elseif i=3:
act "Взять ржавую монету":
addobj "Ржавая монета"
! другой код
end
elseif i=4:
act "Взять шкуру тролля":
addobj "Шкура Тролля"
! другой код
end
elseif i=5:
act "Взять пачку масла":
addobj "Пачка масла"
! другой код
end
end
if i=1:
act "Взять отвёртку":
addobj "Отвёртка"
! другой код
end
elseif i=2:
act "Взять кость":
addobj "Кость"
! другой код
end
elseif i=3:
act "Взять ржавую монету":
addobj "Ржавая монета"
! другой код
end
elseif i=4:
act "Взять шкуру тролля":
addobj "Шкура Тролля"
! другой код
end
elseif i=5:
act "Взять пачку масла":
addobj "Пачка масла"
! другой код
end
end
Так же можно внести список возможных предметов в массив, а затем выбросить случайный:
$objects[0]='Отвёртка'
$objects[1]='Кость'
$objects[2]='Гаечный ключ'
$objects[3]='Человеческий череп'
$objects[4]='Перфоратор'
$objects[5]='Шкура тролля'
$objects[6]='Пачка масла'
$objects[7]='Яблоко'
$objects[8]='Ржавая монета'
$objects[9]='Упавшая звезда'
$object_rand = $objects[rand(0,9)]
dynamic "
act 'Взять предмет <<$object_rand>>':
addobj '<<$object_rand>>'
! ... другой код ...
end
"
$objects[1]='Кость'
$objects[2]='Гаечный ключ'
$objects[3]='Человеческий череп'
$objects[4]='Перфоратор'
$objects[5]='Шкура тролля'
$objects[6]='Пачка масла'
$objects[7]='Яблоко'
$objects[8]='Ржавая монета'
$objects[9]='Упавшая звезда'
$object_rand = $objects[rand(0,9)]
dynamic "
act 'Взять предмет <<$object_rand>>':
addobj '<<$object_rand>>'
! ... другой код ...
end
"