FiveM เสื้อผ้า Custom คืออะไร ต่างจาก Add-on Clothes และ Props อย่างไร

FiveM เสื้อผ้า Custom คือเสื้อผ้า เครื่องแต่งกาย หรือส่วนประกอบของตัวละครที่ถูกเพิ่มหรือปรับแต่งจาก Content เดิมของ GTA V เพื่อให้ผู้เล่นใน FiveM สามารถสร้างตัวละครที่มีรูปลักษณ์เฉพาะ Server เช่น เสื้อแก๊ง ชุดตำรวจ เสื้อร้านค้า ชุดหน่วยแพทย์ รองเท้า กางเกง หมวก หรือเครื่องประดับต่าง ๆ

ในระบบ Ped ของ GTA V/FiveM เสื้อผ้าและเครื่องแต่งกายถูกจัดการผ่านแนวคิดอย่าง Components, Drawables, Textures และ Props โดย FiveM มี Native เช่น SET_PED_COMPONENT_VARIATION สำหรับเปลี่ยน Component Variation ของ Ped และระบุ componentId, drawableId, textureId และ paletteId โดยตรง.

FiveM รุ่นปัจจุบันยังมี Collection-based natives ซึ่งจัด Drawable Components และ Props เป็น Collections และช่วยให้ Local Index ภายใน Collection คงที่เมื่อมี GTA Title Update มากกว่าการอ้าง Global Index เพียงอย่างเดียว.

บทความนี้จาก comsiam จะอธิบายว่า FiveM Custom Clothes คืออะไร ต่างจาก Add-on Clothes, Replace Clothes และ Props อย่างไร พร้อมพื้นฐาน Component ID, Drawable, Texture และวิธีคิดที่ถูกต้องก่อนติดตั้งเสื้อผ้าจำนวนมากใน Server

FiveM เสื้อผ้า Custom คืออะไร

พูดแบบง่ายที่สุด

FiveM Custom Clothes
=
เสื้อผ้า/เครื่องแต่งกายที่ปรับแต่งหรือเพิ่มเข้ามา
เพื่อใช้กับ Ped ของผู้เล่นใน FiveM

ตัวอย่างเช่น

เสื้อยืด Server
เสื้อแก๊ง
ชุดตำรวจ
ชุด EMS
ชุด Mechanic
กางเกง Custom
รองเท้า Custom
แจ็กเก็ต
หมวก
แว่น
เครื่องประดับ

เสื้อผ้าเหล่านี้สามารถมีหลาย Drawable และหลาย Texture Variation ได้ โดย FiveM Native API มี Functions สำหรับนับและกำหนด Drawable/Texture Variations ของ Ped โดยตรง.

① Component คืออะไร

ใน GTA V/FiveM ตัวละครไม่ได้มี “เสื้อผ้าหนึ่งชุด” เป็นไฟล์เดียวเสมอไป แต่แบ่งเป็น Ped Components

SET_PED_COMPONENT_VARIATION ใช้ componentId เพื่อเลือกว่าเรากำลังเปลี่ยนส่วนใดของ Ped.

ตัวอย่าง Component ที่ Native Reference ระบุ ได้แก่

0  Face
1  Mask
2  Hair
3  Torso
4  Legs
5  Bags/Parachutes
6  Shoes
7  Accessories
8  Undershirts
9  Body Armor
10 Decals
11 Tops

รายการ Component เหล่านี้อ้างอิงตาม Ped Model และ Drawable/Texture IDs ก็สัมพันธ์กับ Ped Model ที่กำลังใช้.

② Drawable คืออะไรในเสื้อผ้า FiveM

Drawable คือ Variation หลักของ Component นั้น

ตัวอย่าง

Component 11 = Tops

อาจมี Drawable

Drawable 0
Drawable 1
Drawable 2
Drawable 3
...

แต่ละ Drawable อาจเป็นเสื้อคนละทรง เช่น

เสื้อยืด
เสื้อเชิ้ต
แจ็กเก็ต
เสื้อ Hoodie
เสื้อ Uniform

FiveM Native SET_PED_COMPONENT_VARIATION รับ drawableId โดยตรงเพื่อกำหนด Variation ของ Component.

③ Texture คืออะไร

Drawable หนึ่งตัวสามารถมีหลาย Texture Variations

ตัวอย่าง

Drawable = เสื้อ Hoodie

แต่ Texture อาจเป็น

Texture 0 = สีดำ
Texture 1 = สีแดง
Texture 2 = สีน้ำเงิน
Texture 3 = Logo Gang A
Texture 4 = Logo Gang B

FiveM Native API แยก drawableId และ textureId ออกจากกัน และมี Functions สำหรับตรวจจำนวน Texture Variations ของ Drawables/Props.

④ Drawable กับ Texture ต่างกันอย่างไร

จำง่าย ๆ

Drawable
= รูปทรง/Variation หลัก

Texture
= รูปแบบพื้นผิวของ Drawable นั้น

ตัวอย่าง

เสื้อ Hoodie
= Drawable

Hoodie สีดำ
Hoodie สีแดง
Hoodie Logo Police
= Texture Variations

ดังนั้นถ้าต้องการเปลี่ยนเพียงสีหรือ Logo อาจไม่จำเป็นต้องสร้าง Drawable ใหม่ทุกครั้ง ขึ้นอยู่กับ Asset Design

⑤ Custom Clothes ต่างจาก GTA V Clothes เดิมอย่างไร

GTA V มี Drawable Components และ Props ของ Ped อยู่แล้ว ส่วน Custom Clothes คือ Content ที่ Server เพิ่มหรือปรับแต่งเพื่อขยายตัวเลือกจากของเดิม

FiveM Documentation อธิบายว่า GTAV Ped Drawables และ Props ถูกจัดเป็น Collections และ FiveM มี Collection-based APIs สำหรับเข้าถึง Content เหล่านี้.

Server จึงสามารถมีทั้ง

GTA V Clothes เดิม
+
Custom Clothes

อยู่ร่วมกัน

⑥ FiveM Add-on Clothes คืออะไร

โดยแนวคิด Add-on Clothes คือการเพิ่ม Content เสื้อผ้าใหม่เข้าระบบแทนการเขียนทับ Variation เดิมที่มีอยู่

ภาพรวม

ของเดิม
0
1
2
3

เพิ่ม Custom
4
5
6
...

อย่างไรก็ตามการอ้าง Index แบบ Global มีข้อควรระวัง เพราะ Cfx.re ระบุว่า GTA Title Updates สามารถทำให้ Global Index ของ Custom Drawable Components และ Props เปลี่ยนได้.

นี่เป็นหนึ่งในเหตุผลที่ FiveM เพิ่ม Collection-based natives

⑦ Replace Clothes คืออะไร

Replace Clothes คือแนวทางที่ Custom Asset เข้าไปแทน Variation เดิม

ภาพรวมเชิงแนวคิด

เสื้อเดิม Drawable 10
↓
Replace
↓
เสื้อ Custom ใช้ตำแหน่งเดิม

ข้อเสียคือ Content ต้นฉบับใน Slot นั้นอาจไม่สามารถใช้ในรูปเดิมได้ และการดูแล Asset Pack ขนาดใหญ่จะซับซ้อนกว่าเมื่อมี Resources หลายชุดเข้ามาแก้ตำแหน่งเดียวกัน

สำหรับ Server ใหญ่จึงควรแยกให้ได้ว่า Pack ที่ใช้เป็น Add-on หรือ Replace ก่อนติดตั้ง

⑧ Add-on กับ Replace แบบไหนดีกว่า

สำหรับ Server ที่ต้องการมีเสื้อผ้าจำนวนมาก Add-on มักจัดการ Content ได้เป็นระบบกว่า เพราะไม่ต้องตั้งใจเขียนทับ Drawable เดิมทุกชิ้น

แต่ไม่ได้หมายความว่า Replace ใช้ไม่ได้

ควรดู

จำนวนเสื้อผ้า
Compatibility
ระบบ Clothing Menu
Ped Model
Resource Structure
วิธีที่ Creator ออกแบบ

ก่อนเลือก

⑨ Props คือเสื้อผ้าหรือไม่

ใน GTA/FiveM Props ถูกแยกจาก Drawable Components

FiveM มี Native SET_PED_PROP_INDEX สำหรับกำหนด Prop Variation และ Documentation ระบุว่า Components, Drawables และ Texture IDs สัมพันธ์กับ Ped Model.

ตัวอย่าง Props มักรวมสิ่งที่ติดกับ Ped ในระบบ Prop Slots เช่นหมวกหรือแว่นตาม Ped/Slot ที่ใช้งาน

⑩ Component กับ Prop ต่างกันอย่างไร

จำแบบง่าย

Component
→ เสื้อ กางเกง รองเท้า Torso ฯลฯ

Prop
→ Accessory ที่อยู่ใน Prop Slots

และ FiveM แยก Native ระหว่าง

SET_PED_COMPONENT_VARIATION

กับ

SET_PED_PROP_INDEX

อย่างชัดเจน.

⑪ หมวกเป็น Component หรือ Prop

ในการทำระบบแต่งตัว FiveM หมวกมักถูกจัดการผ่าน Ped Prop Variation มากกว่าผ่าน Component Variation

จึงพบการใช้

SetPedPropIndex(...)

สำหรับ Accessory ประเภทนี้

Native ดังกล่าวรับ propIndex, drawableId, textureId และค่าที่กำหนดว่าจะ Attach Prop หรือไม่.

⑫ แว่นเป็น Prop หรือไม่

ในระบบ Ped Variation แว่นเป็นอีกตัวอย่างของ Item ที่ระบบแต่งตัวมักจัดการผ่าน Props

สิ่งสำคัญคือไม่ควรนำ Component Index และ Prop Index มาปนกัน เพราะ API แยกออกเป็นคนละชุด.

⑬ เสื้อด้านนอกกับ Torso เกี่ยวข้องกันอย่างไร

เสื้อ FiveM บางตัวต้องจับคู่

Top
+
Torso/Arms
+
Undershirt

ให้เหมาะสม

