สิทธิ์ตำรวจใช้ Config.Management.RankPermissions ส่วนสิทธิ์ Admin ใช้ Config.General.AdminGroups เป็นคนละ authority อย่าปนกัน
Rank abilities#
| Ability | ความหมาย |
|---|---|
openMenu | เปิด Police Command |
search | ค้นตัวตาม Search policy |
useQuickActions | Quick Menu / field actions |
manageCurfew | สร้าง/ปิด Curfew |
accessDoorLocks | ล็อก/ปลดล็อกประตู |
manageDepartmentAnnouncements | สร้าง/Auto/Forward ประกาศหน่วยงาน |
giveEquipment | มอบ/ยึดอุปกรณ์ |
accessBank | Bank หน่วยงาน |
accessSafe | Safe หน่วยงาน |
releaseInmates | ปล่อย/แก้เวลาผู้ต้องขัง |
managePersonnel | จัดการสมาชิก/ยศภายใต้ hierarchy guard |
manageConfiguration | Master permission ระดับสูง |
managePlaypass | จัดการ Playpass |
submitAdminReport | ส่ง Admin Report |
submitCommanderMessage | ส่งข้อความผู้บังคับบัญชา |
viewCommanderMessages | อ่าน Commander Mailbox |
clearCommanderMessages | ล้าง/จัดการ Commander messages และรองรับ dynamic HasAbility |
viewStatistics | เปิด Statistics/Ranking |
Hierarchy Guard#
managePersonnel=true ไม่ได้ทำให้แก้ทุกคนได้ ระบบยังป้องกันการปรับ/ปลดตัวเอง, ยกระดับคนอื่นเท่าหรือสูงกว่าตัวเอง และจัดการคนที่มี authority เท่าหรือสูงกว่า
AdminGroups#
ใช้กับ POLICE+, Admin Economy, Statistics Reset และ flow ที่ระบุ Admin authority ไม่ได้ทำให้เป็นตำรวจหรือ bypass ทุก Rank ability อัตโนมัติ
Personnel / Equipment / Mailbox#
- ยศจริง:
config/data/ranks.lua - Abilities/EquipmentItems:
config/customer/04_management.lua - การมอบอุปกรณ์ใช้ Mailbox เป็น transaction boundary
MailboxRequireOnDutyบังคับผู้รับเข้าเวรก่อนรับของ
Reports & Department Announcements#
Reports config อยู่ 06_services.lua ส่วนสิทธิ์ submit/view commander ใช้ abilities ด้านบน ประกาศหน่วยงานใช้ manageDepartmentAnnouncements สำหรับ Create/Auto/Forward
ตรวจ permission จาก resource อื่น#
lua
local canSearch = exports['nX_police']:HasAbility(source, 'search')
local officer = exports['nX_police']:GetOfficerState(source)ไม่ควรอ่าน grade แล้วเดา permission เอง