42 lines
2.3 KiB
Markdown
42 lines
2.3 KiB
Markdown
# KCA Security XP-99 Intelligent Security System
|
|
|
|
## TODO
|
|
- [X] Make installation instructions
|
|
- [X] Alarm reporting Roblox-Side script
|
|
- [X] More detailed Readme
|
|
- [X] Use datastores for code storage
|
|
- [ ] Make a generic RFS tie in for the system, so RFS panels can trip the security system.
|
|
|
|
## Installation
|
|
1. Download the zip file [here](https://git.chrischro.me/KCA/alarm-system/archive/main.zip)
|
|
2. Insert the SystemTemplate into your game
|
|
3. Insert a keypad into the `Keypads` folder
|
|
3. Insert a ZoneTemplate into the `Zones` folder, set up the zone as you like
|
|
a. Add sensors to the zones `Sensors` folder
|
|
b. Change the name of the zone folder to the zone number you'd like
|
|
4. Insert Sirens into the `Sirens` folder
|
|
|
|
## Configuration
|
|
### System
|
|
The system is configured through some values in the structure of the system. Here are the values you can change:
|
|
- `dataStoreKey` - The key used to store the system's data in the datastore. Set to blank to use hard-coded codes in the `SecuritySystem` script
|
|
- `entryDelay` and `exitDelay` - The time in seconds for the entry and exit delays
|
|
- `systemName` - The name of the system, used in reporting.
|
|
|
|
### Zone
|
|
The zone is configured through some values in the structure of the zone. Here are the values you can change:
|
|
- `zoneName` - The name of the zone, used in reporting.
|
|
- `chime` - Whether to play a chime when zone is tripped and chime is enabled (`<code>` + `9`)
|
|
- `alwaysOn` - Whether the zone is always on, and does not need to be armed to trip
|
|
- `instant` - Whether the zone is instant, and will trip immediately when armed. If false, entry delay will be used.
|
|
- `interior` - Whether the zone is an interior zone, and will not trip when the system is armed in `Stay` mode
|
|
- `isFire` - Whether the zone is a fire zone, and will trip the system's fire alarm
|
|
## Having multiple separate systems
|
|
To put it simply, you just need to set the `dataStoreKey` string to *anything you want*
|
|
|
|
If you want systems to share codes, use the same dataStoreKey (This is not supported, and may cause issues.)
|
|
|
|
# Zoom Script
|
|
The zoom script is a little thing made by Indirecta that lets you zoom into the keypads when you click on the frame around the buttons.
|
|
Toss it in `StarterPlayer` > `StarterPlayerScripts` and it should work.
|
|
Oh and make sure to set it as a Client script. |