Extending Player Class

แนวทางเพิ่ม Methods ให้ xPlayer (Server-side) ด้วย Player Class Functions พร้อมตัวอย่างและแนวปฏิบัติที่แนะนำ

Extending Player Class Functions

Player Class Functions คือ Methods ที่เพิ่มให้ xPlayer โดยตรง

สามารถใช้งานได้เฉพาะฝั่ง Server และถูกออกแบบให้โหลดอัตโนมัติ

ตำแหน่งไฟล์

  • server/classes/player/functions/

การโหลด

  • โหลดอัตโนมัติเมื่อเริ่ม resource

  • ไม่ต้องเปิดใช้งานผ่าน config


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

-- server/classes/player/functions/yourFunction.lua
return function(player, param1, param2)
    -- player คือ xPlayer object
    -- เขียนโค้ดของคุณที่นี่
    
    return result
end
circle-exclamation

ขั้นตอนการเพิ่ม Function ใหม่

1

สร้างไฟล์ในโฟลเดอร์ Player Class

สร้างไฟล์ใน server/classes/player/functions/

ตั้งชื่อไฟล์ให้ตรงกับชื่อ Method ที่จะเรียก (เช่น addExperience.lua)

2

เขียนฟังก์ชัน และใส่ comment ให้ครบ

แนะนำให้ระบุ:

  • วัตถุประสงค์

  • พารามิเตอร์ และชนิดข้อมูล

  • ค่าที่ return

3

เรียกใช้ผ่าน xPlayer และทดสอบ

เรียกใช้จาก resource อื่นแบบ server-side

ตรวจสอบ error log และกรณี input ผิด

ตัวอย่าง: เพิ่มแต้มประสบการณ์ (addExperience)

ไฟล์: server/classes/player/functions/addExperience.lua

วิธีเรียกใช้งาน


ตัวอย่าง: ตรวจสอบระยะห่าง (isNearPlayer)

ไฟล์: server/classes/player/functions/isNearPlayer.lua

วิธีเรียกใช้งาน


ตัวอย่าง: จัดการสกิล (addSkillExp / getSkillLevel)

ไฟล์: server/classes/player/functions/addSkillExp.lua

ไฟล์: server/classes/player/functions/getSkillLevel.lua

วิธีเรียกใช้งาน


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

การตั้งชื่อ

รูปแบบ Comment ที่แนะนำ

การ return ค่า

การตรวจสอบพารามิเตอร์ และ default value


Checklist การเพิ่ม Player Class Function


สรุป

Player Class Functions เหมาะสำหรับ:

  • ต้องการเพิ่มเมธอดให้ xPlayer

  • ทำงานเฉพาะผู้เล่นคนเดียว

  • ต้องการเรียกใช้แบบ xPlayer.yourFunction()

ตัวอย่าง: xPlayer.addExperience(), xPlayer.isNearPlayer(), xPlayer.getSkillLevel()

circle-check

Last updated