ถ้าเลือก Combination ผิดอาจเห็น

  • แขนทะลุเสื้อ

  • แขนหาย

  • เสื้อด้านในทะลุออกมา

  • Skin โผล่ผิดตำแหน่ง

ดังนั้นระบบ Clothing Menu ที่ดีต้องเก็บ Combination ที่เข้ากัน ไม่ใช่สุ่ม Drawable ทุก Component โดยไม่สนกัน

⑭ ทำไมแขนตัวละครหายหลังใส่เสื้อ

อาการนี้มักเกิดจาก Combination ของ

Top
Torso
Undershirt

ไม่สัมพันธ์กัน

ไม่ได้หมายความว่า Texture เสื้อเสียเสมอไป

ก่อนแก้ Asset ควรลองเปลี่ยน Torso/Arms Variation ที่ Creator แนะนำก่อน

⑮ ทำไมเสื้อทะลุตัว

อาจเกิดจาก

  • Mesh

  • Weighting

  • Torso Combination

  • Undershirt

  • Ped Model

  • Asset Design

หากเกิดกับเสื้อตัวเดียวบนทุก Client ให้สงสัย Asset/Combination มากกว่าปัญหา Network

⑯ ทำไมเสื้อด้านในทะลุแจ็กเก็ต

เพราะเสื้อด้านในกับ Outer Top อาจใช้ Geometry ที่ซ้อนกัน

ตัวอย่าง

Undershirt หนา
+
Jacket คับ
=
Clipping

ระบบ Clothing Script ที่ดีจึงมักต้องจัด Compatible Combinations ของ Tops และ Undershirts

⑰ Female กับ Male Clothes ใช้ร่วมกันได้ไหม

ไม่ควรถือว่าใช้ Asset เดียวกันได้โดยอัตโนมัติ

Ped Models และ Drawable Variations ผูกกับ Model ที่ใช้งาน โดย Cfx.re Native Reference ระบุว่า Components, Drawables และ Texture IDs สัมพันธ์กับ Ped Model.

ดังนั้น Asset ที่ทำสำหรับ Ped Model หนึ่งอาจไม่เหมาะกับอีก Model

⑱ MP Male และ MP Female คืออะไร

FiveM Roleplay Servers จำนวนมากใช้ Multiplayer Freemode Ped Models เป็นฐานของระบบ Character Customization

สิ่งสำคัญในเชิงเทคนิคคือ Clothing IDs ต้องถูกอ่านในบริบทของ Ped Model นั้น ไม่ควรคิดว่า Drawable 50 ของ Ped หนึ่งต้องเป็นเสื้อเดียวกับ Drawable 50 ของ Ped อีกตัว เพราะ IDs สัมพันธ์กับ Ped Model.

⑲ Clothing ID คืออะไร

เวลาระบบแต่งตัวบันทึกค่า เช่น

Component = 11
Drawable = 42
Texture = 3

โดยแนวคิดหมายถึง

Component 11
→ ใช้ Drawable 42
→ Texture 3

FiveM Native ใช้ค่าลักษณะนี้โดยตรงในการกำหนด Component Variation.

⑳ ทำไม Clothing ID เปลี่ยนหลัง GTA Update

Cfx.re ระบุว่า Global Index ของ Custom Drawable Components และ Props สามารถเปลี่ยนทุก Title Update เพราะ Collections ถูกวางต่อกันเป็นชุด และเมื่อ Collection ของเกมมี Drawables เพิ่มเข้ามา Global Index ของ Collections ที่อยู่ถัดไปสามารถเลื่อนได้.

นี่เป็นปัญหาสำคัญของระบบ Clothing ที่เก็บเพียง Global Drawable ID

㉑ Collections คืออะไร

Cfx.re อธิบายว่า Ped Drawable Components และ Props ถูกจัดเก็บใน Named Collections

สามารถมองเป็น

Collection A
├── Drawable 0
├── Drawable 1
└── Drawable 2

Collection B
├── Drawable 0
├── Drawable 1
└── Drawable 2

แต่ละ Collection มีชื่อและมี Local Drawable Index ของตัวเอง.

㉒ Global Index คืออะไร

Global Index คือการนับ Drawables ต่อกันจาก Collections ทั้งหมด

สมมติ

Collection A = 10 Drawables
Collection B = 10 Drawables

Drawable แรกของ Collection B อาจถูกมองเป็น Global Position ต่อจาก Collection A

เมื่อ Game Update เพิ่ม Content ใน Collection ที่มาก่อนหน้า ตำแหน่ง Global ของ Collection หลัง ๆ สามารถเปลี่ยนได้.

㉓ Local Index คืออะไร

Local Index คือ Index ภายใน Collection นั้นเอง

เช่น

Collection custom_police
Drawable 0
Drawable 1
Drawable 2

Cfx.re ระบุว่า Collection-based indexes ถูกออกแบบให้คงที่หลัง Title Updates จึงช่วยลดปัญหา Index Migration.

㉔ Collection-based Natives มีข้อดีอะไร

ประโยชน์สำคัญคือ Server สามารถอ้าง

Collection
+
Local Drawable Index

แทนการพึ่ง Global Index อย่างเดียว

