Agency-Vending: торговые автоматы, которые действительно продают товары в вашей экономике
Agency-Vending превращает фоновые объекты в реальную часть экономики вашего сервера с управлением запасами и пополнением игроками.
Agency Scripts
Основатель и ведущий разработчик Agency Scripts
Самый недооценённый объект в GTA V
В GTA V разбросано множество торговых автоматов, которые в ванильных FiveM серверах являются чисто декоративными. Agency-Vending делает каждый из них функциональным: игроки подходят, взаимодействуют, покупают еду или напитки по разумным ценам и получают соответствующие баффы. Просто, повсеместно и это оживляет карту так, как ваниль не может.
Запасы, которые заканчиваются
Каждый автомат имеет индивидуальный запас, который уменьшается по мере покупки игроками. Пустые автоматы показывают состояние "нет в наличии" до пополнения. Это кажется мелочью, но создаёт новую роль: оператор маршрута пополнения. Игроки, которые пополняют автоматы, получают долю от продаж с их запасов. Внезапно каждый объект становится частью экономики.
Разнообразие предметов по типу автомата
Автоматы с напитками продают напитки с небольшим эффектом утоления жажды. Автоматы с закусками продают еду с эффектом утоления голода. Кофейные киоски продают горячие напитки, снимающие усталость. Agency-Vending автоматически определяет тип автомата по модели объекта и правильно его заполняет. Нулевая настройка для стандартных размещений.
Сигналы ценообразования
Цены намеренно ниже, чем в ресторанах, но выше, чем при готовке дома. Это создает разумную экономическую иерархию: дом > торговые автоматы > фастфуд > рестораны. Игроки естественно выбирают вариант, соответствующий их ситуации, что точно отражает реальное поведение при покупках.
Отчёты админа
Администраторы сервера получают еженедельный отчет о деятельности торговых автоматов: какие автоматы приносят больше всего дохода, какие недозаполнены, в каких районах есть дефицит спроса. Эти данные ценны для балансировки карты и выявления новых игровых возможностей без необходимости опрашивать игроков.
Установка & настройка
Agency-Vending requires oxmysql for stock tracking per machine. Import vending.sql , поместите ресурс на ваш сервер и добавьте ensure agency-vending в server.cfg. При первом запуске ресурс сканирует карту на предмет всех нативных объектов торговых автоматов и автоматически регистрирует их в базе данных. Ввод координат вручную для стандартного размещения автоматов не требуется.
Предметы, выдаваемые автоматами, должны существовать в реестре предметов вашего фреймворка. Конфигурация поставляется со стандартными названиями еды и напитков для QBCore и ESX. Пользовательские названия предметов меняются одной строкой для каждого типа автомата.
Параметры конфигурации
Параметр config.lua охватывает поведение машины и экономические настройки:
- Запас на каждый автомат , сколько единиц вмещает каждая машина до необходимости пополнения. По умолчанию: 50.
- Метод пополнения запасов автоматическое пополнение по таймеру (простой), пополнение игроком (роль экономики) или только админское пополнение.
- Требование к работе по пополнению запасов", опционально ограничить пополнение запасов игроками с профессией курьера или продавца.",
- Распределение прибыли", процент от выручки с продаж, который получает игрок, последний пополнивший автомат.",
- Переопределения типа машины", вручную установить другой список предметов для конкретных моделей торговых автоматов.",
- Длительность эффекта , как долго действуют баффы от еды/напитков. Настраивается для каждого типа предметов.
- Визуализация отсутствия на складе", переключить визуальное состояние "пусто" на объектах машин.
Совместимость с фреймворками
Адаптеры для QBCore и ESX включены в комплект. Для standalone реализуйте Config.GiveItem(src, item, count) и Config.TakeMoney(src, amount). Сканирование машин, управление запасами, экономика пополнения и отчеты администраторов не зависят от фреймворка.
Почему это важно для ролевой игры
Плотность карты , один из недооценённых факторов качества RP сервера. Когда игроки могут взаимодействовать с большим количеством существующих объектов карты, машин, скамеек, мусорных баков, дверей, мир кажется населённым, а не театральным. Agency-Vending , одно из самых простых улучшений в этом направлении: каждый торговый автомат становится интерактивным экономическим узлом без дополнительной работы со стороны команды сервера.
Роль оператора маршрута торговых автоматов , возможно, самый интересный элемент emergent gameplay, который скрипт позволяет реализовать. Персонаж игрока, который зарабатывает на жизнь пополнением автоматов, управлением маршрутами, отслеживанием районов с высоким оборотом , это обыденная, но легитимная роль в RP, которая действительно нравится некоторым игрокам. Не каждый персонаж должен быть преступником или полицейским.
Слой админских отчетов , практический инструмент для оценки состояния экономики сервера. Если конкретный автомат постоянно пуст (высокий спрос), а другой всегда заполнен (низкий трафик), это полезная информация для размещения NPC магазинов или корректировки точек спавна игроков. Данные по торговым автоматам показывают, где ваши игроки действительно проводят время.
Часто задаваемые вопросы
Могу ли я добавить пользовательские локации машин, которые не являются нативными объектами GTA V?
Да. Определяйте кастомные автоматы в Config.CustomMachines с координатами, моделью пропа и списком предметов. Так добавляют торговые автоматы внутри пользовательских интерьеров MLO, куда нативный сканер пропов не может добраться.
Могут ли игроки грабить торговые автоматы?
В config.lua есть опциональная механика ограбления. Включите её и установите длительность взлома, шанс неудачи и диапазон добычи. Успешные ограбления приносят часть текущих запасов в виде предметов и помечают автомат как поврежденный до следующего пополнения. Это добавляет криминальный сценарий без нарушения экономики, добыча с одного автомата намеренно мала.
Как работает распределение прибыли, когда несколько игроков пополняют один и тот же автомат?
Последний игрок, пополнивший товар, получает долю прибыли с этого автомата до тех пор, пока он не опустеет и не будет пополнен снова. Нет деления между несколькими пополнителями: кто последний заправил, тот и получает доход следующего цикла. Это упрощает учёт и создаёт естественную конкуренцию между операторами маршрутов доставки.
Работает ли это только на стороне сервера (без клиентского ресурса)?
Нет. Интерфейс сканирования и взаимодействия работает на стороне клиента. Agency-Vending использует серверные и клиентские скрипты. Сервер управляет состоянием запасов и экономическими транзакциями; клиент , обнаружением объектов, отрисовкой UI и триггерами близости игрока.
Требования
- Сервер FiveM (QBCore, ESX или standalone)
- oxmysql
- аккаунт cfx.re с действующей лицензией Agency-Vending
- Опционально: ox_lib (для UI компонентов, есть резервный вариант при отсутствии)
Расширение экономики торговых автоматов
Экономика торговых автоматов работает лучше, когда это часть более широкой системы еды и напитков, а не единственный вариант. Вот как эффективно её интегрировать:
Домашняя готовка (через скрипт крафта) должна быть самым дешёвым способом получить еду с лучшими баффами, но требует ингредиентов и времени. Торговые автоматы , уровень удобства: без подготовки, мгновенная покупка, средняя цена, средние баффы. Рестораны, управляемые игроками, , премиум-уровень: лучшие баффы от еды, самая высокая цена, нужен игрок-повар. NPC с фастфудом находятся между торговыми автоматами и ресторанами.
Когда существуют все четыре уровня, игроки принимают естественные экономические решения, исходя из ситуации. Игрок в середине миссии пользуется торговым автоматом, потому что не может остановиться в ресторане. Игрок с временем и деньгами идёт в ресторан игрока ради RP и бонуса. Такая градация создаёт значимые выборы в экономике, а не одну доминирующую опцию.
Agency-Vending also works well as a revenue stream for neighborhood business owners in city RP. A shop owner who "owns the vending route" in their neighborhood has a passive income mechanism and a reason to patrol and defend their territory.