FEARService v2.0

(Disclaimer) This post is meant to display the admin commands, not settings. Most settings are shown in the old post, FEARService v1.9.
⊁▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬⊀

What is FEARService?

FEARService is a universal module that is intended to be used upon every FEAR facilities. It has functions that all facilities should have, whether it be for functional uses to give people weapons, or for us to enforce rules we have against packages and keeping track of reaching sword fighters. This module relies on Kohl’s Admin’s Admin system. With that being said, each facility has different needs, and will require you to mess with the settings.

Settings

Simply go in the script, everything is self-explanatory.

Commands

:randomize (:rteams all red blue)

  • or randomise, or ra, this command randomizes the teams. If you have the settings changed for this command, you can randomize the teams to the ones that you usually want, so :randomize turns into :randomize all red blue. You can also randomize more than 2 teams, so just include another team as your parameter if you want to do more than two.

:collision on/off

  • or collisions, turns off or on player collision.

:uniform player

  • or uni, puts on FEAR uniform for a player, or more if specified.

:shouldertoshoulder (folder) (player)

  • or :sts, if changed in settings, makes the default team (or team/player specified) stand shoulder to shoulder one stud apart in the default sts lines (or other sts lines specified)

:ai

  • spawns a sword fighting ai for a specific player. :ai on (player) to spawn an AI, :ai start (player) to start the AI (if a player isn’t specified then it’s going to start every AI). :ai off (player) To delete the AI (again, if no specified player, the command executes for everyone).

:outscore number (player)

  • or os, teams players to the default or specific team provided after a certain amount of wipeouts given.

:oldanimation/:oa and :newanimation/:na

  • changes the player animations (r6)

:grouplock group1,group2,etc

  • or gl, locks the server and only allows people of a certain group to join.

:groupcheck group1,group2,etc

  • or gc, displays everyone in the server whos not in the groups specified.

:teamchatonly

  • or tconly, enables/disables team chat. This command toggles the team chat every time you use it.

:serverstarter

  • or server, shows who started the server including timezone.

:ldev

  • smites either me or red4erik if we’re in the server (please dont do this)

Now for the weapon commands. An old version that simply works is :sword, :give all weapon, or :sgive all weapon. :sremove command counters :sgive. All these commands follow a specific format that I’m about to explain
:weapon Gives a TK version of that weapon to somebody.

  • Just saying :weapon gives it to everyone (+ people who join after) for infinite lives
  • Saying :weapon all just gives it to everyone for infinite lives
  • :weapon me gives it to me for infinite lives
  • :weapon me 6 gives it to me for 6 lives

:rweapon Removes the TK version of that weapon.

  • :rweapon removes everyone’s weapons forever
  • :rweapon all removes everyone’s weapons for 1 life
  • :rweapon me removes me weapon for 1 life

:aweapon Gives the ATK version of that weapon to somebody.
:raweapon Removes the ATK version of that weapon.

All of these variations are included in these commands:

  • :tk - A classic TK sword
  • :tkr - A realistic TK sword (does twice as much damage to the torso and head)
  • :tsr - A TSR-1
  • :db - A dodgeball (after a limited time of use, the dodgeball turns grey and stops working.)

⊁▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬⊀
In compared to FSv1.9, FSv2 has:

  • 2 New Health Bars
  • 2 New Tool Bars
  • Grouplock (locks server which only allows people in groups specified) and groupcheck (checks whos not in the gorups specified) command
  • STS command change (multiple sts folders are now allowed, changing the Folder setting to a Folders table (needing to include [‘main’]))
  • Custom kohls message instead of default one
  • Spectate permits certain teams from spectating again
  • Dodgeballs don’t despawn
  • Command Cooldown removed for Mods+
  • Toolbar Bug Fix
  • < and > Rotate 45 degs (Feature that got removed when R15 became a thing)
  • Chat shows your Grade
  • HiCOM gets different Chat Color
  • Dodgeball speed twice as fast
  • AUTO-UPDATEABLE!!

Healthbar 1

Healthbar 2

Toolbar 1

Toolbar 2

GUI

A template is given here:

