示例#1
0
        private void GetAllAnimalsPositions(NetworkCommandArgs args)
        {
            string _pkg = String.Empty;

            try
            {
                Animal[] animals_objects = UnityEngine.Object.FindObjectsOfType(typeof(Animal)) as Animal[];
                for (int i = 0; i < animals_objects.Length; i++)
                {
                    Animal _animal = animals_objects[i];
                    if (_animal.int_2 > 0 && _animal.int_3 > 0)
                    {
                        _pkg += $"{Convert.ToInt32(_animal.GetComponent<Transform>().position.x)}|{Convert.ToInt32(_animal.GetComponent<Transform>().position.z)}/";
                    }
                }
                byte[] serverbuffer = Encoding.UTF8.GetBytes(_pkg);
                args.sender.SendBytes(serverbuffer);
            }
            catch (Exception err)
            {
                NetworkChat.sendAlert($"Error: {err.Message}");
                byte[] serverbuffer = Encoding.UTF8.GetBytes("An error occured with dumping animals");
                args.sender.SendBytes(serverbuffer);
            }
        }
示例#2
0
        private void GetStructuresCount(NetworkCommandArgs args)
        {
            ServerStructure[] structures       = SpawnStructures.list_0.ToArray();
            string            structures_count = $"Structures on Server: {structures.Length}";

            byte[] serverbuffer = Encoding.UTF8.GetBytes(structures_count);
            args.sender.SendBytes(serverbuffer);
        }
示例#3
0
 private void GetUserIP(NetworkCommandArgs args)
 {
     try
     {
         NetworkChat.sendAlert($"User's Arg: {args.Parameters[0]}");
         string pIP          = UserList.getUserFromName(args.Parameters[0]).networkPlayer.ipAddress;
         byte[] serverbuffer = Encoding.UTF8.GetBytes(pIP);
         args.sender.SendBytes(serverbuffer);
     }
     catch
     {
         byte[] serverbuffer = Encoding.UTF8.GetBytes("Error occured while tried to get IP");
         args.sender.SendBytes(serverbuffer);
     }
 }
示例#4
0
        private void KillAllZombies(NetworkCommandArgs args)
        {
            Zombie[] zombies       = UnityEngine.Object.FindObjectsOfType(typeof(Zombie)) as Zombie[];
            int      zombies_count = zombies.Length;

            for (int i = 0; i < zombies.Length; i++)
            {
                Zombie zombie = zombies[i];
                zombie.damage(500);
            }
            string text = $"Successfully killed {zombies_count} Zombies";

            byte[] serverbuffer = Encoding.UTF8.GetBytes(text);
            args.sender.SendBytes(serverbuffer);
        }
示例#5
0
        private void KillAllAnimals(NetworkCommandArgs args)
        {
            Animal[] animals       = UnityEngine.Object.FindObjectsOfType(typeof(Animal)) as Animal[];
            int      animals_count = animals.Length;

            for (int i = 0; i < animals.Length; i++)
            {
                Animal animal = animals[i];
                animal.damage(500);
            }
            string text = $"Successfully killed {animals_count} Animals";

            byte[] serverbuffer = Encoding.UTF8.GetBytes(text);
            args.sender.SendBytes(serverbuffer);
        }
示例#6
0
        private void Kick(NetworkCommandArgs args)
        {
            string pkg = String.Empty;

            try
            {
                BetterNetworkUser player = UserList.getUserFromName(args.Parameters[0]);
                NetworkTools.kick(player.networkPlayer, args.Parameters[1]);
                pkg = $"Successfully kicked player {player.name}, reason: {args.Parameters[1]}";
            }
            catch (Exception ex)
            {
                pkg = ex.Message;
            }
            args.sender.SendBytes(Encoding.UTF8.GetBytes(pkg));
        }
示例#7
0
        private void TeleportPlayer(NetworkCommandArgs args)
        {
            string text = String.Empty;

            try
            {
                TeleportToCoords(Convert.ToSingle(args.Parameters[1]), Convert.ToSingle(args.Parameters[2]), Convert.ToSingle(args.Parameters[3]), UserList.getUserFromName(args.Parameters[0]));
                text = $"Successfully teleported {UserList.getUserFromName(args.Parameters[0]).name} To {Convert.ToSingle(args.Parameters[1])} {Convert.ToSingle(args.Parameters[2])} {Convert.ToSingle(args.Parameters[3])}";
                args.sender.SendBytes(Encoding.UTF8.GetBytes(text));
            }
            catch
            {
                byte[] serverbuffer = Encoding.UTF8.GetBytes("An error occured with teleportation of player");
                args.sender.SendBytes(serverbuffer);
            }
        }
