Docs van ZeroDev Sound

ZeroDev Sound: installatiegids

Voor ZeroDev Sound 3.0.127 min lezenBijgewerkt

Deze resource bevat of biedt geen audio- of muziekintegraties van derden. Muziek speelt alleen af vanaf audiobestanden die de servereigenaar aan de resource toevoegt en via de ingebouwde radio van GTA. Spelers kunnen geen links invoeren. Voeg alleen audio toe waarvan je eigenaar bent of waarvoor je de rechten hebt om het te gebruiken en te verspreiden; content streamen zonder toestemming kan in strijd zijn met de Cfx.re Creator Platform License Agreement en de wet.

Speakers die spelers kopen, meenemen, neerzetten en koppelen, en caraudio die ze in hun eigen auto inbouwen. Dit is de volledige naslag. Lees voor de korte versie docs/SETUP.md (5 stappen); voor problemen docs/TROUBLESHOOTING.md; kom je van 1.x, dan UPGRADING.md.

Inhoud 1. Vereisten 2. Installeren 3. Items voor je inventory 4. Eerste start: wat je moet zien 5. Instellingen die het vaakst worden aangepast 6. Bediening 7. Caraudio 8. Muziekbronnen 9. Pulse Phone 10. Politie, buren en admins 11. Talen 12. Troubleshooting 13. Updaten

1. Vereisten

Vereist oxmysql. ZeroDev Sound maakt bij de eerste start zijn eigen tabellen aan; er is geen SQL-bestand om te importeren.
Framework ESX Legacy, QBCore, Qbox, of geen (standalone). Wordt vanzelf gevonden.
Inventory ox_inventory, qb-inventory (ook ps- en lj-inventory), qs-inventory, codem-inventory, core_inventory, origen_inventory, tgiann-inventory, de ESX-inventory, of geen. Wordt vanzelf gevonden.
Optioneel ox_target of qb-target (zonder target krijgen spelers in plaats daarvan een toetsprompt op het scherm). Pulse Phone 1.2.9 of nieuwer (voegt de Sound-app en de autoradio op Pulse Drive toe). pma-voice voor de microfoon: zonder pma-voice kun je de microfoon vasthouden en erin zingen, maar hoort niemand het via de speakers.

Verder niets: geen ox_lib, geen API-key, geen Google-account.

Linux-servers

Linux-servers: gebruik het Recommended server-artifact, niet Latest. Kies op de downloadpagina voor FiveM-servers (docs.fivem.net/docs/server-download/) Linux en de update-branch Recommended. Een server op het nieuwste Linux-artifact crashte tijdens het laden (FXServer printte een /proc/self/maps-dump), en overstappen op het aanbevolen artifact loste het op. Dat is de enige Linux-melding die we hebben; we hebben ZeroDev Sound zelf nog niet op een Linux-server gedraaid.

Linux-servers: gebruik het Recommended server-artifact, niet Latest. Kies op de downloadpagina voor FiveM-servers (docs.fivem.net/docs/server-download/) Linux en de update-branch Recommended. Een server op het nieuwste Linux-artifact crashte tijdens het laden (FXServer printte een /proc/self/maps-dump), en overstappen op het aanbevolen artifact loste het op. Dat is de enige Linux-melding die we hebben; we hebben ZeroDev Sound zelf nog niet op een Linux-server gedraaid.

Op een standalone server (geen framework) is alles gratis: de winkel en auto-onderdelen kosten niets.

2. Installeren

Stap 1. Zet de map erin. Zet de map zerodev-sound in je map resources (elke submap is prima, bijvoorbeeld resources/[zerodev]/zerodev-sound). Laat de mapnaam zerodev-sound: de item-entries van ox_inventory roepen hem onder die naam aan.

Stap 2. Voeg hem toe aan server.cfg, na je database, framework en inventory:

server.cfg
ensure oxmysql
ensure es_extended        # or qb-core / qbx_core, or nothing on a standalone server
ensure ox_inventory       # or your inventory
ensure ox_target          # optional, or qb-target
ensure phone              # optional: Pulse Phone
ensure zerodev-sound

Stap 3. Geef je admins de adminpermissie (geen speakerlimiet, de /soundadmin-lijst, op afstand stoppen en verwijderen):

server.cfg
add_ace group.admin zerodev.sound.admin allow

Stap 4. Stel de items in voor je inventory: sectie 3. Op de ESX-inventory en op QBCore wordt dit voor je gedaan.

Stap 5. Herstart de server (een volledige herstart, niet alleen de resource, zodat elke speler de modellen laadt) en check de console: sectie 4.

3. Items voor je inventory

Er zijn 12 items: tien speakers, de microfoonstandaard en de reparatiekit.

Itemnaam Label Gewicht
zds_roam Roam Portable Speaker 2 kg
zds_room_shelf Shelf Speaker 4 kg
zds_room_tower Tower Speaker 10 kg
zds_room_ceiling Ceiling Speaker 2 kg
zds_room_sub Home Subwoofer 8 kg
zds_stage_pa PA Speaker 10 kg
zds_stage_sub Concert Subwoofer 15 kg
zds_stage_array Line Array Speaker 12 kg
zds_stage_monitor Stage Monitor 6 kg
zds_stage_mixer DJ Mixer 5 kg
zds_stage_mic Microfoonstandaard 3 kg
zds_repair_kit Speaker Repair Kit 0.6 kg

De afbeeldingen staan in zerodev-sound/web/img/items/. Je hoeft nooit te gokken: als er iets ontbreekt, print de serverconsole de exacte entries voor jouw inventory en noemt hij elke afbeelding die nog niet op zijn plek staat.

Welke inventory heb je?

Inventory Wat je doet Afbeeldingen gaan naar
ESX-inventory (ESX Legacy zonder ox) Niets. De items worden bij het opstarten aan de items-tabel toegevoegd. Niets te kopiëren
ox_inventory (ESX, Qbox of standalone) Plak het ox_inventory-blok in ox_inventory/data/items.lua, binnen de tabel. Herstart ox_inventory en daarna zerodev-sound. Niets te kopiëren: de entries laden de afbeeldingen uit zerodev-sound
qb-inventory, ps-inventory, lj-inventory (QBCore) Niets. De items worden bij het opstarten aan de shared items van QBCore toegevoegd. Kopieer web/img/items/*.png naar <your inventory>/html/images/
qs-inventory Plak op QBCore het QBCore-blok in qb-core/shared/items.lua. Plak op ESX dezelfde entries in qs-inventory/shared/items.lua. qs-inventory/html/images/
codem-inventory Voeg de 12 items toe aan codem-inventory/config/itemlist.lua met de namen, labels en gewichten uit het QBCore-blok. Doe op QBCore ook de eigen installatiestap van codem-inventory die QBCore.Functions.UseItem naar codem-inventory laat wijzen, anders kunnen items niet worden gebruikt. De map met itemafbeeldingen van codem-inventory
core_inventory Niets. De items worden voor je toegevoegd aan de shared items van QBCore of de items-tabel van ESX. De map met itemafbeeldingen van core_inventory
origen_inventory Voeg de 12 items toe aan origen_inventory/config/items.lua met de namen, labels en gewichten uit het QBCore-blok. De map met itemafbeeldingen van origen_inventory
tgiann-inventory Voeg de 12 items toe aan tgiann-inventory/items/items.lua met de namen, labels en gewichten uit het QBCore-blok. inventory_images/images/
Geen inventory Niets. Gekochte en ingepakte speakers wachten in /sound onder Your speakers, met een knop Set up. Niets te kopiëren

Wil je de items met de hand aan qb-core toevoegen in plaats van het script het te laten doen, plak dan het QBCore-blok in qb-core/shared/items.lua.

Een andere inventory die een van deze API's nabootst: zet Config.Inventory op die API (zie sectie 5). Een in-house inventory kun je aansluiten in server/bridge.lua, dat leesbaar is: elke inventory daarin bestaat uit drie kleine functies (tellen, toevoegen, verwijderen).

ox_inventory-blok

Plak binnen de tabel return { ... } van ox_inventory/data/items.lua:

Lua
    ['zds_repair_kit'] = { label = 'Speaker Repair Kit', weight = 600, stack = false, close = true, description = 'Fixes a broken speaker. Use it next to one.',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_repair_kit.png' } },
    ['zds_roam'] = { label = 'Roam Portable Speaker', weight = 2000, stack = false, close = true, description = 'Portable speaker with twin bass radiators. Carry it or set it down.',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_roam.png' } },
    ['zds_room_ceiling'] = { label = 'Ceiling Speaker', weight = 2000, stack = false, close = true, description = 'Indoor. Round ceiling or wall speaker for background music in a business.',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_room_ceiling.png' } },
    ['zds_room_shelf'] = { label = 'Shelf Speaker', weight = 4000, stack = false, close = true, description = 'Indoor. Bookshelf speaker: link several around a home or shop.',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_room_shelf.png' } },
    ['zds_room_sub'] = { label = 'Home Subwoofer', weight = 8000, stack = false, close = true, description = 'Indoor. Cube subwoofer: link it to your indoor speakers for deep bass.',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_room_sub.png' } },
    ['zds_room_tower'] = { label = 'Tower Speaker', weight = 10000, stack = false, close = true, description = 'Indoor. Floor-standing tower with two woofers: deep, clean sound for a whole room.',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_room_tower.png' } },
    ['zds_stage_array'] = { label = 'Line Array Speaker', weight = 12000, stack = false, close = true, description = 'Concert. Line-array speaker for long throw over a big crowd. Stack them.',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_stage_array.png' } },
    ['zds_stage_mic'] = { label = 'Mic Stand', weight = 3000, stack = false, close = true, description = 'Concert. A mic on a boom stand: link it to your concert speakers, stand at it and sing through them (/soundmic).',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_stage_mic.png' } },
    ['zds_stage_mixer'] = { label = 'DJ Mixer', weight = 5000, stack = false, close = true, description = 'Concert. Not a speaker: whoever stands at it runs every linked concert speaker (volume, bass, sound, timing).',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_stage_mixer.png' } },
    ['zds_stage_monitor'] = { label = 'Stage Monitor', weight = 6000, stack = false, close = true, description = 'Concert. Wedge monitor so the DJ or band hears the mix on stage.',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_stage_monitor.png' } },
    ['zds_stage_pa'] = { label = 'PA Speaker', weight = 10000, stack = false, close = true, description = 'Concert. Powered 15" PA top on a tripod: link many for an event.',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_stage_pa.png' } },
    ['zds_stage_sub'] = { label = 'Concert Subwoofer', weight = 15000, stack = false, close = true, description = 'Concert. Double 18" sub cabinet: the bass you feel at a show.',
        client = { export = 'zerodev-sound.useItem', image = 'nui://zerodev-sound/web/img/items/zds_stage_sub.png' } },

QBCore-blok

De itemvorm van QBCore, die qb-, ps-, lj- en qs-inventory lezen:

Lua
    ['zds_repair_kit'] = { name = 'zds_repair_kit', label = 'Speaker Repair Kit', weight = 600, type = 'item', image = 'zds_repair_kit.png', unique = true, useable = true, shouldClose = true, description = 'Fixes a broken speaker. Use it next to one.' },
    ['zds_roam'] = { name = 'zds_roam', label = 'Roam Portable Speaker', weight = 2000, type = 'item', image = 'zds_roam.png', unique = true, useable = true, shouldClose = true, description = 'Portable speaker with twin bass radiators. Carry it or set it down.' },
    ['zds_room_ceiling'] = { name = 'zds_room_ceiling', label = 'Ceiling Speaker', weight = 2000, type = 'item', image = 'zds_room_ceiling.png', unique = true, useable = true, shouldClose = true, description = 'Indoor. Round ceiling or wall speaker for background music in a business.' },
    ['zds_room_shelf'] = { name = 'zds_room_shelf', label = 'Shelf Speaker', weight = 4000, type = 'item', image = 'zds_room_shelf.png', unique = true, useable = true, shouldClose = true, description = 'Indoor. Bookshelf speaker: link several around a home or shop.' },
    ['zds_room_sub'] = { name = 'zds_room_sub', label = 'Home Subwoofer', weight = 8000, type = 'item', image = 'zds_room_sub.png', unique = true, useable = true, shouldClose = true, description = 'Indoor. Cube subwoofer: link it to your indoor speakers for deep bass.' },
    ['zds_room_tower'] = { name = 'zds_room_tower', label = 'Tower Speaker', weight = 10000, type = 'item', image = 'zds_room_tower.png', unique = true, useable = true, shouldClose = true, description = 'Indoor. Floor-standing tower with two woofers: deep, clean sound for a whole room.' },
    ['zds_stage_array'] = { name = 'zds_stage_array', label = 'Line Array Speaker', weight = 12000, type = 'item', image = 'zds_stage_array.png', unique = true, useable = true, shouldClose = true, description = 'Concert. Line-array speaker for long throw over a big crowd. Stack them.' },
    ['zds_stage_mic'] = { name = 'zds_stage_mic', label = 'Mic Stand', weight = 3000, type = 'item', image = 'zds_stage_mic.png', unique = true, useable = true, shouldClose = true, description = 'Concert. A mic on a boom stand: link it to your concert speakers, stand at it and sing through them (/soundmic).' },
    ['zds_stage_mixer'] = { name = 'zds_stage_mixer', label = 'DJ Mixer', weight = 5000, type = 'item', image = 'zds_stage_mixer.png', unique = true, useable = true, shouldClose = true, description = 'Concert. Not a speaker: whoever stands at it runs every linked concert speaker (volume, bass, sound, timing).' },
    ['zds_stage_monitor'] = { name = 'zds_stage_monitor', label = 'Stage Monitor', weight = 6000, type = 'item', image = 'zds_stage_monitor.png', unique = true, useable = true, shouldClose = true, description = 'Concert. Wedge monitor so the DJ or band hears the mix on stage.' },
    ['zds_stage_pa'] = { name = 'zds_stage_pa', label = 'PA Speaker', weight = 10000, type = 'item', image = 'zds_stage_pa.png', unique = true, useable = true, shouldClose = true, description = 'Concert. Powered 15" PA top on a tripod: link many for an event.' },
    ['zds_stage_sub'] = { name = 'zds_stage_sub', label = 'Concert Subwoofer', weight = 15000, type = 'item', image = 'zds_stage_sub.png', unique = true, useable = true, shouldClose = true, description = 'Concert. Double 18" sub cabinet: the bass you feel at a show.' },

Heb je een label, prijs of gewicht aangepast in config/catalogue.lua, kopieer de entries dan uit je eigen console: die print ze op basis van jouw instellingen.

4. Eerste start: wat je moet zien

In de serverconsole

ZeroDev Sound print één controlekader (typ soundcheck in de serverconsole om het opnieuw te printen): database en schema, framework, geld, inventory en items, de garagetabel, targeting, Pulse Phone, modellen, inbouwwerkplaatsen en instellingen die in game zijn aangepast. Elke regel die niet OK is, zegt wat je moet doen; docs/SETUP.md toont een voorbeeld en docs/TROUBLESHOOTING.md legt elke regel uit.

  • De frameworkregel noemt wat er gevonden is. Klopt die niet, stel dan Config.Framework of Config.Inventory in in config/config.lua.
  • Een gele regel Add these to ox_inventory/data/items.lua ... (of ... if these items are not in ... yet, add them) gevolgd door item-entries: doe sectie 3 voor je inventory en herstart daarna. De ox_inventory-melding verdwijnt zodra de items erin staan. Op qs-, codem-, origen- en tgiann-inventory worden de entries bij elke start als herinnering geprint, of je ze nu hebt toegevoegd of niet.
  • Een gele regel Copy zds_....png from zerodev-sound/web/img/items into ...: die afbeeldingen staan nog niet in de afbeeldingenmap van je inventory. Hij noemt de map.
  • Pulse Phone app not registered: ...: Pulse Phone draait maar heeft de app geweigerd. Zie sectie 9.

In game (vijf controles)

  1. De map toont een ZeroDev Sound-blip op Legion Square en een Car audio bay-blip bij Benny's.
  2. In de winkel staat een verkoper bij een stand met de speakers uitgestald. Target de verkoper (of druk op E als er geen target-resource is) en koop een Roam Portable Speaker.
  3. Gebruik hem vanuit je inventory. Hij komt in je handen terecht. Druk op E, open Library en speel Night Drive af (een demotrack die met het script wordt meegeleverd). Mensen om je heen horen het.
  4. Stap in een auto. De eerste paar keer zegt de hoek van het scherm welke toets de autoradio opent (standaard K).
  5. Rij als bestuurder de inbouwwerkplaats voor caraudio in en druk op E. De installer opent op je auto.

5. Instellingen die het vaakst worden aangepast

In game: /soundadmin > Settings past de meestgebruikte live aan voor iedereen (inbouwwerkplaatsen, wie mag inbouwen, welke auto's, prijzen, maximaal volume, stille uren, limieten, winkel, politie en schade). Ze worden in de database opgeslagen en gaan vóór config.lua tot je in het paneel op Reset to config drukt.

Alles staat in config/config.lua, tenzij anders vermeld. Producten, prijzen en auto-onderdelen staan in config/catalogue.lua; het fabrieksgeluid van elke auto staat in config/vehicles.lua.

Wat je wilt Instelling
Het framework of de inventory forceren Config.Framework (auto, esx, qb, qbox, standalone), Config.Inventory (auto, ox, qb, qs, codem, core, origen, tgiann, esx, none)
Het commando voor de afstandsbediening aanpassen Config.Command (standaard sound, dus /sound)
De toets voor de autoradio aanpassen Config.HeadUnitKey (standaard K). Spelers kunnen hem zelf opnieuw toewijzen in de GTA-instellingen > Key Bindings > FiveM.
Speakers per speler Config.MaxPlacedPerPlayer (standaard 8). Admins hebben geen limiet.
Speakers in één gekoppelde groep Config.MaxLinkedPerGroup (standaard 16)
Hoe dichtbij om te verbinden, hoe ver om te bedienen Config.PairRange (15 m), Config.ControlRange (80 m)
De winkel verplaatsen of meer winkels toevoegen Config.Shop.locations. Elke locatie neemt label, coords, blip, en optioneel heading (welke kant de stand op kijkt) en clerk (een ped-model). Config.Shop.account is bank of cash. Config.Shop.enabled = false haalt de winkel weg.
Prijzen van speakers price bij elk product in config/catalogue.lua > Catalogue.Speakers. De prijs van de reparatiekit is Config.Damage.repairPrice.
Waar caraudio wordt ingebouwd Config.Install.bays (elk met label, coords, radius, blip). Standaard: één werkplaats bij Benny's.
Eigenaren overal bij hun auto laten bouwen Config.Install.anywhere = true. Voegt een knop Install toe op de autoradio en het commando /caraudio (Config.Install.command).
Welke auto's je kunt ombouwen Config.Install.vehicles: 'owned' (standaard) of 'any'. Zie sectie 7.
Alleen monteurs mogen inbouwen Config.Install.anyone = false en zet de jobs in Config.Install.jobs (ze moeten in dienst zijn).
Gratis auto-onderdelen Config.Install.chargeParts = false. Config.Install.account is bank of cash.
Prijzen van auto-onderdelen en de kant-en-klare kits Catalogue.CarParts en Catalogue.CarKits in config/catalogue.lua
Het fabrieksgeluid van een auto Vehicles.ByClass en Vehicles.ByModel in config/vehicles.lua (basic, premium, reference, bike, none)
Bibliotheek aan of uit Config.Sources.library. Zie sectie 8.
Je eigen nummers Config.Library (bestanden in web/library/)
Stille uren Config.QuietHours = { enabled = true, from = 23, to = 7, maxVolume = 0.35 } (lokale tijd van de server)
Politiejobs en bevoegdheden Config.Police (zie sectie 10)
Speakers die kapotgaan als erop geschoten wordt Config.Damage.enabled
Performancelimieten Config.Streaming.propRange (modellen getekend binnen 90 m), maxAudibleSessions (6 verschillende nummers tegelijk hoorbaar), maxMovingParts (24 geanimeerde conussen per frame)
Extra consoleregels voor support Config.Debug (zet hem op true terwijl je een probleem opspoort)

Itemnamen. Gebruikt een ander script al een van de zds_-itemnamen, hernoem dan de key van dat product in Catalogue.Speakers (bijvoorbeeld zds_roam = { ... }), gebruik daarna de nieuwe naam in je inventory en hernoem de afbeelding zodat hij overeenkomt.

6. Bediening

Wat Hoe
De afstandsbediening openen /sound, of E bij een speaker, of de Sound-app in Pulse Phone
Autoradio K terwijl je in een auto zit (opnieuw toe te wijzen in de GTA-instellingen)
Een speaker neerzetten Gebruik het item. Richt op de plek waar hij moet komen: hij wordt groen waar hij past. Het scrollwiel of Q / E draait hem. Enter of linksklik zet hem neer; Backspace of rechtsklik annuleert.
Een line array stapelen Tijdens het neerzetten maakt Arrow Up / Arrow Down hem hoger of lager
Een Roam meenemen Hij komt in je handen terecht en blijft spelen terwijl je loopt. E muziek, G neerzetten, H inpakken. In een auto stappen of het water in gaan pakt hem in.
Een speaker van jezelf verplaatsen of inpakken Target hem en kies Move of Pack up, of ga zonder target-resource ernaast staan: G verplaatsen (bij een Roam: weer meenemen), H inpakken. Het tabblad Speakers van de afstandsbediening kan ook inpakken.
Speakers koppelen Verbind met een van de jouwe, open het tabblad Speakers van de afstandsbediening en druk op Link naast je andere speakers in de buurt. Draagbare koppelen met draagbare, binnen met binnen, concert met concert (binnen respectievelijk 40 m, 60 m en 250 m).
Installer voor caraudio Rij als bestuurder de werkplaats in en druk op E (of op de knop Install op de autoradio / /caraudio als overal bouwen aan staat). Sleep een onderdeel om het over de oppervlakken van de auto te laten glijden, Alt + slepen laat het vlak op zijn hoogte glijden (zonder te snappen), Shift + slepen tilt het op, Q / E of Shift + scrollen draait het.
Zingen via de speakers Bij de DJ Mixer of een microfoonstandaard (te koop in de winkel, koppel hem zoals een speaker) van de speakers waarmee je verbonden bent, of bij de microfoonstandaard van een autobuild: /soundmic pakt de microfoon, nogmaals /soundmic legt hem terug
Harde muziek melden /noise
Adminlijst /soundadmin
Een item geven (serverconsole) givespeaker <player id> <item name>
Een sub opblazen om het effect te laten zien (staff) /soundblow in de auto, of soundblow <plate> in de console

In de afstandsbediening: Music (de bibliotheek van je server), Queue (volgende, opgeslagen playlists), Speakers (aan/uit en volume van elke speaker, koppelen, opruimen) en Tune (zes geluidsmodi, een equalizer met drie banden, wie de muziek kiest, openingstijden en "Real distance" voor concertopstellingen). Wie de muziek kiest: Only me; Party, waar iedereen in de buurt nummers kan aanvragen die de eigenaar goedkeurt; of Anyone, waar mensen in de buurt kunnen afspelen, pauzeren, overslaan, in de wachtrij zetten en spoelen. Opening hours speelt vanzelf een van de playlists van de eigenaar af tussen twee tijdstippen, voor een winkel of club.

De microfoon (vereist pma-voice). Zolang je hem vasthoudt, hoort iedereen bij een speaker van dat systeem je stem erdoorheen, met een PA-geluid, zo hard als die speaker muziek speelt en zo ver als hij reikt; loop 4 m weg van de mixer of microfoonstandaard, verbreek de verbinding of leg de microfoon terug, en je stem is weer normaal. Alleen de eigenaar van het systeem (en admins, bij een auto) kan erdoor zingen; geef andere spelers de ace zds.mic zodat ze elk systeem kunnen gebruiken. Je stem komt niet vanaf de plek van elke speaker: voicechat kan daar geen stem neerzetten, dus mensen bij een speaker horen je in plaats daarvan op het volume van die speaker. Instellingen: Config.Mic.

7. Caraudio

Hoe spelers bouwen

  1. Rij de inbouwwerkplaats voor caraudio in (standaard Benny's) en druk als bestuurder op E.
  2. Begin met een kant-en-klare kit (Daily thump, Competition, Trunk wall, Sound quality, Clean and hidden) of kies onderdelen: subwoofers (8" tot 18"), kisten, versterkers, deurspeakers, tweeters, pods, valse bodems, panelen, plexi, condensator, tweede accu, ledstrip en head unit.
  3. Sleep elk onderdeel op zijn plek in de auto. Subs vallen in de uitsparingen van hun kist. Elk onderdeel krijgt een afwerking (acht kleuren), en subs en speakers een grill en lichtring. Mirror kopieert een onderdeel naar de andere kant; Fine position verplaatst het in kleine stapjes. Vijf camerastandpunten: Boot, Cabin, Side, Front, Top. Formaat: subs zijn er in 8", 10", 12", 15" en 18" (elke sub in een kist heeft hetzelfde formaat en de kist wordt eromheen gebouwd, tot 30% groter of kleiner dan waarvoor hij gemaakt is); deurspeakers in 5.25", 6.5" en 6x9"; elk ander onderdeel van 80% tot 130% in stappen van 5% (de head unit heeft een standaardformaat). Grotere kisten en panelen kosten meer; een onderdeel kleiner maken kost niets. Conussen bewegen verder bij grotere drivers, en een grotere deurspeaker gaat lager.
  4. Druk op Test system om de build door de auto te horen spelen voordat je betaalt. Hij speelt het eerste nummer in Config.Library (de meegeleverde demotrack, tenzij je die hebt veranderd).
  5. Druk op Install. Alleen onderdelen die nieuw zijn voor de auto worden afgerekend; onderdelen die van de vorige installatie zijn behouden, worden niet opnieuw afgerekend.

De installatie wordt opgeslagen op het kenteken en komt terug als de auto terugkomt: uit elke garage, impound of respawn. Niets aan te passen in je garagescript.

Wat spelers horen

  • Elke auto heeft al een fabrieksgeluid op basis van klasse en model: een systeem met 4 speakers, een premium systeem met 10 speakers of een reference-systeem met 13 speakers, kuipspeakers op motoren; fietsen, vliegtuigen en treinen hebben er geen. Ingebouwde speakers vervangen de fabrieksspeakers die het dichtst bij ze zitten; subs komen erbij.
  • Buiten de auto komt vooral de bas door de carrosserie. Open deuren, open ramen en een open kofferbak laten elk meer naar buiten, naar de kant waar ze op uitkijken.
  • Een auto met subs veert zachtjes mee op de bas terwijl hij geparkeerd staat of stapvoets rijdt (nooit tijdens het rijden), en iedereen binnen voelt de kick.
  • De stereo (K) heeft volume, subniveau, fader en balans.
  • Subs die een tijd lang ver voorbij wat hun versterker en vermogen toelaten worden aangestuurd, op bijna vol volume, kunnen opblazen. Iedereen in de buurt van de auto ziet een dun pluimpje rook uit die sub en hoort een doffe knal. Een opgeblazen sub beweegt niet meer, de bas zakt in, en de conus blijft verkoold tot hij in de werkplaats wordt vervangen (een nieuwe sub moet betaald worden; het merkteken weghalen is geen gratis reparatie). Staff kan het laten zien: /soundblow in de auto, of soundblow <plate> in de serverconsole.

Welke auto's je kunt ombouwen (Config.Install.vehicles)

  • 'owned' (standaard): alleen auto's in de tabel met voertuigen in bezit van je framework (owned_vehicles op ESX, player_vehicles op QBCore en Qbox).
  • 'any': ook auto's die van niemand zijn (NPC-auto's, gespawnde auto's, huurauto's).
  • Hoe dan ook blijft een auto van een andere speler van hem: alleen de eigenaar, een monteur in dienst uit Config.Install.jobs, of een admin kan hem aanpassen. Op een standalone server telt elke auto als in bezit.

Garages, kentekens en impounds

  • Kentekens worden vergeleken zonder spaties aan de randen en in hoofdletters, dus garages die kentekens opvullen of anders schrijven komen nog steeds overeen.
  • Een auto met een nep- of gewijzigd kenteken vindt zijn installatie pas terug als hij zijn opgeslagen kenteken weer heeft.
  • Auto's die alleen op het scherm van één speler bestaan (garagepreviews, sommige showroomauto's) krijgen nooit een installatie: voor iemand anders zijn het geen echte auto's.

Andere geluids- of stereoscripts

ZeroDev Sound is een eigen resource met eigen commando's (/sound, /caraudio, ...), events en state bags op voertuigen, dus hij vervangt of verandert geen andere scripts (terwijl hij in een auto speelt, zet hij alleen de eigen autoradio van GTA uit). Twee caraudioscripts tegelijk op dezelfde auto zijn niet samen getest: gebruik één stereo per auto.

8. Muziekbronnen

Muziek speelt alleen af vanaf audiobestanden die je aan de resource toevoegt. Spelers kiezen uit jouw lijst; ze kunnen geen links invoeren en er wordt nooit een webadres afgespeeld. Voeg alleen audio toe waarvan je eigenaar bent of waarvoor je de rechten hebt om het te gebruiken en te verspreiden.

  • Zet mp3- of ogg-bestanden in zerodev-sound/web/library/ en zet elk in Config.Library als { title = '...', artist = '...', file = 'name.mp3' }. Ze krijgen de volledige ervaring: 3D-geluid, ruimtes en muren, autocabines, geluidsmodi, EQ en kegels die met de echte bas meebewegen.
  • Config.Sources.library = false zet de bibliotheek uit.
  • De eigen autoradio van GTA werkt nog steeds in elke auto zolang er geen nummer van deze resource in speelt.
  • Het startvenster laat zien hoeveel nummers spelers kunnen kiezen en waarschuwt voor elke regel die is overgeslagen (een bestandsnaam die geen mp3 of ogg is in web/library/).
  • Updaten vanaf 3.0.0: opgeslagen nummers, recente nummers en playlistitems die links waren, worden niet meer getoond of afgespeeld. Nummers uit de bibliotheek blijven werken.

9. Pulse Phone

Niets in te stellen. Als Pulse Phone op de server draait (resourcenaam phone, beide edities):

  • Elke telefoon krijgt een Sound-app op het Home Screen. Het is dezelfde afstandsbediening als /sound: verbind met een speaker of de auto, kies muziek, bedien de hele groep. Spelers kunnen hem verwijderen en terughalen uit de App Hub.
  • Wat er speelt op de verbonden speaker of auto, met de resterende tijd, verschijnt op de Island en het Lock Screen. Een tik opent de Sound-app.
  • Pulse Drive (het autoscherm van Pulse, standaard F10) toont de stereo van de auto waarin je zit: nummer, artiest en hoes, met afspelen, pauzeren, vorige, volgende en volume, en een knop Open voor de Sound-app. Dit vereist Pulse Phone 1.2.9 of nieuwer; oudere versies tonen het gewoon niet.

Spelers zonder telefoon gebruiken /sound en K, die alles doen wat de app doet.

Heb je de map van de telefoon hernoemd, voeg dan deze regel met de naam toe aan config/config.lua:

Lua
Config.PulseResource = 'phone'

10. Politie, buren en admins

Wat Hoe Instelling
Harde muziek melden /noise stuurt de dichtstbijzijnde spelende speaker (binnen 60 m) 3 minuten lang als knipperende blip naar politie in dienst. Eén melding per speler per 2 minuten. Config.Police.complaints, complaintRange
Een speaker uitzetten Politie in dienst: target de speaker > Turn off (police), of het tabblad Tune van de afstandsbediening > Police. Binnen 12 m. Config.Police.canSilence, silenceMinutes (15)
Een speaker in beslag nemen Politie in dienst, binnen 4 m: target > Seize (police), of Tune > Police > Seize. De speaker gaat naar de agent. Config.Police.canSeize
Politiejobs Spelers met deze jobs, in dienst Config.Police.jobs
Kapotte speakers Schieten op een geplaatste speaker maakt hem kapot: hij kraakt en stopt. Een Speaker Repair Kit (te koop in de winkel onder Accessories) maakt hem weer: gebruik de kit ernaast. Config.Damage
Adminlijst /soundadmin: elke speaker op de server, wat hij speelt en van wie hij is, met knoppen om een waypoint te zetten, de muziek te stoppen of de speaker te verwijderen. Config.AdminAce (zerodev.sound.admin)
Een item geven Serverconsole: givespeaker <player id> <item name>

11. Talen

Het script wordt geleverd in dezelfde 25 talen als Pulse Phone. Stel er een in via config/config.lua:

Code Taal Code Taal Code Taal
en Engels hu Magyar pt-PT Português (Portugal)
ar العربية it Italiano ro Română
bs Bosanski ja 日本語 ru Русский
cs Čeština ko 한국어 sl Slovenščina
da Dansk nb Norsk bokmål sv Svenska
de Deutsch nl Nederlands th ไทย
es Español pl Polski tr Türkçe
fr Français pt-BR Português (Brasil) uk Українська
zh-CN 简体中文

Config.Locale = 'de', bijvoorbeeld. De standaard, 'auto', volgt Pulse Phone: de server neemt de Config.Locale van Pulse over, en elke speler krijgt Sound in de taal die hij op zijn telefoon heeft gekozen. Zonder Pulse is het Engels. Gamemeldingen, toetsprompts, itemnamen en de naam van de stereotoets staan in locales/<code>.lua; de interface (afstandsbediening, autoradio, winkel, installer, Pulse-app) staat in locales/<code>_ui.lua. Wat ontbreekt, valt terug op Engels.

Om een regel te wijzigen, pas je hem aan in het bestand van die taal. Laat elke %s, %d, %.1f, %% en ~a~ zoals ze zijn. Om een eigen taal toe te voegen, kopieer je locales/en.lua naar locales/xx.lua, verander je Locales['en'] in Locales['xx'] (op beide plekken), vertaal je de tekst tussen de aanhalingstekens en stel je Config.Locale = 'xx' in. locales/ui_strings.txt somt elke interface-key op voor een xx_ui.lua.

12. Troubleshooting

Spelers kunnen de speakeritems niet gebruiken

  • ox_inventory: de entries moeten in ox_inventory/data/items.lua staan met hun client-regel, en ox_inventory moet na het plakken herstart worden. De map moet nog steeds zerodev-sound heten (de entries roepen zerodev-sound.useItem aan).
  • QBCore / ESX: zerodev-sound moet in server.cfg na je framework starten.
  • codem-inventory op QBCore: doe de eigen stap van codem-inventory die QBCore.Functions.UseItem ernaar laat wijzen.
  • Geen inventory: speakers zijn geen items. Spelers openen /sound en drukken op Set up onder Your speakers.

Itemafbeeldingen ontbreken

  • ox_inventory: niets te kopiëren; het afbeeldingspad wijst naar zerodev-sound. Zijn ze leeg, controleer dan de regel image = 'nui://zerodev-sound/...' van de entry en de mapnaam.
  • Andere inventories: lees de consoleregel Copy ... into ...: die noemt de ontbrekende afbeeldingen en de map waar ze in moeten. Kopieer ze uit zerodev-sound/web/img/items/ en herstart de inventory.

Dat is zo bedoeld: spelers kiezen alleen uit jouw bibliotheek. Voeg het nummer toe aan Config.Library (sectie 8).

Helemaal geen geluid

  • De ingebouwde browser van FiveM start geluid zonder klik, dus spelers hoeven nooit ergens op te drukken om audio "toe te staan". Hoort één speler niets terwijl anderen wel iets horen, controleer dan FiveM in zijn volumemixer van Windows.
  • Controleer de speaker in het tabblad Speakers van de afstandsbediening: misschien staat hij uit, of is hij Broken.
  • Misschien heeft de politie hem uitgezet (voor Config.Police.silenceMinutes), of beperken stille uren het volume (Config.QuietHours).
  • Een speler hoort maximaal Config.Streaming.maxAudibleSessions verschillende nummers tegelijk (6), de dichtstbijzijnde eerst.
  • Test system in de installer is stil als Config.Library leeg is of Config.Sources.library = false: hij speelt het eerste nummer uit de bibliotheek.

De winkel is er niet

  • Config.Shop.enabled moet true zijn.
  • De verkoper en de stand verschijnen alleen als een speler binnen ongeveer 70 m van Config.Shop.locations is, en alleen op het scherm van die speler. Controleer de coördinaten die je hebt ingesteld.
  • Met ox_target of qb-target target je de verkoper. Zonder target ga je bij de verkoper staan: E Browse speakers.

Een speaker verschijnt als gewone GTA-speaker, of helemaal niet

De map stream/ ontbreekt of is hernoemd, of de speler joinde voordat de resource gestart was. Herstart de server en maak opnieuw verbinding.

Meldingen over caraudio en wat ze betekenen

Melding Waarom Oplossing
Drive into a car audio bay to build. Overal bouwen staat uit en de auto staat niet in een werkplaats. Rij de werkplaats in (Config.Install.bays), of stel Config.Install.anywhere = true in.
Stand next to your car to build its sound system. Overal bouwen staat aan en je bent meer dan 8 m van de auto, of /caraudio vond geen auto binnen 4 m. Ga bij de auto staan of ga erin zitten.
Stop the car first. De auto rijdt. Stop.
Car audio can only be fitted to a car you own. Config.Install.vehicles = 'owned' en dit kenteken staat niet in je tabel met voertuigen in bezit. Wordt ook aan iedereen behalve admins getoond als die tabel niet gelezen kan worden: de console toont dan een rode regel could not read the owned-vehicles table. Gebruik een auto in bezit, stel 'any' in, of herstel de databasefout die de console noemt.
Only the owner can change this car's audio. De auto is van een andere speler. Wordt ook getoond als Config.Install.anyone = false en de speler geen job in dienst heeft uit Config.Install.jobs. De eigenaar bouwt hem, of een monteur in dienst, of een admin.
Not enough money. De nieuwe onderdelen kosten meer dan de speler heeft op Config.Install.account. Haal onderdelen weg, of stel Config.Install.chargeParts = false in.
A subwoofer blew. It needs replacing. Subs zijn te lang te hard aangestuurd op bijna vol volume. Vervang de sub in de werkplaats; een grotere versterker helpt.

Politie ziet haar opties niet

Voeg de namen van je politiejobs toe aan Config.Police.jobs. Spelers moeten in dienst zijn.

13. Updaten

Van 1.x naar 2.0: lees UPGRADING.md. Tussen 2.x-versies:

  1. Maak een back-up van je map config/, van locales/ als je die vertaald hebt, en van alle nummers die je aan web/library/ hebt toegevoegd.
  2. Stop de server. Vervang de map zerodev-sound door de nieuwe (laat de naam zoals hij is).
  3. Zet je config/-bestanden terug. Noemen de updatenotes nieuwe instellingen, kopieer die regels dan uit de nieuwe bestanden naar de jouwe.
  4. Start de server en lees de console. Eventuele nieuwe items worden geprint voor jouw inventory.

Geplaatste speakers, auto-installaties en playlists staan in de database (zds_speakers, zds_car_builds, zds_playlists, zds_stash) en worden door een update niet aangeraakt.

Teruggaan: bewaar de vorige zerodev-sound-map buiten resources tot de nieuwe versie goed draait, en maak een back-up van de database voordat je updatet. Om terug te gaan stop je de server, zet je de vorige map en je config/ terug, en start je hem. Teruggaan van 3.0 naar 2.x op dezelfde database is niet getest, dus zet de databaseback-up terug als er iets niet klopt.

Vertaald uit het Engels. Als iets hier afwijkt van de Engelse pagina, dan heeft de Engelse pagina gelijk. English