Streaming

ฟังก์ชันฝั่ง Client สำหรับโหลด asset (model/anim/ptfx/texture/weapon) แบบ async พร้อม timeout ผ่าน `ESX.Streaming.*`

Streaming (Client)

หน้านี้รวบรวมฟังก์ชัน ESX.Streaming.* สำหรับโหลด asset เข้า memory แบบ async

รองรับ timeout เพื่อป้องกันการค้าง เมื่อ asset ไม่พร้อมหรือระบุชื่อผิด

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

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

  • เรียกใช้งานภายใน CreateThread/coroutine เพื่อให้ async ทำงานถูกต้อง

  • หลีกเลี่ยงการ request ซ้ำใน loop ถี่ ๆ โดยไม่จำเป็น

circle-info

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

รูปแบบการใช้งาน timeout

พารามิเตอร์ timeout รองรับ 2 รูปแบบ

1

Timeout mode (แนะนำสำหรับงานทั่วไป)

ส่ง timeout เป็นตัวเลข (จำนวน tick ที่จะรอ) หากครบเวลาแล้วยังโหลดไม่สำเร็จ จะคืนค่า nil

2

Callback mode (เหมาะกับงานที่ต้องทำต่อเมื่อโหลดเสร็จ)

ส่ง timeout เป็นฟังก์ชัน function(result) ระบบจะเรียก callback เมื่อโหลดสำเร็จ


ESX.Streaming.RequestModel

โหลด model เข้า memory

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

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

Name
Type
Description

model

string|number

ชื่อโมเดล หรือ model hash

timeout

number|function

(ไม่บังคับ) จำนวน tick ที่จะรอ (ค่าเริ่มต้น: 500) หรือ callback function

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

Type
Description

number|nil

คืนค่า model hash เมื่อสำเร็จ หรือ nil หาก timeout

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

circle-info

โหลดสำเร็จแล้วควรเรียก SetModelAsNoLongerNeeded(model) เพื่อลดการใช้หน่วยความจำ


ESX.Streaming.RequestAnimDict

โหลด animation dictionary เข้า memory

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

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

Name
Type
Description

animDict

string

ชื่อ animation dictionary

timeout

number|function

(ไม่บังคับ) จำนวน tick ที่จะรอ (ค่าเริ่มต้น: 500) หรือ callback

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

Type
Description

string|nil

คืนชื่อ anim dict เมื่อสำเร็จ หรือ nil หาก timeout

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

circle-exclamation

ESX.Streaming.RequestAnimSet

โหลด animation set (movement clipset) เข้า memory

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

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

Name
Type
Description

animSet

string

ชื่อ animation set (clipset)

timeout

number|function

(ไม่บังคับ) จำนวน tick ที่จะรอ (ค่าเริ่มต้น: 500) หรือ callback

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

Type
Description

string|nil

คืนชื่อ anim set เมื่อสำเร็จ หรือ nil หาก timeout

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


ESX.Streaming.RequestNamedPtfxAsset

โหลด particle effects asset (PTFX) เข้า memory

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

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

Name
Type
Description

ptFxName

string

ชื่อ particle effect asset

timeout

number|function

(ไม่บังคับ) จำนวน tick ที่จะรอ (ค่าเริ่มต้น: 500) หรือ callback

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

Type
Description

string|nil

คืนชื่อ asset เมื่อสำเร็จ หรือ nil หาก timeout

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


ESX.Streaming.RequestStreamedTextureDict

โหลด texture dictionary (TXD) เข้า memory

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

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

Name
Type
Description

textureDict

string

ชื่อ texture dictionary

timeout

number|function

(ไม่บังคับ) จำนวน tick ที่จะรอ (ค่าเริ่มต้น: 500) หรือ callback

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

Type
Description

string|nil

คืนชื่อ texture dict เมื่อสำเร็จ หรือ nil หาก timeout

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


ESX.Streaming.RequestWeaponAsset

โหลด weapon asset เข้า memory

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

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

Name
Type
Description

weaponHash

string|number

ชื่ออาวุธ หรือ weapon hash

timeout

number|function

(ไม่บังคับ) จำนวน tick ที่จะรอ (ค่าเริ่มต้น: 500) หรือ callback

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

Type
Description

number|nil

คืนค่า weapon hash เมื่อสำเร็จ หรือ nil หาก timeout

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

circle-info

เมื่อโหลดสำเร็จแล้ว ควรคืน resource ที่เกี่ยวข้องหากมี API รองรับ ตัวอย่างเช่น model ให้เรียก SetModelAsNoLongerNeeded(model)

Last updated