Extending Modules

แนวทางสร้าง Modules ฝั่ง Client/Server/Shared พร้อมการเปิดใช้งานผ่าน config และตัวอย่างการเรียกใช้

Extending Modules

Modules คือฟังก์ชันเสริมของ NC Core ที่ทำงานแบบแยกไฟล์

เหมาะสำหรับ utility หรือฟังก์ชันที่ต้องเรียกซ้ำหลายจุด และต้องการควบคุมการโหลดผ่าน config

ข้อกำหนด

  • สร้างได้ทั้งฝั่ง Client/Server/Shared

  • ต้องเปิดใช้งานใน config/config.modules.lua

  • แนะนำให้เขียนแบบ “ทำหน้าที่เดียว” และรับพารามิเตอร์ชัดเจน

ตำแหน่งไฟล์

  • modules/client/

  • modules/server/

  • modules/shared/

โครงสร้างไฟล์ขั้นต่ำ

-- modules/client/YourModule.lua หรือ modules/server/YourModule.lua
return function(param1, param2)
    -- เขียนโค้ดของคุณที่นี่
    return result
end

ขั้นตอนการเพิ่ม Module

1

สร้างไฟล์ Module

ตัวอย่าง Client Module

ไฟล์: modules/client/ShowCustomNotification.lua

2

ระบุใน Config

ไฟล์: config/config.modules.lua

3

ใช้งาน

ตัวอย่าง: Server Module

ไฟล์: modules/server/BroadcastToJob.lua

เพิ่มใน Config:

วิธีใช้งาน:

ตัวอย่าง: Shared Module

ไฟล์: modules/shared/CalculateDistance3D.lua

เพิ่มใน Config:

วิธีใช้งาน:

แนวทางการเขียน (Best Practices)

การตั้งชื่อ

การจัดการ Config

การตรวจสอบพารามิเตอร์

Checklist การเพิ่ม Module

สรุป

Modules เหมาะสำหรับ:

  • ฟังก์ชันเสริมที่ไม่เกี่ยวกับผู้เล่นโดยตรง

  • เป็น utility ทั่วไป

  • ต้องการเปิด/ปิดได้ผ่าน config

ตัวอย่าง: ESX.ShowCustomNotification(), ESX.BroadcastToJob(), ESX.CalculateDistance3D()

circle-check

Last updated