Esempio n. 1
0
        public string GetTime(Item item)
        {
            var time = blockedItems.FirstOrDefault(p => p.Value.Contains(item.info.shortname)).Key;

            if (time == default(string))
            {
                return(string.Empty);
            }
            return(core.TimeToString(core.StringToTime(time) - (DateTime.Now.Subtract(core.GetWipeTime()).TotalSeconds)));
        }
Esempio n. 2
0
        void GrantPermission(ulong uid, string perm, string remaintime)
        {
            Dictionary <string, long> perms;

            if (!grants.TryGetValue(uid, out perms))
            {
                grants[uid] = perms = new Dictionary <string, long>();
            }

            var  seconds = core.StringToTime(remaintime);
            var  time    = GetTimeStamp() + seconds;
            long permtime;

            if (perms.TryGetValue(perm, out permtime))
            {
                time = permtime + seconds;
                Log($"Продление: \"{uid}\" \"{perm}\" на {remaintime}");
            }
            perms[perm] = time;

            rust.RunServerCommand($"oxide.grant user \"{uid}\" \"{perm}\"");
            Log($"grant \"{uid}\" \"{perm}\" {remaintime}");

            SaveData();
        }
Esempio n. 3
0
        void cmdChatBan(BasePlayer player, string command, string[] args)
        {
            if (!PermissionService.HasPermission(player.userID, BAN_PERM))
            {
                SendReply(player, "Недостаточно прав!");
                return;
            }
            if (args.Length < 2)
            {
                return;
            }
            var    nameOrId = args[0];
            string reason   = args[1];

            var uid  = nameOrId.IsSteamId() ? ulong.Parse(nameOrId) : core.FindUid(nameOrId);
            var name = core.FindDisplayname(uid);


            if (args.Length == 3)
            {
                var secs = core.StringToTime(args[2]);
                bans[uid] = Now().AddSeconds(secs).ToString(TIME_FORMAT);
            }
            else
            {
                bans[uid] = Now().AddSeconds(3000000000).ToString(TIME_FORMAT);
            }
            BasePlayer.activePlayerList.FirstOrDefault(p => p.userID == uid)?.Kick(reason);
            rust.BroadcastChat("<color=red>Rusty Life</color>",
                               string.Format(Messages["banPermanent"], $"{uid}/{name}", reason));
        }
Esempio n. 4
0
        void cmdChatMute(BasePlayer player, string command, string[] args)
        {
            if (!PermissionService.HasPermission(player.userID, PERM_MUTE))
            {
                Reply(player, "У вас нет доступа к этой команде!");
                return;
            }
            if (args.Length < 2)
            {
                Reply(player, "Неправильно! Пример: /mute вася 15m");
                return;
            }
            var mutePlayer = core.FindBasePlayer(args[0]);

            if (mutePlayer == null)
            {
                Reply(player, "Игрок не найден!");
                return;
            }
            Mute(mutePlayer, core.StringToTime(args[1]), args.Length == 3 ? args[2] : "нарушение правил сервера");
        }