เอกสาร
ตั้งค่าทั้งหมด:
ปรับให้เข้ากับเซิร์ฟ:
ดูหน้าสินค้า
X3D Music (ลำโพง)
ลำโพงบูมบ็อกซ์ฟรีสำหรับ ESX: วางบนพื้นหรือติดบนรถ เปิดเพลง YouTube คิวเพลงร่วมกัน เสียงเบาลงตามระยะ ลำโพงยังอยู่หลังรีสตาร์ท
ซื้อ / รับฟรีตั้งค่า configการติดตั้ง
- วางโฟลเดอร์
x3d_musicไว้ในresources/ห้ามเปลี่ยนชื่อโฟลเดอร์ - รัน
install.sqlสร้างตารางx3d_music_speakersและเพิ่มไอเทมboombox(ถ้าใช้ ox_inventory ให้เพิ่มไอเทมในitems.luaแทน ในไฟล์มีตัวอย่าง) - เพิ่มใน
server.cfg:
set x3d_music_ytkey "ใส่ YouTube API key ตรงนี้"
ensure oxmysql
ensure es_extended
ensure x3d_music
ใส่ key ใน server.cfg เท่านั้น ห้ามใส่ใน
config/config.luaเพราะไฟล์ config ถูกส่งไปที่เครื่องผู้เล่นด้วย
ขอ YouTube API key (ฟรี)
- เข้า Google Cloud Console แล้วสร้างโปรเจกต์ใหม่
- เมนู APIs & Services > Library ค้นหา YouTube Data API v3 แล้วกด Enable
- เมนู Credentials > Create credentials > API key แล้วคัดลอก key
- ใส่ใน
server.cfgตามด้านบน แล้วรีสตาร์ท resource
โควต้าฟรีวันละ 10,000 หน่วย การค้นหาหนึ่งครั้งใช้ประมาณ 101 หน่วย พอสำหรับเซิร์ฟทั่วไป ไม่มี key ก็ยังวางลำโพงได้ แต่ค้นหาและเพิ่มเพลงไม่ได้
ต้องมี
| resource | จำเป็นไหม | ใช้ทำอะไร |
|---|---|---|
es_extended |
จำเป็น | ESX Legacy |
oxmysql |
จำเป็น | เก็บลำโพงที่วางไว้ |
ตั้งค่าทั้งหมด: config/config.lua
| ค่า | ค่าเริ่มต้น | ความหมาย |
|---|---|---|
Config.Locale |
'th' |
'th' หรือ 'en' |
Config.Item / Config.PropModel |
'boombox' / 'prop_boombox_01' |
ไอเทมและโมเดลลำโพง |
Config.SearchMaxResults |
12 |
จำนวนผลค้นหา |
Config.SearchCooldownMs |
4000 |
ค้นหาซ้ำได้ทุกกี่มิลลิวินาที |
Config.MaxTrackSeconds |
10800 |
เพลงยาวสุด (วินาที) ไลฟ์สดเพิ่มไม่ได้ |
Config.InteractDistance |
2.5 |
ระยะกด [E] |
Config.StreamDistance |
65.0 |
ระยะที่เห็นลำโพง |
Config.Ranges / Config.DefaultRange |
{10,20,30} / 20 |
ระยะเสียงที่เลือกได้ |
Config.DefaultVolume |
60 |
เสียงเริ่มต้น |
Config.FalloffPower |
1.6 |
เสียงลดตามระยะเร็วแค่ไหน |
Config.MaxConcurrentAudible |
3 |
ได้ยินพร้อมกันกี่ตัว |
Config.MaxSpeakers / Config.MaxPerPlayer |
40 / 2 |
จำนวนลำโพงทั้งเซิร์ฟ / ต่อคน |
Config.QueueMax |
25 |
คิวยาวสุด |
Config.PublicQueue |
true |
false = เจ้าของเพิ่มเพลงได้คนเดียว |
Config.AdminGroups |
admin, superadmin | คุมลำโพงทุกตัว และใช้ musicstop |
Config.VehicleMount |
เปิด | ติดลำโพงบนรถ, maxZOffset |
Config.OwnedVehiclesTable |
'owned_vehicles' |
ตารางรถของ ESX ใช้เช็คเจ้าของรถ |
ปรับให้เข้ากับเซิร์ฟ: addons/
| ไฟล์ | ฟังก์ชัน | ค่าเริ่มต้น |
|---|---|---|
addons/items/server.lua |
Items.Return(identifier) |
ใส่กระเป๋า ESX ถ้าเต็มหรือออฟไลน์ เก็บไว้คืนตอนเข้าเกมครั้งถัดไป |
addons/vehiclekey/server.lua |
VehicleKey.Has(source, plate, vehicle) |
นั่งคนขับอยู่ หรือเป็นเจ้าของใน owned_vehicles |
addons/notify/client.lua |
Notify(message, kind) |
esx_notify, ox_lib, ESX ตามลำดับ |
addons/prompt/client.lua |
Prompt.Draw3D, Prompt.IsInteractPressed |
ป้าย 3D, [E] |
คำสั่งแอดมิน
| คำสั่ง | ทำอะไร |
|---|---|
musicstop all |
หยุดเพลงและล้างคิวทุกลำโพง |
musicstop <id> |
หยุดลำโพงตัวเดียว (id เช่น g12, v3) |
ปัญหาที่พบบ่อย
| อาการ | สาเหตุ / วิธีแก้ |
|---|---|
| ค้นหาแล้วขึ้นว่าไม่มี key | ยังไม่ได้ set x3d_music_ytkey ใน server.cfg หรือใส่หลังบรรทัด ensure |
| เพิ่มเพลงแล้วไม่เข้า | เป็นไลฟ์สด หรือยาวเกิน Config.MaxTrackSeconds |
| ใช้ไอเทมแล้วไม่มีอะไรเกิด | ยังไม่มีไอเทม boombox ในฐานข้อมูล หรือวางครบ Config.MaxPerPlayer แล้ว |
| บางเพลงไม่มีเสียง | เจ้าของเพลงปิดการฝังวิดีโอ YouTube ให้ลองเพลงอื่น |