Ejemplo n.º 1
0
        public void UnBwKilledPlayer(IPlayer sender, int id)
        {
            if (sender.GetAccountEntity() == null)
            {
                return;
            }
            if (!sender.GetAccountEntity().HasRank((int)EAdmin.Supporter))
            {
                return;
            }

            if (!sender.GetAccountEntity().OnAdminDuty)
            {
                sender.SendErrorNotify("Wystąpił bląd!", "Aby użyć tej komendy musisz wejść na służbę administratora");
                return;
            }

            IPlayer getter = PlayerExtenstion.GetPlayerById(id);

            if (getter == null)
            {
                sender.SendErrorNotify(null, $"Gracz o ID {id} nie jest w grze");
                return;
            }
            if (!getter.GetAccountEntity().characterEntity.HasBw)
            {
                sender.SendErrorNotify(null, $"Ten gracz żyje, nie możesz nadać mu unbw");
                return;
            }

            getter.GetAccountEntity().characterEntity.UnBw();
            getter.SendSuccessNotify(null, $"Otrzymałeś UNBW od administratora {sender.GetAccountEntity().DbModel.Username}");
        }
Ejemplo n.º 2
0
        public static void OfferPlayer(IPlayer sender, string titleOffer, int getterId, OfferType offerType, int index, int cost)
        {
            IPlayer getter = PlayerExtenstion.GetPlayerById(getterId);

            if (getter == null)
            {
                return;
            }

            //if (sender == getter)
            //{
            //    sender.SendErrorNotify("Wystąpił bląd", "Nie możesz zaoferować przedmiotu sam sobie");
            //    return;
            //}

            if (!Calculation.IsPlayerInRange(sender, getter, 5))
            {
                sender.SendChatMessageError("Tego gracza nie ma w pobliżu!");
                return;
            }

            CharacterEntity getterCharacterEntity = getter.GetAccountEntity().characterEntity;

            if (getterCharacterEntity.PendingOffer)
            {
                sender.SendChatMessageError("Ten gracz przeprowadza z kimś ofertę, spróbuj ponownie zachwile");
                return;
            }
            getter.GetAccountEntity().characterEntity.PendingOffer = true;
            getter.Emit("offer:getterShowWindow", titleOffer, sender.GetAccountEntity().ServerID, (int)offerType, index, cost);
        }
Ejemplo n.º 3
0
        public void RemoveWorldItemObject(IPlayer player, uint entityId, int itemID)
        {
            CharacterEntity sender = player.GetAccountEntity().characterEntity;

            DynamicObject dynamicObject = EntityHelper.GetById(entityId);

            dynamicObject.TryGetData("dynamicObject:ownerAccountId", out int dynamicObjectOwnerId);

            Alt.Log($"Account ID: ${dynamicObjectOwnerId}");

            CharacterEntity dynamicObjectOwner = PlayerExtenstion.GetPlayerByAccountId(dynamicObjectOwnerId).characterEntity;

            if (sender != dynamicObjectOwner)
            {
                player.SendErrorNotify("Wystąpił bląd", "Nie jesteś właścicielem tego obiektu");
                return;
            }

            ItemEntity itemToDelete = player.GetAccountEntity().characterEntity.ItemsInUse.FirstOrDefault(item => item.Id == itemID);

            player.GetAccountEntity().characterEntity.ItemsInUse.Remove(itemToDelete);

            EntityHelper.Remove(dynamicObject);
            dynamicObject.Destroy();
        }
        public void CreateGlobalVehicleCMD(IPlayer sender, int id, VehicleModel model)
        {
            if (!sender.GetAccountEntity().HasRank((int)EAdmin.CommunityManager))
            {
                return;
            }

            if (!sender.GetAccountEntity().OnAdminDuty)
            {
                sender.SendErrorNotify("Wystąpił bląd!", "Aby użyć tej komendy musisz wejść na służbę administratora");
                return;
            }

            IPlayer getter = PlayerExtenstion.GetPlayerById(id);

            if (getter == null)
            {
                sender.SendErrorNotify(null, $"Gracz o ID {id} nie jest w grze");
            }

            if (model == 0)
            {
                return;
            }

            VehicleEntity vehicle = new VehicleEntity(new VehicleDataModel()
            {
                Id       = 600,
                Model    = model.ToString(),
                Owner    = null,
                Group    = null,
                PosX     = sender.Position.X,
                PosY     = sender.Position.Y,
                PosZ     = sender.Position.Z,
                RotPitch = sender.Rotation.Pitch,
                RotRoll  = sender.Rotation.Roll,
                RotYaw   = sender.Rotation.Yaw,
                R        = 255,
                G        = 255,
                B        = 255,
                State    = true,
                Health   = 1000
            });

            vehicle.Create();
            vehicle.Spawn();
        }
