Иконка ресурса

FREE InputKeyDetect : 1.0.0 1.0.0

Нет прав для скачивания
C#:
using System.Collections.Generic;
using UnityEngine;
namespace Oxide.Plugins {
    [Info("InputKeyDetect", "fix by дестерн", "1.0.0")]
    public class InputKeyDetect : RustPlugin {
        private List<string> keyName = new List<string> {
            "home", "delete", "insert", "end", "leftbracket", "rightbracket", "rightarrow", "pageup", "pagedown", "f2", "f3", "uparrow", "downarrow", "leftarrow", "N"
        }
        ;
        private List<string> keyLocalize = new List<string> {
            "HOME", "DELETE", "INSERT", "END", "X ( левая скобка )", "Ъ ( правая скобка )", "СТРЕЛКА ВПРАВО", "PAGE UP", "PAGE DOWN", "F2", "F3", "СТРЕЛКА ВВЕРХ", "СТРЕЛКА ВНИЗ", "СТРЕЛКА ВЛЕВО", "N"
        }
        ;
        private string Permission = "InputKeyDetect.allowed";
        private void Init() => permission.RegisterPermission(Permission, this);
        private void OnServerInitialized() {
            foreach (var player in BasePlayer.activePlayerList) OnPlayerInit(player);
        }
        private void OnPlayerInit(BasePlayer player) {
            for (int i = 0; i < keyName.Count; i++) player.SendConsoleCommand($"bind {keyName[i]} suspkey {keyName[i]}");
        }
        [ConsoleCommand("suspkey")]
        private void cmdOnPress(ConsoleSystem.Arg arg) {
            if(arg.connection == null) return;
            var player = arg.Player();
            var nameKey = arg.Args[0];
            bool listedKey = false;
            int index = 0;
            for (int i = 0; i < keyName.Count; ++i) {
                if (keyName[i] == nameKey) {
                    listedKey = true;
                    index = i;
                    break;
                }
            }
            if (!listedKey) return;
            DetectMessage("<size=12><color=#ff9f00>" + player.displayName + "</color><color=#bfb2ff> нажал на подозрительную клавишу</color> <color=#ff47a8>" + keyLocalize[index] + "</color></size>");
        }
        private void DetectMessage(string message) {
            foreach (var player in BasePlayer.activePlayerList) {
                if(permission.UserHasPermission(player.UserIDString, Permission) || player.IsAdmin()) SendReply(player, message);
            }
        }
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху