FiveM รถ Spawn ไม่ได้ แก้อย่างไร เช็ก Model, Script และ Resource แบบละเอียด
เจอปัญหา FiveM รถ Spawn ไม่ได้ ทั้งที่ติดตั้งรถเข้า Server แล้ว Resource ก็เหมือนจะทำงานปกติ เป็นอาการที่ต้องแยกจากปัญหา “รถไม่ขึ้น” เพราะในกรณีนี้ต้นเหตุอาจไม่ได้อยู่ที่ไฟล์รถเพียงอย่างเดียว แต่อาจเกิดจาก Spawn Name, Model ยังไม่ถูกโหลด, Script Spawn รถผิด, Resource ไม่ได้ Register รถอย่างถูกต้อง หรือการสร้าง Vehicle ฝั่ง Server/Client ไม่ตรงกับวิธีที่ Script ใช้งาน
บางครั้งพิมพ์คำสั่ง Spawn แล้วไม่มีอะไรเกิดขึ้น บางครั้งขึ้นว่า Model ไม่ถูกต้อง บางครั้งรถเกิดขึ้นเพียงเสี้ยววินาทีแล้วหาย หรือ Spawn ได้เฉพาะรถ GTA V เดิมแต่รถ Add-on ใช้ไม่ได้
บทความนี้จาก comsiam จะไล่ตรวจทุกจุดสำคัญตั้งแต่ Spawn Name, Resource, Model ไปจนถึง Script สำหรับสร้าง Vehicle เพื่อหาต้นเหตุให้ตรงจุด
FiveM รถ Spawn ไม่ได้ เกิดจากอะไร
สาเหตุที่พบได้บ่อย ได้แก่
Spawn Name ผิด
Resource รถยังไม่ทำงาน
รถ Add-on ไม่ได้ Register ถูกต้อง
vehicles.metaมีปัญหาModel Asset ไม่ครบ
Script ส่ง Model Name ผิด
Script ไม่ Request Model ก่อน Spawn
Model โหลดไม่สำเร็จ
Admin Menu ไม่รองรับรถนั้น
Vehicle Shop มี Config ผิด
Garage เก็บ Model Name ผิด
Script ฝั่ง Client มี Error
Script ฝั่ง Server มี Error
พิกัด Spawn ไม่เหมาะสม
OneSync/Server-side Entity Creation ถูกใช้งานไม่ถูกวิธี
Resource ถูก Restart ระหว่างสร้างรถ
จึงควรตรวจตามลำดับ ไม่ใช่เปลี่ยนไฟล์รถทั้งหมดทันที
① ทดสอบก่อนว่ารถ GTA V เดิม Spawn ได้หรือไม่
ก่อนตรวจรถ Custom ให้ลอง Spawn รถมาตรฐานของ GTA V ก่อน
เช่น
adder
หรือ
blista
ถ้ารถ GTA V เดิมก็ Spawn ไม่ได้เช่นกัน ปัญหาอาจไม่ได้อยู่ที่ Add-on Car
ควรตรวจ
Spawn Script
Admin Menu
Permission
Command
Client Script
Server Script
แต่ถ้ารถ GTA V เดิม Spawn ได้ และมีเฉพาะรถ Custom ที่ Spawn ไม่ได้ ให้เน้นตรวจ Resource และ Model ของรถ Custom
นี่เป็นวิธีแยกปัญหาที่เร็วมาก
② ตรวจ Spawn Name ให้ถูกต้อง
นี่เป็นสาเหตุอันดับต้น ๆ
สมมติรถชื่อในชีวิตจริงว่า
Nissan Skyline R34
แต่ Model Name จริงอาจเป็น
r34custom
เวลาสั่ง Spawn ต้องใช้
r34custom
ไม่ใช่
skyline
หรือ
nissanr34
หากผู้สร้าง Asset มี Readme หรือ Documentation ให้ใช้ Spawn Name จากแหล่งนั้นก่อน
③ อย่าสับสน Spawn Name กับ Resource Name
สมมติ Resource ชื่อ
jdm_pack
ภายในมีรถ
r34custom
supra01
rx7custom
คำสั่ง
ensure jdm_pack
ใช้สำหรับ Resource
แต่เวลาจะ Spawn รถต้องใช้
r34custom
ไม่ใช่
jdm_pack
ดังนั้นต้องแยกให้ออกว่า
Resource Name = ชื่อชุดไฟล์
Model/Spawn Name = ชื่อรถที่ Script ใช้สร้าง Vehicle
④ ตรวจว่า Resource รถทำงานอยู่จริง
รถ Add-on จะ Spawn ไม่ได้ถ้า Resource ที่ Streaming รถไม่ได้ทำงาน
สมมติ Resource คือ
jdm_pack
ลองใช้
ensure jdm_pack
และดู Server Console
FiveM ระบุว่า ensure จะ Start Resource หากยังไม่ทำงาน และจะ Restart หาก Resource ทำงานอยู่แล้ว ขณะที่ refresh ใช้สแกน Resource Folder และ Resource Manifest ใหม่
หากเพิ่งเพิ่ม Resource ใหม่ ใช้
refresh
ensure jdm_pack
ก่อนทดสอบอีกครั้ง
⑤ Resource Start ได้ ไม่ได้แปลว่ารถ Spawn ได้
จุดนี้สำคัญมาก
Resource อาจ Start ได้โดยไม่มี Error แต่ Model ภายในยังมีปัญหาได้
ตัวอย่างเช่น
Spawn Name ไม่ตรง
vehicles.metaผิดModel File ไม่ครบ
Data File ไม่ถูกโหลด
รถบางคันใน Car Pack เสีย
ดังนั้นคำว่า
Started resource jdm_pack
เพียงยืนยันว่า Resource ถูก Start ไม่ได้ยืนยันว่ารถทุก Model ภายในพร้อม Spawn
⑥ ตรวจ fxmanifest.lua
FiveM Resource ใช้ fxmanifest.lua เป็น Resource Manifest สำหรับประกาศข้อมูลและไฟล์ที่ Resource ใช้
ตัวอย่างเริ่มต้น
fx_version 'cerulean'
game 'gta5'
หากมี Vehicle Meta Files ก็ต้องประกาศให้ตรงกับโครงสร้างจริง
ตัวอย่าง
files {
'data/handling.meta',
'data/vehicles.meta',
'data/carcols.meta',
'data/carvariations.meta'
}
data_file 'HANDLING_FILE' 'data/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta'
data_file 'CARCOLS_FILE' 'data/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta'
ถ้า Path ผิด รถ Add-on อาจไม่ได้รับข้อมูลที่จำเป็นครบถ้วน
⑦ ตรวจ vehicles.meta
ถ้ารถ GTA V เดิม Spawn ได้แต่ Add-on Car Spawn ไม่ได้ vehicles.meta เป็นหนึ่งในจุดสำคัญที่ควรตรวจ
โดยเฉพาะข้อมูลที่เกี่ยวข้องกับชื่อ Model
สมมติ Model จริงคือ
r34custom
แต่ข้อมูลภายในอ้างถึงชื่ออื่น อาจทำให้ Vehicle ไม่ถูก Register ตามที่คาด
หากเคย Merge รถหลายคันเข้า Car Pack ให้เปรียบเทียบกับ vehicles.meta ต้นฉบับของรถคันนั้นอีกครั้ง
⑧ ตรวจว่า Model ถูก Register หรือไม่
FiveM มี Native GET_ALL_VEHICLE_MODELS ที่คืนรายชื่อ Vehicle Model ที่ Register อยู่ รวมถึง Custom Vehicles ด้วย
จุดนี้มีประโยชน์มากสำหรับ Developer
หาก Script ตรวจรายการ Vehicle Model แล้วไม่พบรถ Custom ที่ต้องการ แสดงว่าควรกลับไปตรวจ
Resource
Vehicle Metadata
Model
Manifest
Asset
ก่อนแก้ระบบ Garage หรือ Vehicle Shop
เพราะเกมอาจยังไม่รู้จัก Model นั้นตั้งแต่ต้น
⑨ ตรวจไฟล์ Model ใน stream
ตัวอย่างโครงสร้างรถ
mycar/
├── fxmanifest.lua
├── stream/
│ ├── r34custom.yft
│ ├── r34custom_hi.yft
│ └── r34custom.ytd
└── data/
ตรวจว่า Model Files ที่รถต้องใช้ถูก Copy มาครบ
โดยเฉพาะหลัง
ย้ายรถจาก Pack
เปลี่ยนชื่อไฟล์
Merge Resource
Optimize รถ
ลบไฟล์ที่คิดว่าไม่จำเป็น
การลบ Asset ผิดตัวสามารถทำให้รถ Spawn ไม่สำเร็จหรือแสดงผลผิดได้
⑩ อย่าเปลี่ยนชื่อ YFT/YTD แบบสุ่ม
ผู้เริ่มต้นบางคนเห็นชื่อรถไม่ตรงกับที่ต้องการ จึงเปลี่ยน
oldcar.yft
เป็น
newcar.yft
แล้วคิดว่า Spawn Name จะเปลี่ยนตาม
แต่ Vehicle Asset มีข้อมูลเชื่อมโยงหลายส่วน
การเปลี่ยนชื่อไฟล์อย่างเดียวไม่ได้แปลว่าจะเปลี่ยน Add-on Model ได้อย่างสมบูรณ์
ถ้าต้องการเปลี่ยน Model Name ควรเข้าใจโครงสร้าง Asset และ Meta ที่เกี่ยวข้องทั้งหมดก่อน
⑪ ถ้าใช้ Script Spawn รถ ต้องตรวจ Model ที่ Script ส่งมา
ตัวอย่าง Script อาจรับชื่อรถจาก Command
/car r34custom
จากนั้นส่งค่า
r34custom
ไปสร้าง Vehicle
ถ้า Script เปลี่ยนค่าเป็น
R34 Custom
หรืออ่าน Label แทน Model Name รถก็อาจ Spawn ไม่ได้
ดังนั้นใน Database หรือ Config ควรแยก
Label: Nissan Skyline R34
Model: r34custom
อย่างชัดเจน
⑫ CREATE_VEHICLE คืออะไร
FiveM มี Native CREATE_VEHICLE สำหรับสร้าง Vehicle ตาม Model และตำแหน่งที่กำหนด
แนวคิดพื้นฐานคือ
Model
X
Y
Z
Heading
ต้องถูกส่งเข้าไปอย่างถูกต้อง
ดังนั้นถ้า Script Spawn Vehicle มี Bug เช่น Model Hash ไม่ถูก พิกัดผิด หรือขั้นตอน Load Model ไม่สมบูรณ์ รถอาจไม่เกิดแม้ Asset รถจะปกติ
⑬ Client-side Spawn ต้องระวังเรื่อง Model Loading
เอกสาร Native ของ Cfx.re ระบุว่าเมื่อใช้ CREATE_VEHICLE Model ควรถูกโหลดไว้แล้ว เช่นผ่าน REQUEST_MODEL ก่อนสร้างรถ
แนวคิดทั่วไปจะเป็น
local model = joaat('r34custom')
RequestModel(model)
while not HasModelLoaded(model) do
Wait(0)
end
แล้วจึงค่อยสร้าง Vehicle
ตัวอย่างแนวคิด
local vehicle = CreateVehicle(
model,
x,
y,
z,
heading,
true,
false
)
โค้ดจริงต้องปรับตาม Resource และ Architecture ของ Server
อย่าคัดลอกตัวอย่างไปแทน Script Production โดยไม่ตรวจ Logic เดิม
⑭ Script Request Model แต่ไม่รอให้โหลด
ปัญหาที่พบบ่อยคือเขียน
RequestModel(model)
CreateVehicle(...)
ติดกันทันที
การ Request ไม่ได้หมายความว่า Model โหลดเสร็จในทันที
จึงมักต้องตรวจสถานะการโหลดก่อนสร้าง Vehicle ตามรูปแบบการทำงานของ Native
เอกสาร CREATE_VEHICLE ของ FiveM ระบุชัดว่า Model ควรโหลดไว้ก่อนสร้าง Vehicle
หาก Script เก่าหรือเขียนไม่สมบูรณ์ จุดนี้ควรถูกตรวจ
⑮ ควรใส่ Timeout ตอน Request Model
ถ้า Model มีปัญหาและเขียน Loop รอแบบไม่มีเงื่อนไข Script อาจรอตลอด
แนวทางที่ดีกว่าคือสร้าง Timeout
ตัวอย่างแนวคิด
local model = joaat('r34custom')
RequestModel(model)
local timeout = GetGameTimer() + 5000
while not HasModelLoaded(model) do
Wait(0)
if GetGameTimer() > timeout then
print('Vehicle model failed to load')
return
end
end
ข้อดีคือหาก Model ไม่สามารถโหลดได้ Script จะหยุดและแจ้งปัญหาแทนการติด Loop
⑯ ตรวจ Model ก่อนเรียก CREATE_VEHICLE
Script ที่ดีควร Validate Model ก่อนใช้งาน
โดยเฉพาะ Command ที่ Admin สามารถพิมพ์ Model Name เอง
ถ้าผู้ใช้พิมพ์
/car r34custmo
แทน
/car r34custom
Script ควรสามารถปฏิเสธหรือแจ้งว่า Model ไม่ถูกต้อง แทนการพยายาม Spawn ต่อไป
วิธีนี้ช่วยแยก
รถเสีย
ออกจาก
พิมพ์ Spawn Name ผิด
ได้ชัดเจน
⑰ รถ Spawn ได้ด้วย Admin Menu แต่ Vehicle Shop Spawn ไม่ได้
กรณีนี้มีข้อมูลสำคัญทันที
ถ้า Admin Menu Spawn
r34custom
ได้ตามปกติ
แสดงว่า
Resource มีโอกาสทำงานแล้ว
Model มีโอกาสถูก Register แล้ว
Asset มีโอกาสปกติ
ให้หันไปตรวจ Vehicle Shop
เช่น
Config
Database
Model Field
Callback
Permission
Money Check
Spawn Function
Coordinates
ไม่ควรแก้ Asset รถก่อน
⑱ Vehicle Shop ใช้ Label แทน Model
ตัวอย่างข้อมูลผิด
label = "Nissan Skyline R34"
model = "Nissan Skyline R34"
ทั้งที่ Model จริงคือ
r34custom
ควรเป็นแนวคิดประมาณ
label = "Nissan Skyline R34"
model = "r34custom"
รายละเอียด Syntax แตกต่างกันตาม Vehicle Shop ที่ใช้
จุดสำคัญคือ ชื่อที่ผู้เล่นเห็นไม่จำเป็นต้องเป็นชื่อเดียวกับ Model ที่ FiveM ใช้ Spawn
⑲ รถ Spawn ได้จาก Shop แต่ Garage Spawn ไม่ได้
กรณีนี้ให้ดูข้อมูลที่ถูกบันทึกลง Database
ตัวอย่างตอนซื้อรถอาจบันทึก
r34custom
แต่ Garage ดึงค่า
Nissan Skyline R34
มาเป็น Model
รถก็ไม่สามารถ Spawn ได้
จึงต้องตรวจว่า
Vehicle Model ที่บันทึก
และ
Vehicle Model ที่ Garage ส่งให้ Spawn Function
เป็นค่าเดียวกันหรือไม่
⑳ รถ Spawn ได้ก่อน Restart แต่หลัง Restart Spawn ไม่ได้
ตรวจ Resource Startup Order และ server.cfg
Resource รถอาจถูก Start ตอนทดสอบด้วยมือ เช่น
ensure r34
แต่ไม่ได้เพิ่มลง server.cfg
หลัง Restart Server Resource จึงไม่ทำงาน
ให้ตรวจว่ามี
ensure r34
หรือ Resource Category ที่ครอบคลุมรถนั้นอยู่หรือไม่
FiveM ใช้คำสั่ง ensure สำหรับเปิด Resource ตามสถานะที่กำหนด
㉑ Spawn รถฝั่ง Server ต่างจาก Client อย่างไร
FiveM รองรับการสร้าง Entity ทั้งจาก Client และ Server ตามระบบที่ Script ใช้
Cfx.re ระบุว่า OneSync สามารถสร้าง Entity เช่น Ped, Vehicle และ Object บน Server ได้ และยกตัวอย่าง CreateVehicleServerSetter สำหรับ Vehicle
ดังนั้นถ้า Script ของคุณ Spawn Vehicle ฝั่ง Server ต้องตรวจ Logic คนละส่วนกับ Script Client
อย่าดูเฉพาะ F8 แล้วสรุปว่าไม่มี Error เพราะ Error อาจอยู่ใน Server Console
㉒ OneSync เกี่ยวข้องกับการ Spawn รถอย่างไร
OneSync เป็นระบบสำคัญสำหรับ Entity Synchronization และ Cfx.re ระบุว่าสามารถใช้สร้าง Entity ฝั่ง Server ได้
ตัวอย่างในเอกสารใช้แนวคิด
local vehicle = CreateVehicleServerSetter(
GetHashKey("blista"),
"automobile",
x,
y,
z,
heading
)
พร้อมสามารถกำหนด Orphan Mode เพื่อควบคุม Persistence ของ Entity ฝั่ง Serverได้ตามกรณีใช้งาน
ถ้าใช้ระบบ Vehicle Persistence หรือ Garage ขั้นสูง ควรเข้าใจว่า Entity ถูกสร้างจากฝั่งใด
㉓ CREATE_VEHICLE ฝั่ง Server อาจล้มเหลวได้หรือไม่
ได้ ขึ้นอยู่กับ Native และวิธีที่ Script ใช้
เอกสาร Migration ของ Cfx.re ระบุว่าวิธี Server RPC CREATE_VEHICLE บางรูปแบบต้องมีผู้เล่นอยู่ใกล้ภายใน OneSync Focus Distance และการสร้างอาจล้มเหลวได้ เช่นผู้เล่นที่ถูกเลือก Disconnect ระหว่างกระบวนการ
ดังนั้นหาก Script Spawn รถที่พิกัดไกลจากผู้เล่นมาก ๆ แล้ว Vehicle ไม่เกิด ต้องดูว่ากำลังใช้วิธีสร้าง Entity แบบใด
สำหรับงาน Server-side Entity รุ่นใหม่ ควรตรวจแนวทาง OneSync และ Server Setter ที่ Cfx.re แนะนำด้วย
㉔ Spawn รถแล้วเกิดแวบเดียวก่อนหาย
ถ้า Vehicle เกิดแล้วหายทันที แสดงว่า Model อาจ Spawn สำเร็จแล้ว แต่มี Logic อื่นลบ Entity
ให้ตรวจ Script เช่น
Anti-cheat
Vehicle Cleanup
Delete Vehicle Script
Entity Management
Garage
Restricted Vehicle
Zone Script
Mission Cleanup
Resource Stop
กรณีนี้แตกต่างจาก “รถ Spawn ไม่ได้”
เพราะรถถูกสร้างขึ้นแล้ว เพียงแต่ถูกลบหลังจากนั้น
㉕ Spawn รถแล้วอยู่ใต้พื้น
บางครั้งคนเข้าใจว่ารถไม่ Spawn แต่จริง ๆ Vehicle ถูกสร้างอยู่ในตำแหน่งที่มองไม่เห็น
ตรวจพิกัด
X
Y
Z
โดยเฉพาะค่า Z
หาก Spawn Coordinates ผิด รถอาจ
อยู่ใต้ Map
อยู่บนฟ้า
อยู่ใน Interior ผิด
เกิดในกำแพง
ตกผ่านพื้น
ลอง Spawn ที่พื้นที่เปิดและพิกัดที่ยืนยันแล้วก่อนทดสอบ Script ที่ซับซ้อน
㉖ Spawn รถแล้วชนกันจนกระเด็น
ถ้า Script Spawn รถหลายคันใน Coordinate เดียวกัน Vehicle อาจชนกันทันที
โดยเฉพาะ
Dealership Preview
Garage
Event
Police Garage
Vehicle Test Drive
ควรตรวจว่าจุด Spawn ว่างหรือไม่ก่อนสร้างรถใหม่
ปัญหานี้ไม่ได้หมายความว่า Model รถเสีย
㉗ Command Spawn ใช้ไม่ได้เฉพาะ Admin บางคน
ตรวจ Permission
Admin Menu หรือ Command บาง Resource จำกัดสิทธิ์ด้วย
ACE Permission
Framework Group
txAdmin Permission
Discord Role Integration
Custom Permission System
ถ้าผู้ดูแล A Spawn ได้ แต่ผู้ดูแล B Spawn ไม่ได้ ให้ตรวจ Permission ก่อนตรวจรถ
เพราะ Asset รถเดียวกันไม่น่าจะเสียเฉพาะผู้ใช้คนหนึ่ง
㉘ เปิด F8 ตรวจ Error
FiveM Client Console เปิดได้ด้วยปุ่ม
F8
และ Cfx.re ระบุว่า Client Console มีคำสั่งสำหรับ Development และ Debug Resource Issues
ขณะทดลอง Spawn ให้ดูว่ามี Error เช่น
Script Error
Invalid Model
Nil Value
Callback Error
Export Error
Resource Error
หรือไม่
Error หนึ่งบรรทัดสามารถบอกต้นเหตุได้มากกว่าการลบ Cache หลายรอบ
㉙ ดู Server Console พร้อมกับ F8
สำหรับระบบ Spawn รถที่มีทั้ง Client และ Server Script ต้องเปิดดูสองฝั่งพร้อมกัน
Client F8
ใช้ดูปัญหาฝั่งผู้เล่น
Server Console
ใช้ดูปัญหาฝั่ง Server
ตัวอย่างเช่น Client อาจส่ง Event สำเร็จ แต่ Server Script Error ก่อนสร้างรถ
หรือ Server สร้างรถแล้ว แต่ Client Script Error ตอน Warp ผู้เล่นเข้า Vehicle
ถ้าดูเพียงฝั่งเดียวอาจหาปัญหาไม่เจอ
㉚ Restart Resource ที่ Spawn รถ
บางครั้งปัญหาไม่ได้อยู่ที่ Resource รถ แต่เป็น Resource ที่มี Spawn Command
สมมติ
jdm_pack
คือ Asset รถ
แต่
adminmenu
เป็น Resource สำหรับ Spawn
การ Restart แค่
restart jdm_pack
อาจไม่ช่วย หากปัญหาอยู่ที่ adminmenu
จึงต้องรู้ว่า Resource แต่ละตัวทำหน้าที่อะไร
㉛ ล้าง Cache ช่วยหรือไม่
ถ้าปัญหาเกิดจาก Script ส่ง Model ผิด หรือ Resource ไม่ได้ Start การล้าง Cache ไม่ได้แก้ต้นเหตุ
ควรล้าง Cache เป็นตัวเลือกภายหลังเมื่อมีหลักฐานว่าปัญหาเกิดเฉพาะ Client หรือ Asset เก่าถูกเก็บไว้ไม่ตรงกับ Server
ถ้าผู้เล่นทุกคน Spawn รถคันเดียวกันไม่ได้ ให้ตรวจ Server ก่อน
㉜ Car Pack Spawn ไม่ได้ทุกคัน
ถ้ารถทั้งหมดใน Pack ใช้ไม่ได้ ให้ตรวจระดับ Resource ก่อน เช่น
Resource ไม่ Start
Manifest Error
vehicles.metaไม่โหลดResource Name ผิด
Path ผิด
Pack เสีย
แต่ถ้ามีเพียงรถ 1 คันจาก 50 คัน Spawn ไม่ได้ ให้ตรวจ Model นั้นโดยเฉพาะ
วิธีนี้ช่วยลดพื้นที่ค้นหาปัญหาได้มาก
㉝ รถ Spawn ไม่ได้หลัง Merge Car Pack
ให้กลับไปตรวจไฟล์ก่อน Merge
โดยเฉพาะ
vehicles.meta
handling.meta
carcols.meta
carvariations.meta
สิ่งที่มักพลาดคือ
ลืม Copy Entry
XML Tag ไม่ครบ
Model Name ซ้ำ
Handling ID ซ้ำ
ลบ Entry เดิม
Copy ข้อมูลผิดตำแหน่ง
ถ้ารถต้นฉบับ Spawn ได้ แต่ Pack ที่ Merge แล้ว Spawn ไม่ได้ ปัญหาเกือบแน่นอนว่าเกิดหลังการแก้ Pack
㉞ แยกรถออกมาทดสอบเดี่ยว
นี่เป็นหนึ่งในวิธี Debug ที่ดีที่สุด
สมมติรถ
r34custom
อยู่ใน Pack 100 คัน
ให้สร้าง Test Resource เฉพาะรถนี้
r34_test
นำ
Model
Texture
Meta
Manifest
จากต้นฉบับมาทดสอบ
ถ้ารถ Spawn ได้เมื่ออยู่เดี่ยว แสดงว่า Asset ใช้งานได้ และควรกลับไปตรวจการ Merge หรือ Conflict ใน Car Pack
㉟ Checklist แก้ FiveM รถ Spawn ไม่ได้
ถ้าต้องการตรวจแบบรวดเร็ว ใช้ลำดับนี้
ขั้นที่ 1
ลอง Spawn รถ GTA V เดิม
adder
ขั้นที่ 2
ตรวจ Spawn Name รถ Custom
ขั้นที่ 3
ตรวจ Resource
ensure resource_name
ขั้นที่ 4
ถ้าเพิ่งเพิ่ม Resource
refresh
ensure resource_name
FiveM ระบุว่า refresh ใช้สแกน Resources/Manifests ใหม่
ขั้นที่ 5
ตรวจ fxmanifest.lua
ขั้นที่ 6
ตรวจ vehicles.meta
ขั้นที่ 7
ตรวจ Model ใน stream
ขั้นที่ 8
ดู F8 และ Server Console
ขั้นที่ 9
ลอง Spawn ผ่านระบบอื่น
เช่น Admin Menu เทียบกับ Vehicle Shop
ขั้นที่ 10
ถ้า Admin Spawn ได้ ให้ตรวจ Shop/Garage Script
ขั้นที่ 11
ถ้า Script Custom ใช้ CREATE_VEHICLE ให้ตรวจ Model Loading โดยเอกสาร FiveM ระบุว่า Model ควรถูกโหลดก่อนสร้าง Vehicle
ขั้นที่ 12
ถ้าเป็น Server-side Spawn ให้ตรวจ OneSync และวิธีสร้าง Entity
ขั้นที่ 13
แยกรถออกมาทดสอบเป็น Resource เดี่ยว
ตารางสรุป FiveM รถ Spawn ไม่ได้
| อาการ | จุดที่ควรตรวจ |
|---|---|
| รถ GTA V ก็ Spawn ไม่ได้ | Spawn Script / Permission |
| GTA V Spawn ได้ แต่ Add-on ไม่ได้ | Resource / Model / Meta |
| Resource หาไม่เจอ | refresh / Resource Name |
| Resource Start แต่รถไม่ Spawn | Spawn Name / vehicles.meta |
| Admin Spawn ได้ แต่ Shop ไม่ได้ | Vehicle Shop Config |
| Shop Spawn ได้ แต่ Garage ไม่ได้ | Database / Garage Script |
| รถเกิดแล้วหาย | Cleanup / Anti-cheat / Script |
| รถเกิดใต้พื้น | Spawn Coordinates |
| รถบางคันใน Packไม่ขึ้น | Model/Meta ของรถคันนั้น |
| รถทั้ง Pack ไม่ขึ้น | Resource/Manifest |
| Spawn Script Custom ไม่ทำงาน | Model Load / CREATE_VEHICLE |
| Server-side Spawn มีปัญหา | OneSync / Entity Creation |
วิธีป้องกันปัญหารถ Spawn ไม่ได้ในอนาคต
สำหรับ Server ที่มีรถจำนวนมาก ควรเก็บข้อมูลอย่างน้อย
Vehicle Label: Nissan Skyline R34
Spawn Name: r34custom
Resource: jdm_pack
Type: Add-on
Status: Tested
และทดสอบรถผ่านอย่างน้อย
Admin Spawn
Vehicle Shop
Garage
Server Restart
ผู้เล่นหลายคน
ก่อนเปิดให้ใช้งานจริง
อย่าทดสอบเพียงว่า Admin พิมพ์ /car แล้วรถออก เพราะระบบจริงอาจใช้วิธี Spawn ต่างกัน
สรุป FiveM รถ Spawn ไม่ได้ แก้อย่างไร
หาก FiveM รถ Spawn ไม่ได้ ให้เริ่มจากแยกก่อนว่าเป็นปัญหา Asset หรือระบบ Spawn
แนวทางที่เร็วที่สุดคือ
ทดสอบรถ GTA V → ตรวจ Spawn Name → Resource → Manifest → vehicles.meta → Model → F8/Console → Spawn Script → Vehicle Shop/Garage → OneSync
ถ้ารถ GTA V Spawn ได้แต่ Add-on ไม่ได้ ให้เน้น Resource และ Model
ถ้า Admin Spawn รถ Custom ได้แต่ Vehicle Shop หรือ Garage Spawn ไม่ได้ ให้หยุดแก้ไฟล์รถ แล้วไปตรวจ Config, Database และ Script ของระบบนั้นแทน
สำหรับ Script ที่สร้าง Vehicle โดยตรง Cfx.re ระบุว่า CREATE_VEHICLE ต้องใช้ Model ที่โหลดไว้แล้ว และ OneSync รองรับการสร้าง Vehicle จากฝั่ง Serverด้วย จึงต้องรู้ว่า Resource ของคุณกำลังสร้างรถที่ Client หรือ Server ก่อน Debug
แนวทางของ comsiam คือแก้ปัญหาโดย “ตัดตัวแปรออกทีละตัว” ไม่ใช่เปลี่ยนทุกอย่างพร้อมกัน เพราะเมื่อแยกได้ว่ารถเสีย Resource เสีย หรือ Spawn Script เสีย การแก้จริงมักง่ายกว่าที่คิดมาก
Comments
Post a Comment