コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }