Exports ด้านล่างเป็น Integration Boundary สำหรับ resource ภายนอก ควรเรียกจากฝั่ง Client/Server ให้ตรงกับประเภท Export

Dispatch#

Client: ReportCrime#

lua
exports['ks_police']:ReportCrime('cement', {
    category = 'normal',
    details = 'พบการขโมยวัสดุก่อสร้าง'
})

Server: ReportCrime#

lua
exports['ks_police']:ReportCrime('cement', {
    source = playerId,
    category = 'normal',
    details = 'พบการขโมยวัสดุก่อสร้าง'
})

DispatchCrime เป็น alias ของ ReportCrime

ExportSideใช้ทำอะไร
CanSearchTypeServerตรวจว่าเจ้าหน้าที่มีสิทธิ์ใช้ประเภทการค้นหรือไม่
CanSearchTargetServerตรวจ permission / target ก่อนค้น
ShouldRouteSearchSeizureServerถามว่าการยึดครั้งนี้ควรส่งเข้าตู้หน่วยงานหรือไม่
DepositSearchSeizureServerฝากของจาก Search hook เข้าตู้หน่วยงาน
RecordSeizedEvidenceServerบันทึกของกลางเพื่อ Auto Charge

Discord Log#

lua
exports['ks_police']:DiscordLog({
    event = 'police_report',
    source = source,
    title = 'Custom server log',
    description = 'รายละเอียด'
})

local stats = exports['ks_police']:DiscordLogStats()

Door Lock#

lua
local state = exports['ks_police']:GetDoorState(doorId)

Jail#

lua
exports['ks_police']:CutJailGps(sourceId)

UI Coordination#

ExportSideใช้ทำอะไร
SetExternalHotbarVisibleClientแจ้ง KS Police ว่า External Hotbar กำลังแสดงอยู่
SetToastReservedZoneClientจองพื้นที่หน้าจอไม่ให้ Toast ทับ UI อื่น
PulseToastReservedZoneClientต่ออายุ Reserved Zone แบบ TTL