Перейти к основному содержимому

Как реализовать случайный выбор из списка предметов при еде?

Вопрос

Как реализовать случайный выбор из списка предметов при еде?

Ответ

Для реализации случайного выбора из списка предметов при еде можно воспользоваться следующим кодом:

```lua
function eat_rand()
local medik_table = {
["bread"] = "true",
["conserva"] = "true",
["kolbasa"] = "true"
}
local actor_items = {}
db.actor:iterate_inventory(function(tmp, item)
if medik_table[item:section()] then
table.insert(actor_items, item)
end
end, obj)
if #actor_items ~= 0 then
local rnd = randome(actor_items)
db.actor:eat(rnd)
actor_items = {}
end
end

function randome(medik_table)
local rnd = medik_table[math.random(#medik_table)]
return rnd
end```

Этот код проверяет предметы в рюкзаке игрока, используя таблицу `medik_table`, которая хранит возможные типы еды. Затем он выбирает случайный элемент из этого списка и позволяет игроку съесть его.