FiveM Script ไม่ทำงาน แก้อย่างไร

FiveM Script ไม่ทำงานหลังติดตั้ง เป็นหนึ่งในปัญหาที่เจ้าของเซิร์ฟเวอร์เจอบ่อยที่สุด อาการมีได้ตั้งแต่ Resource เปิดไม่ได้, Script Start แล้วแต่ไม่มีระบบในเกม, เมนูไม่ขึ้น, กดใช้งานไม่ได้, Database ไม่บันทึก ไปจนถึง Script ทำงานเฉพาะบางส่วน

สิ่งสำคัญคืออย่าเริ่มแก้ด้วยการลบ Script แล้วติดตั้งใหม่ซ้ำ ๆ เพราะต้นเหตุส่วนใหญ่มักอยู่ที่ Resource, Dependency, Framework, Config, Database, Start Order หรือ Error ใน Console

ถ้าต้องการหาปัญหาให้เร็ว ให้ตรวจตามลำดับนี้

Resource ถูกพบหรือไม่
↓
Resource Start หรือไม่
↓
Console มี Error หรือไม่
↓
Dependency ครบหรือไม่
↓
Framework ตรงหรือไม่
↓
Config ถูกหรือไม่
↓
Database พร้อมหรือไม่
↓
F8 มี Client Error หรือไม่
↓
ทดสอบระบบจริง

บทความนี้จะไล่ตรวจทีละจุด ตั้งแต่ปัญหาพื้นฐานที่สุดจนถึงกรณี Script Start แล้วแต่ยังใช้งานไม่ได้

① ตรวจว่า FiveM มองเห็น Resource หรือไม่

เริ่มจากตรวจสอบก่อนว่า Resource อยู่ในตำแหน่งที่ถูกต้อง

ตัวอย่าง

resources/
└── my-script/
    ├── fxmanifest.lua
    ├── client/
    ├── server/
    └── config.lua

จุดสำคัญคือ Resource ต้องมี fxmanifest.lua อยู่ในระดับที่ FiveM สามารถตรวจพบได้

ปัญหาที่เกิดบ่อยคือโฟลเดอร์ซ้อน

ผิด:

resources/
└── my-script/
    └── my-script/
        ├── fxmanifest.lua
        ├── client.lua
        └── server.lua

ควรเป็น:

resources/
└── my-script/
    ├── fxmanifest.lua
    ├── client.lua
    └── server.lua

หากเพิ่งเพิ่ม Resource ขณะที่ Server เปิดอยู่ ให้ใช้

refresh

เพื่อให้ FiveM สแกน Resources และ Resource Manifest ใหม่

จากนั้นลอง

ensure my-script

ถ้า FiveM หา Resource ไม่พบ ให้ตรวจชื่อ Folder และตำแหน่งไฟล์ก่อนเรื่องอื่น

② ตรวจชื่อ Resource ให้ตรง

สมมติชื่อ Folder จริงคือ

my-garage

แต่ใน server.cfg เขียน

ensure mygarage

ชื่อไม่ตรงกันจึงไม่สามารถเรียก Resource ที่ต้องการได้

ควรเป็น

ensure my-garage

ตรวจชื่ออย่างละเอียด โดยเฉพาะ

  • เครื่องหมาย -

  • _

  • ตัวสะกด

  • ชื่อ Folder หลังแตก ZIP

  • Folder ซ้อน

  • Resource ที่ถูก Rename

Script บางตัวอาจอ้างชื่อ Resource ของตัวเองจาก Script อื่นด้วย ดังนั้นไม่ควร Rename Resource โดยพลการหาก Developer ระบุว่าต้องใช้ชื่อเดิม

③ ตรวจ fxmanifest.lua

ถ้า Resource ถูกพบแต่ทำงานผิดปกติ ให้เปิด

fxmanifest.lua

ตรวจดูว่า File ที่ Script ต้องใช้ถูกประกาศครบหรือไม่

ตัวอย่าง

fx_version 'cerulean'
game 'gta5'

shared_script 'config.lua'

client_scripts {
    'client/*.lua'
}

server_scripts {
    'server/*.lua'
}

หาก Manifest ระบุ

client_script 'client.lua'

แต่ไฟล์จริงชื่อ

main.lua

Script ฝั่ง Client ก็ไม่ถูกโหลดตามที่ตั้งไว้

กรณีใช้ Wildcard เช่น

client_scripts {
    'client/*.lua'
}

ต้องตรวจด้วยว่าไฟล์อยู่ใน Folder client จริง

④ ดู Server Console ก่อนแก้อะไร

ขั้นตอนที่สำคัญที่สุดคือ อ่าน Error

หลังสั่ง

ensure my-script

ให้ดูข้อความใน Server Console

คำที่ควรสังเกต เช่น

SCRIPT ERROR
ERROR
Missing dependency
Couldn't find resource
No such export
Failed
Table doesn't exist
Unknown column

อย่าเห็นเพียง

Started resource my-script

แล้วสรุปว่า Script ไม่มีปัญหา

Resource สามารถ Start สำเร็จ แต่ Code บางส่วน Error ภายหลังเมื่อถูกเรียกใช้งานได้

ถ้า Error มีชื่อไฟล์และเลขบรรทัด

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

SCRIPT ERROR: @my-script/server/main.lua:125

ข้อมูลนี้มีประโยชน์มาก เพราะชี้ไปยัง

Resource: my-script
File: server/main.lua
Line: 125

ควรเริ่มตรวจบริเวณนั้นและดู Error ที่อยู่ก่อนหน้า ไม่ใช่แก้ Script แบบสุ่ม

⑤ ตรวจ Client Console ด้วย F8

FiveM Script มีทั้ง Client-side และ Server-side

ดังนั้นบางครั้ง Server Console ไม่มี Error แต่ผู้เล่นใช้งาน Script ไม่ได้ เพราะ Error เกิดฝั่ง Client

เข้า Server แล้วกด

F8

จากนั้นลองใช้งาน Feature ที่มีปัญหาอีกครั้ง

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

เปิด Garage
↓
กด F8
↓
ดู Error ที่เกิดขึ้น

อาการที่มักเกี่ยวข้องกับ Client Error เช่น

  • Menu ไม่เปิด

  • Marker ไม่ขึ้น

  • Target ไม่ทำงาน

  • UI ไม่แสดง

  • Animation ไม่เล่น

  • Interaction ใช้ไม่ได้

  • NUI มีปัญหา

ดังนั้นการ Debug FiveM ควรดูทั้ง Server Console และ F8

⑥ ตรวจ Dependency ว่าครบหรือไม่

Script จำนวนมากไม่สามารถทำงานคนเดียวได้

อาจต้องใช้ Resource เช่น

ox_lib
oxmysql
ox_target
Framework
Inventory
Target
Voice

ตัวอย่าง Script อาจระบุใน fxmanifest.lua

dependency 'ox_lib'

หรือ

dependencies {
    'ox_lib',
    'oxmysql'
}

หาก Dependency ไม่ครบ Resource อาจ Start ไม่ได้ หรือระบบบางส่วนไม่ทำงาน

วิธีตรวจที่ดีที่สุดคืออ่าน

README
Documentation
Requirements
Dependencies
Installation

ของ Script นั้น

อย่าดาวน์โหลดเฉพาะ Resource หลักแล้วคิดว่าไฟล์ทั้งหมดที่จำเป็นอยู่ภายใน Package เสมอไป

⑦ Dependency มีแล้ว แต่ Version อาจไม่ตรง

อีกกรณีหนึ่งคือ Server มี Dependency อยู่แล้ว แต่เป็น Version ที่ Script ไม่รองรับ

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

Script ใหม่
↓
ต้องใช้ Library API ใหม่
↓
Server ใช้ Library รุ่นเก่า
↓
เรียก Function/Export ไม่พบ

อาจนำไปสู่ Error เช่น

No such export

ดังนั้นต้องตรวจทั้ง

ติดตั้ง Dependency หรือยัง

และ

Dependency Version รองรับหรือไม่

อย่าอัปเดต Library หรือ Framework หลักแบบสุ่มเพื่อแก้ Script ตัวเดียว เพราะ Resource อื่นใน Server อาจได้รับผลกระทบตามมา

⑧ ตรวจลำดับการ Start Resource

แม้ Dependency จะติดตั้งครบ แต่ถ้า Start ผิดลำดับ Script ก็อาจมีปัญหาได้

สมมติ my-script ต้องใช้ ox_lib

ควรให้ Resource ที่ถูกพึ่งพาพร้อมก่อน

