Admin Toggle

The Admin Toogle plugin help quick change admin status

Installation

Place the AdminToggle.cs file in /oxide/plugins/

Place the XLIB.dll Dependency in /RustDedicated_Data/Managed/

Grant yourself the default permission o.grant user YOURNAME admintoggle.master the .master permission selector needs to be adapted to what you called the permission setting for the mode

Information

AdminToggle Allows admins with permission to toggle between player & admin mode

Reset Command Open f1 console & write at.fix – Reverts you to player mode (the hard way)

(Permission, Priority, Toggle Commands) – Must be unique

Core Mode Featues

Unlimited custom modes

Customizable permission name

Priority system for modes

Master mode

Oxide group toggling

Custom commands to toggle

Restriction system to specfic steam ids a certan mode

Mode Settings (admin)

Require a reason to toggle

Autorun commands on toggle

Separated inventories

Teleport back to toggle location upon exiting

Revert auth to 0 on disconnect

Blocked commands

Custom outfit while in mode

Notifications (global-chat notification, local-chat notification, popup notification, sound perfab notification & Discord embed Notification)

Interface toggle button, pulsing panel, action menu

Blocked actions

Blocked plugins hooks

Mode Settings (player)

Autorun commands on revert

Notifications (global-chat notification, local-chat notification, popup notification, sound perfab notification & Discord embed Notification)

Blocked commands

Blocked plugins hooks

API Hooks

void admintoggle_onAdmin (BasePlayer player) { /*Do something epic*/ }
void admintoggle_onPlayer (BasePlayer player) { /*Do something epic*/ }

API Methods

bool IsAdmin(BasePlayer player);
object[] GetMode(BasePlayer player, bool TrueMode = false);

/*
IF player.userID IS ASSIGNED ANY MODE RETURNS TRUE
IF player.userID IS NOT ASSIGNED ANY MODE RETURNS FALSE
*/
bool isAdmin = AdminToggle.Call(“IsAdmin”, player.userID);

/*
IF player IS NOT ASSIGNED MODE RETURNS NULL
IF bool IS SET FALSE RETURNS CURRENT MODE — object[0] permission (string), object[1] priority (int), object[2] isMaster (bool)
IF bool IS SET TRUE RETURNS HIGHEST MODE — object[0] permission (string), object[1] priority (int), object[2] isMaster (bool)
*/
object[] getMode = AdminToggle.Call<object[]>(“GetMode”, player, false);

Default Configuration (1 mode)

