Ejemplo n.º 1
0
 public async void CMD_ForceRespawnVehicles(Client client)
 {
     if (await ServerUtilities.CanUseCommand(client, COMMAND_VEHICLE_RESPAWN_ALL) == false)
     {
         return;
     }
     VehicleRespawner.RespawnVehicles();
 }
Ejemplo n.º 2
0
        public async void SpawnVeh(Client client, string vehName)
        {
            if (await ServerUtilities.CanUseCommand(client, COMMAND_VEHICLE_CREATE) == false)
            {
                return;
            }
            uint vehHash = NAPI.Util.GetHashKey(vehName);
            var  vehicle = NAPI.Vehicle.CreateVehicle(vehHash, client.Position.Around(5), client.Heading, 112, 112);

            Main.Logger.LogClient(client, $"Spawned vehicle ({vehicle.DisplayName}).");
        }
Ejemplo n.º 3
0
        public async void CMD_TakeOwnershipOfVehicle(Client client, string targetFirstName, string targetSurname = "")
        {
            if (await ServerUtilities.CanUseCommand(client, COMMAND_VEHICLE_SET_OWNER) == false)
            {
                return;
            }

            Client owner = ServerUtilities.GetPlayerIfExists(client, targetFirstName, targetSurname);

            if (owner == null)
            {
                return;
            }

            Vehicle vehicle = NAPI.Player.GetPlayerVehicle(owner);

            if (vehicle == null)
            {
                Main.Logger.LogClient(client, "You are not in a vehicle!");
                return;
            }

            CharacterData newOwnerCharacterData = owner.GetData(CharacterData.CHARACTER_DATA_KEY);

            if (newOwnerCharacterData == null)
            {
                return;
            }

            CharacterData clientCharacterData = client.GetData(CharacterData.CHARACTER_DATA_KEY);
            //Owner is Client
            bool isClientOwner = false;

            if (clientCharacterData != null && clientCharacterData.Id == newOwnerCharacterData.Id)
            {
                isClientOwner = true;
            }

            VehicleData vehicleData = vehicle.GetData(VehicleData.VEHICLE_DATA_KEY);

            if (vehicleData != null)
            {
                if (vehicleData.OwnerId == newOwnerCharacterData.Id)
                {
                    if (isClientOwner)
                    {
                        Main.Logger.LogClient(client, $"You already own ({vehicleData.Id}) {vehicle.DisplayName}.");
                    }
                    else
                    {
                        Main.Logger.LogClient(client, $"{newOwnerCharacterData.Name} already owns ({vehicleData.Id}) {vehicle.DisplayName}.");
                    }
                    return;
                }
                else
                {
                    vehicleData.OwnerId = newOwnerCharacterData.Id;
                    VehicleDatabase.SaveVehicle(vehicleData);
                }
            }
            else
            {
                vehicleData = new VehicleData()
                {
                    VehicleName = ((VehicleHash)vehicle.Model).ToString(),
                    Color1      = vehicle.PrimaryColor,
                    Color2      = vehicle.SecondaryColor,
                    Heading     = vehicle.Heading,
                    OwnerId     = newOwnerCharacterData.Id
                };

                vehicleData.SetPosition(vehicle.Position);

                vehicleData = await VehicleDatabase.CreateVehicle(vehicleData);

                vehicle.SetData(VehicleData.VEHICLE_DATA_KEY, vehicleData);
            }


            Main.Logger.LogClient(client, $"Gave {newOwnerCharacterData.Name} ownership of {vehicle.DisplayName}.");
            Main.Logger.LogClient(owner, $"{clientCharacterData.Name} gave you ownership of {vehicle.DisplayName}.");
        }