Articles on: Garry's Mod

How to use Billy's Admin Sits (bAdminSits) (Lua API Included)

Usage guide for Billy's Admin Sits (bAdminSits)

This guide will try its best to assist you with the powerful admin sit addon named Billy's Admin Sits.


This addon is included FREE for Physgun Clients!


Setting up a sit room/sit position

By default there are no sit rooms created when Billy's Admin Sits is first installed.


We recommend building a room yourself, you can even decorate it if you see fit! Persistent/PermaProps will do just fine.


After the next server start Billy's Admin Sit will recognize the sit room.


Demo Sit Room


To set the sit position; type !sitpos.


The sit position is tied to the current map. You can have multiple different sit locations per map.


If a sit is created but the map does not have a sit position set, the sit will simply start where the staff member is standing.


Permissions

Setting up permissions for bAdminSits is extremely easy, simply follow the steps below.


  1. Type !openpermissions in chat
  2. Navigate to the Billy's Admin Sits tab
  3. Configure your permissions how you see fit!


Automatically Set "Staff on Duty" Job in Sit

Most servers have a staff on duty job for staff members not engaging in roleplay, bAdminSits makes it extremely easy to pop in on this job when a sit starts then pop right back out once the sit is over! Making staffs' lives so much easier.


They will be added back to their original job with their original loadout after the sit has ended as-well!


Some custom addons (e.g. an inventory system) may cause staff members to lose items or progress. Please use with caution.


Here is an example of a Staff on Duty job that will automatically assign staff members to the role if they engage in a sit.


TEAM_STAFF = DarkRP.createJob("Staff on Duty", {
color = Color(255, 0, 0, 255),
model = "models/player/combine_super_soldier.mdl",
description = [[Staff on Duty]],
weapons = {},
command = "staff",
max = 5,
salary = 0,
admin = 1,
vote = false,
hasLicense = false,
candemote = false,
category = "Citizens",

StaffOnDuty = true,
})


The StaffOnDuty boolean is what determines which job a staff member will become when starting/entering a sit.


Create Sits

This is a permission for bAdminSits.


This permission allows the selected access group(s) to create sits, and generally just use the !sit command.


Target Staff

This is a permission for bAdminSits.


This permission allows the selected access group(s) to forcefully add/remove staff to/from a sit.


Join Any Sit

This is a permission for bAdminSits.


This permission allows the selected access group(s) to forcefully join any active sit.


Usage guide for the !sit command

The !sit command is an extremely powerful utility to interface with bAdminSits.


With the !sit command, you can open the help page, create sits, add people to sits, invite staff to sits, remove people from sits and end a sit.


If you do not have permission to forcefully add staff to a sit, you will only be-able to invite them.


Creating a sit

This will go over how to create a sit with a single or multiple players.


To create a sit; type !sit <player name> <player name> ... where <player name> is replaced by the name of players.


You don't have to use the exact name of the player, and the names are case insensitive. You can use a shortened version of their name, just as long as that string can be found in their name somewhere.
You also do not need to specify more than one player like in the example. If you wish to only sit one player then that will work just fine too.


Lua API for Creating a sit

GAS.AdminSits:CreateSit(CreatorPlayer, {Player1, Player2, ...})


Adding players to a sit

Sometimes you'll want to add players to a sit when it's already in session, this is how you would do that.


To add players to a sit; type !sit <player name> <player name> ... where <player name> is replaced by the name of players.
This also works to add staff to the sit if you use their name.


If you're not in a sit, this will create a sit with the players you have specified in the command.


This will invite staff to the sit if you do not have permission to forcefully add staff to a sit.


Lua API for Adding players to a sit

GAS.AdminSits:AddPlayerToSit(Player, Sit)


Removing players from a sit

If you need to remove a specific player or multiple players in a sit this is how.


To remove players from a sit; type !sit <player name> <player name> ... where <player name> is replaced by the name of players.


If you're not in a sit, this will create a sit with the players you have specified in the command.


