void OnPlayerChat(ConsoleSystem.Arg arg) { if (!isStart) { return; } var player = arg.Player(); if (!inEvent.Contains(player.userID) && arg.Args[0].Replace("\"", "") == "event10" && free) { if (inEvent.Count >= max) { player.ChatMessage("<size=16><color=red>Всё, все слоты заняты, ожидайте след. ивент</color></size>"); return; } free = false; timer.Once(2f, () => { free = true; }); admin.ChatMessage(player.displayName + " Присоединился к Event-у"); inEvent.Add(player.userID); rust.RunServerCommand($"grant user {player.userID} noescape.ignore"); player.inventory.Strip(); rust.RunServerCommand("inv.giveplayer " + player.UserIDString + " pickaxe 24"); rust.RunServerCommand("inv.giveplayer " + player.UserIDString + " hat.miner 150"); core.Teleport(player, eventPos); } }
void cmdChatBanTP(BasePlayer player, string command, string[] args) { if (!PermissionService.HasPermission(player.userID, BAN_PERM)) { SendReply(player, "Недостаточно прав!"); return; } var bannedPlayers = BasePlayer.sleepingPlayerList.Where(p => ServerUsers.Get(p.userID)?.@group == ServerUsers.UserGroup.Banned || bans.ContainsKey(p.userID)).ToList(); if (args.Length == 0) { string msgPlayers = ""; for (var i = 0; i < bannedPlayers.Count; i++) { var p = bannedPlayers[i]; msgPlayers += $"[<color=orange>{i}</color> ({p.userID}/{p.displayName})] "; } SendReply(player, msgPlayers); return; } int index; if (!int.TryParse(args[0], out index)) { SendReply(player, "НЕВЕРНО: пример /bantp 0"); return; } core.Teleport(player, bannedPlayers[index]); }