Как создавать приложения для скриптов телефонов FiveM
Пошаговое руководство по созданию приложений для скриптов телефонов FiveM. Структура, события, интеграция интерфейса и примеры для ролевых серверов.
Agency Scripts
Основатель и ведущий разработчик Agency Scripts
Agency Phone App Architecture
Agency Phone изначально разработан с учётом расширяемости, позволяя разработчикам серверов создавать собственные приложения, которые легко интегрируются с интерфейсом телефона. Каждое приложение работает как самостоятельный модуль со своими HTML, CSS и JavaScript и взаимодействует с фреймворком телефона через чётко определённый API. Такая архитектура позволяет создавать всё что угодно: от гоночного приложения и менеджера недвижимости до собственной системы диспетчеризации. Все эти приложения будут доступны с телефона, которым игроки уже умеют пользоваться.
Настройка структуры вашего приложения
Чтобы создать пользовательское приложение, начните с создания новой папки внутри каталога приложений Agency Phone. Вашему приложению нужен app.json файл манифеста, который определяет имя приложения, иконку, описание и точку входа. Манифест также указывает разрешения, необходимые вашему приложению, такие как доступ к контактам, уведомлениям или GPS-данным. Создайте основной HTML-файл, указанный в манифесте, а также любые CSS и JavaScript файлы, необходимые вашему приложению. Фреймворк телефона автоматически обнаруживает и регистрирует приложения, которые следуют этой структуре.
Использование App API
Agency Phone предоставляет JavaScript API, который ваше приложение может использовать для взаимодействия с функциями телефона. Вызовите AgencyPhone.getContacts() для доступа к списку контактов игроков, AgencyPhone.sendNotification() для отправки push-уведомлений, или AgencyPhone.getPlayerData() для получения текущей информации об игроке из фреймворка. API также предоставляет методы навигации для переключения между экранами приложений, API хранения для сохранения данных, специфичных для приложения, и хуки событий для управления жизненным циклом, таких как открытие, сворачивание или закрытие вашего приложения.
Подключение к серверной логике
Большинство кастомных приложений должны взаимодействовать с серверными скриптами для сохранения данных и безопасных операций. Используйте систему обратных вызовов NUI телефона для отправки запросов из JavaScript вашего приложения в Lua-скрипт сервера. Регистрируйте обработчики на стороне сервера в companion-ресурсе, который зависит от Agency Phone, обрабатывайте запросы с правильной валидацией и возвращайте результаты. Такое разделение гарантирует, что логика приложения выполняется безопасно на сервере, а интерфейс остаётся отзывчивым на клиенте.
Стилизация вашего приложения
Agency Phone предоставляет CSS-переменные и утилитарные классы, соответствующие теме телефона, чтобы ваше приложение выглядело в одном стиле со встроенными. Используйте предоставленные переменные цветов для фона, текста и акцентов, чтобы приложение автоматически адаптировалось к светлой и тёмной темам. Контейнер телефона управляет прокруткой, размерами и отступами безопасной области, поэтому сосредоточьтесь на CSS для размещения контента внутри области приложения. Проверьте приложение на телефонах с рамками разных размеров, чтобы убедиться, что оно хорошо выглядит на всех разрешениях.
Публикация и распространение
После завершения разработки вашего приложения упакуйте его как standalone-ресурс, зависящий от Agency Phone. Включите чёткие инструкции по установке, опции конфигурации и примерные скриншоты в документацию. Если планируете продавать приложение на Tebex, убедитесь, что оно соответствует требованиям эскроу, и добавьте демонстрационное видео с работой приложения. Рассмотрите возможность предложения бесплатной базовой версии с премиум-функциями, чтобы привлечь больше владельцев серверов и завоевать доверие к вашей разработке перед покупкой.