Configuration

Server Configuration Guide

Welcome to the configuration guide for your server's surveillance system. This document explains each configurable option in the config.lua file to help you set up your server preferences accurately.

Debug Settings

Config.Debug = false -- Set true to enable detailed debug messages.

Use this setting for troubleshooting or monitoring script behavior.

Camera Surveillance System

Config.CameraSystem = {
    MaxCamerasPerPlayer = 10,
    MaxDistanceFromPlayer = 15.0,
    CameraViewDistance = 50.0,
    CameraRotationSpeed = 0.7,
    CameraZoomSpeed = 0.5,
    RequirePermission = true,
    AllowedJobs = { ['police'] = true, ['security'] = true },
    ShowCameraInfo = true,
    ShowCoordinates = true,
    ShowTimestamp = true
}

Configure camera placement limits, viewing distances, permissions, and UI visibility.

Microphone Surveillance System

Config.MicrophoneSystem = {
    MaxMicrophonesPerPlayer = 5,
    PlacementDistance = 3.0,
    RequiredItem = 'nanospymic',
    ConsumeItemOnPlacement = true,
    SurveillanceChannelBase = 5000,
    ProximityRange = 15.0,
    AudioUpdateInterval = 1000,
    MaxSurveillanceTime = 60 * 60 * 1000,
    EnableOneWayAudio = true,
    SpyCanHearTarget = true,
    TargetCanHearSpy = false,
    ProximityPlayersCanHearSpy = false,
    RequirePermission = false,
    AllowedJobs = { ['police'] = true, ['fbi'] = true },
    UseSubmixEffects = true,
    SubmixVolume = 0.8,
    HideCallUIFromTargets = true,
    HideCallUIFromSpies = true,
    ShowTargetInfo = true,
    ShowProximityPlayers = true,
    ShowMicrophoneStatus = true,
    AutoCleanupOnDisconnect = true,
    CleanupDelay = 30000,
    NotifyTargetOnTimerFailure = true,
    TargetNotificationMessage = 'You notice someone acting suspiciously around you...'
}

Settings related to microphone functionality, permissions, audio effects, and notifications.

Camera Types

Config.CameraTypes = {
    ['nano_spy_cam'] = { label = 'Nano Spy Camera', range = 30.0, nightVision = true },
    ['prop_security_case_01'] = { label = 'Security Camera', range = 20.0 }
}

Define camera-specific properties such as range and special capabilities.

Default Camera Settings

Config.DefaultCamera = {
    fov = 80.0,
    rotationSpeed = 0.7,
    zoomLevels = {0.5, 1.0, 2.0, 4.0},
    defaultZoom = 1.0
}

Set default behaviors for camera views, rotation, and zoom levels.

Camera Controls

Config.CameraControls = {
    RotateUp = 32, RotateDown = 33, RotateLeft = 34, RotateRight = 35,
    ZoomIn = 241, ZoomOut = 242, SwitchCamera = 194, ExitCamera = 177
}

Customize camera control key bindings.

Battery System

Config.BatterySystem = {
    Enabled = true,
    RealTimeUpdates = true,
    UpdateClientsInterval = 10000,
    ExcludedTypes = { ['gps'] = false },
    DeviceSettings = {
        ['camera'] = { DrainAmount = 1, DrainInterval = 900000, LowBatteryThreshold = 20, CriticalBatteryThreshold = 5 },
        ['gps'] = { DrainAmount = 2, DrainInterval = 900000, LowBatteryThreshold = 15, CriticalBatteryThreshold = 3 },
        ['microphone'] = { DrainAmount = 3, DrainInterval = 900000, LowBatteryThreshold = 20, CriticalBatteryThreshold = 5 }
    }
}

Configure battery drain rates and notifications for different devices.

GPS Driving Update Interval

Config.GPSDrivingUpdateInterval = 3000

Interval for GPS location updates while driving.

Digiscanner Detection System

Config.DigiscannerSystem = {
    Enabled = true,
    RequiredItem = 'digiscanner',
    ScannerModel = 'w_am_digiscanner',
    ScannerHash = 520317490,
    AttachmentBone = 28422,
    AttachmentOffset = { x = 0.048, y = 0.078, z = 0.004 },
    AttachmentRotation = { x = -81.6893, y = 2.5616, z = -15.7909 },
    MaxDetectionRange = 15.0,
    MinDetectionRange = 0.0,
    UpdateInterval = 500,
    BeepSoundName = 'BEEP_RED',
    BeepSoundSet = 'TIMED_INTERACTION_SOUNDS',
    MaxBeepInterval = 2000,
    MinBeepInterval = 200,
    ShowDistanceText = true,
    ShowDeviceCount = true,
    BatteryDrainPerScan = 1,
    BatteryDrainInterval = 5000,
    LowBatteryThreshold = 20,
    RequirePermission = false,
    AllowedJobs = { ['police'] = true, ['mechanic'] = true },
    BaseDetectionChance = 0.8,
    JobBonuses = { ['police'] = 0.15, ['detective'] = 0.20 },
    DeviceDetection = {
        ['gps'] = { detectable = true, detectionChance = 1, label = 'GPS Tracker' },
        ['microphone'] = { detectable = true, detectionChance = 1, label = 'Audio Device' },
        ['camera'] = { detectable = true, detectionChance = 0.8, label = 'Camera Device' }
    }
}

Settings for the digiscanner device detection and interaction.

Follow this guide carefully to tailor the surveillance system precisely to your server's needs.

Last updated