mirror of
https://github.com/Xevion/expression-2.git
synced 2025-12-10 16:07:10 -06:00
move all files, massive overhaul of Printer Bank Manager
This commit is contained in:
224
other/fozie's_alarm_system.txt
Normal file
224
other/fozie's_alarm_system.txt
Normal file
@@ -0,0 +1,224 @@
|
||||
@name Fozie's Alarm System
|
||||
@inputs
|
||||
@outputs
|
||||
@persist [Foz Config Help Allowed]:table
|
||||
@trigger
|
||||
if(first()){
|
||||
#[-----------------------------------------
|
||||
Name: Config
|
||||
-----------------------------------------]#
|
||||
Config = table()
|
||||
|
||||
Config["alarm_sound", string] = "ambient/alarms/apc_alarm_loop1.wav" # This is the sound that'll play when somebody trips the alarm,
|
||||
Config["alarm_dur", number] = 10 # The length that the alarm will sound off
|
||||
|
||||
Config["cmd_min", string] = "min" # This is the command to set the min value for the cube.
|
||||
Config["cmd_max", string] = "max" # This is the command to set the max value for the cube.
|
||||
Config["cmd_show", string] = "show" # This is make the hologram show instead of hide.
|
||||
Config["cmd_hide", string] = "hide" # This is make the hologram hide instead of show.
|
||||
Config["cmd_add", string] = "add" # This will add somebody to the whitelist.
|
||||
Config["cmd_remove", string] = "remove" # This will remove somebody to the whitelist.
|
||||
Config["cmd_help", string] = "help" # This is the command to display the help commands.
|
||||
|
||||
Config["prefix", string] = "!" # This is the prefix for the commands.
|
||||
|
||||
#[-----------------------------------------
|
||||
Name: Setup
|
||||
-----------------------------------------]#
|
||||
function fancyPrint(Text:string){
|
||||
printColor(vec(100, 100, 100), "[", vec(120, 255, 0), "Alarm-System", vec(100, 100, 100), "]: ", vec(255, 255, 255), Text)
|
||||
}
|
||||
|
||||
runOnChat(1)
|
||||
|
||||
holoCreate(1)
|
||||
holoColor(1, vec4(120, 255, 0, 100))
|
||||
holoVisible(1, players(), 0)
|
||||
holoDisableShading(1, 1)
|
||||
|
||||
Foz["min", vector] = vec()
|
||||
Foz["max", vector] = vec()
|
||||
Foz["show", number] = 0 # Bool
|
||||
Foz["alarm", number] = 0 # Bool
|
||||
|
||||
#Allowed[owner():steamID(), number] = 1
|
||||
|
||||
#[-----------------------------------------
|
||||
Name: Commands
|
||||
-----------------------------------------]#
|
||||
Help = table()
|
||||
|
||||
Help[Config["prefix", string] + Config["cmd_min", string], string] = "This will set the min value for the detection cube."
|
||||
Help[Config["prefix", string] + Config["cmd_max", string], string] = "This will set the max value for the detection cube."
|
||||
Help[Config["prefix", string] + Config["cmd_show", string], string] = "This show the hologram."
|
||||
Help[Config["prefix", string] + Config["cmd_hide", string], string] = "This hide the hologram."
|
||||
Help[Config["prefix", string] + Config["cmd_add", string], string] = "This will add somebody to your whitelist."
|
||||
Help[Config["prefix", string] + Config["cmd_remove", string], string] = "This will remove somebody from your whitelist."
|
||||
Help[Config["prefix", string] + Config["cmd_help", string], string] = "This will returtn a list of commands."
|
||||
}
|
||||
interval(100)
|
||||
|
||||
#[-----------------------------------------
|
||||
Name: Chat
|
||||
-----------------------------------------]#
|
||||
|
||||
if(chatClk(owner())){
|
||||
local Ex = lastSaid():explode(" ")
|
||||
|
||||
if(Ex[1, string] == Config["prefix", string] + Config["cmd_help", string]){
|
||||
hideChat(1)
|
||||
|
||||
fancyPrint("Here's a list of commands.")
|
||||
|
||||
foreach(K, V:string = Help){
|
||||
fancyPrint(K + " - " + V)
|
||||
}
|
||||
}
|
||||
|
||||
if(Ex[1, string] == Config["prefix", string] + Config["cmd_min", string]){
|
||||
hideChat(1)
|
||||
|
||||
Foz["min", vector] = owner():aimPos()
|
||||
|
||||
fancyPrint("Set the minimum value to: " + round(Foz["min", vector], 2))
|
||||
}
|
||||
|
||||
if(Ex[1, string] == Config["prefix", string] + Config["cmd_max", string]){
|
||||
hideChat(1)
|
||||
|
||||
Foz["max", vector] = owner():aimPos()
|
||||
|
||||
fancyPrint("Set the maximum value to: " + round(Foz["max", vector], 2))
|
||||
}
|
||||
|
||||
if(Ex[1, string] == Config["prefix", string] + Config["cmd_show", string]){
|
||||
hideChat(1)
|
||||
|
||||
if(Foz["show", number]){
|
||||
fancyPrint("Already showing the hologram. Make sure that the min and max values are set!")
|
||||
}
|
||||
else{
|
||||
Foz["show", number] = 1
|
||||
fancyPrint("Showing the hologram. (Note, the hologram will not show if the min or max value is not set.)")
|
||||
|
||||
holoVisible(1, players(), Foz["show", number])
|
||||
}
|
||||
}
|
||||
|
||||
if(Ex[1, string] == Config["prefix", string] + Config["cmd_hide", string]){
|
||||
hideChat(1)
|
||||
|
||||
if(!Foz["show", number]){
|
||||
fancyPrint("Already hiding the hologram. Make sure that the min and max values are set!")
|
||||
}
|
||||
else{
|
||||
Foz["show", number] = 0
|
||||
fancyPrint("Hiding the hologram. (Note, the hologram will not show if the min or max value is not set.)")
|
||||
|
||||
holoVisible(1, players(), Foz["show", number])
|
||||
}
|
||||
}
|
||||
|
||||
if(Ex[1, string] == Config["prefix", string] + Config["cmd_add", string]){
|
||||
hideChat(1)
|
||||
|
||||
local Ply = findPlayerByName(Ex[2, string])
|
||||
|
||||
if(Ply:isPlayer()){
|
||||
if(Allowed[Ply:steamID(), number]){
|
||||
fancyPrint(Ply:name() + " is already on the whitelist!")
|
||||
}
|
||||
else{
|
||||
fancyPrint("Added " + Ply:name() + " to the whitelist.")
|
||||
Allowed[Ply:steamID(), number] = 1
|
||||
}
|
||||
}
|
||||
else{
|
||||
fancyPrint("Sorry, but I couldn't find player: " + Ex[2, string])
|
||||
}
|
||||
}
|
||||
|
||||
if(Ex[1, string] == Config["prefix", string] + Config["cmd_remove", string]){
|
||||
hideChat(1)
|
||||
|
||||
local Ply = findPlayerByName(Ex[2, string])
|
||||
|
||||
if(Ply:isPlayer()){
|
||||
if(!Allowed[Ply:steamID(), number]){
|
||||
fancyPrint(Ply:name() + " isn't on the whitelist!")
|
||||
}
|
||||
else{
|
||||
fancyPrint("Removed " + Ply:name() + " from the whitelist.")
|
||||
Allowed[Ply:steamID(), number] = 0
|
||||
}
|
||||
}
|
||||
else{
|
||||
fancyPrint("Sorry, but I couldn't find player: " + Ex[2, string])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[-----------------------------------------
|
||||
Name: Hologram
|
||||
-----------------------------------------]#
|
||||
if(changed(Foz["min", vector]) & Foz["min", vector] & Foz["max", vector] | changed(Foz["max", vector]) & Foz["min", vector] & Foz["max", vector]){
|
||||
local Scale = (Foz["min", vector] - Foz["max", vector])
|
||||
|
||||
holoScaleUnits(1, Scale)
|
||||
holoPos(1, (Foz["min", vector] + Foz["max", vector]) / 2)
|
||||
}
|
||||
|
||||
#[-----------------------------------------
|
||||
Name: Detection
|
||||
-----------------------------------------]#
|
||||
if(Foz["min", vector] & Foz["max", vector]){
|
||||
findIncludeClass("Player")
|
||||
findInBox(Foz["min", vector], Foz["max", vector])
|
||||
local Ents = findToArray()
|
||||
|
||||
local Intruders = table()
|
||||
|
||||
foreach(K, V:entity = Ents){
|
||||
if(!Allowed[V:steamID(), number] & !Foz["alarm", number]){
|
||||
Intruders:pushEntity(V)
|
||||
}
|
||||
}
|
||||
|
||||
if(!Foz["alarm", number]){
|
||||
local Count = Intruders:count()
|
||||
|
||||
local Str = ""
|
||||
|
||||
for(I=1, Count){
|
||||
local V = Intruders[I, entity]
|
||||
|
||||
if(I == Count){
|
||||
Str = Str + V:name()
|
||||
}
|
||||
else{
|
||||
Str = Str + V:name() + ", "
|
||||
}
|
||||
}
|
||||
|
||||
if(Count >= 1){
|
||||
Foz["alarm", number] = 1
|
||||
|
||||
fancyPrint("Alarm was tripped by " + Str + ".")
|
||||
|
||||
soundPlay(1, Config["alarm_dur", number], Config["alarm_sound", string])
|
||||
|
||||
timer("alarm_on", Config["alarm_dur", number] * 1000)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(clk("alarm_on")){
|
||||
Foz["alarm", number] = 0
|
||||
}
|
||||
#[-----------------------------------------
|
||||
Made By Fozie!
|
||||
|
||||
SteamID: STEAM_0:0:226129070
|
||||
Profile: http://steamcommunity.com/profiles/76561198412523868
|
||||
Discord: Fozie#5014
|
||||
-----------------------------------------]#
|
||||
Reference in New Issue
Block a user