General

ฟังก์ชันฝั่ง Server สำหรับจัดการข้อมูลทั่วไปของผู้เล่นผ่าน xPlayer (variables, identity, coords, bucket, metadata, notifications, transactions)

General (xPlayer)

ฟังก์ชันทั่วไปสำหรับจัดการข้อมูลผู้เล่นฝั่ง Server-side ผ่านออบเจกต์ xPlayer

ครอบคลุมการจัดการตัวแปรชั่วคราว, ข้อมูลตัวตน, สิทธิ์, พิกัด, routing bucket, metadata และ utility อื่น ๆ

ก่อนเริ่ม (แนะนำ)

  • แนะนำให้ตั้งค่าการเรียกใช้ Framework ให้ถูกต้องตาม Framework Usage

  • ดึง xPlayer จาก source ก่อนเรียกใช้งาน:

local xPlayer = ESX.GetPlayerFromId(source)
circle-info

ฟังก์ชันในหน้านี้ใช้ได้เฉพาะสคริปต์ฝั่ง Server เท่านั้น

circle-exclamation
chevron-rightแนวคิด: Variables vs Metadatahashtag
  • xPlayer.get/set(key, value) เหมาะกับ “ตัวแปรชั่วคราว” ระหว่างเล่น เช่น สถานะเข้าเวร, ใส่กุญแจมือ, อยู่ในโซนพิเศษ

  • xPlayer.getMetadata/setMetadata(...) เหมาะกับ “ข้อมูลประกอบ” ที่ระบบต้องใช้งานร่วมกัน เช่น เบอร์โทร, licenses, flags เฉพาะตัว

พฤติกรรมการ persist ของ metadata ขึ้นกับการติดตั้ง/การตั้งค่าของเซิร์ฟเวอร์


Variables (Custom per-player variables)

xPlayer.get

ดึงค่าตัวแปรที่กำหนดเองที่เก็บไว้กับผู้เล่น

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

key

string

ชื่อตัวแปรที่ต้องการอ่าน

ค่าที่ส่งคืน (Returns)

Type
Description

any

ค่าที่เก็บไว้ หรือ nil หากไม่พบ

ตัวอย่างการใช้งาน (Example)

chevron-rightตัวอย่างเพิ่มเติม (ขยายดู)hashtag

xPlayer.set

กำหนดค่าตัวแปรที่กำหนดเองให้กับผู้เล่น และ trigger event เมื่อค่าเปลี่ยน

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

key

string

ชื่อตัวแปร

value

any

ค่าที่ต้องการตั้ง

ค่าที่ส่งคืน (Returns)

Type
Description

boolean

true หากสำเร็จ, false หากค่าไม่เปลี่ยนแปลง

ตัวอย่างการใช้งาน (Example)

chevron-rightตัวอย่างเพิ่มเติม (ขยายดู)hashtag

Events ที่ถูก trigger

Event
Parameters

NCCore:onSetVariable (server)

source, key, value, lastValue


Identity & Permissions

xPlayer.getName

คืนค่าชื่อตัวละครของผู้เล่น

รูปแบบการใช้งาน (Syntax)

ค่าที่ส่งคืน (Returns)

Type
Description

string

ชื่อผู้เล่น

ตัวอย่างการใช้งาน (Example)


xPlayer.setName

เปลี่ยนชื่อตัวละครของผู้เล่น

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

name

string

ชื่อใหม่

ค่าที่ส่งคืน (Returns)

Type
Description

boolean

true หากสำเร็จ, false หากชื่อไม่เปลี่ยนแปลง

ตัวอย่างการใช้งาน (Example)

circle-exclamation

xPlayer.getIdentifier

คืนค่า identifier ของผู้เล่น

รูปแบบการใช้งาน (Syntax)

ค่าที่ส่งคืน (Returns)

Type
Description

string

Identifier string ของผู้เล่น

ตัวอย่างการใช้งาน (Example)


xPlayer.getGroup

คืนค่ากลุ่มสิทธิ์ของผู้เล่น

รูปแบบการใช้งาน (Syntax)

ค่าที่ส่งคืน (Returns)

Type
Description

string

ชื่อกลุ่ม (เช่น 'user', 'admin', 'superadmin')

ตัวอย่างการใช้งาน (Example)


xPlayer.setGroup

เปลี่ยนกลุ่มสิทธิ์ของผู้เล่น และอัปเดต ACE permissions อัตโนมัติ

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

group

string

ชื่อกลุ่มใหม่

ค่าที่ส่งคืน (Returns)

Type
Description

boolean

true หากสำเร็จ, false หากกลุ่มไม่เปลี่ยนแปลง

ตัวอย่างการใช้งาน (Example)

circle-info

ฟังก์ชันนี้จะลบ ACE principal เดิม และเพิ่ม principal ใหม่โดยอัตโนมัติ


Position & Status

xPlayer.getCoords

คืนค่าพิกัดล่าสุดของผู้เล่น

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

vector

boolean

(ไม่บังคับ) ถ้าเป็น true จะคืนค่าเป็น vector3

ค่าที่ส่งคืน (Returns)

Type
Description

table|vector3

พิกัดพร้อม fields x, y, z, heading หรือ vector3

ตัวอย่างการใช้งาน (Example)

