Перейти к содержимому

Настройка

Один файл решает всё, что можно изменить: config.lua. Остальное — экраны приложения и зашифрованная (escrow) логика.


ФайлЗа что отвечаетМожно редактировать
config.luaФреймворк, путь к изображениям, срок действия, платежи, расположение ломбарда, маркер, блип, продавец, чёрный список, каждый текст уведомлений, название приложенияДа
pawnshop.sqlТри таблицы, импортируются один разДа
web/index.html, web/styles.css, web/script.jsЭкраны приложения, вёрстка и подписи—
web/assets/pawn.pngИконка приложенияДа
web/assets/fries.pngКартинка, которая показывается, когда у предмета нет изображенияДа
client/main.lua, server/main.luaЛогикаЗашифрованы (escrow)

Нет ни папки bridge, ни папки locales: фреймворк — это один из параметров ниже, а текст находится в config.lua.


ПараметрЧто делаетПо умолчанию
Config.Framework"esx" или "qb", в нижнем регистре. На QBox используйте "qb" — QBox запускает ресурсы QBCore через свой слой совместимости"esx"
Config.InventoryImagePathПапка, из которой читаются картинки предметов, в виде resource/folder/. Для qb-inventory — "qb-inventory/html/images/""ox_inventory/web/images/"
Config.ExpireСколько дней предложение остаётся активным. Изменение цены предложения запускает отсчёт заново7

ПараметрЧто делаетПо умолчанию
Config.Banktrue: покупатели платят из банка, а продавцы выводят деньги в банк. false: и те, и другие используют предмет из Config.Moneytrue
Config.MoneyПредмет инвентаря, используемый как деньги, когда Bank выключен, — money, black_money или ваш собственный"money"

При выключенном Bank деньги должны быть предметом инвентаря, как их хранит ox_inventory. В штатном инвентаре ESX и на QBCore наличные — это счёт, а не предмет, поэтому там оставляйте Config.Bank = true.

Деньги от продажи не попадают продавцу напрямую. Они добавляются к его балансу Pending в приложении, и он выводит их кнопкой перевода.


ПараметрЧто делаетПо умолчанию
Config.RequireLocationtrue: создание и покупку предложений нужно завершать в ломбардеfalse
Config.PawnShopLocationГде находится ломбард: x, y, z и направление взгляда продавца412.17, 315.11, 103.13, heading 194.62
Config.InteractionDistanceКак близко, в метрах, должен быть игрок, чтобы нажать E. Сервер тоже это проверяет1.0
Config.MarkerМаркер у двери: Type, Scale (x, y, z) и Color (r, g, b, a)Type 20, тёмный сине-серый
Config.BlipБлип маршрута: Sprite, Color, Scale480, 32, 1
Config.NPCModel педа продавца и анимация передачи (Dict и Name)a_m_m_business_01, mp_common / givetake1_a

Как это выглядит при включённом RequireLocation: игрок заполняет предложение или нажимает «купить», телефон прокладывает маршрут до ломбарда, а маркер появляется, когда игрок оказывается в 20 метрах. Нажатие E у маркера вызывает продавца для передачи, и сделка проходит.

Блип и маркер существуют только пока у игрока есть там что-то, что нужно завершить; постоянного блипа на карте нет. При выключенном RequireLocation ничего из этого не используется.

Config.Blip.Name не используется для подписи блипа — она берётся из Config.Messages.blip_name.


Config.BlackList — это список названий предметов, которые никогда нельзя выставить. Они исключаются из выбора предметов, отклоняются сервером, а любое существующее предложение с таким предметом убирается с доски — вместе с предметами — при следующем открытии приложения кем-либо. В комплекте идут burger и weapon_appistol в качестве примеров.


Папки locales нет. Весь текст, который можно изменить, находится в config.lua, на английском:

ПараметрЧто содержит
Config.locales.en.app_nameНазвание приложения на телефоне и заголовок его уведомлений
Config.locales.en.app_descriptionСтрока под ним в App Store
Config.MessagesКаждое уведомление: предложение создано, куплено и удалено, не хватает полей, сбои, «идите в ломбард», подсказка E и название блипа

Чтобы играть на другом языке, переведите эти строки на месте. Несколько ответов сервера — «Insufficient items», «Inventory full», «This item cannot be listed for sale», «You do not own this offer» и подобные — зашиты в зашифрованный серверный файл и остаются на английском.

На ESX уведомления приходят как уведомления lb-phone от приложения. На QBCore используется собственное уведомление фреймворка.


Приложение показывает каждый предмет как <Config.InventoryImagePath><item name>.png, читая напрямую из ресурса вашего инвентаря. Если картинки нет, вместо неё показывается web/assets/fries.png; замените этот файл, чтобы изменить запасной вариант.