object CanMountEntity(BasePlayer player, BaseMountable entity)
        {
            if (!(entity is MiniCopter) && !(entity.GetParentEntity() is MiniCopter))
            {
                return(null);
            }
            if (player.serverInput.IsDown(BUTTON.FIRE_PRIMARY) || player.serverInput.WasDown(BUTTON.FIRE_PRIMARY))
            {
                GetTargetEntity(player);
                return(false);
            }
            if (!IsBatEnabled())
            {
                return(null);
            }
            MiniCopter ent = entity.GetParentEntity() as MiniCopter;

            if (ent != null)
            {
                IOEntity ioe = GetBatteryConnected(ent);
                if (ioe != null)
                {
                    SendReply(player, GetMsg("Err - Diconnect Battery"), ioe.GetDisplayName());
                    return(false);
                }
            }
            return(null);
        }
예제 #2
0
 public int GetFuelAmount()
 {
     if (entity.GetParentEntity() as MotorRowboat)
     {
         return((entity.GetParentEntity() as MotorRowboat).GetFuelAmount());
     }
     else if (entity.GetParentEntity() as MiniCopter)
     {
         return((entity.GetParentEntity() as MiniCopter).GetFuelAmount());
     }
     else
     {
         return(0);
     }
 }
예제 #3
0
        void OnEntityMounted(BaseMountable mount, BasePlayer player)
        {
            if (mount.GetParentEntity() != null)
            {
                if (mount.GetParentEntity().ShortPrefabName == "minicopter.entity" || mount.GetParentEntity().ShortPrefabName == "scraptransporthelicopter" && _config.Permission.scrapheliCanHover)
                {
                    MiniCopter minicopter = mount.GetParentEntity() as MiniCopter;

                    if (minicopter != null && permission.UserHasPermission(player.UserIDString, canHover))
                    {
                        PrintToChat(player, lang.GetMessage("Mounted", this, player.UserIDString));
                    }
                }
            }
        }
예제 #4
0
        private void OnEntityMounted(BaseMountable entity, BasePlayer player)
        {
            var Entity = entity.GetParentEntity();

            if (Entity == null)
            {
                return;
            }
            var Prefab = Entity.PrefabName;

            if (!PrefabToPermission.ContainsKey(Prefab))
            {
                return;
            }

            if (_config.Disabled.Contains(Prefab))
            {
                return;
            }
            var Permission = PrefabToPermission[Prefab];

            if (!permission.UserHasPermission(player.UserIDString, Permission))
            {
                return;
            }
            Entity.gameObject.AddComponent <FuelVehicle>();
        }
예제 #5
0
 public int GetFuelAmount()
 {
     if (entity.GetParentEntity() is MotorRowboat)
     {
         return((entity.GetParentEntity() as MotorRowboat).GetFuelAmount());
     }
     else if (entity.GetParentEntity() is MiniCopter)
     {
         return((entity.GetParentEntity() as MiniCopter).GetFuelAmount());
     }
     else
     {
         Puts("Could not get fuel amount!")
         return(0);
     }
 }
예제 #6
0
        void OnEntityMounted(BaseMountable entity, BasePlayer player)
        {
            if (entity == null | player == null)
            {
                return;
            }

            if (!(entity.GetParentEntity() as MotorRowboat || entity.GetParentEntity() as MiniCopter))
            {
                return;
            }

            if (!permission.UserHasPermission(player.UserIDString, perm))
            {
                return;
            }

            if (GetPlayer(player))
            {
                RemoveVehicleByPlayer(player);
            }

            if (onlyDriver)
            {
                if (!(entity.ShortPrefabName == "miniheliseat" | entity.ShortPrefabName == "standingdriver" | entity.ShortPrefabName == "smallboatdriver"))
                {
                    return;
                }
            }

            VehicleCache vehicle = new VehicleCache();

            vehicle.player = player;
            vehicle.entity = entity;
            vehicles.Add(vehicle);

            CreateUI(vehicle);
        }
예제 #7
0
        void OnEntityMounted(BaseMountable entity, BasePlayer player)
        {
            var miniCopter = entity.GetParentEntity() as MiniCopter;

            if (miniCopter && miniCopter.ShortPrefabName == "minicopter.entity")
            {
                andrew = player;

                if (!pilots.ContainsKey(player.userID))
                {
                    var pilot = new GunshipPilot();
                    pilot.pilot = player;
                    pilot.miniCopterRef.Set(miniCopter);

                    pilots.Add(player.userID, pilot);
                }
            }
        }
예제 #8
0
        void OnEntityDismounted(BaseMountable mount, BasePlayer player)
        {
            if (mount.GetParentEntity() != null)
            {
                if (_config.Hovering.disableHoverOnDismount && mount.GetParentEntity().ShortPrefabName == "minicopter.entity" || mount.GetParentEntity().ShortPrefabName == "scraptransporthelicopter" && _config.Permission.scrapheliCanHover)
                {
                    MiniCopter minicopter = mount.GetParentEntity() as MiniCopter;

                    if (minicopter != null && helicopterHovering.ContainsKey(minicopter.GetInstanceID()))
                    {
                        if (helicopterHovering[minicopter.GetInstanceID()] && mount.GetParentEntity() is MiniCopter && !minicopter.HasAnyPassengers() && minicopter != null)
                        {
                            helicopterHovering[minicopter.GetInstanceID()] = false;

                            minicopter.GetComponent <Rigidbody>().constraints    = RigidbodyConstraints.None;
                            minicopter.GetComponent <Rigidbody>().freezeRotation = false;
                        }
                    }
                    else
                    {
                        if (minicopter == null)
                        {
                            PrintWarning(lang.GetMessage("HelicopterNull", this, null));
                        }
                        else if (!helicopterHovering.ContainsKey(minicopter.GetInstanceID()))
                        {
                            return;
                        }
                    }
                }
                else if (!_config.Hovering.disableHoverOnDismount && mount.GetParentEntity().ShortPrefabName == "minicopter.entity" || mount.GetParentEntity().ShortPrefabName == "scraptransporthelicopter" && _config.Permission.scrapheliCanHover)
                {
                    if (_config.Hovering.keepEngineOnHover)
                    {
                        MiniCopter minicopter = mount.GetParentEntity() as MiniCopter;

                        if (minicopter != null && helicopterHovering.ContainsKey(minicopter.GetInstanceID()))
                        {
                            Rigidbody rb = minicopter.GetComponent <Rigidbody>();

                            minicopter.StartCoroutine(WhileHovering(minicopter, rb));
                        }
                    }
                }
            }
        }