ensure ox_lib
ensure my-script

ไม่ควรจัดแบบนี้หาก Script ต้องเรียก Library ตั้งแต่ตอน Start

ensure my-script
ensure ox_lib

ตัวอย่างภาพรวม

Database
↓
Core / Framework
↓
Libraries
↓
ระบบพื้นฐาน
↓
Custom Scripts

ลำดับจริงของแต่ละ Server แตกต่างกัน จึงต้องยึด Documentation ของ Framework และ Script เป็นหลัก

⑨ ตรวจ Framework ให้ตรง

FiveM Script สำหรับ RP จำนวนมากสร้างขึ้นสำหรับ Framework เฉพาะ

เช่น

ESX
QBCore
Qbox
Standalone

ถ้า Script ระบุว่า

QBCore Only

แต่ Server ใช้ ESX ก็ไม่ควรคาดหวังว่าจะ Copy เข้าไปแล้วทำงานทันที

Script ที่รองรับหลาย Framework อาจมี Config เช่น

Config.Framework = 'esx'

หรือ

Config.Framework = 'qb'

หรือ

Config.Framework = 'qbox'

ต้องตั้งให้ตรงกับ Server

Auto Detect ก็ไม่ได้หมายความว่าไม่มีปัญหา

บาง Script ตรวจ Framework อัตโนมัติ แต่ถ้า

  • Rename Core Resource

  • Framework Start ช้า

  • ใช้ Fork

  • ใช้ Version ที่ไม่รองรับ

ระบบ Auto Detect ก็อาจตรวจผิดได้

⑩ ตรวจ config.lua ให้ละเอียด

Script ไม่ทำงานจำนวนมากเกิดจาก Config มากกว่า Code เสีย

เปิดไฟล์ที่เกี่ยวข้อง เช่น

config.lua
shared/config.lua
config/
settings.lua

ตรวจค่าประเภท

Framework
Inventory
Target
Notification
Language
Job
Item
Coordinates
Permission
Debug

ตัวอย่าง

Config.Job = 'police'

แต่ Server ใช้ชื่อ Job

police_department

ผู้เล่นก็อาจไม่ผ่านเงื่อนไขและดูเหมือนว่า Script ไม่ทำงาน

หรือ Script กำหนด

Config.Inventory = 'ox_inventory'

แต่ Server ใช้ Inventory คนละตัว ก็ต้องตั้ง Integration ให้ตรง

⑪ เปิด Debug Mode ถ้า Script รองรับ

Script หลายตัวมีตัวเลือก

Config.Debug = false

เมื่อกำลังหาปัญหา อาจเปลี่ยนเป็น

Config.Debug = true

ถ้า Documentation ระบุว่ารองรับ

Debug Mode อาจแสดงข้อมูลเพิ่ม เช่น

  • Zone

  • Event

  • Framework

  • Data

  • Target

  • Interaction

  • Callback

ช่วยให้ค้นหาต้นเหตุได้ง่ายขึ้น

เมื่อแก้เสร็จแล้ว หาก Developer ไม่แนะนำให้เปิดตลอด ควรปิดกลับ

Config.Debug = false

โดยเฉพาะ Production Server

⑫ ตรวจ SQL และ Database

ถ้า Resource Start ได้ แต่ระบบที่ต้องบันทึกข้อมูลไม่ทำงาน ให้ตรวจ Database

Script อาจมาพร้อมไฟล์

install.sql
database.sql
migration.sql

ถ้ายังไม่ได้ Import อาจพบ Error เช่น

Table doesn't exist

หรือ Version ใหม่เปลี่ยน Schema แล้ว Database ยังเป็นของเก่า อาจพบ

Unknown column

ตรวจว่า

  • Import SQL แล้วหรือยัง

  • ใช้ Database ถูกตัวหรือไม่

  • Table ถูกสร้างหรือไม่

  • Column ครบหรือไม่

  • Migration ครบหรือไม่

  • Database Connector ทำงานหรือไม่

อย่า Import SQL ซ้ำหลายครั้งโดยไม่ดูเนื้อหาก่อน เพราะบาง Script อาจมี Migration ที่ต้องทำตามลำดับ

⑬ ตรวจ oxmysql ถ้า Script ใช้ Database

หาก Script ใช้ oxmysql ให้ตรวจว่า Resource ทำงานอยู่

ตัวอย่างใน server.cfg

