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); }
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!"); }
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; }