Cfx.re ระบุชัดว่า Collection-based indexes ยังคง Stable หลัง Title Updates ซึ่งช่วยลดงาน Migration เมื่อ Server เปลี่ยน Game Build.

㉕ ตัวอย่าง Collection Component Native

FiveM มี Native เช่น

SetPedCollectionComponentVariation(
    ped,
    componentId,
    collection,
    drawableId,
    textureId,
    paletteId
)

ซึ่งใช้ Local Drawable ID ภายใน Collection แทน Global Drawable Index.

นี่มีประโยชน์มากสำหรับระบบ Clothing ที่ต้องการความเสถียรระยะยาว

㉖ Custom Clothes ต้องมี Script ไหม

ตัว Asset เสื้อผ้าและระบบเลือกเสื้อผ้าเป็นคนละส่วน

สามารถมองเป็น

Clothing Assets
+
Clothing Script/Menu

Asset ทำให้ Content พร้อมใช้งาน

ส่วน Script/Menu ทำหน้าที่

  • แสดงรายการ

  • เปลี่ยน Component

  • เปลี่ยน Texture

  • Save Outfit

  • Load Outfit

FiveM มี Native สำหรับเปลี่ยน Ped Variations แต่ระบบ Menu และ Database เป็นสิ่งที่ Server Developer สร้างหรือใช้ Resource เพิ่มเติมเอง.

㉗ Custom Clothes ต้องใช้ ESX ไหม

ตัวระบบ Ped Component ของ FiveM ไม่ได้เป็น ESX API

Native อย่าง

SET_PED_COMPONENT_VARIATION
SET_PED_PROP_INDEX

เป็น FiveM/GTA Client Natives.

แต่ Clothing Shop หรือ Character System ที่ Server ใช้อาจถูกสร้างให้พึ่ง ESX, QBCore หรือ Framework อื่นได้

จึงต้องแยก Asset ออกจาก Gameplay Script

㉘ Custom Clothes ต้องใช้ QBCore ไหม

หลักเดียวกัน

Asset เสื้อผ้าไม่จำเป็นต้องเป็น QBCore โดยตัวมันเอง

แต่ Menu ที่ใช้เลือกและบันทึก Outfit อาจเป็น QBCore Resource

ดังนั้นก่อนซื้อ Clothing Pack ควรตรวจว่า Package มี

เฉพาะ Assets

หรือ

Assets + Clothing Script

㉙ FiveM Resource คืออะไรในบริบทเสื้อผ้า

FiveM Server ทำงานผ่าน Resources ซึ่งสามารถประกอบด้วย Scripts และ Streaming Assets และ Resource สามารถ Start, Stop หรือ Restart แยกกันได้.

ดังนั้น Custom Clothing Pack มักถูกจัดเป็น Resource หนึ่งหรือหลาย Resources ภายใน

resources/

ตาม Package Structure ของ Creator

㉚ โครงสร้าง Resource เสื้อผ้าโดยทั่วไป

ตัวอย่างเชิงแนวคิด

resources/
└── [clothes]/
    └── custom_clothes/
        ├── fxmanifest.lua
        └── stream/

FiveM ระบุว่า Resource อยู่ภายใน resources/ และ Folder ในวงเล็บเหลี่ยมสามารถใช้เป็น Category ที่มี Resources หลายตัวอยู่ภายในได้.

㉛ fxmanifest.lua สำคัญไหม

สำคัญ

Resource Manifest ปัจจุบันคือ

fxmanifest.lua

และต้องอยู่ภายใน Resource Folder เพื่อกำหนด Metadata และส่วนต่าง ๆ ของ Resource.

ดังนั้นหากดาวน์โหลด Clothing Pack แล้ว FiveM หา Resource ไม่เจอ ให้ตรวจ Folder ที่มี fxmanifest.lua จริงก่อน

㉜ เสื้อผ้าไม่ขึ้นหลังติดตั้งตรวจอะไร

เริ่มจาก

Resource
↓
fxmanifest.lua
↓
Resource Started
↓
Ped Model
↓
Component
↓
Drawable
↓
Texture
↓
Clothing Menu

อย่าเริ่มด้วยการล้าง Cache หากผู้เล่นทุกคนไม่เห็นเสื้อผ้าชุดเดียวกัน

㉝ ตรวจ Resource ด้วย ensure

หลังวาง Resource ใน Server สามารถใช้ Resource Commands เช่น

ensure custom_clothes

โดย FiveM มีคำสั่ง ensure สำหรับทำให้ Resource ถูก Start หรือ Restart ตาม State ปัจจุบัน.

ควรเพิ่ม Resource ที่ต้องเปิดทุกครั้งไว้ใน Server Configuration ด้วยตามการจัดการ Server ของคุณ

㉞ เพิ่งเพิ่ม Resource ให้ใช้ refresh

ถ้าเพิ่ม Clothing Resource ขณะ FXServer ทำงานอยู่ สามารถใช้

refresh

เพื่อให้ Server Rescan Resources และ Manifests ก่อน ensure Resource ใหม่.

Workflow

refresh
ensure custom_clothes