示例#8
0
        private void GetPlayerPosition(NetworkCommandArgs args)
        {
            string pkg = String.Empty;

            try
            {
                Vector3 playerpos = UserList.getUserFromName(args.Parameters[0]).position;
                int     player_x  = Convert.ToInt32(playerpos.x);
                int     player_z  = Convert.ToInt32(playerpos.z);
                pkg = $"|{player_x}|{player_z}|";
            }
            catch
            {
                pkg = "An error occured while finding position of this player";
            }
            byte[] serverbuffer = Encoding.UTF8.GetBytes(pkg);
            args.sender.SendBytes(serverbuffer);
        }
示例#9
0
        private void RespawnNPC(NetworkCommandArgs args)
        {
            string text = String.Empty;

            try
            {
                SpawnAnimals.reset();
                text = "Successfully respawned all zombies & animals";
                byte[] serverbuffer = Encoding.UTF8.GetBytes(text);
                args.sender.SendBytes(serverbuffer);
            }
            catch
            {
                text = "Error occured while tried to Respawn all NPC";
                byte[] serverbuffer = Encoding.UTF8.GetBytes(text);
                args.sender.SendBytes(serverbuffer);
            }
        }
示例#10
0
        private void GetAnimalsCount(NetworkCommandArgs args)
        {
            Animal[] animals       = UnityEngine.Object.FindObjectsOfType(typeof(Animal)) as Animal[];
            int      animals_count = animals.Length;
            int      deadanim      = 0;

            for (int i = 0; i < animals.Length; i++)
            {
                Animal animal = animals[i];
                if (animal.int_2 <= 0 || animal.int_3 <= 0)
                {
                    deadanim++;
                }
            }
            string text = $"Animals Alive: {animals.Length - deadanim} , Dead Animals: {deadanim}";

            byte[] serverbuffer = Encoding.UTF8.GetBytes(text);
            args.sender.SendBytes(serverbuffer);
        }
示例#11
0
        private void GetZombiesCount(NetworkCommandArgs args)
        {
            Zombie[] zombies      = UnityEngine.Object.FindObjectsOfType(typeof(Zombie)) as Zombie[];
            int      zombie_count = zombies.Length;
            int      deathzomb    = 0;

            for (int i = 0; i < zombies.Length; i++)
            {
                Zombie zombie = zombies[i];
                if (zombie.int_2 <= 0 || zombie.int_3 <= 0)
                {
                    deathzomb++;
                }
            }
            string text = $"Zombies Alive: {zombies.Length - deathzomb} , Dead Zombies: {deathzomb}";

            byte[] serverbuffer = Encoding.UTF8.GetBytes(text);
            args.sender.SendBytes(serverbuffer);
        }
示例#12
0
        private void Announce(NetworkCommandArgs args)
        {
            string text = String.Empty;

            try
            {
                var announce = args.Parameters[0];
                NetworkChat.sendAlert(announce);
                text = "Successfully sent announce to Unturned Chat";
                byte[] serverbuffer = Encoding.UTF8.GetBytes(text);
                args.sender.SendBytes(serverbuffer);
            }
            catch
            {
                text = "Error occured while sending announce to Unturned chat";
                byte[] serverbuffer = Encoding.UTF8.GetBytes(text);
                args.sender.SendBytes(serverbuffer);
            }
        }
示例#13
0
        private void GetAllPlayersPositions(NetworkCommandArgs args)
        {
            string _pkg = String.Empty;

            try
            {
                for (int i = 0; i < UserList.users.Count; i++)
                {
                    BetterNetworkUser player = UserList.users[i];
                    _pkg += $"{Convert.ToInt32(player.position.x)}|{Convert.ToInt32(player.position.z)}|{player.model.GetComponent<Clothes>().int_0}|{player.name}/";
                }
                byte[] serverbuffer = Encoding.UTF8.GetBytes(_pkg);
                args.sender.SendBytes(serverbuffer);
            }
            catch
            {
                byte[] serverbuffer = Encoding.UTF8.GetBytes("An error occured with dumping animals");
                args.sender.SendBytes(serverbuffer);
            }
        }
示例#14
0
        private void GetAllPlayersList(NetworkCommandArgs args)
        {
            string ptext = String.Empty;

            try
            {
                for (int i = 0; i < NetworkUserList.list_0.Count; i++)
                {
                    NetworkUser p = NetworkUserList.list_0[i];
                    ptext += p.string_0;
                    ptext += ",";
                }
                byte[] serverbuffer = Encoding.UTF8.GetBytes(ptext);
                args.sender.SendBytes(serverbuffer);
            }
            catch
            {
                byte[] serverbuffer = Encoding.UTF8.GetBytes("Error");
                args.sender.SendBytes(serverbuffer);
            }
        }
