# Система Предметов - Документация Этот документ объясняет, как использовать систему подбора предметов в вашем проекте Godot. ## Обзор Система предметов состоит из нескольких компонентов: 1. **Item.gd** - Базовый класс предмета с функциональностью подбора 2. **ItemManager.gd** - Система управления инвентарем 3. **CharacterBody3D.gd** - Обновленный контроллер персонажа с взаимодействием с предметами 4. **Item.tscn** - Префаб предмета 5. **TestItem.tscn** - Пример предмета для тестирования ## Как Это Работает ### Подбор Предметов 1. У предметов есть зона подбора (Area3D), которая обнаруживает вход игрока 2. При нахождении в радиусе действия предмета появляется подсказка о подборе 3. Нажмите 'E' для подбора предмета 4. Предметы добавляются в инвентарь игрока ## Управление - **WASD** - Движение - **Мышь** - Осмотр вокруг - **E** - Подобрать предмет ## Создание Новых Предметов 1. Создайте новую сцену на основе `item.tscn` 2. Установите свойства предмета в Инспекторе: - `item_name` - Отображаемое название - `item_description` - Описание предмета - `item_type` - Категория (оружие, броня, расходуемое, прочее) - `item_id` - Уникальный идентификатор - `pickup_distance` - Радиус для обнаружения подбора 3. Добавьте mesh и material для визуального представления 4. Разместите предмет в своей сцене ## Настройка ### Размер Инвентаря Измените `max_inventory_size` в `ItemManager.gd` для изменения вместимости инвентаря. ### Радиус Подбора Отрегулируйте `pickup_distance` на отдельных предметах или измените значение по умолчанию в `Item.gd`. ### Действия Ввода Отредактируйте карту ввода в `project.godot` для изменения привязок клавиш. ## Пример Использования ```gdscript # Создаем зелье здоровья var health_potion = preload("res://item.tscn").instantiate() health_potion.item_name = "Зелье Здоровья" health_potion.item_description = "Восстанавливает 50 здоровья" health_potion.item_type = "consumable" health_potion.item_id = "health_potion_001" add_child(health_potion) ``` ## Решение Проблем - **Предметы не показывают подсказку о подборе**: Проверьте, что у предмета есть PickupArea с правильной формой коллизии - **Невозможно подобрать предметы**: Убедитесь, что предмет находится в радиусе действия и в инвентаре есть место ## Особенности Системы - Предметы автоматически добавляются в группу "items" для обнаружения - Система использует area detection для определения радиуса подбора - Размер инвентаря настраивается - Предметы сохраняют ссылки на своего владельца для отслеживания - Подсказка о подборе появляется в центре экрана - Предметы исчезают с эффектом затухания при подборе