ช่วยแยกปัญหา “Server ยังไม่รู้จัก Resource” ออกจาก “Asset เสื้อผ้ามีปัญหา”

㉟ เสื้อผ้าขึ้นแต่ Texture ผิด

ถ้า Drawable ถูกต้องแต่

  • สีผิด

  • Logo ผิด

  • Texture ไม่ตรง

  • Texture Variation อื่นถูกเลือก

ให้ตรวจ textureId

เพราะ FiveM แยก Drawable ID และ Texture ID ใน Ped Component API.

ตัวอย่าง

Drawable 50
Texture 0 = ดำ
Texture 1 = แดง
Texture 2 = Police

㊱ เสื้อคนละตัวขึ้นแทนตัวที่เลือก

หนึ่งในจุดที่ควรตรวจคือระบบกำลังเก็บ Global Drawable Index และ Index เปลี่ยนหลัง Title Update หรือไม่

Cfx.re อธิบายปัญหานี้โดยตรงและแนะนำ Collection-based natives เพื่อให้ Local Index ของ Collection เสถียรกว่า.

นี่สำคัญมากสำหรับ Server ที่เก็บ Outfits ระยะยาว

㊲ Outfit เก่าพังหลังอัปเดต Game Build

ถ้า Outfit Database บันทึกเพียง

componentId
drawableId
textureId

แบบ Global Index และ Game Title Update ทำให้ Index ของ Custom Collection เลื่อน Outfit เก่าสามารถชี้ไปยัง Drawable คนละตัวได้ตามปัญหาที่ Cfx.re อธิบายไว้.

ระบบใหม่ที่ควบคุมได้ควรพิจารณาการเก็บข้อมูล Collection ร่วมด้วย

㊳ Collection Name ควรเก็บใน Database ไหม

หาก Clothing System ของคุณใช้ Collection-based natives การเก็บ

Collection Name
Local Drawable ID
Texture ID

สามารถช่วยให้ Outfit อ้าง Asset ภายใน Collection ได้ตรงกว่า Global Index ระยะยาว เพราะ Local Index ภายใน Collection ไม่ถูกเลื่อนจาก Collections อื่นเมื่อมี Title Update.

รายละเอียด Implementation ต้องสัมพันธ์กับ Clothing Resource และ Database Schema ที่ใช้จริง

㊴ Drawable ID ใช้ร่วมทุก Ped ไม่ได้

FiveM Native Reference ระบุชัดว่า Components, Drawable IDs และ Texture IDs สัมพันธ์กับ Ped Model.

ดังนั้น

Ped A Drawable 10

ไม่ได้รับประกันว่าเท่ากับ

Ped B Drawable 10

ระบบ Outfit จึงควรตรวจ Model ก่อน Apply Clothing Data

㊵ สามารถตรวจว่า Variation ใช้ได้ไหม

ได้

FiveM มี Native IS_PED_COMPONENT_VARIATION_VALID สำหรับตรวจว่า Component Variation ที่กำหนดสามารถใช้กับ Ped ได้หรือไม่.

สิ่งนี้มีประโยชน์เมื่อต้อง

  • Validate Outfit

  • Randomize Clothes

  • ป้องกัน Invalid Combination

  • ตรวจข้อมูลเก่าหลัง Update

㊶ Collection Variation ก็ตรวจได้ไหม

FiveM ยังมี Native สำหรับตรวจ Collection Component Variation เช่น IS_PED_COLLECTION_COMPONENT_VARIATION_VALID ซึ่งตรวจความถูกต้องจาก Ped, Component, Collection, Drawable และ Texture.

จึงสามารถ Validate Clothing Data ก่อน Apply จริงได้

㊷ เสื้อผ้า Custom ทำให้ FPS ตกไหม

Custom Clothes เป็น Streaming Assets ที่ Client ต้องโหลดและ Render เช่นเดียวกับ Content อื่นของ Server

แต่ไม่ควรสรุปจากจำนวนเสื้อเพียงอย่างเดียวว่า FPS จะตกเสมอ

ควรดู

  • Model Complexity

  • Texture Resolution

  • จำนวนผู้เล่นที่อยู่ใน Scene

  • จำนวน Custom Assets อื่น

  • Client Hardware

FiveM Resources สามารถมี Streaming Assets และ Client จะต้องจัดการ Content ของ Resources ที่ใช้งาน.

㊸ เสื้อผ้า 4K ทุกชุดจำเป็นไหม

ไม่

เสื้อผ้าที่ผู้เล่นเห็นในระยะทั่วไปไม่จำเป็นต้องมี Texture ความละเอียดสูงสุดทุกชิ้น

โดยเฉพาะ Server ที่มี

Clothes หลายพันรายการ
+
Custom Cars
+
MLO
+
Maps

ควรคิดเรื่อง Asset Budget รวมมากกว่าคุณภาพ Texture รายตัวเพียงอย่างเดียว

㊹ Clothing Pack ใหญ่ทำให้โหลดช้าไหม

ยิ่ง Server มี Streaming Assets มาก Client ก็มี Content มากขึ้นที่ต้องจัดการ แต่ Performance จริงขึ้นกับคุณภาพและโครงสร้าง Assets ไม่ใช่จำนวน Folder เพียงอย่างเดียว