if _G.FSAdded then script:Destroy() else _G.FSAdded = true end script.Name = 'FEARService'; script.Parent = game:GetService('ServerScriptService')
--[[

FEARService v2.0AU (AutoUpdateable)

INTRODUCTION:
This module made by jaydonbocco is meant to be a universal module for most FEAR facilities. It has functions that all
facilities should have, whether it be for functional uses to give people weapons, or for us to enforce rules we have
against packages and keeping track of reaching sword fighters. This module aksi relies on Kohl's Admin's Admin system.
With that being said, each facility has different needs, and will require you to mess with the settings.

Everything that you can set up is straight-up below.

NOTES:
This update creates a possibility of a true auto-update. Thank you for choosing the FEARService module for your
facility/fort, and we hope you do enjoy this. Jesus loves you.

]]

--------------------------------------------------------------------------------------------------------------
--:			[Commons]			:--
local Commons = {
	On = true, -- Turn common functions on? (If not, then none of this in the table will work.)
	DisplayNames = false,	-- If false, players will have their name shown with their display name under.
	NewAccounts = false,	-- Allow accounts <30 days old in the game?
	Packages = false,		-- Allow packages in the game?
	Rank = true,			-- Show player's group rank on the leaderboard?
	Ping = true,			-- Show player's ping on the leaderboard?
	KDs = true,				-- Show player's knockouts and wipeouts on the leaderboard?
	KLogMinStuds = 12,		-- How many studs must the player achieve to get on the knockout logs?

	AutoTeam = false,		-- Auto team a player when they join?
	DefaultTeams = {Trainer = nil, Trainee = nil, Guest = nil}, -- Change nil to game.Teams.TeamYouWant if you want autoteam
	Abbreviations = {
		-- LRs
		["Enlist"]				= "ENL",
		["Private"]				= "PVT",
		["Specialist"]			= "SPC",
		["Corporal"]			= "CPL",
		["Lance Corporal"]		= "L.CPL",
		["Sergeant"]			= "SGT",
		-- MRs
		["Master Sergeant"]		= "M.SGT",
		["Captain"]				= "CPT",
		["Major"]				= "MAJ",
		["Military Officer"]	= "MO",
		-- Non-Specific
		["Ambassador"]			= "AMB",
		["Honorary HR's"]		= "HHR",
		["Ex-Leader"]			= "EX.L",
		-- HRs
		["Colonel"]				= "COL",
		["Brigadier Colonel"] 	= "B.COL",
		["General"]				= "GEN",
		-- HiCOMs
		["Brigadier General"] 	= "B.GEN",
		["Entrusted General"] 	= "ENT.GEN",
		["Commander"] 			= "COMM"
	},
	SpeakerColors = { -- (Only enabled if Ranks is enabled) When you talk in chat, it will look like this: [Grade][username]: Hello!
		-- Grades (Changes tag color)
		["HR"] = Color3.fromRGB(100,0,0),
		["HiCOM"] = Color3.fromRGB(150,0,0),
		["C"] = Color3.new(1,0,0),

		-- Ranks (Changes chat color)
		["Colonel"] = Color3.fromRGB(248,217,109),
		["Brigadier Colonel"] = Color3.fromRGB(248,217,109),
		["General"] = Color3.fromRGB(248,217,109),

		["Brigadier General"] = Color3.fromRGB(247,211,79),
		["Entrusted General"] = Color3.fromRGB(245,205,48),
		["Commander"] = Color3.fromRGB(0, 255, 0)
	}
}

--------------------------------------------------------------------------------------------------------------
--:			[TeamChat]			:--
local TeamChat = {
	Name = 'SERVER',
	NameColor = Color3.fromRGB(216, 60, 48),
	ChatColor = Color3.fromRGB(196, 40, 28),
	Font = Enum.Font.SciFi
}

--------------------------------------------------------------------------------------------------------------
--:			[GUI Stuff]			:--
local GUIs = {
	GameName = "VELTRIX",					-- For the loading screen.
	GameThumb = "rbxassetid://11746637892",	-- For the loading screen.
	Healthbar = 1,			-- There are 2 healthbars, a simple one (1) and a scifi one (2), or none (0)!
	Toolbar = 1,			-- There are 2 toolbars, a scifi one (1) and a simple one (2), or none (0)!
	
	TeamsUnallowedToSpectate = {},	-- Put all the teams that can't spectate because they're in a lobby or something (Like game.Teams.TeamYouWant)
	UniversalGui = true,			-- Shows the universal gui (KLogs, Materials Button, Shadows Button, etc)
	
	Grapple = {
		TagName = "GrappleSurface",	-- Change this to whatever tag ur using
		Radius = 300,				-- Change this to how far the grapples can enable
		Cooldown = 0.1,				-- The lower it is, the easier it is to fling (old script was 0.2)
		TagAndName = true,			-- Change this if you still want the grapples to work if they have the name given
		MaximumForce = 500000,		-- How fast do you want this thing to go?
	},
	
	AngleBrackets = true,	-- Allow People to rotate 45 deg with the angle brackets in-game?
}

