public void PutItemToEquipmentFromTrunk(IPlayer player, int itemID) { //int itemID = (int)(long)args[0]; player.GetData("current:vehicle-trunk", out IColShape trunkColshape); if (trunkColshape == null) { return; } trunkColshape.GetData("vehicle:trunk", out VehicleEntity vehicleEntity); if (vehicleEntity == null) { return; } CharacterEntity characterEntity = player.GetAccountEntity().characterEntity; if (vehicleEntity.IsGroupVehicle) { GroupEntity vehicleGroupOwner = vehicleEntity.GroupOwner; if (vehicleGroupOwner == null) { return; } if (characterEntity.OnDutyGroup == null) { player.SendErrorNotify("Musisz być na służbie grupy, aby otworzyć bagażnik"); return; } if (vehicleGroupOwner != characterEntity.OnDutyGroup) { player.SendChatMessageError("Ten pojazd nie należy do twojej grupy"); return; } GroupWorkerModel worker = characterEntity.OnDutyGroup.DbModel.Workers.First(c => c.CharacterId == characterEntity.DbModel.Id); if (!vehicleGroupOwner.CanPlayerVehicle(worker)) { player.SendChatMessageError("Nie masz uprawnień do tego, aby otworzyć bagażnik pojazdu"); return; } } else { if (vehicleEntity.DbModel.OwnerId != characterEntity.DbModel.Id) { //TODO: Dorobić że typ grupy police może przeszukiwać bagażniki player.SendErrorNotify("Nie masz uprawnień", "Nie jesteś właścicielem tego pojazdu"); return; } } ItemModel itemToChange = vehicleEntity.DbModel.ItemsInVehicle.SingleOrDefault(item => item.Id == itemID); vehicleEntity.DbModel.ItemsInVehicle.Remove(itemToChange); characterEntity.DbModel.Items.Add(itemToChange); }
public void OpenVehicleTrunk(IPlayer player) { player.GetData("current:vehicle-trunk", out IColShape trunkColshape); if (trunkColshape == null) { return; } trunkColshape.GetData("vehicle:trunk", out VehicleEntity vehicleEntity); if (vehicleEntity == null) { return; } CharacterEntity characterEntity = player.GetAccountEntity().characterEntity; if (vehicleEntity.IsGroupVehicle) { GroupEntity vehicleGroupOwner = vehicleEntity.GroupOwner; if (vehicleGroupOwner == null) { return; } if (characterEntity.OnDutyGroup == null) { player.SendErrorNotify("Musisz być na służbie grupy, aby otworzyć bagażnik"); return; } if (vehicleGroupOwner != characterEntity.OnDutyGroup) { player.SendChatMessageError("Ten pojazd nie należy do twojej grupy"); return; } GroupWorkerModel worker = characterEntity.OnDutyGroup.DbModel.Workers.First(c => c.CharacterId == characterEntity.DbModel.Id); if (!vehicleGroupOwner.CanPlayerVehicle(worker)) { player.SendChatMessageError("Nie masz uprawnień do tego, aby otworzyć bagażnik pojazdu"); return; } } else { if (vehicleEntity.DbModel.OwnerId != characterEntity.DbModel.Id) { //TODO: Dorobić że typ grupy police może przeszukiwać bagażniki player.SendErrorNotify("Nie masz uprawnień", "Nie jesteś właścicielem tego pojazdu"); return; } } player.Emit("vehicle-trunk:data", characterEntity.DbModel.Items, vehicleEntity.DbModel.ItemsInVehicle); }