Как в коде мода получить предмет в руке игрока?

Russian
Post Reply
PopStop
New member
Posts: 1
Joined: Sun Jan 19, 2025 09:11

Как в коде мода получить предмет в руке игрока?

by PopStop » Post

Как в коде мода получить предмет в руке игрока?

User avatar
Imk
Member
Posts: 506
Joined: Mon Nov 05, 2018 19:15
In-game: Imk
Location: Crimea, Russia
Contact:

Re: Как в коде мода получить предмет в руке игрока?

by Imk » Post

я думал ермак ответил просил, ему тренировка нужна https://t.me/teracrime/299650

а ии отвечает так)))
В модах на 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🦄 я думал ты уже ответил)) дам ии ответить и ждем твоего ответа))

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests