Appearance
⚡ AFUCore
AFUCore เป็นเฟรมเวิร์กหลัก (Core Framework) สำหรับ FiveM ที่ออกแบบมาเพื่อเน้นความเสถียร ประสิทธิภาพระดับสูง (Performance-first) และโครงสร้างสถาปัตยกรรมที่เป็นระบบ รองรับการทำงานร่วมกับระบบสคริปต์สไตล์ ESX พร้อมทั้งขยายขีดความสามารถด้วยโมดูลสมัยใหม่ ทั้ง Client Services, Server Services, OneSync Helper และ Common Utilities
ข้อมูลเฟรมเวิร์ก
| รายการ | รายละเอียด |
|---|---|
| ประเภท | FiveM Core Framework |
| สภาพแวดล้อม | fx_version cerulean · lua54 · OneSync Infinity |
| ฐานข้อมูล | oxmysql (การจัดการแบบ Asynchronous ประสิทธิภาพสูง) |
| สถาปัตยกรรม | Modular Architecture (Client Services / Server Services / Common Helpers / Config) |
| ความเข้ากันได้ | รองรับโครงสร้าง xPlayer, SharedPlayerJob, และระบบบัญชี/ไอเทมมาตรฐาน |
🧩 สถาปัตยกรรมระบบ (Architecture)
โครงสร้างภายในของ AFUCore แบ่งการทำงานออกเป็น 4 ส่วนหลักเพื่อความยืดหยุ่นในการพัฒนาและบำรุงรักษา:
text
┌──────────────────────────────────────────────────────────────────────────────┐
│ AFUCore │
│ │
│ ┌───────────────────────┐ ┌───────────────────────┐ ┌──────────────────┐ │
│ │ Client Services │ │ Server Services │ │ Common Helpers │ │
│ ├───────────────────────┤ ├───────────────────────┤ ├──────────────────┤ │
│ │ • PlayerData Service │ │ • xPlayer Object │ │ • Logger Module │ │
│ │ • Accounts Service │ │ • Player Registry │ │ • Config Loader │ │
│ │ • Item Service │ │ • Item System │ │ • Table Helper │ │
│ │ • Job Service │ │ • Job System │ │ • String Helper │ │
│ │ • Notification System │ │ • Custom Commands │ │ • Math Helper │ │
│ │ │ │ • OneSync Utilities │ │ • Timeout / Faker│ │
│ └───────────────────────┘ └───────────────────────┘ └──────────────────┘ │
│ ▲ │
│ │ │
│ ┌──────────────────────────────────┴─────────────────────────────────────┐ │
│ │ Modular Configurations │ │
│ │ framework · player · weapon · inventory · notifications · queries │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────┘🛠️ Installation & Setup
1. โครงสร้างโฟลเดอร์ในเซิร์ฟเวอร์
นำ Resource ไปวางไว้ในไดเรกทอรี resources/ ของ FiveM Server:
text
resources/
└── AFUCore/
├── config/ ← ⚙️ ไฟล์ตั้งค่าทั้งหมด (framework, player, weapon ฯลฯ)
├── source/
│ ├── client/ ← 💻 Client Services & Handlers
│ ├── server/ ← 🖥️ Server Core, xPlayer & Database Handlers
│ └── common/ ← 🧰 Common Helpers & Utilities
└── fxmanifest.lua2. ลำดับการ Start ใน server.cfg
จัดเรียงลำดับการสตาร์ทใน server.cfg ให้ oxmysql เริ่มทำงานก่อน AFUCore:
cfg
# ลำดับ Dependencies ที่จำเป็น
ensure oxmysql
ensure AFUCore
# ตามด้วยสคริปต์ผลิตภัณฑ์และส่วนเสริมอื่นๆ ของ AFU
ensure AFU.Status
ensure AFU.Shop
ensure AFU.VehicleShopOneSync Infinity
แนะนำให้เปิดใช้งาน onesync on หรือ onesync legacy ใน server.cfg เพื่อให้โมดูล OneSync ของ AFUCore ทำงานได้อย่างเต็มประสิทธิภาพ
🚀 Quick Start: การเรียกใช้งาน
การเรียกใช้ฝั่ง Client
lua
-- ดึงข้อมูลผู้เล่นปัจจุบัน
local playerData = AFUCore.GetPlayerData()
print("Player Name:", playerData.name)
-- ตรวจสอบอาชีพ
if AFUCore.IsJob("police") then
print("ผู้เล่นเป็นตำรวจ ระดับชั้น:", AFUCore.GetJobGrade())
end
-- แสดงการแจ้งเตือน
AFUCore.Notify({
title = "แจ้งเตือนระบบ",
message = "ยินดีต้อนรับสู่เซิร์ฟเวอร์!",
type = "success",
duration = 5000
})การเรียกใช้ฝั่ง Server
lua
-- ดึงข้อมูล xPlayer จาก Server ID
local source = source
local xPlayer = AFUCore.GetPlayerFromId(source)
if xPlayer then
-- เพิ่มเงินในบัญชีธนาคาร
xPlayer.addAccountMoney('bank', 5000)
-- เพิ่มไอเทมเข้ากระเป๋า
xPlayer.addInventoryItem('bread', 2)
-- ส่งข้อความแจ้งเตือนถึงผู้เล่น
xPlayer.showNotification("คุณได้รับเงินเข้าบัญชีธนาคาร $5,000 และขนมปัง 2 ชิ้น")
end📚 สารบัญเอกสารทั้งหมด (Documentation Directory)
⚙️ 1. Configuration (การตั้งค่าคอนฟิก)
- Framework Config — การตั้งค่าหลักของเฟรมเวิร์ก (PVP, Paycheck, HUD, EventsPrefix)
- Player Config — ค่าเริ่มต้นของผู้เล่น พิกัดเกิด เงินเริ่มต้น และการเซฟข้อมูล
- Weapon Config — การกำหนดค่าอาวุธ กระสุน และความเสียหาย
- Inventory Config — การเชื่อมต่อระบบกระเป๋าและน้ำหนักไอเทม
- Notifications Config — การตั้งค่าระบบแสดงผลข้อความแจ้งเตือน
- Queries Config — ชุด SQL Queries สำหรับจัดการข้อมูลในฐานข้อมูล
- Jobs Events Overrides — การ Override Events ของระบบอาชีพ
- Debug Config — การตั้งค่าโหมดการตรวจสอบและดีบั๊ก
💻 2. Client Services (บริการฝั่ง Client)
- Player Data — การเข้าถึงข้อมูลผู้เล่น ตำแหน่ง เลือด และ Events การโหลดตัวละคร
- Accounts — การดึงข้อมูลบัญชีเงินสด เงินธนาคาร และเงินดำฝั่ง Client
- Item — การตรวจสอบและดึงข้อมูลไอเทมในกระเป๋า
- Job — การตรวจสอบอาชีพ ตำแหน่งงาน และยศของผู้เล่น
- Notifications — ฟังก์ชันการแสดง Help Notification และ UI Alert
🖥️ 3. Server (ระบบฝั่ง Server)
- xPlayer Object — เอกสารคุณสมบัติ (Properties) และ Methods ทั้งหมดของ xPlayer
- Player — การค้นหาผู้เล่นผ่าน ID, Identifier และการจัดการชุดผู้เล่นออนไลน์
- Item — การลงทะเบียน Usable Items และการจัดการไอเทมฝั่ง Server
- Job — การลงทะเบียนและจัดการข้อมูลโครงสร้างอาชีพ
- Commands — ระบบลงทะเบียนคำสั่งพิเศษพร้อมสิทธิ์และการตรวจสอบ Permission
- OneSync — เครื่องมือคำนวณระยะทาง พิกัด Entity และการระบุตำแหน่งผู้เล่น
🧰 4. Common Helpers (โมดูลตัวช่วยส่วนกลาง)
- Config Helper — ยูทิลิตี้การโหลดและจัดการ Config
- Logger — ระบบบันทึก Log สีสันตามระดับความสำคัญ (Debug, Info, Warn, Error)
- Table — ฟังก์ชันเสริมสำหรับการจัดการ Table (DeepCopy, Merge, Contains ฯลฯ)
- String — ฟังก์ชันจัดการข้อความ ตัดคำ และจัดรูปแบบตัวอักษร
- Math — ฟังก์ชันคำนวณระยะทาง เวกเตอร์ และการปัดเศษ
- Timeout — ระบบจัดการตัวจับเวลา Asynchronous Timer
- Faker — เครื่องมือสร้างข้อมูลจำลองสำหรับทดสอบระบบ