ensure oxmysql

และ Script ที่ต้องใช้ Database ควรทำงานเมื่อ Database Connector พร้อมแล้ว

ถ้า oxmysql เองเชื่อม Database ไม่ได้ Script ที่ใช้มันจำนวนมากก็สามารถมีปัญหาตามกันได้

กรณีที่หลาย Script Error เรื่อง Database พร้อมกัน จึงไม่ควรรีบสรุปว่า Script ทุกตัวเสีย ให้ตรวจ Database Connector และ Connection ก่อน

⑭ ตรวจ Item ที่ Script ต้องใช้

ระบบจำนวนมากต้องใช้ Item

เช่น Script ตกปลาอาจต้องมี

fishing_rod
bait
fish

ถ้า Resource ติดตั้งแล้วแต่ Item ยังไม่ได้เพิ่มเข้าสู่ Inventory หรือ Framework ระบบบางส่วนอาจไม่สามารถทำงานได้

ตรวจ Documentation ว่าต้องเพิ่ม

  • Item Name

  • Label

  • Weight

  • Image

  • Metadata

หรือไม่

และตรวจให้ชื่อ Item ตรงทุกจุด

ตัวอย่าง

Script เรียก

repairkit

แต่ระบบ Item มี

repair_kit

ถือว่าเป็นคนละชื่อ

⑮ ตรวจ Job และ Job Grade

Script อาชีพมักตรวจ Job ของผู้เล่น

ตัวอย่าง

Config.Job = 'police'

หากผู้เล่นใช้ Job อื่น เมนูหรือ Interaction อาจไม่แสดง

ต้องตรวจ

  • Job Name

  • Job Grade

  • Boss Grade

  • Duty

  • Society

  • Permission

บาง Server อาจใช้ระบบ On Duty/Off Duty ดังนั้นการเป็นตำรวจอย่างเดียวอาจยังไม่ผ่านเงื่อนไข หากผู้เล่นยังไม่ได้เข้า Duty

เมื่อ Script “ไม่ขึ้นอะไรเลย” จุดนี้ควรตรวจด้วย

⑯ ตรวจ Coordinates และระยะ Interaction

บางครั้ง Script ทำงานปกติทุกอย่าง แต่ตำแหน่งถูกตั้งผิด

ตัวอย่าง

Config.Location = vector3(100.0, 200.0, 30.0)

ถ้าพิกัดไม่ตรงกับ Map ที่ Server ใช้ ผู้เล่นอาจไม่พบ Marker หรือ Target

ตรวจ

  • X

  • Y

  • Z

  • Heading

  • Interaction Distance

  • Zone Size

ถ้า Script รองรับ Debug Zone ให้เปิดชั่วคราว จะช่วยเห็นพื้นที่ Interaction ได้ง่ายขึ้น

⑰ Target ไม่ทำงานต้องตรวจอะไร

ถ้า Script ใช้ Target เช่น ox_target หรือ Target System อื่น ให้ตรวจว่า

  1. Target Resource ทำงานอยู่

  2. Script ตั้ง Target Integration ถูกตัว

  3. Resource Start Order ถูก

  4. Model/Entity/Zone ถูกต้อง

  5. Job Requirement ถูก

  6. Distance ถูก

  7. Client ไม่มี Error

ตัวอย่าง

Config.Target = 'ox_target'

แต่ Server ไม่ได้ใช้ ox_target ก็ต้องเปลี่ยน Integration ให้ตรงหาก Script รองรับ

⑱ Menu หรือ UI ไม่ขึ้น

ถ้า Script ทำงานแต่ Menu ไม่เปิด อาจเกี่ยวข้องกับ NUI หรือ Library

ตรวจ F8 ก่อน

Resource ที่มี Interface อาจมีโครงสร้าง

html/
web/
dist/
build/

และ fxmanifest.lua อาจประกาศ

ui_page 'html/index.html'

รวมทั้ง

files {
    'html/index.html',
    'html/style.css',
    'html/script.js'
}

หาก Download Source Version ที่ต้อง Build Front-end ก่อน แต่ไม่มีไฟล์ dist หรือ build ที่พร้อมใช้งาน UI อาจไม่ทำงาน

ควรทำตาม Installation Guide ของ Script โดยตรง

⑲ No Such Export แก้อย่างไรเบื้องต้น

