public void OnAdminQuery(AdminQueryEvent ev) { List <string> datas = new List <string>(); Player player = ev.Admin; Utils.SerializePlayer(player, ADMIN_QUERY, datas); bool handled = ev.Handled; datas.Add(ADMIN_QUERY + "." + handled); string ouput = ev.Output; datas.Add(ADMIN_QUERY + "." + ouput); string query = ev.Query; datas.Add(ADMIN_QUERY + "." + query); bool successful = ev.Successful; datas.Add(ADMIN_QUERY + "." + successful); AdminQueryPacket packet = new AdminQueryPacket(); packet.datas = datas; MainClass.getInstance().sendPacket(packet); }
public void OnAdminQuery(AdminQueryEvent ev) { if (ev.Query != "REQUEST_DATA PLAYER_LIST SILENT") { AdminToolbox.WriteToLog(new string[] { ev.Admin.Name + " used command: \"" + ev.Query + "\"" }, LogHandlers.ServerLogType.RemoteAdminActivity); } }
private void handler(AdminQueryEvent ev, string perm, bool hierarchy = false) { ServerRoles serverRoles = ((UnityEngine.GameObject)ev.Admin.GetGameObject()).GetComponent <ServerRoles>(); PermissionsHandler permissionsHandler = ServerStatic.GetPermissionsHandler(); if ((permissionsHandler.StaffAccess && serverRoles.Staff) || (permissionsHandler.ManagersAccess && serverRoles.RaEverywhere) || (permissionsHandler.BanningTeamAccess && serverRoles.RaEverywhere)) { return; } Server server = PluginManager.Manager.Server; if (hierarchy && plugin.GetConfigBool("AP_HIERARCHY_ENABLE")) { bool isHigher = true; string[] queryArgs = ev.Query.Split(' '); if (queryArgs.Length > 1) { List <Player> playerList = server.GetPlayers(""); string[] players = queryArgs[1].Split('.'); playerList = playerList.FindAll(p => { if (Array.IndexOf(players, p.PlayerId.ToString()) > -1) { return(true); } return(false); }); if (playerList.Count > 0) { foreach (Player player in playerList) { if (!checkHierarchy(ev.Admin, player)) { isHigher = false; } } } } if (!isHigher) { ev.Successful = false; ev.Handled = true; ev.Output = "Player is higher rank than you!"; } } if (!hasPerm(ev.Admin, ev.Admin.GetUserGroup().Name, perm)) { ev.Successful = false; ev.Handled = true; ev.Output = "You Don't Have Permission to do that! You require the permission " + perm + "!"; } }
public JsonSetting[] handle(object api, Dictionary <string, string> mapper) { AdminQueryEvent o = api as AdminQueryEvent; //根据id找到api对象 Player admin = ProxyHandler.handler.apiMapping["admin"] as Player; //从json中获取设置的值,反序列化 o.Admin = admin; //设置 return(null); }
public void OnAdminQuery(AdminQueryEvent ev) { ///Triggered whenever an adming uses an admin command, both gui and commandline RA if (ev.Query == "REQUEST_DATA PLAYER_LIST SILENT") { return; } plugin.SendMessageAsync(plugin.GetConfigString("discord_channel_onadminquery"), plugin.MultiLanguage(48) + ev.Admin.Name + " (" + ev.Admin.SteamId + plugin.MultiLanguage(49) + ev.Query + "'."); }
void IEventHandlerAdminQuery.OnAdminQuery(AdminQueryEvent ev) { send(ev, new IdMapping() .appendId(Lib.ADMIN_ID, ev.Admin) .appendId(Lib.ADMIN_EVENT_SCPDATA_ID, ev.Admin.Scp079Data) .appendId(Lib.ADMIN_EVENT_TEAM_ROLE_ID, ev.Admin.TeamRole) ); }
void IEventHandlerAdminQuery.OnAdminQuery(AdminQueryEvent ev) { // This event constantly spams this query to console // REQUEST_DATA PLAYER_LIST SILENT //if (ev.Query.IndexOf("REQUEST_DATA") == -1) //{ // this.plugin.Info(ev.Admin.Name + "/" + ev.Admin.SteamId + (ev.Handled ? " handled " : " did not handle ") + (ev.Successful ? "successful " : "unsuccessful ") + "query: " + ev.Query + " | Result: " + ev.Output); //} }
public void OnAdminQuery(AdminQueryEvent ev) { var utilsenable = plugin.Config.GetBool("aerutils_enable", true); if (!utilsenable) { return; } string[] array = ev.Query.Split(); if (ev.Query.ToLower() == "killall") { try { if (!ev.Admin.IsPermitted(PlayerPermissions.ForceclassToSpectator)) { ev.Output = "AerUtils_KillAll#Not enough permissions"; ev.Successful = false; ev.Handled = true; return; } else { foreach (Player player in Server.Round.GetPlayers().Where(player => player != null || player.GetClassName != "Spectator")) // For every player on server { player.Kill(DamageTypes.None); // Kill player } ev.Output = "AerUtils_KillAll#Killed everything alive (and dead) in the facility"; ev.Successful = true; ev.Handled = true; return; } } catch (Exception ex) { ev.Output = "AerUtils_KillAll#Error: " + ex; ev.Successful = false; ev.Handled = true; return; } } }
public void OnAdminQuery(AdminQueryEvent ev) { // Check if user or console command if (ev.Query == "REQUEST_DATA PLAYER_LIST SILENT" || ev.Admin?.UserID == null) { return; } if (ev.Admin.HasPermission("toggletag.savetag")) { // Check normal version of command if (ev.Query == "hidetag") { plugin.tagsToggled.Add(ev.Admin.UserID); plugin.SaveTagsToFile(); return; } else if (ev.Query == "showtag") { plugin.tagsToggled.Remove(ev.Admin.UserID); plugin.SaveTagsToFile(); return; } } if (ev.Admin.HasPermission("toggletag.saveoverwatch")) { // Check overwatch command if (ev.Query.Split(' ')[0] == "overwatch" && ev.Query.Split(' ')[1] == ev.Admin.PlayerID.ToString() + ".") { if (ev.Query.Split(' ')[2] == "0") { plugin.overwatchToggled.Remove(ev.Admin.UserID); } else { plugin.overwatchToggled.Add(ev.Admin.UserID); } plugin.SaveTagsToFile(); } } }
public void OnAdminQuery(AdminQueryEvent ev) { ///Triggered whenever an adming uses an admin command, both gui and commandline RA if (ev.Query == "REQUEST_DATA PLAYER_LIST SILENT") { return; } Dictionary <string, string> variables = new Dictionary <string, string> { { "ipaddress", ev.Admin.IpAddress }, { "name", ev.Admin.Name }, { "playerid", ev.Admin.PlayerId.ToString() }, { "steamid", ev.Admin.SteamId }, { "class", ev.Admin.TeamRole.Role.ToString() }, { "team", ev.Admin.TeamRole.Team.ToString() }, { "handled", ev.Handled.ToString() }, { "output", ev.Output }, { "query", ev.Query }, { "successful", ev.Successful.ToString() } }; plugin.SendMessageToBot(plugin.GetConfigString("discord_channel_onadminquery"), "admin.onadminquery", variables); }
public void OnAdminQuery(AdminQueryEvent ev) { // Triggered whenever an admin uses an admin command, both gui and commandline RA if (ev.Query == "REQUEST_DATA PLAYER_LIST SILENT") { return; } Dictionary <string, string> variables = new Dictionary <string, string> { { "ipaddress", ev.Admin.IPAddress }, { "name", ev.Admin.Name }, { "playerid", ev.Admin.PlayerID.ToString() }, { "steamid", ev.Admin.GetParsedUserID() }, { "class", ev.Admin.PlayerRole.RoleID.ToString() }, { "team", ev.Admin.PlayerRole.Team.ToString() }, { "handled", ev.Handled.ToString() }, { "output", ev.Output }, { "query", ev.Query }, { "successful", ev.Successful.ToString() } }; this.plugin.SendMessage(Config.GetArray("channels.onadminquery"), "admin.onadminquery", variables); }
public void OnAdminQuery(AdminQueryEvent ev) { string[] array = ev.Query.Split(new char[] { ' ' }); if (ev.Query.ToLower().StartsWith("lo") || ev.Query.ToLower().StartsWith("lights")) { if (array.Length <= 1) { ev.Output = "LightsOff#Usage: lo/lights <time in seconds>"; ev.Successful = true; ev.Handled = true; return; } if (string.IsNullOrEmpty(array[1])) { ev.Output = "LightsOff#Usage: lo/lights <time in seconds>"; ev.Successful = true; ev.Handled = true; return; } if (array.Length > 1) { try { if (!ev.Admin.IsPermitted(PlayerPermissions.FacilityManagement)) { ev.Output = "LightsOff#Not enough permissions"; ev.Successful = false; ev.Handled = true; return; } if (array.Length > 1) { if (array[1].ToLower().Contains("help")) { ev.Output = "LightsOff#Usage: lo <time in seconds>"; ev.Successful = true; ev.Handled = true; return; } else { int lotime = int.Parse(array[1]); Server.Round.EnableFlickering(lotime, false); ev.Output = "LightsOff#Turned off the lights "; ev.Successful = true; ev.Handled = true; return; } } } catch (Exception ex) { ev.Output = "LightsOff#Error: " + ex; ev.Successful = false; ev.Handled = true; return; } } } }
public void OnAdminQuery(AdminQueryEvent ev) { var utilsenable = plugin.Config.GetBool("aerutils_enable", true); if (!utilsenable) { return; } string[] array = ev.Query.Split(); if (ev.Query.ToLower() == "pbc") { if (array.Length <= 1) { ev.Output = "AerUtils_PersonalBC#Usage: pbc <RA player id> <time in seconds> <text>"; ev.Successful = true; ev.Handled = true; return; } if (string.IsNullOrEmpty(array[1])) { ev.Output = "AerUtils_PersonalBC#Usage: pbc <RA player id> <time in seconds> <text>"; ev.Successful = true; ev.Handled = true; return; } if (array.Length > 1) { try { if (array.Length > 0) { if (array.Length > 0) { ev.Output = "AerUtils_PersonalBC#Usage: pbc <RA player id> <time in seconds> <text>"; ev.Successful = true; ev.Handled = true; return; } if (array[1].ToLower() == "help") { ev.Output = "AerUtils_PersonalBC#Usage: pbc <RA player id> <time in seconds> <text>"; ev.Successful = true; ev.Handled = true; return; } else { int.TryParse(array[1], out int id); Player pl = Server.Round.FindPlayerWithId(id); if (pl != null) { IEnumerable <string> thing = array.Skip(3); string msg = ""; foreach (string s in thing) { msg += $"{s} "; } pl.PersonalBroadcast(msg, Convert.ToUInt32(array[2]), false); ev.Output = "AerUtils_PersonalBC#Done!"; ev.Successful = true; ev.Handled = true; return; } else { ev.Output = "AerUtils_PersonalBC# Please enter valid player id!"; ev.Successful = false; ev.Handled = true; } } } else { ev.Output = "AerUtils_PersonalBC#Usage: pbc <RA player id> <time in seconds> <text>"; ev.Successful = true; ev.Handled = true; } } catch (Exception ex) { ev.Output = "AerUtils_PersonalBC#Error: " + ex; ev.Successful = false; ev.Handled = true; } } } }
private void CommandHandler(AdminQueryEvent ev) { ServerRoles serverRoles = ((UnityEngine.GameObject)ev.Admin.GetGameObject()).GetComponent <ServerRoles>(); PermissionsHandler permissionsHandler = ServerStatic.GetPermissionsHandler(); if ((permissionsHandler.StaffAccess && serverRoles.Staff) || (permissionsHandler.ManagersAccess && serverRoles.RaEverywhere) || (permissionsHandler.BanningTeamAccess && serverRoles.RaEverywhere)) { return; } try { int pos = Array.IndexOf(plugin.GetConfigList("AP_COMMANDS_*"), ev.Admin.SteamId); if (pos > -1) { return; } pos = Array.IndexOf(plugin.GetConfigList("AP_COMMANDS_*"), ev.Admin.GetUserGroup().Name); if (pos > -1) { return; } Dictionary <string, string> dic = plugin.GetConfigDict("AP_COMMANDS"); string listString; if (!dic.TryGetValue(ev.Query.Split(' ')[0].ToLower(), out listString)) { ev.Successful = false; ev.Handled = true; ev.Output = "You Don't Have Permission to do that!"; return; } string[] users = ParseCommaSeparatedString(listString); bool canDo = false; if (users.Length > 0) { pos = Array.IndexOf(users, ev.Admin.SteamId); if (pos > -1) { canDo = true; } pos = Array.IndexOf(users, ev.Admin.GetUserGroup().Name); if (pos > -1) { canDo = true; } } if (!canDo) { ev.Successful = false; ev.Handled = true; ev.Output = "You Don't Have Permission to do that!"; } } catch (Exception e) { plugin.Error(e.ToString()); ev.Successful = false; ev.Handled = true; } }
public void OnAdminQuery(AdminQueryEvent ev) => DiscordLab.bot.NewMessage($"```yaml\nAdmin: {ev.Admin}\nExecuted: {ev.Query.ToUpper()}```");
private void GiveHandler(AdminQueryEvent ev) { ServerRoles serverRoles = ((UnityEngine.GameObject)ev.Admin.GetGameObject()).GetComponent <ServerRoles>(); PermissionsHandler permissionsHandler = ServerStatic.GetPermissionsHandler(); if ((permissionsHandler.StaffAccess && serverRoles.Staff) || (permissionsHandler.ManagersAccess && serverRoles.RaEverywhere) || (permissionsHandler.BanningTeamAccess && serverRoles.RaEverywhere)) { return; } Server server = PluginManager.Manager.Server; if (plugin.GetConfigBool("AP_HIERARCHY_ENABLE")) { bool isHigher = true; string[] queryArgs = ev.Query.Split(' '); if (queryArgs.Length > 1) { List <Player> playerList = server.GetPlayers(""); string[] players = queryArgs[1].Split('.'); playerList = playerList.FindAll(p => { if (Array.IndexOf(players, p.PlayerId.ToString()) > -1) { return(true); } return(false); }); if (playerList.Count > 0) { foreach (Player player in playerList) { if (!checkHierarchy(ev.Admin, player)) { isHigher = false; } } } } if (!isHigher) { ev.Successful = false; ev.Handled = true; ev.Output = "Player is higher rank than you!"; } } string perm = ""; string[] args = ev.Query.Split(' '); if (args.Length != 3) { return; } int itemCode; if (!Int32.TryParse(args[args.Length - 1], out itemCode)) { return; } switch (itemCode) { case (int)ItemType.JANITOR_KEYCARD: case (int)ItemType.SCIENTIST_KEYCARD: case (int)ItemType.MAJOR_SCIENTIST_KEYCARD: case (int)ItemType.ZONE_MANAGER_KEYCARD: case (int)ItemType.GUARD_KEYCARD: case (int)ItemType.SENIOR_GUARD_KEYCARD: case (int)ItemType.CONTAINMENT_ENGINEER_KEYCARD: case (int)ItemType.MTF_LIEUTENANT_KEYCARD: case (int)ItemType.MTF_COMMANDER_KEYCARD: case (int)ItemType.FACILITY_MANAGER_KEYCARD: case (int)ItemType.CHAOS_INSURGENCY_DEVICE: case (int)ItemType.O5_LEVEL_KEYCARD: perm = "AP_RM_PLAYER_GIVE_KEYCARD"; break; case (int)ItemType.RADIO: case (int)ItemType.COM15: case (int)ItemType.MEDKIT: case (int)ItemType.FLASHLIGHT: case (int)ItemType.WEAPON_MANAGER_TABLET: case (int)ItemType.DISARMER: perm = "AP_RM_PLAYER_GIVE_TOOL"; break; case (int)ItemType.MICROHID: case (int)ItemType.E11_STANDARD_RIFLE: case (int)ItemType.P90: case (int)ItemType.MP4: case (int)ItemType.USP: case (int)ItemType.LOGICER: perm = "AP_RM_PLAYER_GIVE_WEAPON"; break; case (int)ItemType.FRAG_GRENADE: case (int)ItemType.FLASHBANG: perm = "AP_RM_PLAYER_GIVE_GRENADE"; break; case (int)ItemType.DROPPED_7: case (int)ItemType.DROPPED_9: case (int)ItemType.DROPPED_5: perm = "AP_RM_PLAYER_GIVE_AMMO"; break; case (int)ItemType.COIN: case (int)ItemType.CUP: perm = "AP_RM_PLAYER_GIVE_OTHER"; break; } if (!hasPerm(ev.Admin, ev.Admin.GetUserGroup().Name, perm)) { ev.Successful = false; ev.Handled = true; ev.Output = "You Don't Have Permission to do that! You require the permission " + perm + "!"; } }
public void OnAdminQuery(AdminQueryEvent ev) { var utilsenable = plugin.Config.GetBool("aerutils_enable", true); if (!utilsenable) { return; } string[] array = ev.Query.Split(); if (ev.Query.ToLower() == "cleanup") { if (array.Length <= 1) { ev.Output = "AerUtils_Cleanup#Usage: cleanup <ragdolls/items/all>"; ev.Successful = true; ev.Handled = true; return; } if (string.IsNullOrEmpty(array[1])) { ev.Output = "AerUtils_Cleanup#Usage: cleanup <ragdolls/items/all>"; ev.Successful = true; ev.Handled = true; return; } if (array.Length > 1) { try { if (!ev.Admin.IsPermitted(PlayerPermissions.FacilityManagement)) { ev.Output = "AerUtils_Cleanup#Not enough permissions"; ev.Successful = false; ev.Handled = true; return; } else { if (array.Length > 1) { if (array[1].ToLower() == "help") { ev.Output = "AerUtils_Cleanup#Usage: cleanup <ragdolls/items/all>"; ev.Successful = true; ev.Handled = true; return; } if (array[1].ToLower() == "ragdoll" || array[1].ToLower() == "ragdolls" || array[1].ToLower() == "r") { foreach (Ragdoll doll in Object.FindObjectsOfType <Ragdoll>()) { NetworkServer.Destroy(doll.gameObject); // Destroy all ragdolls } ev.Output = "AerUtils_Cleanup#Done! Cleaned up ragdolls"; ev.Successful = true; ev.Handled = true; return; } if (array[1].ToLower() == "item" || array[1].ToLower() == "items" || array[1].ToLower() == "i") { foreach (Pickup item in Object.FindObjectsOfType <Pickup>()) { NetworkServer.Destroy(item.gameObject); // Destroy all items } ev.Output = "AerUtils_Cleanup#Done! Cleaned up items"; ev.Successful = true; ev.Handled = true; return; } if (array[1].ToLower().Contains("all") || array[1].ToLower().Contains("everything") || array[1].ToLower().Contains("a") || array[1].ToLower().Contains("e")) { foreach (Pickup item in Object.FindObjectsOfType <Pickup>()) { NetworkServer.Destroy(item.gameObject); // } foreach (Ragdoll doll in Object.FindObjectsOfType <Ragdoll>()) { NetworkServer.Destroy(doll.gameObject); } // ^ Destroy all items and ragdolls ev.Output = "AerUtils_Cleanup#Done! Cleaned up all"; ev.Successful = true; ev.Handled = true; return; } } else { ev.Output = "AerUtils_Cleanup#Usage: cleanup <ragdolls/items/all>"; ev.Successful = true; ev.Handled = true; } } } catch (Exception ex) { ev.Output = "AerUtils_Cleanup#Error: " + ex; ev.Successful = false; ev.Handled = true; return; } } else { ev.Output = "AerUtils_Cleanup#Usage: cleanup <ragdolls/items/all>"; ev.Successful = true; ev.Handled = true; } } }
public void OnAdminQuery(AdminQueryEvent ev) { var utilsenable = plugin.Config.GetBool("aerutils_enable", true); if (!utilsenable) { return; } var aerutils_lo = plugin.Config.GetBool("aerutils_lo_enable", true); if (!aerutils_lo) { return; } string[] array = ev.Query.Split(); if (ev.Query.ToLower() == "lights") { if (array.Length <= 1) { ev.Output = "AerUtils_LightsOff#Usage: lights <time in seconds>"; ev.Successful = true; ev.Handled = true; return; } if (string.IsNullOrEmpty(array[1])) { ev.Output = "AerUtils_LightsOff#Usage: lights <time in seconds>"; ev.Successful = true; ev.Handled = true; return; } if (array.Length > 1) { try { if (array.Length > 1) { if (array[1].ToLower() == "help") { ev.Output = "AerUtils_LightsOff#Usage: lights <time in seconds>"; ev.Successful = true; ev.Handled = true; return; } else { int.TryParse(array[1], out int lotime); Server.Round.EnableFlickering(lotime, false); ev.Output = "AerUtils_LightsOff#Turned off the lights "; ev.Successful = true; ev.Handled = true; if (int.TryParse(array[1], out int lotime2) == false) { ev.Output = "AerUtils_LightsOff#Error! used" + lotime2 + "instead of positive integer"; ev.Successful = false; ev.Handled = true; } return; } } } catch (Exception ex) { ev.Output = "AerUtils_LightsOff#Error: " + ex; ev.Successful = false; ev.Handled = true; return; } } } }
/// <summary> /// OnAdminQuery is triggered when a member of staff (global or server) runs a command via RemoteAdmin /// </summary> public void OnAdminQuery(AdminQueryEvent ev) { Plugin.Info($"{ev.Admin.name} ran command {ev.Query}"); }
public void OnAdminQuery(AdminQueryEvent ev) { plugin.luaHookCall.Function.Call("OnAdminQuery", ev.Admin, ev.Query, ev.Output, ev.Handled, ev.Successful); }
public void OnAdminQuery(AdminQueryEvent ev) { if (ev.Query.ToLower() == "instakill") { var utilsenable = plugin.Config.GetBool("aerutils_enable", true); if (!utilsenable) { return; } string[] array = ev.Query.Split(); if (array.Length <= 1) { ev.Output = "AerUtils_InstaKill#Usage: instakill <RemoteAdmin player id>"; ev.Successful = true; ev.Handled = true; return; } if (string.IsNullOrEmpty(array[1])) { ev.Output = "AerUtils_InstaKill#Usage: instakill <RemoteAdmin player id>"; ev.Successful = true; ev.Handled = true; return; } if (array.Length > 1) { try { if (array.Length > 0) { if (array[1].ToLower() == "help") { ev.Output = "AerUtils_InstaKill#Usage: instakill <RemoteAdmin player id>"; ev.Successful = true; ev.Handled = true; return; } else { int id = int.Parse(array[1]); Player pl = Server.Round.FindPlayerWithId(id); if (pl != null) { pl.Kill(DamageTypes.None); ev.Output = "AerUtils_InstaKill#Instantly killed player " + pl.Nick; ev.Successful = true; ev.Handled = true; return; } else if (pl == null) { ev.Output = "AerUtils_InstaKill#Please, use valid player id! Id" + pl + " is invalid"; ev.Successful = false; ev.Handled = true; } } } } catch (Exception ex) { ev.Output = "AerUtils_InstaKill#Error: " + ex; ev.Successful = false; ev.Handled = true; return; } } } }
public void OnAdminQuery(AdminQueryEvent ev) { if (ev.Query.ToLower() == "size") { try { var utilsenable = plugin.Config.GetBool("aerutils_enable", true); if (!utilsenable) { return; } string[] array = ev.Query.Split(); if (array.Length <= 1) { ev.Output = "AerUtils_Size#Usage: size <RA player id> <x> <y> <z>"; ev.Successful = true; ev.Handled = true; return; } if (string.IsNullOrEmpty(array[1])) { ev.Output = "AerUtils_Size#Usage: size <RA player id> <x> <y> <z>"; ev.Successful = true; ev.Handled = true; return; } if (array.Length > 1) { if (!ev.Admin.IsPermitted(PlayerPermissions.PlayersManagement)) { ev.Output = "AerUtils_Size#Not enough permissions"; ev.Successful = false; ev.Handled = true; return; } if (array.Length > 0) { if (array[1].ToLower() == "help") { ev.Output = "AerUtils_Size#Usage: size <RA player id> <x> <y> <z>"; ev.Successful = true; ev.Handled = true; return; } else { var id = int.TryParse(array[1], out int pid); var sx = float.TryParse(array[2], out float size_x); var sy = float.TryParse(array[3], out float size_y); var sz = float.TryParse(array[4], out float size_z); Player pl = Server.Round.FindPlayerWithId(pid); if (pl != null) { pl.SetPlayerScale(size_x, size_y, size_z); // Set size for player ev.Output = "AerUtils_Size#Set custom size for player " + pl.Nick; ev.Successful = true; ev.Handled = true; return; } if (string.IsNullOrEmpty(array[1]) && string.IsNullOrEmpty(array[2]) && string.IsNullOrEmpty(array[3]) && string.IsNullOrEmpty(array[4])) { ev.Output = "AerUtils_Size#Usage: size <RA player id> <x> <y> <z>"; ev.Successful = true; ev.Handled = true; return; } if (sx == false || sy == false || sz == false) { ev.Output = "AerUtils_Size#Error: You have to use only positive integer player id and float size (Example: size 2 1,5 1,5 1,5)"; ev.Successful = false; ev.Handled = true; return; } if (id == false) // If player id is invalid { ev.Output = "Please, enter valid player id!"; ev.Successful = false; ev.Handled = true; } } } } } catch (Exception ex) { ev.Output = "AerUtils_Size#Error: " + ex; ev.Successful = false; ev.Handled = true; return; } } }
public void OnAdminQuery(AdminQueryEvent ev) { }
public void OnAdminQuery(AdminQueryEvent ev) { string Query = ev.Query.ToLower(); string[] splitQuery = Query.Split(' '); switch (Query) { case "request_data player_list silent": break; case "open **": handler(ev, "AP_RM_DOORS_OPEN_ALL"); break; case "open *": handler(ev, "AP_RM_DOORS_OPEN_ALL_LISTED"); break; case "open !*": handler(ev, "AP_RM_DOORS_OPEN_ALL_NOT_LISTED"); break; case "close **": handler(ev, "AP_RM_DOORS_CLOSE_ALL"); break; case "close *": handler(ev, "AP_RM_DOORS_CLOSE_ALL_LISTED"); break; case "close !*": handler(ev, "AP_RM_DOORS_CLOSE_ALL_NOT_LISTED"); break; case "lock **": handler(ev, "AP_RM_DOORS_LOCK_ALL"); break; case "lock *": handler(ev, "AP_RM_DOORS_LOCK_ALL_LISTED"); break; case "lock !*": handler(ev, "AP_RM_DOORS_LOCK_ALL_NOT_LISTED"); break; case "unlock **": handler(ev, "AP_RM_DOORS_UNLOCK_ALL"); break; case "unlock *": handler(ev, "AP_RM_DOORS_UNLOCK_ALL_LISTED"); break; case "unlock !*": handler(ev, "AP_RM_DOORS_UNLOCK_ALL_NOT_LISTED"); break; case "destroy **": handler(ev, "AP_RM_DOORS_DESTROY_ALL"); break; case "destroy *": handler(ev, "AP_RM_DOORS_DESTROY_ALL_LISTED"); break; case "destroy !*": handler(ev, "AP_RM_DOORS_DESTROY_ALL_NOT_LISTED"); break; case "server_event force_mtf_respawn": handler(ev, "AP_RM_RESPAWN_MIF"); break; case "server_event force_ci_respawn": handler(ev, "AP_RM_RESPAWN_CI"); break; case "server_event round_restart": handler(ev, "AP_RM_RESTART_ROUND"); break; case "forcestart": handler(ev, "AP_RM_FORCE_START"); break; case "server_event terminate_unconn": handler(ev, "AP_RM_KICK_UNCONNECTED"); break; case "intercom-timeout": handler(ev, "AP_RM_INTERCOM_TIMEOUT"); break; case "intercom-reset": handler(ev, "AP_RM_INTERCOM_RESET"); break; case "server_event detonation_start": handler(ev, "AP_RM_DETONATION_START"); break; case "server_event detonation_cancel": handler(ev, "AP_RM_DETONATION_CANCEL"); break; case "server_event detonation_instant": handler(ev, "AP_RM_DETONATION_INSTANT"); break; default: if (Query.StartsWith("request_data ")) { if (splitQuery.Length < 2) { ev.Successful = false; ev.Handled = true; ev.Output = "Player is higher rank than you!"; return; } switch (splitQuery[1]) { case "short-player": handler(ev, "AP_RM_PlAYER_INFO_REQUEST"); break; case "player": handler(ev, "AP_RM_PlAYER_INFO_REQUEST_IP"); break; case "auth": handler(ev, "AP_RM_PlAYER_INFO_REQUEST_AUTH"); break; default: ev.Successful = false; ev.Handled = true; ev.Output = "Player is higher rank than you!"; break; } } else if (Query.StartsWith("overwatch ")) { handler(ev, "AP_RM_ADMIN_OVERWATCH", true); } else if (Query.StartsWith("god ")) { handler(ev, "AP_RM_ADMIN_GOD", true); } else if (Query.StartsWith("bypass ")) { handler(ev, "AP_RM_ADMIN_BYPASS", true); } else if (Query.StartsWith("bring ")) { handler(ev, "AP_RM_ADMIN_BRING", true); } else if (Query.StartsWith("goto ")) { handler(ev, "AP_RM_ADMIN_GOTO", true); } else if (Query.StartsWith("heal ")) { handler(ev, "AP_RM_ADMIN_HEAL", true); } else if (Query.StartsWith("lockdown ")) { handler(ev, "AP_RM_ADMIN_LOCKDOWN", true); } else if (Query.StartsWith("open ")) { handler(ev, "AP_RM_DOORS_OPEN_SINGLE"); // Single } else if (Query.StartsWith("close ")) { handler(ev, "AP_RM_DOORS_CLOSE_SINGLE"); // Single } else if (Query.StartsWith("lock ")) { handler(ev, "AP_RM_DOORS_LOCK_SINGLE"); // Single } else if (Query.StartsWith("unlock ")) { handler(ev, "AP_RM_DOORS_UNLOCK_SINGLE"); // Single } else if (Query.StartsWith("destroy ")) { handler(ev, "AP_RM_DOORS_DESTROY_SINGLE"); // Single } else if (Query.StartsWith("doortp ")) { handler(ev, "AP_RM_DOORS_TELEPORT"); } else if (Query.StartsWith("mute ")) { handler(ev, "AP_RM_PLAYER_MUTE", true); } else if (Query.StartsWith("unmute ")) { handler(ev, "AP_RM_PLAYER_MUTE", true); } else if (Query.StartsWith("imute ")) { handler(ev, "AP_RM_PLAYER_MUTE_INTERCOM", true); } else if (Query.StartsWith("iunmute ")) { handler(ev, "AP_RM_PLAYER_MUTE_INTERCOM", true); } else if (Query.StartsWith("setconfig ")) { if (splitQuery.Length < 2) { ev.Successful = false; ev.Handled = true; ev.Output = "Player is higher rank than you!"; return; } switch (splitQuery[1]) { case "friendly_fire": handler(ev, "AP_RM_SETCONFIG_FRIENDLY_FIRE"); break; case "spawn_protect_disable": handler(ev, "AP_RM_SETCONFIG_SPAWNPROTECT_DISABLE"); break; case "player_list_title": handler(ev, "AP_RM_SETCONFIG_PLAYERLIST_TITLE"); break; case "pd_refresh_exit": handler(ev, "AP_RM_SETCONFIG_PDREFRESH_EXIT"); break; case "spawn_protect_time": handler(ev, "AP_RM_SETCONFIG_SPAWNPROTECT_TIME"); break; default: ev.Successful = false; ev.Handled = true; ev.Output = "Player is higher rank than you!"; break; } } else if (Query.StartsWith("ban ")) { KickBanHandler(ev); } else if (Query.StartsWith("forceclass ")) { handler(ev, "AP_RM_PLAYER_FORCECLASS", true); } else if (Query.StartsWith("give ")) { GiveHandler(ev); } else { CommandHandler(ev); } break; } }
public void OnAdminQuery(AdminQueryEvent ev) { if (ev.Query.Contains("logbot")) { string[] args = ev.Query.Split(' '); if (args[0] == "logbot") { if (SwitchLogbot(args[1])) { ev.Successful = true; ev.Admin.SendConsoleMessage("Changed!", "yellow"); } else { ev.Successful = false; ev.Admin.SendConsoleMessage("Usage: logbot [on/off]", "red"); } } } else if (ev.Query.Contains("bcp")) { string[] args = ev.Query.Split(' '); uint time; if (args.Length <= 4) { int PlayerID; if (args[2].Contains("@")) { PlayerID = this.Server.GetPlayers().Find(x => x.UserId == args[2]).PlayerId; } else { PlayerID = int.Parse(args[2]); } if (args[0] == "bcp" && uint.TryParse(args[1], out time)) { List <string> text = args.ToList(); text.RemoveRange(0, 3); string message = string.Join(" ", text.ToArray()); this.Server.GetPlayer(PlayerID).PersonalBroadcast(time, args[3], false); } else { ev.Output = "Usage: bcp [minutes] [id/steam] [message]"; } ev.Successful = true; ev.Admin.SendConsoleMessage("Changed!", "yellow"); } else { ev.Output = "Usage: bcp [minutes] [id/steam] [message]"; } } else if (ev.Query.Contains("unban")) { string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Roaming\SCP Secret Labolatory\config\true\"; string[] args = ev.Query.Split(' '); if (args.Length == 3) { string file = ""; if (args[1] == "ip") { file = "IpBans.txt"; } else if (args[1] == "id") { file = "UserIdBans.txt"; } List <string> list = File.ReadAllLines(path + file).ToList(); if (list.Exists(x => x.Contains(args[2]))) { list.Remove(list.Find(x => x.Contains(args[2]))); File.WriteAllLines(path + file, list.ToArray()); } } } }
private void KickBanHandler(AdminQueryEvent ev) { ServerRoles serverRoles = ((UnityEngine.GameObject)ev.Admin.GetGameObject()).GetComponent <ServerRoles>(); PermissionsHandler permissionsHandler = ServerStatic.GetPermissionsHandler(); if ((permissionsHandler.StaffAccess && serverRoles.Staff) || (permissionsHandler.ManagersAccess && serverRoles.RaEverywhere) || (permissionsHandler.BanningTeamAccess && serverRoles.RaEverywhere)) { return; } Server server = PluginManager.Manager.Server; if (plugin.GetConfigBool("AP_HIERARCHY_ENABLE")) { bool isHigher = true; string[] queryArgs = ev.Query.Split(' '); if (queryArgs.Length > 1) { List <Player> playerList = server.GetPlayers(""); string[] players = queryArgs[1].Split('.'); playerList = playerList.FindAll(p => { if (Array.IndexOf(players, p.PlayerId.ToString()) > -1) { return(true); } return(false); }); if (playerList.Count > 0) { foreach (Player player in playerList) { if (!checkHierarchy(ev.Admin, player)) { isHigher = false; } } } } if (!isHigher) { ev.Successful = false; ev.Handled = true; ev.Output = "Player is higher rank than you!"; } } if (plugin.GetConfigBool("AP_DISABLE")) { bool isHigher = true; string[] queryArgs = ev.Query.Split(' '); if (queryArgs.Length > 1) { List <Player> playerList = new List <Player>(); foreach (string plyID in queryArgs[1].Split('.')) { playerList.AddRange(server.GetPlayers(plyID)); } if (playerList.Count > 0) { foreach (Player player in playerList) { if (!checkHierarchy(ev.Admin, player)) { isHigher = false; } } } } if (!isHigher) { ev.Successful = false; ev.Handled = true; ev.Output = "Player is higher rank than you!"; } } string perm = ""; string[] args = ev.Query.Split(' '); if (args.Length < 3) { return; } int time = Int32.Parse(args[args.Length - 1]); if (time <= 0) { perm = "AP_RM_PLAYER_KICK"; } else if (time > 0 && time < 60) { perm = "AP_RM_PLAYER_MINUTES"; } else if (time > 59 && time < 1440) { perm = "AP_RM_PLAYER_HOURS"; } else if (time > 1439 && time < 525600) { perm = "AP_RM_PLAYER_DAYS"; } else if (time > 525599) { perm = "AP_RM_PLAYER_YEARS"; } else { ev.Successful = false; ev.Handled = true; return; } if (!hasPerm(ev.Admin, ev.Admin.GetUserGroup().Name, perm)) { ev.Successful = false; ev.Handled = true; ev.Output = "You Don't Have Permission to do that! You require the permission " + perm + "!"; } }
public void OnAdminQuery(AdminQueryEvent ev) { plugin.Info("ADMIN: " + ev.Admin.Nick + " WITCH ID: " + ev.Admin.UserId + " USED COMMAND: " + ev.Query); }
public void OnAdminQuery(AdminQueryEvent ev) { var utilsenable = plugin.Config.GetBool("aerutils_enable", true); if (!utilsenable) { return; } string[] array = ev.Query.Split(); if (ev.Query.ToLower() == "breakdoors") { if (!utilsenable) { return; } var aerutils_bd = plugin.Config.GetBool("aerutils_breakdoors_enable", true); if (!aerutils_bd) { return; } if (array.Length <= 1) { ev.Output = "AerUtils_BreakDoors#Usage: breakdoors <RemoteAdmin player id>"; ev.Successful = true; ev.Handled = true; return; } if (string.IsNullOrEmpty(array[1])) { ev.Output = "AerUtils_BreakDoors#Usage: breakdoors <RemoteAdmin player id>"; ev.Successful = true; ev.Handled = true; return; } if (array.Length > 1) { try { if (array.Length > 0) { if (array[1].ToLower() == "help") { ev.Output = "AerUtils_BreakDoors#Usage: breakdoors <RemoteAdmin player id>"; ev.Successful = true; ev.Handled = true; return; } else { int id = int.Parse(array[1]); Player pl = Server.Round.FindPlayerWithId(id); if (pl != null && !pl.BreakDoors) { pl.BreakDoors = true; ev.Output = "AerUtils_BreakDoors#Enabled BreakDoors for player " + pl.Nick; ev.Successful = true; ev.Handled = true; return; } else if (pl != null && pl.BreakDoors) { pl.BreakDoors = false; ev.Output = "AerUtils_BreakDoors#Disabled BreakDoors for player " + pl.Nick; ev.Successful = true; ev.Handled = true; return; } else if (pl == null) { ev.Output = "AerUtils_BreakDoors#Please, use valid player id! Id" + pl + " is invalid"; ev.Successful = false; ev.Handled = true; } } } } catch (Exception ex) { ev.Output = "AerUtils_BreakDoors#Error: " + ex; ev.Successful = false; ev.Handled = true; return; } } } }