FiveM Resource System รองรับ Streaming Assets เป็นส่วนหนึ่งของ Resources โดยตรง.

ดังนั้น Pack ใหญ่ควรถูกตรวจก่อน Production แทนการใส่ทั้งหมดแล้วค่อยรอปัญหา

㊺ ไม่ควรรวมเสื้อผ้าทุก Pack แบบ Copy/Replace

หาก Resources สองชุดมี Asset Names ชนกัน การ Copy Files เข้า Folder เดียวแล้วกด Replace สามารถทำให้ Asset จาก Pack หนึ่งหายได้

วิธีที่ปลอดภัยกว่าในขั้นแรกคือ

Pack A แยก Resource
Pack B แยก Resource

ทดสอบทั้งคู่ก่อน แล้วจึงพิจารณา Merge เมื่อเข้าใจ Asset Structure จริง

㊻ Clothing Conflict ดูอย่างไร

อาการ เช่น

  • เสื้อ A กลายเป็นเสื้อ B

  • Texture ผิด

  • Item หายหลังเพิ่ม Pack ใหม่

  • Outfit เก่าเปลี่ยน

  • Resource เดี่ยวปกติ แต่ Merge แล้วเสีย

ให้ทดสอบ

Pack A ON
Pack B OFF

แล้ว

Pack A OFF
Pack B ON

ก่อน

ถ้าแยกแล้วปกติ ให้ตรวจ Asset/Index Conflict

㊼ เสื้อผ้าหายหลัง GTA Title Update

จุดสำคัญที่ต้องตรวจคือ Index

Cfx.re ระบุว่า Global Index ของ Custom Components/Props สามารถเปลี่ยนเมื่อ Title Update เพิ่ม Drawables เข้า Collections ของเกม.

ดังนั้นหาก

ก่อน Update → Outfit ปกติ
หลัง Update → ใส่คนละตัว

อย่ารีบคิดว่า Asset File ถูกลบ

ตรวจ Index Migration ก่อน

㊽ Collection-based Natives แก้ทุกปัญหาเสื้อผ้าไหม

ไม่

ช่วยแก้ปัญหา Index Stability ได้มาก แต่ไม่ได้ซ่อม

  • Model แตก

  • Texture ผิด

  • Weighting เสีย

  • Clipping

  • Resource ไม่ Start

  • Missing Asset

ดังนั้นต้องแยกปัญหาระดับ Index ออกจากปัญหา Asset

㊾ Custom Clothes ใช้กับ NPC ได้ไหม

Ped Component/Prop Natives ทำงานกับ Ped Entity และ IDs จะขึ้นกับ Ped Model ที่รองรับ Variations นั้น.

จึงไม่ควรสมมติว่า Custom Clothes ที่สร้างสำหรับ Multiplayer Character Model จะใส่ NPC Model ทุกตัวได้โดยอัตโนมัติ

㊿ เสื้อผ้าควรทดสอบอะไรบ้าง

ก่อน Production ควรทดสอบ

ชาย
หญิง
เดิน
วิ่ง
นั่ง
ขึ้นรถ
ถืออาวุธ
ยกแขน
Emote
หมอบ
ว่ายน้ำถ้าเกี่ยวข้อง

เพื่อดู

  • Clipping

  • Weighting

  • แขนหาย

  • Texture

  • Props หลุด

  • Combination

การเปิดดูเสื้อใน Character Menu อย่างเดียวไม่เพียงพอ

51. เสื้อผ้าตำรวจควรจัดอย่างไร

ควรแยก Combination ที่ผ่านการทดสอบแล้ว เช่น

Top
Torso
Undershirt
Legs
Shoes
Accessories
Props

แทนการให้ผู้เล่น Mix ทุกอย่างแบบไร้ข้อจำกัด

เพราะ Top/Torso/Undershirt บาง Combination สามารถเกิด Clipping แม้แต่ละ Drawable จะใช้งานได้แยกกัน

52. Gang Clothes ควรทำ Texture หรือ Drawable ใหม่

ถ้าเป็นเสื้อทรงเดิมแต่ต่างเพียง

Logo
สี
ลาย

การออกแบบเป็น Texture Variations สามารถเป็นแนวทางหนึ่งได้ เพราะ FiveM แยก Drawable และ Texture IDs อยู่แล้ว.

แต่ถ้ารูปทรงเสื้อแตกต่างจริง จึงเป็นเรื่องของ Drawable/Model Asset

53. เปลี่ยนสีเสื้อด้วย Texture ดีกว่าสร้าง Drawable ซ้ำไหม

ถ้า Geometry เหมือนเดิม การใช้ Texture Variations สามารถหลีกเลี่ยงการสร้าง Model Variation ซ้ำโดยไม่จำเป็น

ตัวอย่าง

Hoodie Model เดียว
├── Black
├── Red
├── Blue
└── Green

สอดคล้องกับระบบที่ FiveM แยก Texture Variation จาก Drawable ID.

54. Props มี Texture Variations ได้ไหม

ได้