You cannot remove staff from sits if you do not have permission to forcefully remove them from a sit. They will have to leave on their own accord.


Lua API for Removing players from a sit

GAS.AdminSits:RemovePlayerFromSit(Player, Sit)


Ending a sit

Ending a sit is super simple.


To end a sit, simply type !sit


Lua API for Ending a sit

GAS.AdminSits:EndSit(Sit)


Recreating a sit

Sometimes you might need to recreate the same sit you just ended.


To recreate the sit you just previously ended, simply type !resit.


Usage guide for using the sit menu

When you create or join a sit, you will see the sit menu.


Sit Menu when a sit is created


Sit Information

Billy's Admin Sits give a wide variety of sit information when a sit is conducted.


Below is the current information displayed during a sit.


Player Status

You can view whether a player is Online, AFK/Tabbed Out, or timing out from the server via the colored circle on their name.


Status

Description

Green

Active on the server, tabbed into the game and not AFK

Orange

AFK or Tabbed Out

Red

Timing out (losing connection.)


Player Country

If the player's OS reports what country their computer is in, you'll see its flag on their name.


To see the name of the country, just hover over the flag.


Player Operating System

This will display the player's current operating system.


Icon

Operating System

Windows

macOS/OS X

Linux


Other Icons

These are other helpful information icons that will be displayed.


Icon

Meaning

Staff Member

Speaking (Voice Chat)

Typing in chat


Sit player functions

Billy's Admin Sits provides a huge variety of functions/actions you can perform on players in the sit.


Most of these actions cannot be performed on staff members.


bAdminSits Player Functions


Function

Description

Steam Profile

Opens the player's Steam Profile in the Steam Overlay.

Copy SteamID

Copies the player's SteamID to your clipboard.

Copy SteamID64

Copies the player's SteamID64 to your clipboard.

Remove from Sit

Removes the player from the sit.

Mute Microphone

Mutes/unmutes the player's microphone.

Disable Text Chat

Stops the player from using text chat; their messages and commands will not register.

Check Steam Friends

Checks if the player has any other friends active in the server with them.

Check Steam Family Sharing

Allows you to check whether another player on the server is Steam Family Sharing with this player. This will show you who they are sharing with even if they are not sharing with the player you have selected.

Check Steam Groups

Requires public Steam Profile Opens the player's Steam Groups in the Steam Overlay.

Check Steam Account Age

Requires public Steam Profile Shows you the player's Steam accounts' age in days.

Check Valve Bans

Shows you whether the player is VAC banned, game banned, trade banned, and how long ago their last ban was.

Check GMod Playtime

Requires public Steam Profile Shows you the player's GMod playtime in hours.

Check Weapons

Shows the player's current weapons.

Check Wallet

Shows the player's wallet.

Check Pocket

Shows the player's DarkRP pocket contents.

Take Screenshot

Takes a screenshot of the player's screen -- allows you to check for clientside Lua cheats. This will not reveal private information like the player's Steam Overlay.

Flash Windows Taskbar

Player must be tabbed out and running Windows OS This will "flash" the players' Windows taskbar (make GMod flash orange.)


Usage guide for using the Physgun

Yep that's right! You can use the physgun to start a sit or remove players from a sit!


Sometimes it's just easier to use the physgun than type a command or open a menu.


Creating a sit with the Physgun

Creating a sit is incredibly easy and demonstrated below.


Pick up the player you want to add to a sit and press RELOAD (default R) with your physgun.


Removing players from a sit

Removing players from a sit is also incredibly easy and demonstrated below.


Pick up the player you want to add to a sit and press RELOAD (default R) with your physgun.


Sit behavior and how it works

There is a lot of behavior checks Billy's Admin Sits go through to help assist staff to the best of its ability.


Disconnected players

This will be triggered when a player disconnects during a sit.


  • If a player disconnects during a sit; all staff in the sit will be informed and their SteamID will be recorded on the server.
  • If the player reconnects, and the sit is still active, they will be added back to the sit automatically.
  • If the player reconnects but the sit has ended, the creator of the sit will be notified that they have reconnected.


