Beispiel #1
0
        public void respawnnearbycars_cmd(Player player, int radius = 15)
        {
            var account = player.GetAccount();

            if (account.AdminLevel < 4)
            {
                return;
            }

            if (radius <= 0)
            {
                return;
            }

            foreach (var v in Vehicles)
            {
                if (v.Driver == null)
                {
                    if (player.Position.DistanceTo(NAPI.Entity.GetEntityPosition(v.Entity)) <= radius)
                    {
                        VehicleManager.respawn_vehicle(v);
                    }
                }
            }
            NAPI.Chat.SendChatMessageToPlayer(player, Color.White, "Respawned all unowned and unoccupied cars in a radius of " + radius);
        }
Beispiel #2
0
        public VehicleManager()
        {
            DebugManager.DebugMessage("[VehicleM] Initilizing vehicle manager...");

            // Register callbacks
            Event.OnPlayerEnterVehicle += OnPlayerEnterVehicle;
            Event.OnVehicleDeath       += OnVehicleDeath;
            Event.OnPlayerExitVehicle  += OnPlayerExitVehicle;
            Event.OnPlayerDisconnected += API_onPlayerDisconnected;
            Event.OnClientEventTrigger += API_onClientEventTrigger;

            //Setup respawn timer.
            VehicleRespawnTimer.Interval = 5000;
            VehicleRespawnTimer.Elapsed += VehicleRespawnTimer_Elapsed;
            VehicleRespawnTimer.Start();

            //Register for on character enter to show his cars.
            CharacterMenu.OnCharacterLogin += CharacterMenu_OnCharacterLogin;

            // Create vehicle table +
            //load_all_unowned_vehicles();
            dropcarShape = API.CreateCylinderColShape(dropcarPosition, 2f, 3f);

            dropcarShape.onEntityEnterColShape += (shape, entity) =>
            {
                Client player;
                if ((player = API.GetPlayerFromHandle(entity)) != null)
                {
                    Character character = player.GetCharacter();

                    if (!character.IsOnDropcar)
                    {
                        return;
                    }

                    var   veh     = GetVehFromNetHandle(API.GetPlayerVehicle(player));
                    float payment = API.GetVehicleHealth(API.GetPlayerVehicle(player)) / 2;
                    VehicleManager.respawn_vehicle(veh);
                    API.Shared.SetVehicleEngineStatus(veh.NetHandle, false);
                    inventory.InventoryManager.GiveInventoryItem(character, new Money(), (int)payment);
                    character.IsOnDropcar = false;
                    API.TriggerClientEvent(player, "dropcar_removewaypoint");
                    player.SendChatMessage("Vehicle delivered. You earned $" + (int)payment);
                }
            };


            DebugManager.DebugMessage("[VehicleM] Vehicle Manager initalized!");
        }
Beispiel #3
0
        public void respawnallcars_cmd(Player player)
        {
            var account = player.GetAccount();

            if (account.AdminLevel < 4)
            {
                return;
            }

            foreach (var v in Vehicles)
            {
                if (v.Driver == null && v.OwnerId == 0 && v.GroupId == 0)
                {
                    VehicleManager.respawn_vehicle(v);
                }
            }
            NAPI.Chat.SendChatMessageToPlayer(player, Color.White, "All unowned and unoccupied vehicles have been respawned.");
            return;
        }