示例#15
0
        private void GetAllStructuresPositions(NetworkCommandArgs args)
        {
            string _pkg = String.Empty;

            try
            {
                ServerStructure[] structures = SpawnStructures.list_0.ToArray();
                for (int i = 0; i < structures.Length; i++)
                {
                    ServerStructure structure = structures[i];
                    _pkg += $"{Convert.ToInt32(structure.vector3_0.x)}|{Convert.ToInt32(structure.vector3_0.z)}/";
                }
                byte[] serverbuffer = Encoding.UTF8.GetBytes(_pkg);
                args.sender.SendBytes(serverbuffer);
            }
            catch
            {
                byte[] serverbuffer = Encoding.UTF8.GetBytes("An error occured with dumping animals");
                args.sender.SendBytes(serverbuffer);
            }
        }
示例#16
0
        private void GetAllZombiesPositions(NetworkCommandArgs args)
        {
            string _pkg = String.Empty;

            try
            {
                Zombie[] zombies = UnityEngine.Object.FindObjectsOfType(typeof(Zombie)) as Zombie[];
                for (int i = 0; i < zombies.Length; i++)
                {
                    Zombie zombie = zombies[i];
                    if (zombie.int_2 > 0 && zombie.int_3 > 0)
                    {
                        _pkg += $"{Convert.ToInt32(zombie.GetComponent<Transform>().position.x)}|{Convert.ToInt32(zombie.GetComponent<Transform>().position.z)}/";
                    }
                }
                byte[] serverbuffer = Encoding.UTF8.GetBytes(_pkg);
                args.sender.SendBytes(serverbuffer);
            }
            catch
            {
                byte[] serverbuffer = Encoding.UTF8.GetBytes("An error occured with dumping zombies");
                args.sender.SendBytes(serverbuffer);
            }
        }
示例#17
0
        private void GetTime(NetworkCommandArgs args)
        {
            float  day  = Sun.float_5;
            string time = Sun.getTime();
            string hour = "";

            if (time[1] == ':')
            {
                hour = $"{time[0]}";
            }
            else
            {
                hour = $"{time[0]}" + time[1];
            }
            string text = "Unknown";

            switch (hour)
            {
            case "6":
            case "7":
            case "8":
                if ((double)day < 0.05)
                {
                    text = $"Unturned time: {time} AM (Dawn)";
                }
                else if (day < Sun.float_1 - 0.05f)
                {
                    text = $"Unturned time: {time} AM (Dawn)";
                }
                else if ((double)day >= 0.95)
                {
                    text = $"Unturned time: {time} PM (Dusk)";
                }
                else if (day < Sun.float_1)
                {
                    text = $"Unturned time: {time} PM (Dusk)";
                }
                else if (day < Sun.float_1 + 0.05f)
                {
                    text = $"Unturned time: {time} PM (Dusk)";
                }
                else
                {
                    text = $"Unturned time: {time} PM (Dusk)";
                }
                break;

            case "9":
            case "10":
            case "11":
                if ((double)day < 0.05)
                {
                    text = $"Unturned time: {time} AM (Morning)";
                }
                else if (day < Sun.float_1 - 0.05f)
                {
                    text = $"Unturned time: {time} AM (Morning)";
                }
                else if ((double)day >= 0.95)
                {
                    text = $"Unturned time: {time} PM (Evening)";
                }
                else if (day < Sun.float_1)
                {
                    text = $"Unturned time: {time} PM (Evening)";
                }
                else if (day < Sun.float_1 + 0.05f)
                {
                    text = $"Unturned time: {time} PM (Evening)";
                }
                else
                {
                    text = $"Unturned time: {time} PM (Evening)";
                }
                break;

            case "12":
            case "13":
            case "1":
            case "2":
            case "3":
            case "4":
            case "5":
                if (day < Sun.float_1 - 0.05f)
                {
                    text = $"Unturned time: {time} PM (Midday)";
                }
                else if (day < Sun.float_1 + 0.05f)
                {
                    text = $"Unturned time: {time} AM (Midnight)";
                }
                else if (day < Sun.float_1)
                {
                    text = $"Unturned time: {time} PM (Midday)";
                }
                else
                {
                    text = $"Unturned time: {time} AM (Midnight)";
                }
                break;
            }
            byte[] serverbuffer = Encoding.UTF8.GetBytes(text);
            args.sender.SendBytes(serverbuffer);
        }