C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using System.Collections.Generic;
namespace Oxide.Plugins
{
[Info("Admin Toggle", "Talha", "1.0.6")]
[Description("Toggle your admin status")]
public class AdminToggle : RustPlugin
{
private const string perm = "admintoggle.use";
private void Init() { permission.RegisterPermission(perm, this); }
private void Message(BasePlayer player, string key)
{
var message = string.Format(lang.GetMessage(key, this, player.UserIDString));
player.ChatMessage(message);
}
protected override void LoadDefaultMessages()
{
lang.RegisterMessages(new Dictionary<string, string>
{
["ToPlayer"] = "You switched to player mode!",
["ToAdmin"] = "You switched to admin mode!"
}, this);
lang.RegisterMessages(new Dictionary<string, string>
{
["ToPlayer"] = "Oyuncu moduna geçiş yaptın!",
["ToAdmin"] = "Admin moduna geçiş yaptın!"
}, this, "tr");
}
[ChatCommand("admin")]
private void Toggle(BasePlayer player)
{
if (!player.IPlayer.HasPermission(perm)) return;
if (player.IsAdmin)
{
if (player.IsFlying) { player.SendConsoleCommand("noclip");}
player.Connection.authLevel = 0;
ServerUsers.Set(player.userID, ServerUsers.UserGroup.None, player.displayName, "");
player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, false);
permission.RemoveUserGroup(player.userID.ToString(), "admin");
ServerUsers.Save();
Message(player, "ToPlayer");
}
else
{
player.Connection.authLevel = 1;
ServerUsers.Set(player.userID, ServerUsers.UserGroup.Owner, player.displayName, "");
player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, true);
permission.AddUserGroup(player.userID.ToString(), "admin");
ServerUsers.Save();
Message(player, "ToAdmin");
}
}
}
}