Dokumentation för ZeroDev Sound

ZeroDev Sound: installationsguide

För ZeroDev Sound 3.0.127 min läsningUppdaterad

Den här resursen innehåller eller tillhandahåller inga ljud- eller musikintegrationer från tredje part. Musik spelas bara från ljudfiler som serverägaren lägger till i resursen och från GTA:s inbyggda radio. Spelare kan inte ange länkar. Lägg bara till ljud som du äger eller har rätt att använda och distribuera; att strömma innehåll utan tillstånd kan bryta mot Cfx.re Creator Platform License Agreement och mot lagen.

Högtalare som spelarna köper, bär, ställer ner och länkar ihop, och billjud som de bygger in i sina egna bilar. Det här är hela referensen. För den korta versionen, läs docs/SETUP.md (5 steg); för problem, docs/TROUBLESHOOTING.md; kommer du från 1.x, UPGRADING.md.

Innehåll 1. Krav 2. Installation 3. Items för ditt inventory 4. Första starten: vad du ska se 5. Inställningar som ändras oftast 6. Kontroller 7. Billjud 8. Musikkällor 9. Pulse Phone 10. Polis, grannar och admins 11. Språk 12. Felsökning 13. Uppdatering

1. Krav

Krävs oxmysql. ZeroDev Sound skapar sina egna tabeller vid första starten; det finns ingen SQL-fil att importera.
Framework ESX Legacy, QBCore, Qbox, eller inget (standalone). Hittas automatiskt.
Inventory ox_inventory, qb-inventory (även ps- och lj-inventory), qs-inventory, codem-inventory, core_inventory, origen_inventory, tgiann-inventory, ESX-inventoryt, eller inget. Hittas automatiskt.
Valfritt ox_target eller qb-target (utan något av dem får spelarna en tangentprompt på skärmen i stället). Pulse Phone 1.2.9 eller nyare (lägger till Sound-appen och bilstereon i Pulse Drive). pma-voice för micken: utan pma-voice kan man hålla micken och sjunga i den, men ingen hör det genom högtalarna.

Inget annat: ingen ox_lib, ingen API-nyckel, inget Google-konto.

Linux-servrar

Linux-servrar: använd den rekommenderade server-artifacten (Recommended), inte Latest. På FiveM:s nedladdningssida för servrar (docs.fivem.net/docs/server-download/) väljer du Linux och uppdateringsgrenen Recommended. En server på den senaste Linux-artifacten kraschade under laddning (FXServer skrev ut en dump av /proc/self/maps), och att byta till den rekommenderade artifacten löste det. Det är den enda Linux-rapporten vi har; vi har inte själva kört ZeroDev Sound på en Linux-server än.

Linux-servrar: använd den rekommenderade server-artifacten (Recommended), inte Latest. På FiveM:s nedladdningssida för servrar (docs.fivem.net/docs/server-download/) väljer du Linux och uppdateringsgrenen Recommended. En server på den senaste Linux-artifacten kraschade under laddning (FXServer skrev ut en dump av /proc/self/maps), och att byta till den rekommenderade artifacten löste det. Det är den enda Linux-rapporten vi har; vi har inte själva kört ZeroDev Sound på en Linux-server än.

På en standalone-server (inget framework) är allt gratis: butiken och bildelarna kostar ingenting.

2. Installation

Steg 1. Lägg in mappen. Lägg mappen zerodev-sound i din mapp resources (vilken undermapp som helst går bra, till exempel resources/[zerodev]/zerodev-sound). Behåll mappnamnet zerodev-sound: item-posterna i ox_inventory anropar den med det namnet.

Steg 2. Lägg till den i server.cfg, efter din databas, ditt framework och 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

Steg 3. Ge dina admins admin-behörigheten (ingen gräns för högtalare, listan /soundadmin, fjärrstopp och borttagning):

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

Steg 4. Ställ in items för ditt inventory: avsnitt 3. På ESX-inventoryt och på QBCore görs det åt dig.