ถ้า Console แสดง

No such export

หมายความโดยทั่วไปว่า Resource กำลังเรียก Export ที่ไม่พบจาก Resource เป้าหมาย

ตรวจ

  • Resource เป้าหมาย Start แล้วหรือยัง

  • ชื่อ Resource ถูกหรือไม่

  • Version เข้ากันหรือไม่

  • Export เปลี่ยนชื่อหรือไม่

  • Start Order ถูกหรือไม่

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

my-script
↓
เรียก Export จาก inventory
↓
inventory ยังไม่ Start
↓
เกิด Error

หรือ Script รุ่นเก่าเรียก API ที่ Version ใหม่ยกเลิกไปแล้ว

ในกรณีนี้ควรตรวจ Documentation ของ Script ทั้งสองฝั่ง

⑳ Event ไม่ทำงานต้องตรวจอะไร

FiveM Script จำนวนมากสื่อสารกันผ่าน Event

ถ้า Event ถูกเปลี่ยนชื่อ ถูกลบ หรือเรียกผิดฝั่ง ระบบบางส่วนอาจไม่ทำงาน

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

Client
↓
Trigger Server Event
↓
Server ตรวจข้อมูล
↓
ส่งผลกลับ

หากมี Error ในขั้นกลาง ผู้เล่นอาจเห็นเพียง “กดแล้วไม่มีอะไรเกิดขึ้น”

จึงควรตรวจ

  • F8

  • Server Console

  • Event Name

  • Resource Version

  • Framework Integration

ก่อนเข้าไปแก้ Event เอง

㉑ Resource Started แต่ใช้งานไม่ได้

กรณี Console แสดง

Started resource my-script

แต่เข้าเกมแล้วระบบไม่ทำงาน อย่าเสียเวลากับการสั่ง Start ซ้ำอย่างเดียว

ให้ข้ามไปตรวจ

Config
Framework
Dependency
Database
F8
Job
Item
Target
Permissions
Integration

เพราะคำว่า Started บอกเพียงว่า FiveM Start Resource ได้ ไม่ได้รับประกันว่า Workflow ภายในทั้งหมดทำงานถูกต้อง

หัวข้อนี้เป็นสาเหตุที่ทำให้เจ้าของ Server จำนวนมากคิดว่า FiveM มีปัญหา ทั้งที่ Resource Start สำเร็จแต่ Configuration ยังไม่ครบ

㉒ Script ทำงานเฉพาะ Admin แต่ผู้เล่นใช้ไม่ได้

กรณีนี้ควรตรวจ Permission

Script อาจตรวจ

  • ACE Permission

  • Framework Group

  • Job

  • Grade

  • Identifier

  • Discord Role

  • Admin Group

ตัวอย่าง Resource อาจทำงานเมื่อผู้เล่นมี Job

police

หรือ Group

admin

หาก Account ทดสอบไม่มี Permission ระบบอาจไม่แสดงอะไร

ดังนั้นควรทดสอบทั้ง Account Admin และ Player ปกติเมื่อระบบเกี่ยวข้องกับสิทธิ์

㉓ Script เคยใช้ได้ แต่หลังอัปเดตไม่ทำงาน

ถ้าปัญหาเกิดหลัง Update ให้เปรียบเทียบสิ่งที่เปลี่ยนทันที

ตรวจ

Changelog
Config
fxmanifest.lua
Dependencies
SQL Migration
Exports
Events
Framework Support

ข้อผิดพลาดที่พบบ่อยคือใช้ Version ใหม่ แต่ Copy config.lua เก่าทับทั้งหมด

Config ใหม่ที่ Developer เพิ่มเข้ามาจึงหาย

อีกกรณีคือ Script ใหม่ต้องใช้ Dependency Version ใหม่ แต่ Server ยังใช้ Version เดิม

ถ้ามี Backup ให้ทดสอบ Rollback เพื่อยืนยันว่าปัญหาเริ่มจาก Update จริงหรือไม่

㉔ Script หยุดทำงานหลังเปลี่ยน Framework

ถ้าเพิ่งเปลี่ยนจาก Framework หนึ่งไปอีก Framework เช่น

QBCore → Qbox

หรือเปลี่ยนระบบหลักอื่น ไม่ควรคาดหวังว่า Script เดิมทุกตัวจะทำงานต่อโดยอัตโนมัติ

ต้องตรวจ

  • Framework Bridge

  • Player Data

  • Jobs

  • Money

  • Items

  • Callbacks

  • Events

  • Exports

  • Database

Script บางตัวรองรับหลาย Framework ผ่าน Bridge แต่บางตัวผูกกับ Framework เดิมโดยตรง

จึงต้องเช็ก Compatibility เป็นราย Resource

㉕ Script หยุดทำงานหลังเปลี่ยน Inventory

Inventory เป็นระบบที่ Script อื่นเชื่อมต่อเยอะมาก

เมื่อเปลี่ยน Inventory อาจต้องแก้

Exports
Item Functions
Stash
Trunk
Metadata
Weapon
Config.Inventory

ดังนั้นถ้าหลาย Script มีปัญหาหลังเปลี่ยน Inventory ให้ตรวจ Integration ก่อนแก้ Script แต่ละตัวแยกกัน

หลักเดียวกันใช้กับ Target, Notification และ Framework

㉖ Restart Script แล้วจะหายไหม

บาง Error อาจหายจากการ Restart Resource หากเกิดจาก State ชั่วคราว

สามารถลอง

restart my-script

หรือ

ensure my-script

แต่ถ้าปัญหาเกิดจาก

  • Dependency หาย

  • SQL ไม่มี

  • Config ผิด

  • Export ไม่มี

  • Framework ไม่รองรับ

Restart กี่ครั้งก็ไม่แก้ต้นเหตุ

ดังนั้นถ้า Restart แล้ว Error เดิมกลับมา ให้หยุด Restart ซ้ำและอ่านข้อความ Error แทน

㉗ ต้องล้าง Cache หรือไม่

การล้าง Cache ไม่ควรเป็นคำตอบแรกของทุกปัญหา FiveM Script

หาก Error ชี้ชัดว่า

Missing dependency
No such export
SQL Error
Config Error

การล้าง Cache ไม่ได้แก้สิ่งเหล่านี้

ควรใช้ Cache troubleshooting เฉพาะเมื่ออาการและเอกสารของระบบนั้นชี้ไปทาง Cache จริง

หลักที่ดีกว่าคือ

อ่าน Error
↓
ระบุต้นเหตุ
↓
แก้ต้นเหตุ

ไม่ใช่

Script ไม่ทำงาน
↓
ล้าง Cache ทุกอย่าง

㉘ อย่าแก้ Script หลายตัวพร้อมกัน

สมมติ Phone ไม่ทำงาน

อย่าอัปเดตพร้อมกันทั้ง

Framework
ox_lib
Inventory
Phone
Target
Database

เพราะหลังจากนั้นจะไม่รู้ว่าการเปลี่ยนตัวใดทำให้ปัญหาดีขึ้นหรือแย่ลง

ควรเปลี่ยนทีละอย่าง

แก้จุด A
↓
ทดสอบ
↓
จดผล
↓
แก้จุด B
↓
ทดสอบ

นี่คือหลัก Debug ที่ช่วยประหยัดเวลาได้มากที่สุดอย่างหนึ่ง

㉙ วิธีหา Script ตัวที่ทำ Server มีปัญหา

ถ้าปัญหาเกิดหลังติดตั้ง Resource ใหม่ ให้ย้อนดูสิ่งที่เปลี่ยนล่าสุดก่อน

สมมติเมื่อวาน Server ทำงานปกติ วันนี้เพิ่ม

new-phone
new-garage
new-job

แล้วเกิด Error

ควร Disable ทีละ Resource ไม่ใช่ลบทั้งหมด

ตัวอย่าง

# ensure new-phone
ensure new-garage
ensure new-job

Restart แล้วทดสอบ

จากนั้นเปลี่ยนทีละตัวเพื่อหาว่า Resource ใดสัมพันธ์กับปัญหา

หากติดตั้ง Script ทีละตัวตั้งแต่แรก ขั้นตอนนี้จะง่ายกว่ามาก

㉚ ลำดับแก้ FiveM Script ไม่ทำงานที่แนะนำ

ถ้าไม่รู้ว่าจะเริ่มตรงไหน ให้ใช้ลำดับนี้

ขั้นที่ 1 — ดู Resource

resources/my-script/

มีจริงหรือไม่

ขั้นที่ 2 — ดู Manifest

fxmanifest.lua

อยู่ถูกตำแหน่งหรือไม่

ขั้นที่ 3 — Refresh

refresh

ขั้นที่ 4 — Ensure

ensure my-script

ขั้นที่ 5 — อ่าน Server Console

หา Error แรกที่เกี่ยวข้อง

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

ติดตั้งครบและ Version ถูกหรือไม่

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

ESX/QBCore/Qbox/Standalone ตรงหรือไม่

ขั้นที่ 8 — ตรวจ Config

Framework, Inventory, Job, Item และ Target ถูกหรือไม่

ขั้นที่ 9 — ตรวจ Database

SQL และ Migration ครบหรือไม่

ขั้นที่ 10 — เข้าเกมดู F8

หา Client Error

ขั้นที่ 11 — ทดสอบ Feature จริง

ตรวจ Workflow ตั้งแต่ต้นจนจบ

ขั้นที่ 12 — เปลี่ยนทีละจุด

อย่าแก้หลายอย่างพร้อมกัน

นี่เป็นลำดับที่ comsiam แนะนำ เพราะช่วยตัดสาเหตุจากง่ายไปยากและลดการแก้ Code โดยไม่จำเป็น

Checklist FiveM Script ไม่ทำงาน

ก่อนสรุปว่า Script เสีย ตรวจให้ครบดังนี้

Resource

  • Resource อยู่ใน resources

  • ไม่มี Folder ซ้อนผิด

  • ชื่อ Resource ถูก

  • มี fxmanifest.lua

  • refresh แล้ว

  • ensure ได้

Server

  • Server Console ไม่มี Error สำคัญ

  • Start Order ถูก

  • Dependency ครบ

  • Dependency Version รองรับ

  • Framework ตรง

  • Resource Core ทำงาน

Configuration

  • Config ถูกต้อง

  • Framework ถูกตัว

  • Inventory ถูกตัว

  • Target ถูกตัว

  • Job ถูก

  • Grade ถูก

  • Item มีอยู่จริง

  • Coordinates ถูก

Database

  • Database เชื่อมต่อได้

  • SQL Import แล้ว

  • Table มีอยู่

  • Column ครบ

  • Migration แล้ว

Client

  • F8 ไม่มี Error

  • Menu เปิด

  • Target ทำงาน

  • UI ทำงาน

  • Interaction ทำงาน

ถ้ายังไม่ทำงานหลังตรวจครบแล้ว จึงค่อยเจาะไปยัง Code, Event, Callback หรือ Export ของ Script นั้นโดยตรง

สรุป FiveM Script ไม่ทำงาน แก้อย่างไร

ถ้า FiveM Script ไม่ทำงาน สิ่งแรกที่ควรทำคือ อย่าเดาและอย่า Restart ซ้ำไปเรื่อย ๆ

ให้เริ่มจากตรวจว่า Resource ถูกพบหรือไม่ มี fxmanifest.lua หรือไม่ จากนั้นใช้

refresh
ensure resource_name

แล้วอ่านข้อความใน Server Console

หาก Resource Start ได้แต่ระบบยังใช้งานไม่ได้ ให้ตรวจต่อที่ Dependency, Framework, Config, Database, Item, Job, Target และ Client F8

ปัญหาส่วนใหญ่สามารถแบ่งได้ง่าย ๆ เป็น

Resource ไม่ถูกโหลด
Dependency ไม่พร้อม
Configuration ไม่ตรง
Database ไม่พร้อม
Framework ไม่ Compatible
Client/Server Script เกิด Error

เมื่อแยกได้ว่าอยู่กลุ่มไหน การแก้จะเร็วขึ้นมาก

สิ่งที่ comsiam แนะนำมากที่สุดคือให้แก้ทีละจุดและทดสอบทุกครั้ง อย่าอัปเดต Framework, Library และ Script หลายตัวพร้อมกันเพียงเพื่อทดลอง เพราะจะทำให้ต้นเหตุซ่อนลึกกว่าเดิม

สำหรับ Production Server ให้ Backup ก่อนแก้ไขเสมอ และถ้า Script เพิ่งเสียหลังการติดตั้งหรืออัปเดต ให้ย้อนตรวจการเปลี่ยนแปลงล่าสุดก่อน เพราะมักเป็นจุดที่พาไปหาสาเหตุได้เร็วที่สุด

Comments

Popular posts from this blog

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

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

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