Как в коде мода получить предмет в руке игрока?
Как в коде мода получить предмет в руке игрока?
Как в коде мода получить предмет в руке игрока?
Re: Как в коде мода получить предмет в руке игрока?
я думал ермак ответил просил, ему тренировка нужна https://t.me/teracrime/299650
а ии отвечает так)))
В модах на Luanti (основанных на MineTest) для получения предмета в руке игрока используется API движка. Вот пример, как это сделать:
Основной код
Объяснение кода:
minetest.register_chatcommand — Регистрирует новую команду чата /check_item.
minetest.get_player_by_name(name) — Получает объект игрока по имени.
player:get_wielded_item() — Возвращает объект ItemStack, представляющий предмет, который игрок держит в руке.
item_stack:get_name() — Получает имя предмета (например, "default:pick_wood").
Результат:
Если игрок введёт команду /check_item, мод выведет в чат название предмета, который находится у него в активной руке.
Если нужно добавить это в другой функционал (например, при использовании инструмента или блока), можно использовать метод player:get_wielded_item() в любом месте мода, где есть доступ к объекту игрока.
ждем человеческого ответа
https://t.me/teracrime/299678
@ermprost так, спроси что не понятно viewtopic.php?p=441992#p441992🦄 я думал ты уже ответил)) дам ии ответить и ждем твоего ответа))
а ии отвечает так)))
В модах на Luanti (основанных на MineTest) для получения предмета в руке игрока используется API движка. Вот пример, как это сделать:
Основной код
Code: Select all
minetest.register_chatcommand("check_item", {
description = "Посмотреть, что в руке игрока",
func = function(name)
local player = minetest.get_player_by_name(name)
if not player then
return false, "Игрок не найден."
end
-- Получаем предмет в руке
local item_stack = player:get_wielded_item()
local item_name = item_stack:get_name()
if item_name == "" then
return true, "В руке ничего нет."
else
return true, "В руке у тебя: " .. item_name
end
end,
})minetest.register_chatcommand — Регистрирует новую команду чата /check_item.
minetest.get_player_by_name(name) — Получает объект игрока по имени.
player:get_wielded_item() — Возвращает объект ItemStack, представляющий предмет, который игрок держит в руке.
item_stack:get_name() — Получает имя предмета (например, "default:pick_wood").
Результат:
Если игрок введёт команду /check_item, мод выведет в чат название предмета, который находится у него в активной руке.
Если нужно добавить это в другой функционал (например, при использовании инструмента или блока), можно использовать метод player:get_wielded_item() в любом месте мода, где есть доступ к объекту игрока.
ждем человеческого ответа
https://t.me/teracrime/299678
@ermprost так, спроси что не понятно viewtopic.php?p=441992#p441992🦄 я думал ты уже ответил)) дам ии ответить и ждем твоего ответа))
Who is online
Users browsing this forum: No registered users and 0 guests