Решение проблем
Несколько вещей, которые ломаются дважды, и ответы, которые неочевидны.
Изменение ресурса ничего не дало
Заголовок раздела «Изменение ресурса ничего не дало»restart не перечитывает fxmanifest.lua. Если вы добавили файл, сначала выполните refresh:
refreshrestart mic_phoneБез этого сервер продолжает работать со списком файлов, который у него был, и нового файла там просто нет. Это особенность FiveM, а не телефона, и она стоила каждому хотя бы одного потерянного часа.
Телефон не открывается, а в консоли пусто
Заголовок раздела «Телефон не открывается, а в консоли пусто»Почти всегда виноват инвентарь и почти всегда — сразу после его перезапуска.
Перезапуск ox_inventory при подключённых игроках заклинивает их клиент. invBusy остаётся true, и любой поиск зависает навсегда, поэтому телефон спрашивает «есть ли в этом кармане телефон» и никогда не получает ответа.
Перезапустите его второй раз. Первый перезапуск ломает подключённый клиент, а второй — тот, который он переживает. Переподключаться никому не нужно, а очистки state bag’а вручную недостаточно.
В остальных случаях, по порядку:
- Совпадает ли предмет в
Config.Open.Itemс тем, который на самом деле есть в вашем инвентаре? - Не включён ли
Config.Open.RequireItemна сервере, где игроки его с собой не носят? Выключив его, быстрее всего выяснить, дело ли в предмете. - Включена ли батарея и разряжена ли она?
Config.Battery.Deadотказывает открывать телефон ниже своего уровня.
Телефон убирается сам, пока я играю
Заголовок раздела «Телефон убирается сам, пока я играю»Это shared/config/restrict.lua, и у каждого правила в нём есть переключатель. Два, которые удивляют людей:
- Падение — игра считает падением спуск с бордюра.
Falling.Height— это метры воздуха под вами, начиная с которых это засчитывается; по умолчанию 8, что соответствует падению примерно на шесть метров. - Лазание — игра считает лазанием спуск со стены на руках.
Climbing.After— это секунды до того, как это засчитывается; по умолчанию 1.0, чего прыжок в паркуре никогда не достигает, а лестница достигает всегда.
Config.Restrict.Tell.OnClose решает, сообщать ли об этом, когда это происходит. По умолчанию выключено: вы и так смотрите на то, что вынуло телефон у вас из рук.
Никто не слышит звонок
Заголовок раздела «Никто не слышит звонок»Телефон не передаёт голос; он помещает двух людей в канал и позволяет вашему голосовому ресурсу сделать остальное. pma-voice, mumble-voip, SaltyChat и TokoVoip определяются автоматически — если ни один из них не запущен, звонки соединяются, но никто ничего не слышит.
Фото загружаются, а потом не появляются
Заголовок раздела «Фото загружаются, а потом не появляются»То, куда уходит картинка, определяет shared/server_config.lua. Две вещи ломают это незаметно:
- Токен Fivemanage, не предназначенный для этого сервера, или удалённый Discord webhook.
- Хост, которого нет в
Hosts. Сервер принимает URL обратно только с перечисленных там адресов, и именно это не позволяет клиенту подсунуть галерее ссылку на что угодно.
Приложение пропало с главного экрана
Заголовок раздела «Приложение пропало с главного экрана»По порядку: не стоит ли оно off в Config.AppList? Не ограничено ли оно работой через Jobs или NotJobs? Не является ли оно приложением Boss = true, и считает ли фреймворк, что этот игрок управляет бизнесом? Не лежит ли оно в папке — перетащите одну иконку на другую, и вы её создали.
Библиотека приложений, открываемая кнопкой редактирования на главном экране, перечисляет всё, что существует и не находится ни на одной странице.
Веб-половина не загружается
Заголовок раздела «Веб-половина не загружается»Браузерному телефону нужен сертификат, и ресурс получает его сам. Сертификат разбирает случаи, которых не охватывает короткое руководство, — обычный из них: порт не открыт или имя DuckDNS не обновилось после смены вашего адреса.
Всё на английском
Заголовок раздела «Всё на английском»Config.Locale — это значение по умолчанию, а каждый игрок может выбрать свой язык в Настройках — и ему же следуют уведомления вне телефона. Два языка поставляются полностью; остальные подставляются из английского строка за строкой, а не ломаются, так что недоделанный язык показывает то, что у него есть.