เอกสาร

X3D Music (ลำโพง)

ลำโพงบูมบ็อกซ์ฟรีสำหรับ ESX: วางบนพื้นหรือติดบนรถ เปิดเพลง YouTube คิวเพลงร่วมกัน เสียงเบาลงตามระยะ ลำโพงยังอยู่หลังรีสตาร์ท

ซื้อ / รับฟรีตั้งค่า config

การติดตั้ง

  1. วางโฟลเดอร์ x3d_music ไว้ใน resources/ ห้ามเปลี่ยนชื่อโฟลเดอร์
  2. รัน install.sql สร้างตาราง x3d_music_speakers และเพิ่มไอเทม boombox (ถ้าใช้ ox_inventory ให้เพิ่มไอเทมใน items.lua แทน ในไฟล์มีตัวอย่าง)
  3. เพิ่มใน 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 (ฟรี)

  1. เข้า Google Cloud Console แล้วสร้างโปรเจกต์ใหม่
  2. เมนู APIs & Services > Library ค้นหา YouTube Data API v3 แล้วกด Enable
  3. เมนู Credentials > Create credentials > API key แล้วคัดลอก key
  4. ใส่ใน 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 ให้ลองเพลงอื่น
ดูหน้าสินค้า