Steg 5. Starta om servern (en fullständig omstart, inte bara resursen, så att varje spelare laddar modellerna) och kolla konsolen: avsnitt 4.

3. Items för ditt inventory

Det finns 12 items: tio högtalare, mickstativet och reparationskitet.

Item-namn Etikett Vikt
zds_roam Roam bärbar högtalare 2 kg
zds_room_shelf Hyllhögtalare 4 kg
zds_room_tower Golvhögtalare 10 kg
zds_room_ceiling Takhögtalare 2 kg
zds_room_sub Hemmasubwoofer 8 kg
zds_stage_pa PA Speaker 10 kg
zds_stage_sub Konsertsubwoofer 15 kg
zds_stage_array Line Array Speaker 12 kg
zds_stage_monitor Scenmonitor 6 kg
zds_stage_mixer DJ-mixer 5 kg
zds_stage_mic Mickstativ 3 kg
zds_repair_kit Speaker Repair Kit 0.6 kg

Bilderna finns i zerodev-sound/web/img/items/. Du behöver aldrig gissa: när något saknas skriver serverkonsolen ut exakta poster för ditt inventory och namnger varje bild som inte är på plats än.

Vilket inventory har du?

Inventory Det du gör Bilderna ska till
ESX-inventory (ESX Legacy utan ox) Inget. Items läggs till i tabellen items vid start. Inget att kopiera
ox_inventory (ESX, Qbox eller standalone) Klistra in ox_inventory-blocket i ox_inventory/data/items.lua, inuti tabellen. Starta om ox_inventory, sedan zerodev-sound. Inget att kopiera: posterna laddar bilderna från zerodev-sound
qb-inventory, ps-inventory, lj-inventory (QBCore) Inget. Items läggs till i QBCore:s shared items vid start. Kopiera web/img/items/*.png till <your inventory>/html/images/
qs-inventory På QBCore, klistra in QBCore-blocket i qb-core/shared/items.lua. På ESX, klistra in samma poster i qs-inventory/shared/items.lua. qs-inventory/html/images/
codem-inventory Lägg till de 12 items i codem-inventory/config/itemlist.lua med namn, etiketter och vikter från QBCore-blocket. På QBCore ska du också göra codem-inventorys eget installationssteg som pekar QBCore.Functions.UseItem mot codem-inventory, annars går items inte att använda. codem-inventorys bildmapp för items
core_inventory Inget. Items läggs till i QBCore:s shared items eller ESX-tabellen items åt dig. core_inventorys bildmapp för items
origen_inventory Lägg till de 12 items i origen_inventory/config/items.lua med namn, etiketter och vikter från QBCore-blocket. origen_inventorys bildmapp för items
tgiann-inventory Lägg till de 12 items i tgiann-inventory/items/items.lua med namn, etiketter och vikter från QBCore-blocket. inventory_images/images/
Inget inventory Inget. Köpta och nedpackade högtalare väntar i /sound under Your speakers, med en knapp Set up. Inget att kopiera

För att lägga till items i qb-core för hand i stället för att låta scriptet göra det, klistra in QBCore-blocket i qb-core/shared/items.lua.

Ett annat inventory som kopierar ett av dessa API:er: sätt Config.Inventory till det (se avsnitt 5). Ett egenbyggt inventory kan kopplas in i server/bridge.lua, som är läsbar: varje inventory där är tre små funktioner (räkna, lägga till, ta bort).

ox_inventory-block

Klistra in inuti tabellen return { ... } i 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-block

QBCore:s item-format, som qb-, ps-, lj- och qs-inventory läser:

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.' },

Om du ändrade en etikett, ett pris eller en vikt i config/catalogue.lua, kopiera i stället posterna från din egen konsol: den skriver ut dem utifrån dina inställningar.

4. Första starten: vad du ska se

I serverkonsolen

ZeroDev Sound skriver ut en kontrollruta (skriv soundcheck i serverkonsolen för att skriva ut den igen): databas och schema, framework, pengar, inventory och items, garagetabellen, targeting, Pulse Phone, modeller, installationshallar och inställningar som ändrats i spelet. Varje rad som inte är OK säger vad du ska göra; docs/SETUP.md visar ett exempel och docs/TROUBLESHOOTING.md förklarar varje rad.

  • Framework-raden namnger vad som hittades. Om det är fel, sätt Config.Framework eller Config.Inventory i config/config.lua.
  • En gul rad Add these to ox_inventory/data/items.lua ... (eller ... if these items are not in ... yet, add them) följd av item-poster: gör avsnitt 3 för ditt inventory och starta sedan om. Meddelandet för ox_inventory slutar visas när items finns på plats. På qs-, codem-, origen- och tgiann-inventory skrivs posterna ut vid varje start som en påminnelse, oavsett om du har lagt till dem eller inte.
  • En gul rad Copy zds_....png from zerodev-sound/web/img/items into ...: de bilderna finns inte i ditt inventorys bildmapp än. Den namnger mappen.
  • Pulse Phone app not registered: ...: Pulse Phone körs men nekade appen. Se avsnitt 9.

I spelet (fem kontroller)

  1. Kartan visar en blip ZeroDev Sound på Legion Square och en blip Car audio bay vid Benny's.
  2. I butiken står en expedit vid ett ställ med högtalarna utställda. Sikta på expediten (eller tryck E när det inte finns någon target-resurs) och köp en Roam Portable Speaker.
  3. Använd den från ditt inventory. Den kommer fram i dina händer. Tryck E, öppna Library och spela Night Drive (ett demospår som följer med scriptet). Folk omkring dig hör det.
  4. Sätt dig i en bil. De första gångerna säger skärmens hörn vilken tangent som öppnar bilstereon (K som standard).
  5. Kör in i installationshallen för billjud som förare och tryck E. Installationsverktyget öppnas på din bil.

5. Inställningar som ändras oftast

I spelet: /soundadmin > Settings ändrar de vanligaste live för alla (installationshallar, vem som får installera, vilka bilar, priser, högsta volym, tysta timmar, gränser, butik, polis och skador). De sparas i databasen och går före config.lua tills du trycker på Reset to config i panelen.

Allt finns i config/config.lua om inget annat anges. Produkter, priser och bildelar finns i config/catalogue.lua; varje bils fabriksljud finns i config/vehicles.lua.

Det du vill Inställning
Tvinga fram framework eller inventory Config.Framework (auto, esx, qb, qbox, standalone), Config.Inventory (auto, ox, qb, qs, codem, core, origen, tgiann, esx, none)
Ändra kommandot för fjärrkontrollen Config.Command (standard sound, alltså /sound)
Ändra tangenten för bilstereon Config.HeadUnitKey (standard K). Spelarna kan binda om den själva i GTA:s inställningar > Key Bindings > FiveM.
Högtalare per spelare Config.MaxPlacedPerPlayer (standard 8). Admins har ingen gräns.
Högtalare i en länkad grupp Config.MaxLinkedPerGroup (standard 16)
Hur nära för att ansluta, hur långt för att styra Config.PairRange (15 m), Config.ControlRange (80 m)
Flytta butiken eller lägg till fler butiker Config.Shop.locations. Varje tar label, coords, blip, och valfritt heading (åt vilket håll stället är vänt) och clerk (en ped-modell). Config.Shop.account är bank eller cash. Config.Shop.enabled = false tar bort butiken.
Priser på högtalare price på varje produkt i config/catalogue.lua > Catalogue.Speakers. Priset för reparationskitet är Config.Damage.repairPrice.
Var billjud monteras Config.Install.bays (var och en med label, coords, radius, blip). Standard: en hall vid Benny's.
Låt ägare bygga vid sin bil var som helst Config.Install.anywhere = true. Lägger till en knapp Install på bilstereon och kommandot /caraudio (Config.Install.command).
Vilka bilar som kan byggas Config.Install.vehicles: 'owned' (standard) eller 'any'. Se avsnitt 7.
Bara mekaniker får installera Config.Install.anyone = false och lista jobben i Config.Install.jobs (de måste vara i tjänst).
Gratis bildelar Config.Install.chargeParts = false. Config.Install.account är bank eller cash.
Priser på bildelar och de färdiga kiten Catalogue.CarParts och Catalogue.CarKits i config/catalogue.lua
En bils fabriksljud Vehicles.ByClass och Vehicles.ByModel i config/vehicles.lua (basic, premium, reference, bike, none)
Bibliotek på eller av Config.Sources.library. Se avsnitt 8.
Dina egna låtar Config.Library (filer i web/library/)
Tysta timmar Config.QuietHours = { enabled = true, from = 23, to = 7, maxVolume = 0.35 } (serverns lokala tid)
Polisjobb och befogenheter Config.Police (se avsnitt 10)
Högtalare som går sönder när de skjuts Config.Damage.enabled
Prestandagränser Config.Streaming.propRange (modeller ritas inom 90 m), maxAudibleSessions (6 separata låtar hörs samtidigt), maxMovingParts (24 animerade koner per frame)
Extra konsolrader för support Config.Debug (sätt den till true medan du letar efter ett problem)

Item-namn. Om ett annat script redan använder ett av item-namnen zds_, döp om den produktens nyckel i Catalogue.Speakers (till exempel zds_roam = { ... }), använd sedan det nya namnet i ditt inventory och döp om dess bild så att den matchar.

6. Kontroller

Vad Hur
Öppna fjärrkontrollen /sound, eller E vid en högtalare, eller appen Sound i Pulse Phone
Bilstereo K när du sitter i en bil (går att binda om i GTA:s inställningar)
Ställ ner en högtalare Använd dess item. Sikta dit den ska: den visas grön där den passar. Mushjulet eller Q / E vrider den. Enter eller vänsterklick ställer ner den; Backspace eller högerklick avbryter.
Stapla en line array Medan du ställer ner den höjer eller sänker Arrow Up / Arrow Down den
Bära en Roam Den kommer fram i dina händer och fortsätter spela medan du går. E musik, G ställ ner, H packa ihop. Att sätta sig i en bil eller gå ner i vatten packar undan den.
Flytta eller packa ihop en högtalare du äger Sikta på den och välj Move eller Pack up, eller utan target-resurs, ställ dig bredvid den: G flytta (på en Roam: bär den igen), H packa ihop. Fjärrkontrollens flik Speakers kan också packa ihop.
Länka högtalare Anslut till en av dina, öppna fjärrkontrollens flik Speakers och tryck Link bredvid dina andra högtalare i närheten. Handhållna länkas med handhållna, inomhus med inomhus, konsert med konsert (inom 40 m, 60 m respektive 250 m).
Installationsverktyg för billjud Kör in i installationshallen som förare och tryck E (eller knappen Install på stereon / /caraudio när bygge var som helst är på). Dra en del för att skjuta den över bilens ytor, Alt + dra skjuter den plant på dess höjd (ingen snappning), Shift + dra lyfter den, Q / E eller Shift + scroll vrider den.
Sjung genom högtalarna Vid DJ-mixern eller ett mickstativ (säljs i butiken, länka det som en högtalare) för de högtalare du är ansluten till, eller vid mickstativet i ett bilbygge: /soundmic tar micken, /soundmic igen lägger tillbaka den
Anmäl hög musik /noise
Adminlista /soundadmin
Ge ett item (serverkonsolen) givespeaker <player id> <item name>
Spräng en sub för att visa effekten (personal) /soundblow i bilen, eller soundblow <plate> i konsolen

I fjärrkontrollen: Music (serverns bibliotek), Queue (nästa, sparade spellistor), Speakers (ström och nivå för varje högtalare, länkning, packning) och Tune (sex ljudlägen, en tre-bands equalizer, vem som väljer musiken, öppettider och "Real distance" för konsertuppsättningar). Vem som väljer musiken: Only me; Party, där alla i närheten kan be om låtar som ägaren godkänner; eller Anyone, där personer i närheten kan spela, pausa, hoppa över, köa och spola. Opening hours spelar av sig själv en av ägarens spellistor mellan två klockslag, för en butik eller klubb.

Micken (kräver pma-voice). Medan du håller den hör alla nära någon av systemets högtalare din röst genom den, med PA-ljud, lika högt som den högtalaren spelar musik och så långt som den hörs; gå 4 m från mixern eller mickstativet, koppla från eller lägg tillbaka micken, så är din röst normal igen. Bara systemets ägare (och admins, för en bil) kan sjunga genom det; ge andra spelare ace-behörigheten zds.mic så att de kan använda alla system. Din röst hörs inte från varje högtalares plats: röstchatten kan inte placera en röst där, så personer nära en högtalare hör dig i stället med den högtalarens ljudnivå. Inställningar: Config.Mic.

7. Billjud

Hur spelarna bygger

  1. Kör in i installationshallen för billjud (Benny's som standard) och tryck E som förare.
  2. Börja från ett färdigt kit (Daily thump, Competition, Trunk wall, Sound quality, Clean and hidden) eller välj delar: subwoofers (8" till 18"), lådor, förstärkare, dörrhögtalare, diskanter, poddar, falska golv, paneler, plexi, kondensator, extra batteri, LED-list och huvudenhet.
  3. Dra varje del på plats i bilen. Subbarna hamnar i sin lådas urtag. Varje del får en finish (åtta färger), och subbar och högtalare ett galler och en ljusring. Mirror kopierar en del till andra sidan; Fine position flyttar den i små steg. Fem kameravyer: Boot, Cabin, Side, Front, Top. Storlek: subbar finns i 8", 10", 12", 15" och 18" (varje sub i en låda har samma storlek och lådan byggs runt dem, upp till 30% större eller mindre än den var gjord för); dörrhögtalare i 5.25", 6.5" och 6x9"; alla andra delar från 80% till 130% i steg om 5% (huvudenheten har en standardstorlek). Större lådor och paneler kostar mer; en del som görs mindre kostar ingenting. Konerna rör sig längre på större element, och en större dörrhögtalare går djupare.
  4. Tryck Test system för att höra bygget spela i bilen innan du betalar. Det spelar den första låten i Config.Library (det medföljande demospåret om du inte har ändrat det).
  5. Tryck Install. Bara delar som är nya för bilen debiteras; delar som behålls från förra installationen debiteras inte igen.

Installationen sparas mot registreringsskylten och kommer tillbaka när bilen gör det: från alla garage, bärgningar och respawns. Inget att ändra i ditt garagescript.

Vad spelarna hör

  • Varje bil har redan ett fabriksljud efter klass och modell: ett system med 4 högtalare, ett premiumsystem med 10 högtalare eller ett referenssystem med 13 högtalare, kåphögtalare på motorcyklar; cyklar, flygplan och tåg har inget. Monterade högtalare ersätter de fabrikshögtalare som sitter närmast dem; subbar läggs till.
  • Utanför bilen tar sig mest basen igenom karossen. Öppna dörrar, öppna fönster och en öppen baklucka släpper ut mer, åt det håll de är vända.
  • En bil med subbar studsar mjukt på fjädrarna med basen när den står parkerad eller kryper fram (aldrig under körning), och alla inuti känner kicken.
  • Stereon (K) har volym, subnivå, fader och balans.
  • Subbar som drivs långt över vad deras förstärkare och märkeffekt tillåter, nära full volym, en stund kan sprängas. Alla nära bilen ser en tunn rökslinga från den subben och hör en dov smäll. En sprängd sub slutar röra sig, basen sjunker, och dess kon förblir svedd tills den byts ut i hallen (en ny sub betalas; att ta bort märket är ingen gratis reparation). Personal kan visa det: /soundblow i bilen, eller soundblow <plate> i serverkonsolen.

Vilka bilar som kan byggas (Config.Install.vehicles)

  • 'owned' (standard): bara bilar i ditt frameworks tabell över ägda fordon (owned_vehicles på ESX, player_vehicles på QBCore och Qbox).
  • 'any': även bilar som ingen äger (NPC-bilar, spawnade bilar, hyrbilar).
  • Hur som helst förblir en bil som en annan spelare äger deras: bara ägaren, en mekaniker i tjänst från Config.Install.jobs, eller en admin kan ändra den. På en standalone-server räknas varje bil som ägd.

Garage, registreringsskyltar och bärgning

  • Registreringsskyltar matchas utan mellanslag runt om och med versaler, så garage som fyller ut eller ändrar skiftläge på skyltar matchar ändå.
  • En bil med falsk eller ändrad skylt hittar inte sin installation förrän den har sin sparade skylt igen.
  • Bilar som bara finns på en spelares skärm (garageförhandsvisningar, vissa showroom-bilar) får aldrig en installation: de är inte riktiga bilar för någon annan.

Andra ljud- eller stereoscripts

ZeroDev Sound är en egen resurs med egna kommandon (/sound, /caraudio, ...), events och state bags för fordon, så den ersätter eller ändrar inte andra scripts (medan den spelar i en bil stänger den bara av GTA:s egen bilradio). Att köra två billjudsscripts på samma bil samtidigt har inte testats tillsammans: använd en stereo per bil.

8. Musikkällor

Musik spelas bara från ljudfiler som du lägger till i resursen. Spelarna väljer från din lista; de kan inte ange länkar, och ingen webbadress spelas någonsin upp. Lägg bara till ljud som du äger eller har rätt att använda och distribuera.

  • Lägg mp3- eller ogg-filer i zerodev-sound/web/library/ och lista varje fil i Config.Library som { title = '...', artist = '...', file = 'name.mp3' }. De får hela upplevelsen: 3D-ljud, rum och väggar, bilkupéer, ljudlägen, EQ och koner som rör sig med den riktiga basen.
  • Config.Sources.library = false stänger av biblioteket.
  • GTA:s egen bilradio fungerar fortfarande i alla bilar så länge ingen låt från den här resursen spelas i dem.
  • Startrutan visar hur många låtar spelarna kan välja och varnar för varje post som hoppades över (ett filnamn som inte är mp3 eller ogg i web/library/).
  • Uppdatering från 3.0.0: sparade låtar, senaste låtar och spellisteposter som var länkar visas eller spelas inte längre. Låtar i biblioteket fungerar som förut.

9. Pulse Phone

Inget att ställa in. När Pulse Phone körs på servern (resursnamn phone, vilken utgåva som helst):

  • Varje telefon får en app Sound på hemskärmen. Det är samma fjärrkontroll som /sound: anslut till en högtalare eller bilen, välj musik, styr hela gruppen. Spelarna kan ta bort den och få tillbaka den från App Hub.
  • Det som spelas på den anslutna högtalaren eller bilen, med återstående tid, visas på Island och låsskärmen. Ett tryck öppnar Sound-appen.
  • Pulse Drive (Pulses bilskärm, F10 som standard) visar stereon i bilen du sitter i: låt, artist och omslag, med play, paus, föregående, nästa och volym, och en knapp Open för Sound-appen. Det kräver Pulse Phone 1.2.9 eller nyare; äldre versioner visar det helt enkelt inte.

Spelare utan telefonen använder /sound och K, som gör allt som appen gör.

Om du döpte om telefonens mapp, lägg till den här raden i config/config.lua med dess namn:

Lua
Config.PulseResource = 'phone'

10. Polis, grannar och admins

Vad Hur Inställning
Anmäl hög musik /noise skickar den närmaste spelande högtalaren (inom 60 m) till polis i tjänst som en blinkande blip i 3 minuter. En anmälan per spelare varannan minut. Config.Police.complaints, complaintRange
Stäng av en högtalare Polis i tjänst: sikta på högtalaren > Turn off (police), eller fjärrkontrollens flik Tune > Police. Inom 12 m. Config.Police.canSilence, silenceMinutes (15)
Beslagta en högtalare Polis i tjänst, inom 4 m: sikta > Seize (police), eller Tune > Police > Seize. Högtalaren går till polisen. Config.Police.canSeize
Polisjobb Spelare med dessa jobb, i tjänst Config.Police.jobs
Trasiga högtalare Att skjuta på en placerad högtalare förstör den: den sprakar och tystnar. Ett Speaker Repair Kit (säljs i butiken under Accessories) lagar den: använd kitet bredvid den. Config.Damage
Adminlista /soundadmin: varje högtalare på servern, vad den spelar och vem som äger den, med knappar för att sätta en waypoint, stoppa musiken eller ta bort högtalaren. Config.AdminAce (zerodev.sound.admin)
Ge ett item Serverkonsolen: givespeaker <player id> <item name>

11. Språk

Scriptet levereras på samma 25 språk som Pulse Phone. Välj ett i config/config.lua:

Kod Språk Kod Språk Kod Språk
en Engelska 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', till exempel. Standardvärdet, 'auto', följer Pulse Phone: servern tar Pulses Config.Locale, och varje spelare får Sound på det språk de har valt i sin telefon. Utan Pulse är det engelska. Spelmeddelanden, tangentpromptar, itemnamn och stereotangentens namn finns i locales/<code>.lua; gränssnittet (fjärrkontroll, bilstereo, butik, installationsverktyg, Pulse-app) finns i locales/<code>_ui.lua. Allt som saknas faller tillbaka på engelska.

För att ändra en rad, redigera den i det språkets fil. Behåll varje %s, %d, %.1f, %% och ~a~ som de är. För att lägga till ett eget språk, kopiera locales/en.lua till locales/xx.lua, ändra Locales['en'] till Locales['xx'] (på båda ställena), översätt texten mellan citattecknen och sätt Config.Locale = 'xx'. locales/ui_strings.txt listar varje gränssnittsnyckel för en xx_ui.lua.

12. Felsökning

Spelarna kan inte använda högtalar-items

  • ox_inventory: posterna måste finnas i ox_inventory/data/items.lua med sin rad client, och ox_inventory måste startas om efter att du klistrat in. Mappen måste fortfarande heta zerodev-sound (posterna anropar zerodev-sound.useItem).
  • QBCore / ESX: zerodev-sound måste starta efter ditt framework i server.cfg.
  • codem-inventory på QBCore: slutför codem-inventorys eget steg som pekar QBCore.Functions.UseItem mot den.
  • Inget inventory: högtalare är inga items. Spelarna öppnar /sound och trycker Set up under Your speakers.

Item-bilder saknas

  • ox_inventory: inget att kopiera; bildsökvägen pekar på zerodev-sound. Om de är tomma, kontrollera postens rad image = 'nui://zerodev-sound/...' och mappnamnet.
  • Andra inventories: läs konsolraden Copy ... into ...: den listar de saknade bilderna och mappen de ska till. Kopiera dem från zerodev-sound/web/img/items/ och starta om inventoryt.

Det är avsiktligt: spelarna väljer bara från ditt bibliotek. Lägg till låten i Config.Library (avsnitt 8).

Inget ljud alls

  • FiveM:s inbyggda webbläsare startar ljud utan klick, så spelarna behöver aldrig trycka på något för att ”tillåta” ljud. Om en spelare inte hör något medan andra gör det, kolla FiveM i deras volymmixer i Windows.
  • Kontrollera högtalaren i fjärrkontrollens flik Speakers: den kan vara avstängd, eller Broken.
  • Polisen kan ha stängt av den (i Config.Police.silenceMinutes), eller så begränsar tysta timmar volymen (Config.QuietHours).
  • En spelare hör högst Config.Streaming.maxAudibleSessions separata låtar samtidigt (6), närmast först.
  • Test system i installationsverktyget är tyst när Config.Library är tom eller Config.Sources.library = false: det spelar den första låten i biblioteket.

Butiken finns inte där

  • Config.Shop.enabled måste vara true.
  • Expediten och stället visas bara när en spelare är inom cirka 70 m från Config.Shop.locations, och bara på den spelarens skärm. Kontrollera koordinaterna du har satt.
  • Med ox_target eller qb-target, sikta på expediten. Utan någon av dem, ställ dig vid expediten: E Browse speakers.

En högtalare visas som en vanlig GTA-högtalare, eller inte alls

Mappen stream/ saknas eller har döpts om, eller så gick spelaren in innan resursen startade. Starta om servern och anslut igen.

Meddelanden om billjud och vad de betyder

Meddelande Varför Lösning
Drive into a car audio bay to build. Bygge var som helst är avstängt och bilen står inte i en hall. Kör in i hallen (Config.Install.bays), eller sätt Config.Install.anywhere = true.
Stand next to your car to build its sound system. Bygge var som helst är på och du är mer än 8 m från bilen, eller så hittade /caraudio ingen bil inom 4 m. Ställ dig vid bilen eller sätt dig i den.
Stop the car first. Bilen rör sig. Stanna.
Car audio can only be fitted to a car you own. Config.Install.vehicles = 'owned' och den här skylten finns inte i din tabell över ägda fordon. Visas också för alla utom admins när den tabellen inte kan läsas: konsolen visar då en röd rad could not read the owned-vehicles table. Använd en ägd bil, sätt 'any', eller rätta databasfelet som konsolen namnger.
Only the owner can change this car's audio. Bilen tillhör en annan spelare. Visas också när Config.Install.anyone = false och spelaren inte har något jobb i tjänst från Config.Install.jobs. Ägaren bygger den, eller en mekaniker i tjänst, eller en admin.
Not enough money. De nya delarna kostar mer än spelaren har på Config.Install.account. Ta bort delar, eller sätt Config.Install.chargeParts = false.
A subwoofer blew. It needs replacing. Subbarna pressades för hårt för länge nära full volym. Byt ut subben i hallen; en större förstärkare hjälper.

Polisen ser inte sina alternativ

Lägg till dina polisjobbnamn i Config.Police.jobs. Spelarna måste vara i tjänst.

13. Uppdatering

Från 1.x till 2.0: läs UPGRADING.md. Mellan 2.x-versioner:

  1. Säkerhetskopiera din mapp config/, locales/ om du har översatt den, och alla låtar du har lagt till i web/library/.
  2. Stoppa servern. Ersätt mappen zerodev-sound med den nya (behåll namnet).
  3. Lägg tillbaka dina filer i config/. Om uppdateringsnoteringarna nämner nya inställningar, kopiera de raderna från de nya filerna till dina.
  4. Starta servern och läs konsolen. Eventuella nya items skrivs ut för ditt inventory.

Placerade högtalare, bilinstallationer och spellistor sparas i databasen (zds_speakers, zds_car_builds, zds_playlists, zds_stash) och rörs inte av en uppdatering.

Gå tillbaka: behåll den tidigare zerodev-sound-mappen utanför resources tills den nya versionen fungerar bra, och ta en backup av databasen innan du uppdaterar. För att gå tillbaka stoppar du servern, lägger tillbaka den tidigare mappen och din config/ och startar den. Att gå tillbaka från 3.0 till 2.x på samma databas har inte testats, så återställ databasbackupen om något ser fel ut.

Översatt från engelska. Om något här skiljer sig från den engelska sidan är det den engelska sidan som gäller. English