-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.lua
More file actions
115 lines (104 loc) · 5.58 KB
/
Copy pathconfig.lua
File metadata and controls
115 lines (104 loc) · 5.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
Config = {}
-- ============================================================================
-- GENERAL SETTINGS
-- ============================================================================
Config.Debug = false -- Print debug messages to F8 console
Config.DefaultVolume = 0.5 -- Default music volume (0.0 to 1.0)
Config.MaxSoundDistance = 50.0 -- Default max distance (in GTA units) players can hear music
Config.InteractionDistance = 2.0 -- How close a player must be to interact with the jukebox
Config.AutoStartOnResourceStart = true -- Auto-play music when the resource starts / server boots
-- ============================================================================
-- SHUFFLE MODE
-- ============================================================================
-- When enabled, playlists play in random order instead of sequential.
-- When a playlist finishes all tracks in shuffle, it reshuffles and loops.
-- ============================================================================
Config.ShuffleMode = false -- true = random track order, false = sequential
-- ============================================================================
-- INTERACTION METHOD
-- ============================================================================
-- UseTarget = true → Uses qb-target or ox_target eye interaction
-- UseTarget = false → Uses floating 3D text + E key (no dependency needed)
-- ============================================================================
Config.UseTarget = true -- true = target eye, false = drawtext + E key
Config.TargetResource = 'qb-target' -- 'qb-target' or 'ox_target'
-- ============================================================================
-- JUKEBOX PROP
-- ============================================================================
-- A GTA prop that spawns at each business jukebox location as a visual marker.
-- The prop is purely cosmetic — interaction is handled by the target zone.
--
-- Set to a model name string to spawn a prop at each jukebox location:
-- Config.JukeboxProp = 'prop_jukebox_01' (classic jukebox)
-- Config.JukeboxProp = 'prop_radio_01' (small radio)
-- Config.JukeboxProp = 'prop_boombox_01' (boombox)
-- Config.JukeboxProp = 'prop_mp3_lr' (MP3 dock)
--
-- Set to false if your MLO already has a jukebox built in, or if you placed
-- one via a map editor and don't want a duplicate:
-- Config.JukeboxProp = false
-- ============================================================================
Config.JukeboxProp = 'prop_jukebox_01'
Config.JukeboxHeading = 0.0 -- Default heading (overridden per-business)
-- ============================================================================
-- BUSINESSES
-- ============================================================================
-- Each entry defines one business with its own music and jukebox.
--
-- REQUIRED FIELDS:
-- name = Unique string ID (no spaces, used internally)
-- label = Display name shown in the jukebox UI
-- soundCoords = vec3 — where the music plays FROM (center of the business)
-- jukeboxCoords = vec3 or vec4 — where the jukebox prop spawns and players
-- interact. If vec4, the 4th value is the prop heading.
-- playlist = Table of MP3 filenames (files must exist in /music/ folder)
--
-- OPTIONAL FIELDS:
-- defaultVolume = Override the global Config.DefaultVolume for this business
-- maxDistance = Override Config.MaxSoundDistance for this business
-- jukeboxHeading = Override Config.JukeboxHeading for the spawned prop
-- jobLock = Job name string required to control the jukebox
-- Set to nil or omit entirely for public access (anyone can use it)
--
-- NOTES:
-- • soundCoords and jukeboxCoords should be DIFFERENT locations.
-- soundCoords = center of the room/business (where music radiates from)
-- jukeboxCoords = where the physical jukebox sits (where players walk up to)
-- • Each business can have its own unique playlist or share the same songs.
-- • Music volume fades with distance based on maxDistance.
-- ============================================================================
Config.Businesses = {
-- -----------------------------------------------------------------------
-- EXAMPLE 1: A bar with public jukebox access
-- -----------------------------------------------------------------------
{
name = 'bahama_mamas',
label = 'Bahama Mamas',
soundCoords = vector3(-1387.08, -588.41, 30.32),
jukeboxCoords = vector4(-1385.20, -590.10, 30.32, 210.0),
playlist = {
'example_song1.mp3',
'example_song2.mp3',
'example_song3.mp3',
},
defaultVolume = 0.6,
maxDistance = 60.0,
jobLock = nil, -- Anyone can control
},
-- -----------------------------------------------------------------------
-- EXAMPLE 2: A restaurant with job-locked jukebox
-- -----------------------------------------------------------------------
-- {
-- name = 'my_restaurant',
-- label = 'My Restaurant',
-- soundCoords = vector3(0.0, 0.0, 0.0), -- Center of building
-- jukeboxCoords = vector4(0.0, 0.0, 0.0, 0.0), -- Where jukebox sits
-- playlist = {
-- 'jazz_track.mp3',
-- 'lounge_music.mp3',
-- },
-- defaultVolume = 0.3,
-- maxDistance = 30.0,
-- jobLock = 'restaurant', -- Only 'restaurant' job can control
-- },
}