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

FREE SafezonePrivateVehicles : 0.0.4 0.0.4

Нет прав для скачивания
C#:
/* SAFEZONE PRIVATE VEHICLES
Vehicles parked in safe zones can be mounted only by same player who dismounted it
If owner is offline, anyone can mount his vehicle in safezone.

» COMMANDS
none

» PERMISSIONS
none


» CONFIG
none

*/


using Oxide.Core;

namespace Oxide.Plugins
{
    [Info("Safezone Private Vehicles", "David", "0.0.4")]

    public class SafezonePrivateVehicles : RustPlugin
    {   

        string[] messages = {
            "YOU CAN'T MOUNT SOMEONE ELSE'S VEHICLE IN SAFE ZONE",
            "YOU CAN'T PUSH SOMEONE ELSE'S VEHICLE IN SAFE ZONE"
        };

        string[] vehicleIngore = {
            "assets/content/vehicles/trains/caboose/blackjackmachine/subents/blackjackplayerseat.prefab",
            "assets/prefabs/vehicle/seats/arcadeuser.prefab"
        };

        void OnEntityDismounted(BaseMountable entity, BasePlayer player) 
        {   
            if (player == null || entity == null) return;
            if (vehicleIngore.Contains(entity.PrefabName)) return;
            if (!entity.PrefabName.Contains("vehicle")) return;

            Puts(entity.PrefabName);
        
            entity.OwnerID = player.userID;
        } 

        object CanMountEntity(BasePlayer player, BaseMountable entity)
        {   
            if (player == null || entity == null) return null;
            if (player.InSafeZone())
            {   
                if (vehicleIngore.Contains(entity.PrefabName)) return null;
                if (!entity.PrefabName.Contains("vehicle")) return null;

                if (IsOwnerOff(entity.OwnerID))
                    return null;

                if (player.userID == entity.OwnerID)
                    return null;

                if (OnSameTeam(player, entity.OwnerID))
                    return null;

                player.SendConsoleCommand("showtoast", 1, messages[0]);
                return false;
            }

            return null;
        }

        private object OnVehiclePush(BaseVehicle vehicle, BasePlayer player)
		{   
            if (player == null || vehicle == null) return null;
			if (player.InSafeZone())
			{   
                if (IsOwnerOff(vehicle.OwnerID))
                    return null;

                if (player.userID == vehicle.OwnerID)
                    return null;

                if (OnSameTeam(player, vehicle.OwnerID))
                    return null;

                player.SendConsoleCommand("showtoast", 1, messages[1]);
                return false;
            }
            return null;
		}

        object OnHorseLead(BaseRidableAnimal animal, BasePlayer player)
        {
            if (player.InSafeZone())
			{   
                if (IsOwnerOff(animal.OwnerID))
                    return null;

                if (player.userID == animal.OwnerID)
                    return null;

                if (OnSameTeam(player, animal.OwnerID))
                    return null;

                player.SendConsoleCommand("showtoast", 1, messages[1]);
                return false;
            }
            return null;
        }

        bool IsOwnerOff(ulong ownerID)
        {   
            var owner = BasePlayer.FindByID(ownerID);
            if (ownerID == 0 || owner == null)
                return true;
            else 
                return false;
        }

        bool OnSameTeam(BasePlayer player, ulong vehicleOwner)
        {
            var playerTeam = RelationshipManager.ServerInstance.FindPlayersTeam(player.userID);
            var ownerTeam = RelationshipManager.ServerInstance.FindPlayersTeam(vehicleOwner);

            if (playerTeam == null || ownerTeam == null)
                return false;

            if (playerTeam == ownerTeam)
                return true;
            else
                return false;  
        }
    
    }
}

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