chevron-rightตัวอย่างเพิ่มเติม (ขยายดู)hashtag

xPlayer.setCoords

ย้ายผู้เล่น (teleport) ไปยังพิกัดที่ระบุ

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

coords

vector3|vector4|table

พิกัดปลายทาง

ค่าที่ส่งคืน (Returns)

Type
Description

boolean

true หากสำเร็จ, false หาก ped ไม่มีอยู่จริง

ตัวอย่างการใช้งาน (Example)

circle-exclamation

xPlayer.updateCoords

ซิงค์พิกัดจากเกมไปยัง xPlayer (ใช้งานภายใน)

รูปแบบการใช้งาน (Syntax)

ค่าที่ส่งคืน (Returns)

Type
Description

boolean

true หากสำเร็จ

circle-info

ฟังก์ชันนี้ถูกเรียกโดย framework อัตโนมัติ โดยทั่วไปไม่จำเป็นต้องเรียกเอง


xPlayer.getHealth

คืนค่า HP ของผู้เล่น

รูปแบบการใช้งาน (Syntax)

ค่าที่ส่งคืน (Returns)

Type
Description

number

ค่าเลือด (0-200)

ตัวอย่างการใช้งาน (Example)


xPlayer.getArmor

คืนค่าเกราะของผู้เล่น

รูปแบบการใช้งาน (Syntax)

ค่าที่ส่งคืน (Returns)

Type
Description

number

ค่าเกราะ (0-100)


Routing buckets

xPlayer.getBucket

คืนค่า routing bucket ปัจจุบันของผู้เล่น

รูปแบบการใช้งาน (Syntax)

ค่าที่ส่งคืน (Returns)

Type
Description

number

Routing bucket ID

circle-info

Routing bucket ใช้แยก “โลก” ของผู้เล่น ผู้เล่นที่อยู่คนละ bucket จะไม่เห็นกันและกัน


xPlayer.setBucket

เปลี่ยน routing bucket ของผู้เล่น

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

bucket

number

Routing bucket ใหม่

ค่าที่ส่งคืน (Returns)

Type
Description

boolean

true หากสำเร็จ, false หาก bucket ไม่เปลี่ยนแปลง

ตัวอย่างการใช้งาน (Example)

chevron-rightตัวอย่างเพิ่มเติม (ขยายดู)hashtag

Metadata

xPlayer.getMetadata

ดึงค่า metadata ตาม key ที่ระบุ

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

key

string

Metadata key

ค่าที่ส่งคืน (Returns)

Type
Description

any

ค่า metadata

ตัวอย่างการใช้งาน (Example)


xPlayer.getAllMetadata

ดึง metadata ทั้งหมดของผู้เล่น

รูปแบบการใช้งาน (Syntax)

ค่าที่ส่งคืน (Returns)

Type
Description

table

ตาราง metadata ทั้งหมด


xPlayer.setMetadata

ตั้งค่า metadata ตาม key ที่ระบุ

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

key

string

Metadata key

value

any

ค่าที่ต้องการตั้ง

ค่าที่ส่งคืน (Returns)

Type
Description

boolean

true หากสำเร็จ, false หากค่าไม่เปลี่ยนแปลง

ตัวอย่างการใช้งาน (Example)

chevron-rightตัวอย่างเพิ่มเติม (ขยายดู)hashtag

Utilities

xPlayer.kick

เตะผู้เล่นออกจากเซิร์ฟเวอร์ พร้อมเหตุผล

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

reason

string

เหตุผล (รองรับ string.format เมื่อส่ง args)

args

any

(ไม่บังคับ) ตัวแปรสำหรับ format

...

any

(ไม่บังคับ) ตัวแปรเพิ่มเติม

ตัวอย่างการใช้งาน (Example)

chevron-rightตัวอย่างเพิ่มเติม (ขยายดู)hashtag

xPlayer.showNotification

ส่งการแจ้งเตือนให้ผู้เล่น

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

msg

string|table

ข้อความ หรือ options สำหรับ notification

ตัวอย่างการใช้งาน (Example)

chevron-rightตัวอย่างเพิ่มเติม (ขยายดู)hashtag

xPlayer.triggerEvent

trigger client event เฉพาะผู้เล่นคนนี้

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

eventName

string

ชื่อ event

...

any

arguments ที่ส่งให้ event

ตัวอย่างการใช้งาน (Example)


Transactions

xPlayer.transaction

รันหลายคำสั่งบน xPlayer แบบมีลำดับ และคืนผลลัพธ์ของแต่ละ operation

รูปแบบการใช้งาน (Syntax)

พารามิเตอร์ (Parameters)

Name
Type
Description

transaction

table

Array ของ operations { name, values }

ค่าที่ส่งคืน (Returns)

Type
Description

table

Array ผลลัพธ์ของแต่ละ method call

ตัวอย่างการใช้งาน (Example)

chevron-rightตัวอย่างเพิ่มเติม (ขยายดู)hashtag

กรณีการใช้งาน (Use cases)

  • ให้รางวัลหลายอย่างพร้อมกัน (เงิน + Item)

  • ตั้งค่าตัวละครใหม่แบบ batch

  • ทำงานหลายขั้นตอนให้สั้นและอ่านง่าย

circle-check

Last updated