Instala el equipo desde un script de taller, compruébalo desde un garaje, lee lo que suena en un coche o corta toda la música desde otro recurso. Todos los exports son de servidor. Los vehículos se identifican por matrícula; se recortan los espacios y se pasan a mayúsculas antes de comparar.
Exports de servidor
IsRadioInstalled
exports.cuxial_chipeo:IsRadioInstalled(plate) --> booleanif exports.cuxial_chipeo:IsRadioInstalled(plate) then
print('Este coche tiene equipo de sonido')
endInstallRadio
Instala la radio sin ítem, sin barra de progreso y sin comprobar la distancia.
exports.cuxial_chipeo:InstallRadio(plate, installedBy) --> boolean| Parámetro | Tipo | Descripción |
|---|---|---|
plate | string | Matrícula del vehículo. |
installedBy | string? | Identificador del personaje que instala. Después puede desinstalarla y montar piezas. |
Devuelve false si la matrícula está vacía o ya tiene radio.
UninstallRadio
exports.cuxial_chipeo:UninstallRadio(plate) --> boolean ok, string? errorCorta su música y quita la radio. Falla con err_not_installed, o con err_mounts_present mientras el coche tenga piezas montadas.
GetSession
exports.cuxial_chipeo:GetSession(plate) --> table?Copia de lo que suena en el coche, o nil. Campos útiles: playing, title, url, volume, bass, distance, damaged, heat, pressure, queue, group, bucket.
local s = exports.cuxial_chipeo:GetSession(plate)
if s and s.playing then
print(('%s está sonando %s'):format(plate, s.title or s.url))
endGetMounts
exports.cuxial_chipeo:GetMounts(plate) --> table[]Copia de las piezas montadas en el coche (vacía si no hay). Cada entrada: uid, c (id de pieza de data/components.lua), b (hueso), o y r (posición y giro), open.
SetDamaged
exports.cuxial_chipeo:SetDamaged(plate, damaged) --> booleanFríe (true) o repara (false) el equipo. Devuelve false si el coche no tiene radio.
-- Reparar el equipo de sonido junto con el coche
exports.cuxial_chipeo:SetDamaged(plate, false)SetEmergency / IsEmergency
exports.cuxial_chipeo:SetEmergency(on) --> integer stopped
exports.cuxial_chipeo:IsEmergency() --> booleanIgual que /chipeoemergencia: corta y bloquea toda la música (true) o la levanta (false). Devuelve cuántas sesiones se pararon.
SetPlayerBucket / GetPlayerBucket
exports.cuxial_chipeo:SetPlayerBucket(source, bucket) --> boolean
exports.cuxial_chipeo:GetPlayerBucket(source) --> integerMueve a un jugador a un routing bucket y actualiza al momento lo que oye. El recurso también detecta solo los cambios de bucket cada buckets.pollMs; llama a este export desde tus scripts de buckets para ahorrarte esa espera.
Gancho de creadores
fixed.creators.export deja que otro recurso decida quién puede crear instalaciones fijas:
creators = {
permission = false,
jobs = {},
export = { resource = 'my_clubs', name = 'CanBuildSound' },
},exports('CanBuildSound', function(source)
return IsClubOwner(source) -- tu propia comprobación, devuelve boolean
end)State bags (solo lectura)
| Bag | En | Contenido |
|---|---|---|
chipeo | Vehículo | Sesión actual (misma forma que GetSession). |
chipeoHeat | Vehículo | { heat, max, pressure }. |
chipeoPower | Vehículo | Estado de batería y tensión del sistema eléctrico. |
chipeoEmergency | GlobalState | true mientras la emergencia está activa. |
Léelos, no los escribas: el servidor manda en esos valores y los sobrescribe.
Exports de ítems
Los ítems llaman a exports de cliente con su mismo nombre (cuxial_chipeo.chipeo_radio, cuxial_chipeo.usb_8, cuxial_chipeo.chipeo_medusa_l, cuxial_chipeo.chipeo_sub12…). Cada pieza y parte eléctrica tiene el suyo: pone la pieza en las manos del jugador. Existen para ox_inventory y no están pensados para llamarse desde otros recursos.
