private void STM_Commands(BasePlayer player, string command, string[] args) { if (args[0] == "toggle") { if (players.Contains(player)) { SendReply(player, string.Format(GetMsg("hudtoggle", player.UserIDString), "Off")); players.Remove(player); Destroy(player); } else { SendReply(player, string.Format(GetMsg("hudtoggle", player.UserIDString), "On")); players.Add(player); CreateBasicUI(); } return; } if (!permission.UserHasPermission(player.UserIDString, "screentimer.admin")) { SendReply(player, lang.GetMessage("NoPerm", this, player.UserIDString)); return; } if (!(args.Length > 0)) { SendReply(player, lang.GetMessage("help", this, player.UserIDString)); return; } switch (args[0]) { case "wipe": storage.screen = -1; storage.count = 0; storage.handlers.Clear(); SaveData(); SendReply(player, "Screen Timer Data Wiped"); break; case "create": if (args.Length > 3 || args.Length < 2) { SendReply(player, lang.GetMessage("help", this, player.UserIDString)); return; } var nt = new TimeHandler(); if (nt.Create(this, args[1], args[2]) == ReturnType.TimeIssue) { SendReply(player, GetMsg("InvalidFormat", player.UserIDString)); return; } SendReply(player, string.Format(GetMsg("Created", player.UserIDString), args[1], args[2], storage.count)); SaveData(); break; case "end": if (args.Length > 3 || args.Length < 2) { SendReply(player, lang.GetMessage("help", this, player.UserIDString)); return; } var id = Convert.ToInt32(args[1]); if (!storage.handlers.ContainsKey(id)) { SendReply(player, GetMsg("noexist", player.UserIDString)); return; } var t = storage.handlers[id]; t.HandleEnd(); SendReply(player, "Stopping Timer"); break; case "show": if (args.Length > 2 || args.Length < 1) { SendReply(player, lang.GetMessage("help", this, player.UserIDString)); return; } var idn = Convert.ToInt32(args[1]); var ti = storage.handlers[idn]; if (!storage.handlers.ContainsKey(idn)) { SendReply(player, GetMsg("noexist", player.UserIDString)); return; } storage.screen = idn; foreach (var p in BasePlayer.activePlayerList) { Destroy(p); } ti.Show(); SaveData(); SendReply(player, string.Format(GetMsg("TimerSet", player.UserIDString), idn)); break; case "edit": if (args.Length > 4 || args.Length < 3) { SendReply(player, lang.GetMessage("help", this, player.UserIDString)); return; } TimeHandler timer; int key; key = Convert.ToInt32(args[1]); if (!storage.handlers.ContainsKey(key)) { SendReply(player, GetMsg("noexist", player.UserIDString)); return; } timer = storage.handlers[key]; switch (args[2]) { case "Text": SendReply(player, string.Format(GetMsg("TypeSet", player.UserIDString), args[2], "text", args[3])); timer.SetValue(ValueType.Type_Text, args[3]); SaveData(); break; case "Size": SendReply(player, string.Format(GetMsg("TypeSet", player.UserIDString), args[2], "size", args[3])); timer.SetValue(ValueType.Type_Size, args[3]); SaveData(); break; case "Color": SendReply(player, string.Format(GetMsg("TypeSet", player.UserIDString), args[2], "color", args[3])); timer.SetValue(ValueType.Type_Color, args[3]); SaveData(); break; case "TimeTextSize": SendReply(player, string.Format(GetMsg("TypeSet", player.UserIDString), args[2], "time size", args[3])); timer.SetValue(ValueType.Type_TSize, args[3]); SaveData(); break; case "TimeTextColor": SendReply(player, string.Format(GetMsg("TypeSet", player.UserIDString), args[2], "time color", args[3])); timer.SetValue(ValueType.Type_TColor, args[3]); SaveData(); break; case "Command": SendReply(player, string.Format(GetMsg("TypeSet", player.UserIDString), args[2], "command", args[3])); timer.SetValue(ValueType.Type_Command, args[3]); SaveData(); break; default: SendReply(player, lang.GetMessage("valuetable", this, player.UserIDString)); return; break; } break; case "types": SendReply(player, lang.GetMessage("valuetable", this, player.UserIDString)); break; case "list": if (storage.handlers.Count == 0) { SendReply(player, "No timers in storage."); return; } foreach (var e in storage.handlers) { SendReply(player, $"ID:{e.Key} - Text:{storage.handlers[e.Key].type_text}"); } break; default: SendReply(player, lang.GetMessage("help", this, player.UserIDString)); break; } }