Ejemplo n.º 5
0
        public void MessagePMCMD(IPlayer sender, int getterId, params string[] message)
        {
            CharacterEntity characterEntitySender = sender.GetAccountEntity().characterEntity;

            IPlayer getter = PlayerExtenstion.GetPlayerById(getterId);

            if (getter == null)
            {
                sender.SendChatMessageError("Tego gracza nie ma w grze.");
                return;
            }

            CharacterEntity characterEntityGetter = getter.GetAccountEntity().characterEntity;

            sender.SendChatMessage("{c9ac53}(( > " + characterEntityGetter.DbModel.Name + " " + characterEntityGetter.DbModel.Surname + $"({getterId})" + $" {String.Join(" ", message)}" + " ))");
            getter.SendChatMessage("{e09c12}(( " + characterEntitySender.DbModel.Name + " " + characterEntitySender.DbModel.Surname + $"({characterEntitySender.AccountEntity.ServerID})" + $" {String.Join(" ", message)}" + " ))");
        }
Ejemplo n.º 6
0
        public void CreateItemCMD(IPlayer sender, int playerId, string name, double first, double second, double third, double fourth, int itemEntityType)
        {
            if (!sender.GetAccountEntity().HasRank((int)EAdmin.Supporter))
            {
                return;
            }

            if (!sender.GetAccountEntity().OnAdminDuty)
            {
                sender.SendErrorNotify("Wystąpił bląd!", "Aby użyć tej komendy musisz wejść na służbę administratora");
                return;
            }

            IPlayer getter = PlayerExtenstion.GetPlayerById(playerId);

            if (getter == null)
            {
                sender.SendErrorNotify(null, $"Gracz o ID {playerId} nie jest w grze");
                return;
            }
            ItemModel item = new ItemModel()
            {
                Name            = name,
                CreatorId       = sender.GetAccountEntity().DbModel.Id,
                FirstParameter  = first,
                SecondParameter = second,
                ThirdParameter  = third,
                FourthParameter = fourth,
                ItemEntityType  = (ItemEntityType)itemEntityType,
                CharacterId     = getter.GetAccountEntity().characterEntity.DbModel.Id,
                VehicleId       = null,
                BuildingId      = null,
                ItemInUse       = false
            };
            ItemEntity itemEntity = ItemFactory.Create(item);

            itemEntity.Create(getter.GetAccountEntity().characterEntity);
        }
