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

FREE WFriends : 0.0.1 0.0.1

Нет прав для скачивания
C#:
using System.Collections.Generic;
using System;
using System.Linq;

namespace Oxide.Plugins
{
    [Info("WFriends", "WOLF#4002", "0.0.1")]
    [Description("API списка друзей для плагинов")]
    class WFriends : RustPlugin
    {
        #region Main
        private ulong GetPlayerTeamID(ulong steamid)
        {
            ulong teamid = 0;
			var m = BasePlayer.FindByID(steamid);
			if (m != null) { teamid = m.currentTeam; }
			else
			{
				foreach (var team in RelationshipManager._instance.playerTeams)
					if (team.Value.members.Contains(steamid)) teamid = team.Value.teamID;
			}
            return teamid;
        }
        #endregion

        #region Api
        private bool HasFriend(ulong pl1, ulong pl2)
        {
            bool fr = false;
            ulong pl1t = GetPlayerTeamID(pl1);
            ulong pl2t = GetPlayerTeamID(pl2);
            if (pl1t !=0 && pl2t !=0 && (pl1t == pl2t)) fr = true;
            return fr;
        }
        private string[] GetFriendList(ulong userid)
        {
            var players = new List<string>();
            ulong plt = GetPlayerTeamID(userid);
            if (plt != 0)
            {
                foreach (var member in RelationshipManager._instance.playerTeams[plt].members)
                {
                    var m = BasePlayer.FindByID(member);
                    if (m != null && m.userID != userid) { players.Add(m.displayName); }
                    else { if (member != userid) players.Add(member.ToString()); }
                }
            }
            return players.ToArray();
        }
        private bool AreFriendsS(string playerS, string friendS)
        {
            if (string.IsNullOrEmpty(playerS) || string.IsNullOrEmpty(friendS)) return false;
            var playerId = Convert.ToUInt64(playerS);
            var friendId = Convert.ToUInt64(friendS);
            return HasFriend(playerId, friendId);
        }
        private bool AreFriends(ulong playerId, ulong friendId) => HasFriend(playerId, friendId);
        private string[] IsFriendOfS(string playerS)
        {
            var playerId = Convert.ToUInt64(playerS);
            var friends = IsFriendOf(playerId);
            return friends.ToList().ConvertAll(f => f.ToString()).ToArray();
        }
        private ulong[] IsFriendOf(ulong playerId)
        {
            HashSet<ulong> friends = new HashSet<ulong>();
            ulong plt = GetPlayerTeamID(playerId);
            if (plt != 0)
            {
                foreach (var member in RelationshipManager._instance.playerTeams[plt].members)
				{
					if (member != playerId) friends.Add(member);
				}
            }
            if (friends.Count == 0) friends.Add(0);
            return friends.ToArray();
        }
        private bool HadFriendS(string playerS, string friendS)
        {
            if (string.IsNullOrEmpty(playerS) || string.IsNullOrEmpty(friendS)) return false;
            var playerId = Convert.ToUInt64(playerS);
            var friendId = Convert.ToUInt64(friendS);
            return HasFriend(playerId, friendId);
        }
        private bool HasFriendS(string playerS, string friendS)
        {
            if (string.IsNullOrEmpty(playerS) || string.IsNullOrEmpty(friendS)) return false;
            var playerId = Convert.ToUInt64(playerS);
            var friendId = Convert.ToUInt64(friendS);
            return HasFriend(playerId, friendId);
        }
        private bool HadFriend(ulong playerId, ulong friendId) => HasFriend(playerId, friendId);
        private bool WereFriends(ulong playerId, ulong friendId) => HasFriend(playerId, friendId);
        private bool WereFriendsS(string playerS, string friendS)
        {
            if (string.IsNullOrEmpty(playerS) || string.IsNullOrEmpty(friendS)) return false;
            var playerId = Convert.ToUInt64(playerS);
            var friendId = Convert.ToUInt64(friendS);
            return HasFriend(playerId, friendId);
        }
        private bool IsFriend(ulong playerId, ulong friendId) => HasFriend(playerId, friendId);
        private bool IsFriendS(string playerS, string friendS)
        {
            if (string.IsNullOrEmpty(playerS) || string.IsNullOrEmpty(friendS)) return false;
            var playerId = Convert.ToUInt64(playerS);
            var friendId = Convert.ToUInt64(friendS);
            return HasFriend(playerId, friendId);
        }
        private bool WasFriend(ulong playerId, ulong friendId) => HasFriend(playerId, friendId);
        private bool WasFriendS(string playerS, string friendS)
        {
            if (string.IsNullOrEmpty(playerS) || string.IsNullOrEmpty(friendS)) return false;
            var playerId = Convert.ToUInt64(playerS);
            var friendId = Convert.ToUInt64(friendS);
            return HasFriend(playerId, friendId);
        }
        private ulong[] GetFriends(ulong playerId) => IsFriendOf(playerId);

        private string[] GetFriendsS(string playerS)
        {
            var playerId = Convert.ToUInt64(playerS);
            return GetFriendList(Convert.ToUInt64(playerS));
        }
        private string[] GetFriendListS(string playerS) => GetFriendList(Convert.ToUInt64(playerS));
        #endregion
    }
}

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