FiveM มี Native สำหรับดูจำนวน Texture Variations ของ Ped Props โดยรับ Ped, Prop Index และ Drawable ID.

ดังนั้นหมวกหรือ Prop Drawable หนึ่งตัวสามารถมี Texture Variations ได้ตาม Asset/Ped Model

55. Clothing Menu ควรเช็กจำนวน Drawable อย่างไร

อย่ากำหนด Max Drawable แบบ Hard-code หากระบบสามารถ Query จาก Ped ได้

FiveM มี Native APIs สำหรับ Drawable/Texture Variations และ Collection-based APIs สำหรับ Components/Props.

ระบบ Menu ที่อ่านจำนวน Variation จริงจะทนต่อการเปลี่ยน Content ได้ดีกว่ากำหนดเลขสูงสุดแบบเดา

56. Outfit Database ควรเก็บอะไร

ในระบบแบบพื้นฐานอาจมี

Ped Model
Component ID
Drawable
Texture
Prop Slot
Prop Drawable
Prop Texture

และถ้าใช้ Collection-based Architecture ควรพิจารณา

Collection Name
Local Drawable ID

ด้วย เพราะ Cfx.re ระบุว่าการอ้าง Local Index ภายใน Collection มีความเสถียรต่อ Title Updates มากกว่า Global Index.

57. เสื้อผ้า Custom ต้องใช้ OneSync ไหม

การเปลี่ยน Ped Component เป็น Native Client Function และไม่ได้หมายความว่า Asset เสื้อผ้าต้องใช้ OneSync โดยอัตโนมัติ.

แต่ Character/Outfit System ของ Server อาจมีระบบ Synchronization หรือ Persistence ของตัวเอง ซึ่งต้องพิจารณาตาม Architecture นั้น

58. Asset Escrow ใช้กับ Clothing Resource ได้ไหม

Cfx.re มี Asset Escrow สำหรับปกป้อง Resource Assets และ Scripts ที่รองรับ และ Resources ที่ซื้อผ่านระบบ FiveM Asset สามารถผูกกับ Entitlement ของผู้ซื้อได้.

ดังนั้นถ้าเป็น Clothing Pack เชิงพาณิชย์ ควรติดตั้งตาม Documentation/License ของ Creator และไม่พยายาม Bypass Protection

59. Free Clothes กับ Paid Clothes ต่างกันตรงไหน

ราคาไม่ได้รับประกันคุณภาพทางเทคนิค

ควรตรวจ

  • Asset Quality

  • Texture

  • Clipping

  • Male/Female Support

  • Update Support

  • Game Build Compatibility

  • Resource Structure

  • License

  • จำนวน Variations

มากกว่าดูว่า Free หรือ Paid เพียงอย่างเดียว

60. วิธี Debug FiveM Custom Clothes แบบเร็วที่สุด

ใช้ลำดับนี้

ขั้นที่ 1 — ตรวจ Ped Model

ยืนยันว่า Asset ถูกสร้างสำหรับ Model ที่กำลังใช้ เพราะ Drawable/Texture IDs ขึ้นกับ Ped Model.

ขั้นที่ 2 — ตรวจ Resource

ดูว่า Resource อยู่ใน resources/ และมี Manifest ถูกต้อง.

ขั้นที่ 3 — หากเพิ่งเพิ่ม Resource

ใช้

refresh
ensure resource_name

ตาม Resource Commands ของ FiveM.

ขั้นที่ 4 — ตรวจ Component

เช่น

Top
Legs
Shoes
Torso

ขั้นที่ 5 — ตรวจ Drawable ID

ขั้นที่ 6 — ตรวจ Texture ID

ขั้นที่ 7 — ตรวจ Combination

โดยเฉพาะ

Top + Torso + Undershirt

ขั้นที่ 8 — ถ้า Outfit เปลี่ยนหลัง Update

ตรวจ Global Index Migration และพิจารณา Collection-based natives.

ขั้นที่ 9 — Validate Variation

สามารถใช้ Native สำหรับตรวจ Component Variation ว่าถูกต้องหรือไม่.

ขั้นที่ 10 — ปิด Clothing Pack อื่นชั่วคราว

ตรวจ Asset Conflict

ตารางสรุปปัญหา FiveM เสื้อผ้า Custom

อาการจุดที่ควรตรวจ
เสื้อไม่ขึ้นเลยResource / Ped Model / Drawable
เสื้อคนละตัวขึ้นDrawable Index
สีเสื้อผิดTexture ID
Logo ผิดTexture Variation
แขนหายTorso / Top Combination
เสื้อด้านในทะลุUndershirt / Top
เสื้อทะลุตัวMesh / Weighting / Combination
Male ใช้ได้ Female ไม่ได้Ped Model / Asset Version
หมวกไม่ขึ้นProp Slot / Drawable
แว่นผิดProp Drawable/Texture
Update แล้ว Outfit เปลี่ยนGlobal Index Shift
Pack เดี่ยวปกติ Merge แล้วเสียAsset/Index Conflict
ทุก Client ไม่เห็น ItemResource/Asset
Client เดียวไม่เห็นClient State/Streaming
Clothing Menu ไม่มี ItemMenu/Index/Resource Integration

Custom Clothes ที่ดีควรมีอะไร

เสื้อผ้า FiveM ที่เหมาะกับ Production Server ควรมี

  • Model เหมาะกับ Ped

  • Weighting ถูก

  • Texture Resolution สมเหตุสมผล

  • ไม่มี Clipping รุนแรง

  • Male/Female ระบุชัด

  • Drawable/Texture Structure เป็นระบบ

  • Compatible Torso/Top ระบุไว้

  • Resource Structure ชัดเจน

  • ไม่ชน Asset Pack อื่น

  • ทดสอบหลัง Game Update

และสำหรับระบบ Clothing ที่พัฒนาเอง ควรพิจารณา Collection-based natives เพราะ Cfx.re ออกแบบมาแก้ปัญหา Global Index ของ Custom Components/Props ที่เปลี่ยนหลัง Title Updates โดยเฉพาะ.

Custom Clothes ต่างจาก Props แบบสั้นที่สุด

จำแบบนี้

Components
→ Tops
→ Legs
→ Shoes
→ Torso
→ Undershirts
→ Accessories บางประเภท

Props
→ Accessories ใน Prop Slots
→ เช่น หมวก/แว่นตาม Ped

FiveM แยก API เป็น

SET_PED_COMPONENT_VARIATION

และ

SET_PED_PROP_INDEX

อย่างชัดเจน.

Custom Clothes กับ Add-on Clothes ต่างกันอย่างไร

Custom Clothes เป็นคำกว้าง ๆ ครอบคลุมเสื้อผ้าที่ถูกปรับแต่งสำหรับ Server

ส่วน Add-on Clothes เป็นแนวทางหนึ่งในการเพิ่ม Clothing Content ใหม่ โดยไม่ตั้งใจ Replace Variation เดิมโดยตรง

ดังนั้น

Custom Clothes
├── Add-on
└── Replace

สามารถใช้เป็นภาพจำพื้นฐานได้

สำหรับ FiveM ปัจจุบัน ประเด็นสำคัญกว่าชื่อเรียกคือระบบอ้าง Drawable อย่างไร เพราะ Cfx.re ระบุว่า Global Index สามารถเปลี่ยนตาม Title Updates แต่ Local Index ภายใน Named Collection ยังคง Stable.

สรุป FiveM เสื้อผ้า Custom คืออะไร

FiveM เสื้อผ้า Custom คือ Custom Ped Clothing Content ที่เพิ่มหรือปรับแต่งเสื้อ กางเกง รองเท้า เครื่องแต่งกาย และ Props เพื่อใช้กับตัวละครใน Server

ระบบพื้นฐานสามารถจำเป็นโครงสร้างนี้

Ped Model
↓
Component / Prop
↓
Drawable
↓
Texture

FiveM มี SET_PED_COMPONENT_VARIATION สำหรับเปลี่ยน Ped Components และ SET_PED_PROP_INDEX สำหรับ Props โดย Drawable และ Texture IDs จะสัมพันธ์กับ Ped Model ที่กำลังใช้งาน.

สำหรับ Server ที่มี Custom Clothes จำนวนมาก ควรให้ความสำคัญกับ Collections ด้วย เพราะ Cfx.re ระบุว่า Global Drawable Index สามารถเปลี่ยนหลัง GTA Title Updates แต่ Collection-based Local Index ถูกออกแบบให้คงที่ ทำให้ระบบ Outfit และ Clothing Migration ดูแลง่ายขึ้น.

หาก เสื้อไม่ขึ้น ให้ตรวจ Resource, Ped Model, Component และ Drawable

หาก สีหรือ Logo ผิด ให้ตรวจ Texture ID

หาก แขนหายหรือเสื้อทะลุ ให้ตรวจ Top/Torso/Undershirt Combination และตัว Asset

หาก หมวกหรือแว่นไม่ขึ้น ให้ตรวจ Prop Slot

และหาก หลัง GTA Update เสื้อคนละตัวขึ้นแทน Outfit เดิม ให้ตรวจ Global Drawable Index ก่อนลบหรือ Reinstall Clothing Pack

แนวทางของ comsiam คือจัด Custom Clothes เป็น Resources ที่ระบุเจ้าของและประเภทชัดเจน ทดสอบ Asset ทีละ Pack และเก็บข้อมูล Ped/Collection/Drawable/Texture ให้เป็นระบบ เพราะเมื่อ Server มีเสื้อผ้าหลายร้อยหรือหลายพันรายการ การจัด Index ให้ถูกตั้งแต่ต้นจะลดปัญหา Outfit เพี้ยนและการแก้ข้อมูลครั้งใหญ่หลัง Game Update ได้มาก

Comments

Popular posts from this blog

FiveM ยังน่าเล่นไหม? Enhanced เปลี่ยน FiveM แค่ไหน

FiveM คืออะไร เล่นอย่างไร สำหรับมือใหม่ เริ่มต้นตั้งแต่ศูนย์

วิธีตั้ง Admin Permission ด้วย add_ace และ add_principal FiveM แบบละเอียด