{
“MODES”: [
{
“Permission”: “master”,
“Priority”: 999,
“Master Level CAREFUL! (Enabling this does the following #Overrides priority, mode & permission system! #Allows to set/get modes for yourself or others! #Overrides limitations by current or lower modes”: false,
“Ignore Server Violations (Bans, Kicks Etc)”: true,
“Group Toggle (Leave blank to disable)”: “”,
“Toggle Commands”: [
“admin”,
“mode”
],
“Restrict Mode To Specfic SteamIds (Leave blank to disable)”: [],
“Settings”: {
“On Admin”: {
“Require Reason”: false,
“Autorun Commands Use Forward Slash ‘/’ For Chat-Commands & Leave It Blank For Console-Commands”: [],
“Keep Separate Inventories”: true,
“Teleport Back Upon Exiting”: false,
“Revert On Disconnect”: false,
“Blocked Commands”: [],
“Admin Outfit”: {
“Enabled”: false,
“Settings”: {
“(Shortnam::SkinID)”: [
“hoodie::1234567890”,
“pants::1234567890”,
“shoes.boots::1234567890”
]
}
},
“Notifications”: {
“Global Chat”: {
“Enabled”: false,
“Settings”: {
“Chat Icon (SteamID64)”: 0,
“Text Message Special Color (HEX) Example %message%”: “#faaf19”,
“Text Message”: “%{player.name}% Activated %{mode.permission}% Mode”
}
},
“Self Chat”: {
“Enabled”: true,
“Settings”: {
“Chat Icon (SteamID64)”: 0,
“Text Message Special Color (HEX) Example %message%”: “#faaf19”,
“Text Message”: “%You% Activated %{mode.permission}% Mode”
}
},
“Self Popup”: {
“Enabled”: false,
“Settings”: {
“Text Message Special Color (HEX) Example %message%”: “#faaf19”,
“Text Message”: “%You% Activated %{mode.permission}% Mode”
}
},
“Self Sound”: {
“Enabled”: false,
“Settings”: {
“Sound (Prefab)”: “assets/prefabs/misc/easter/painted eggs/effects/eggpickup.prefab”
}
},
“Discord”: {
“Enabled”: false,
“Settings”: {
“Webhook”: “https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks”,
“Embed Color”: 3315400
}
}
},
“Interface”: {
“Button”: {
“Enabled”: false,
“Settings”: {
“Opacity (0.0 to 1.0)”: 0.64,
“Active Color (HEX)”: “#008000”,
“Inactive Color (HEX)”: “#800000”,
“Active Text”: “Activated”,
“Inactive Text”: “Disabled”
}
},
“Panel”: {
“Enabled”: false,
“Settings”: {
“Text”: “A D M I N M O D E A C T I V A T E D”,
“Pulse Duration “: 1.0
}
},
“Menu”: {
“Enabled”: false,
“Settings”: {
“Opacity (0.0 to 1.0)”: 0.64,
“Not Found Color (HEX)”: “#000000”,
“Active Color (HEX)”: “#008000”,
“Inactive Color (HEX)”: “#800000”
}
}
},
“Actions”: {
“Allow All Actions (Overrides Specfic Actions)”: false,
“Allow Specfic Actions”: {
“Can Hurt Players”: false,
“Can Build”: false,
“Can Drop Items”: false,
“Can Interact With Loot Containers”: false
}
},
“Blocked Plugins Hooks”: {
“Block All”: false,
“Specfic Plugins”: {
“Backpacks”: false,
“AdminRadar”: false,
“Vanish”: false,
“Godmode”: false
}
}
},
“On Player”: {
“Autorun Commands Use Forward Slash ‘/’ For Chat-Commands & Leave It Blank For Console-Commands”: [],
“Notifications”: {
“Global Chat”: {
“Enabled”: false,
“Settings”: {
“Chat Icon (SteamID64)”: 0,
“Text Message Special Color (HEX) Example %message%”: “#faaf19”,
“Text Message”: “%{player.name}% Returned To %Player% Mode”
}
},
“Self Chat”: {
“Enabled”: true,
“Settings”: {
“Chat Icon (SteamID64)”: 0,
“Text Message Special Color (HEX) Example %message%”: “#faaf19”,
“Text Message”: “%You% Returned To %Player% Mode”
}
},
“Self Popup”: {
“Enabled”: false,
“Settings”: {
“Text Message Special Color (HEX) Example %message%”: “#faaf19”,
“Text Message”: “%You% Returned To %Player% Mode”
}
},
“Self Sound”: {
“Enabled”: false,
“Settings”: {
“Sound (Prefab)”: “assets/prefabs/misc/easter/painted eggs/effects/eggpickup.prefab”
}
},
“Discord”: {
“Enabled”: false,
“Settings”: {
“Webhook”: “https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks”,
“Embed Color”: 3315400
}
}
},
“Blocked Commands”: [
“god”,
“freeze”,
“viewinv”,
“inspect”,
“padmin”,
“playeradministration.show”,
“spectate”
],
“Blocked Plugins Hooks”: {
“Block All”: true,
“Specfic Plugins”: {
“AdminRadar”: false,
“Vanish”: false,
“Godmode”: false
}
}
}
}
}
]
}

Known incompatible plugins

Server Armour (Compatible with v2.29.44 and above)

Leave a Comment