--------------------------------------------------------------------------------------------------------------
--:			[Custom Kohls Settings]			:--
local KSettings = {{
	Flat=false;						-- Enables Flat theme / Disables Aero theme
	ForcedColor=false;				-- Forces everyone to have set color & transparency
	Color=Color3.new(0,0,0);		-- Changes the Color of the user interface
	ColorTransparency=.75;			-- Changes the Transparency of the user interface
	Chat=false;						-- Enables the custom chat
	BubbleChat=false;				-- Enables the custom bubble chat
	AdminCredit=false;				-- Enables the credit GUI for that appears in the bottom right
	AutoClean=true;					-- Enables automatic cleaning of hats & tools in the Workspace
	AutoCleanDelay=60;				-- The delay between each AutoClean routine
	CommandBar=true;				-- Enables the Command Bar | GLOBAL KEYBIND: \
	FunCommands=true;				-- Enables fun yet unnecessary commands
	FreeAdmin=false;				-- Set to 1-5 to grant admin powers to all, otherwise set to false
	PublicLogs=false;				-- Allows all users to see the command & chat logs
	Prefix=':';						-- Character to begin a command
	GroupAdmin={--[[
		3 - Colonel, Brig Colonel
		4 - General, Brig General
		5 - Entrusted General
		6 - Commander
		]][10248]={[241]=3,[242]=3,[243]=4,[244]=4,[245]=5,[255]=6}}; VIPAdmin={}; Permissions={};
},{ --Owners,SuperAdmins,Admins,Mods,VIP,Banned
	{},{},{},{},{},{'Pure_Noble','Trianguiation','Green_Sense','Archesikk','ArmorZii','Axonia','goodman332211','dotetank','BlackPoke','Crengy','KingFuryGold','Breathable','Zapxos','woke2sav','bah2sav','demonswild'}
}}

--------------------------------------------------------------------------------------------------------------
--:			[Custom Kohls Commands]			:--

local DefaultCommandSettings = { -- This is for custom kohls commands from FEARService. 
	Randomize = "red blue",	-- Instead of saying ":ra all red blue", you can say ":ra all". Change this to which 2 teams you want to randomize on default.
	STS = { -- :sts main Red, or if you change these settings, that can be shortened to :sts
		Folders = {
			['main'] = workspace.Stuffs.Tutorial.STS, -- Always have a main if you want to add some STS folders
		},
		TeamString = 'Red' -- This is the default team that will be STS'd if you use the command
	}
}

--[[

ADMIN POWERS

0		Player
1		VIP/Donor
2		Moderator
3		Administrator
4		Super Administrator
5		Owner
6		Game Creator

First table consists of the different variations of the command.

Second table consists of the description and an example of how to use it.

Third index is the ADMIN POWER required to use the command.

Fourth table consists of the arguments that will be returned in the args table.
'player'	-- returns an array of Players
'userid'	-- returns an array of userIds
'boolean'	-- returns a Boolean value
'color'		-- returns a Color3 value
'number'	-- returns a Number value
'string'	-- returns a String value
'time'		-- returns # of seconds
'banned'	-- returns a value from Bans table
'admin'		-- returns a value from Admins table
-- Adding / to any argument will make it optional; can return nil!!!

Fifth index consists of the function that will run when the command is executed properly.	]]

local Commands = { -- If you don't want custom commands, just replace this whole thing with: local Commands
	{{'test','othertest'},{'Test command.','Example'},6,{'number','string/'},function(pl,args)
		print(pl,args[1],args[2])
	end}
}

require(11801438005)(Commons,TeamChat,GUIs,DefaultCommandSettings,Commands,KSettings)