Distraction-free Environment

Distractions during a sit can be extremely annoying, we've all had that one guy who prop flies up to screw with Staff during a sit.


When you are in a sit, you will be separated from the rest of the game via the networking thread.


This means, you, and the players in your sit won't be-able to see, interact with, talk to or interfere with players on the server and other sits that are taking place.
Your FPS should be sky-high because you will only be-able to see entities that are PermaPropped!


With a Physgun Server bAdminSits will ideally cause almost 0 performance impact since Physgun Servers multi thread with the game and network thread (Over 100% CPU).


Disabled Actions

Certain actions are disabled during a sit to prevent disruptive behavior.


During a sit, players (NOT staff) will not be-able to:

  • Use the toolgun
  • Undo
  • Spawn props
  • Spawn effects
  • Spawn NPCs
  • Spawn ragdolls
  • Spawn scripted entities
  • Spawn scripted weapons
  • Spawn vehicles
  • Unfreeze props
  • Pickup entities with physgun
  • Pickup entities with gravity gun
  • Pickup entities with the use key
  • Suicide
  • Take Damage
  • Taunt/dance/play animations
  • Use their flashlight
  • Drive props
  • Enter vehicles
  • Pickup items
  • Pickup weapons
  • Use weapons
  • Switch weapons
  • Switch teams
  • See chat of other players on the server (might not work 100% on DarkRP)
  • Hear voice chat of other players on the server
  • Collide with other players
  • Die, but if this happens, they'll immediately respawn and be teleported to the sit.
  • DarkRP Get arrested
  • DarkRP Arrest people
  • DarkRP Get unarrested
  • DarkRP Unarrest people
  • DarkRP Request warrants
  • DarkRP Request hits
  • DarkRP Make people wanted
  • DarkRP Remove wanted status from people
  • DarkRP Change RP name
  • DarkRP Start demote votes
  • DarkRP Change jobs (including custom job titles)
  • DarkRP Use DarkRP entities (e.g. tip jars)
  • DarkRP Drop weapons
  • DarkRP Edit laws
  • DarkRP Go AFK (/afk) (automatic /afk still works though)
  • DarkRP Sleep (/sleep)
  • DarkRP Pocket Items
  • DarkRP Drop pocket items
  • DarkRP Lockpick
  • DarkRP Lock with keys
  • DarkRP Unlock with keys
  • DarkRP Battering ram doors
  • DarkRP Vote
  • DarkRP Buy ammo
  • DarkRP Buy custom entities
  • DarkRP Buy vehicles
  • DarkRP Buy pistols
  • DarkRP Buy shipments


DarkRP Notes

A couple of notes when a sit is being used on the DarkRP gamemode.


If a player is arrested or unarrested, they'll always be teleported to the sit, instead of jail.


When the sit has ended

This behavior obviously occurs when the sit has completely ended (by Staff)


When the sit has ended, all players will be teleported back to their original positions and angles.


If a player is teleported back, and the script detects them as stuck (e.g. in a prop or wall) then it will notify the creator of the sit that they are stuck.


Usage guide for sit invites

Sit invites is a useful function that allows staff members to invite eachother to sits if they are not able to force staff into sits.


Inviting staff to a sit

You can easily invite a single staff member or multiple staff members to a sit.


To invite staff to a sit; type !sit <staff name> <staff name> ... where <staff name>` is the name of the staff member.


They'll see this on their screen:
Staff invitation to a sit


Staff invites expire after roughly 30 seconds.


You'll see this on your screen:


The green/red bar represents how long the staff member has left to respond to the invite.


Responding to a sit invite

When you get a sit invite you can either join or dismiss the invite.


Receiving the invitation


If you do not respond in time and the invite expires, the green/red bar at the bottom will trickle down until it's gone, and the staff invite will disappear.

Updated on: 13/10/2023

Was this article helpful?

Share your feedback

Cancel

Thank you!