Ejemplo n.º 7
0
        //TODO: Dorobić, że osoba zarządzająca grupą może akceptować oferte tuningu pojazdu
        public override void UseItem(CharacterEntity characterEntity)
        {
            IPlayer     player = characterEntity.AccountEntity.Player;
            GroupEntity group  = characterEntity.OnDutyGroup;

            if (group == null)
            {
                player.SendChatMessageInfo("Nie masz uprawnień, aby montować części w samochodzie");
                return;
            }


            if (group.DbModel.GroupType != GroupType.Mechanic || ((Mechanic)group).CanPlayerTuningVehicle(characterEntity.AccountEntity))
            {
                if (DbModel.VehicleUpgradeId == null)
                {
                    if (player.Vehicle == null)
                    {
                        player.SendChatMessageInfo("Musisz być w samochodzie, aby móc zamontować część do samochodu");
                        return;
                    }

                    if (player.Vehicle.Model == VehicleModel)
                    {
                        VehicleEntity vehicleToUpgrade = player.Vehicle.GetVehicleEntity();
                        if (vehicleToUpgrade == null)
                        {
                            player.SendChatMessageError("Do tego pojazdu nie możesz zamontować części");
                            return;
                        }
                        if (TuningType == TuningType.Wheels)
                        {
                            Alt.Log("vehicleToUpgrade.GameVehicle.WheelVariation: " + vehicleToUpgrade.GameVehicle.WheelVariation);
                            if (vehicleToUpgrade.GameVehicle.WheelVariation != 0)
                            {
                                player.SendChatMessageError("Część z tej kategorii jest już zamontowana w tym pojeździe, odmontuj ją, aby móc wykonać tą akcje");
                                return;
                            }
                        }
                        else
                        {
                            if (vehicleToUpgrade.GameVehicle.GetMod((byte)VehicleModCategory) != 0)
                            {
                                player.SendChatMessageError("Część z tej kategorii jest już zamontowana w tym pojeździe, odmontuj ją, aby móc wykonać tą akcje");
                                return;
                            }
                        }

                        CharacterEntity ownerVehicle = PlayerExtenstion.GetPlayerByCharacterId(vehicleToUpgrade.DbModel.OwnerId);
                        if (ownerVehicle == null || !ownerVehicle.DbModel.Online)
                        {
                            player.SendChatMessageError("Ten gracz musi być w grze, abyś mógł zamontować część do jego pojazdu");
                            return;
                        }

                        OfferScript.OfferPlayer(player, "Montowanie części", ownerVehicle.AccountEntity.ServerID, OfferType.TuningVehicle, DbModel.Id, 100);
                    }
                    else
                    {
                        player.SendChatMessageError("Ta część nie pasuje do tego pojazdu!");
                    }
                }
                else
                {
                    player.SendChatMessageError("Ta część jest już zamontowana do pojazdu");
                }
            }
            else
            {
                player.SendChatMessageError("Nie masz uprawnień do tego, aby móc zamontować część do samochodu! Zgłoś się do dyrektora swojej firmy, jeśli chcesz ubiegać się o te uprawnienie!");
            }
        }
Ejemplo n.º 8
0
        public void OfferWindowRequestResult(IPlayer getter, string titleOffer, int senderId, int offerType, int index, int cost, bool offerAccepted)
        {
            IPlayer sender = PlayerExtenstion.GetPlayerById(senderId);

            if (sender == null)
            {
                return;
            }

            CharacterEntity senderEntity = sender.GetAccountEntity().characterEntity;
            CharacterEntity getterEntity = getter.GetAccountEntity().characterEntity;


            Offer offer = null;

            switch ((OfferType)offerType)
            {
            case OfferType.Item:

                ItemModel itemToOffer = sender.GetAccountEntity().characterEntity.DbModel.Items.FirstOrDefault(x => x.Id == index);

                if (itemToOffer == null)
                {
                    return;
                }

                if (itemToOffer.ItemInUse)
                {
                    sender.SendChatMessageError("Musisz odużyć przedmiot, aby móc go zaoferować");
                    return;
                }
                offer = new Offer(senderEntity, getterEntity, itemToOffer, cost);

                break;

            case OfferType.Vehicle:
                break;

            case OfferType.Building:
                break;

            case OfferType.RepairVehicle:
                break;

            case OfferType.TuningVehicle:

                ItemModel     itemCharacterToUpgradeVehicle = sender.GetAccountEntity().characterEntity.DbModel.Items.FirstOrDefault(x => x.Id == index);
                VehicleEntity vehicleToUpgrade = sender.Vehicle.GetVehicleEntity();

                ItemModel upgradeToOffer = null;
                bool      IsStunned      = false;
                if (itemCharacterToUpgradeVehicle == null)
                {
                    upgradeToOffer = vehicleToUpgrade.DbModel.VehicleUpgrades.FirstOrDefault(x => x.Id == index);
                    IsStunned      = true;
                }
                else
                {
                    upgradeToOffer = itemCharacterToUpgradeVehicle;
                }

                offer = new Offer(senderEntity, getterEntity, OfferActions.TuningPlayerVehicle, new Object[] { vehicleToUpgrade, upgradeToOffer, IsStunned }, cost, true);

                break;

            case OfferType.ResuscitationPlayer:
                offer = new Offer(senderEntity, getterEntity, OfferActions.ResuscitationPlayerAction, null, cost, true);
                break;

            default:
                break;
            }

            if (offer != null)
            {
                if (offerAccepted)
                {
                    offer.Trade(false);
                    offer.Dispose();
                }
                else
                {
                    offer.Dispose();
                    sender.SendWarningNotify("Gracz odrzucił ofertę", "Twoja oferta została odrzucona");
                }
            }
        }