Example #1
0
        private void LoginDialog(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton == DialogButton.Right)
            {
                success = false;
                return;
            }

            if (e.InputText.Length == 0)
            {
                passwordDialog.Show(player);
                return;
            }

            if (!PasswordHasher.Verify(e.InputText, player.AccountData.Password))
            {
                if (attempts < maxAttemtps - 1)
                {
                    attempts++;
                    passwordDialog.Message = "Mauvais mot de passe !\nIl vous reste " + Color.DarkRed + (maxAttemtps - attempts) + Color.White + " essais.";
                    passwordDialog.Show(player);
                    return;
                }
                success = false;
                player.Kick();
                return;
            }

            success = true;
            OnDialogEnded(new LoginDialogEndEventArgs());
            return;
        }
Example #2
0
        public void OnAgeDialogResponse(object sender, DialogResponseEventArgs e)
        {
            var        promo1 = new Promo1();
            PlayerData data   = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name);

            if (data == null)
            {
                Response -= OnAgeDialogResponse;
                // TODO: Logging
                return;
            }
            if (e.DialogButton != DialogButton.Left)
            {
                Response        -= OnAgeDialogResponse;
                promo1.Response += promo1.OnPromo1Response;
                promo1.Show(e.Player);
                return;
            }
            Response -= OnAgeDialogResponse;
            if (int.TryParse(e.InputText, out int age))
            {
                data.Age = age;
            }
            else
            {
                Response -= OnAgeDialogResponse;
            }
            promo1.Response += promo1.OnPromo1Response;
            promo1.Show(e.Player);
        }
Example #3
0
        public void OnEmailRegistrationDialogResponse(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton != DialogButton.Left)
            {
                Response -= OnEmailRegistrationDialogResponse;
                e.Player.Kick();
                return;
            }

            if (string.IsNullOrEmpty(e.InputText) || e.InputText.Split("@").Length <= 1)
            {
                // TODO: показывать диалог еще раз
            }

            PlayerData data = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name);

            if (data == null)
            {
                Response -= OnEmailRegistrationDialogResponse;
                e.Player.Kick();
                // TODO: Logging
                return;
            }
            Response  -= OnEmailRegistrationDialogResponse;
            data.Email = e.InputText;
            var gender = new GenderDialog();

            gender.Response += gender.OnGenderDialogResponse;
            gender.ShowAsync(e.Player);
        }
Example #4
0
        private static async void BankCancelDialog_Response(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton != DialogButton.Left)
            {
                return;
            }

            if (!(e.Player is Player player))
            {
                return;
            }

            if (player.BankAccount.Money > 0)
            {
                await player.RewardAsync(player.BankAccount.Money);

                player.SendClientMessage(Color.GreenYellow,
                                         "There was still some money in your bank account, it has been added to your account.");
            }

            var playerBankAccount = player.BankAccount;

            await new PlayerBankAccountRepository(ConnectionFactory.GetConnection).DeleteAsync(playerBankAccount);

            player.IsLoggedInBankAccount = false;

            player.SendClientMessage(Color.GreenYellow, "Your bank account has been deleted.");
        }
Example #5
0
 void OnDialogResponse(object sender, DialogResponseEventArgs e)
 {
     if (e.Response == DialogResponse.OK)
     {
         ApplySettings(AppSettings.Main);
     }
 }
Example #6
0
        public static void ConvoyListDialog_Response(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton == DialogButton.Right)
            {
                return;
            }

            var player = e.Player as Player;
            var convoy = MissionConvoy.Convoys[e.ListItem];

            switch (convoy.Status)
            {
            case ConvoyStatus.Empty:
                MissionConvoy.MakeLeader(player, convoy);
                break;

            case ConvoyStatus.Open:
                MissionConvoy.MakeMember(player, convoy);
                break;

            case ConvoyStatus.Full:
                player?.SendClientMessage(Color.Red, Messages.MissionConvoyAlreadyFull);
                break;

            case ConvoyStatus.Closed:
                player?.SendClientMessage(Color.Red, Messages.MissionConvoyAlreadyOnRoute);
                break;
            }
        }
Example #7
0
            private static void RaceName_Response(object sender, DialogResponseEventArgs e)
            {
                Player player = (Player)e.Player;

                if (e.DialogButton != DialogButton.Right)
                {
                    if (e.InputText.Length > 0)
                    {
                        if (player.playerRaceCreator.Save(e.InputText))
                        {
                            player.SendClientMessage(Color.Green, "Race saved");
                        }
                        else
                        {
                            player.SendClientMessage(Color.Red, "Error saving race");
                        }
                    }
                    else
                    {
                        InputDialog raceName = new InputDialog("Name of the race", "Please enter the name of the race", false, "Create", "Cancel");
                        raceName.Show(e.Player);
                        raceName.Response += RaceName_Response;
                    }
                }
            }
        private void RegisterDialogOnResponse(object?sender, DialogResponseEventArgs e)
        {
            var registerAccountRequest = new RegisterAccountRequest();

            registerAccountRequest.Email    = "*****@*****.**";
            registerAccountRequest.Login    = _player.Name;
            registerAccountRequest.Password = e.InputText;

            try
            {
                var response = MruV.Accounts.RegisterAccount(registerAccountRequest);
                if (response.Success)
                {
                    new LoginFlow(_player).Show();
                    Tutorial tutorial = new Tutorial(_player);
                    tutorial.RegisterMessage();
                }
                else
                {
                    _player.SendClientMessage("Nie udało się zarejestrować konta.");
                    _registerDialog.Show(_player);
                }
            }
            catch (RpcException err)
            {
                _player.SendClientMessage($"Nie udało się zarejestrować, błąd: {err.Status.Detail}");
            }
        }
        public void OnPasswordRequestResponse(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton != DialogButton.Left)
            {
                Response -= OnPasswordRequestResponse;
                e.Player.Kick();
                return;
            }
            PlayerData data = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name);

            if (data == null)
            {
                Response -= OnPasswordRequestResponse;
                e.Player.Kick();
                // TODO: Logging
                return;
            }

            if (e.InputText != data.Password)
            {
                Response -= OnPasswordRequestResponse;
                var retrialDialog = new PasswordRequestDialog(true);
                retrialDialog.Response += retrialDialog.OnPasswordRequestResponse;
                retrialDialog.ShowAsync(e.Player);
                return;
            }
            Response -= OnPasswordRequestResponse;
            var emailDialog = new EmailRegistrationDialog();

            emailDialog.Response += emailDialog.OnEmailRegistrationDialogResponse;
            emailDialog.ShowAsync(e.Player);
        }
Example #10
0
        /// <summary>
        ///     Raises the <see cref="Response" /> event.
        /// </summary>
        /// <param name="e">An <see cref="DialogResponseEventArgs" /> that contains the event data. </param>
        public void OnResponse(DialogResponseEventArgs e)
        {
            if (OpenDialogs.ContainsKey(e.Player.Id))
                OpenDialogs.Remove(e.Player.Id);

            _aSyncWaiter.Fire(e.Player, e);

            Response?.Invoke(this, e);
        }
Example #11
0
 private void DialogOnResponse(object?sender, DialogResponseEventArgs e)
 {
     if (e.DialogButton == SampSharp.GameMode.Definitions.DialogButton.Right)
     {
         _player.SendClientMessage(Color.LightCoral, "Wyszedłeś z wyboru postaci. Zapraszamy ponownie!");
         _player.Kick();
     }
     else
     {
         ChosenCharacter?.Invoke(_player, EventArgs.Empty);
     }
 }
Example #12
0
        /// <summary>
        ///     Raises the <see cref="IDialog.Response" /> event.
        /// </summary>
        /// <param name="e">An <see cref="DialogResponseEventArgs" /> that contains the event data. </param>
        public void OnResponse(DialogResponseEventArgs e)
        {
            if (OpenDialogs.ContainsKey(e.Player.Id))
            {
                OpenDialogs.Remove(e.Player.Id);
            }

            _aSyncWaiter.Fire(e.Player, e);

            if (Response != null)
            {
                Response(this, e);
            }
        }
        private static void SelectRouteDialog_Response(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton != SampSharp.GameMode.Definitions.DialogButton.Left)
            {
                return;
            }

            if (!(e.Player is Player player))
            {
                return;
            }

            StartMission(player, BusRoute.BusRoutes[e.ListItem]);
        }
Example #14
0
        private static async void MoneyDepositDialog_Response(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton != DialogButton.Left)
            {
                return;
            }

            if (!(e.Player is Player player))
            {
                return;
            }

            if (int.TryParse(e.InputText, out var depositMoney))
            {
                if (depositMoney < 1)
                {
                    player.SendClientMessage(Color.Red,
                                             "You need to enter a positive amount of money to deposit into your bank account.");
                    player.ShowBankAccountOptions();
                    return;
                }

                if (depositMoney > player.Account.Money)
                {
                    player.SendClientMessage(Color.Red,
                                             "You don't have that amount of money to deposit into your bank account.");
                    player.ShowBankAccountOptions();
                    return;
                }

                var playerBankAccount = player.BankAccount;
                playerBankAccount.Money += depositMoney;

                await player.RewardAsync(-depositMoney);

                await new PlayerBankAccountRepository(ConnectionFactory.GetConnection).UpdateAsync(playerBankAccount);

                player.SendClientMessage(Color.GreenYellow,
                                         $"You have deposited {{FFFF00}}${depositMoney}{Color.GreenYellow} into your bank account.");
                player.ShowBankAccountOptions();
            }
            else
            {
                player.SendClientMessage(Color.Red, "You need input a valid number.");
                player.ShowBankAccountOptions();
            }
        }
Example #15
0
        public void OnPromo2ChangedResponse(object sender, DialogResponseEventArgs e)
        {
            PlayerData data = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name);

            if (data == null)
            {
                Response -= OnPromo2ChangedResponse;
                // TODO: Logging
                return;
            }
            if (e.DialogButton != DialogButton.Left)
            {
                Response -= OnPromo2ChangedResponse;
                return;
            }
            Response -= OnPromo2ChangedResponse;

            PlayerManager.Instance.AddPlayer(data);
        }
Example #16
0
        public void ChoiceResponse(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton == DialogButton.Right)
            {
                e.Player.Kick();
                return;
            }

            if (e.ListItem < playerChars.Count)
            {
                player.ActiveCharacter = playerChars[e.ListItem];
                player.SendClientMessage("Tu as choisi " + player.ActiveCharacter.Name);
                player.SpawnCharacter();
            }
            else
            {
                charCreationMenu = new PlayerCharacterCreation();
                this.Show();
            }
        }
        private void OnCreateNewFixedProjectComplete(object sender, DialogResponseEventArgs dialogResponseEventArgs)
        {
            if (dialogResponseEventArgs.Canceled || dialogResponseEventArgs.CorrelationId != CorrelationId)
            {
                return;
            }

            CorrelationId = Guid.NewGuid();
            try
            {
                this.dashboardService.CreateNewFixedBudgetMonitorWidget(
                    this.createNewFixedBudgetController.Code,
                    this.createNewFixedBudgetController.Description,
                    this.createNewFixedBudgetController.Amount);
            }
            catch (ArgumentException ex)
            {
                this.uiContext.UserPrompts.MessageBox.Show(ex.Message, "Unable to create new fixed budget project");
            }
        }
        private void OnCreateNewSurprisePaymentMonitorComplete(object sender, DialogResponseEventArgs dialogResponseEventArgs)
        {
            if (dialogResponseEventArgs.Canceled || dialogResponseEventArgs.CorrelationId != CorrelationId)
            {
                return;
            }

            CorrelationId = Guid.NewGuid();
            try
            {
                this.dashboardService.CreateNewSurprisePaymentMonitorWidget(
                    this.createNewSurprisePaymentMonitorController.Selected.Code,
                    this.createNewSurprisePaymentMonitorController.PaymentStartDate,
                    this.createNewSurprisePaymentMonitorController.Frequency);
            }
            catch (ArgumentException ex)
            {
                this.uiContext.UserPrompts.MessageBox.Show(ex.Message, "Unable to create new surprise payment monitor widget.");
            }
        }
    /* When the map change is confirmed, this occurs if the player wishes to force the map change later or immediately.. */
    public static void OnConfirmMapChange(int mapId, DialogResponseEventArgs e)
    {
        var player = e.Player as Player;

        if (IsLoading)
        {
            player.SendClientMessage(Color.Red, $"Error: El mapa {GetCurrentMap()} se está cargando. ");
            return;
        }
        if (e.DialogButton == DialogButton.Left)
        {
            timeLeft = 5;
            SendClientMessageToAll(Color.Red, $"[Change Map]: {Color.Yellow}{player.Name} forzó el cambio de mapa a: {Color.Red}{GetMapName(mapId)}.");
        }
        else
        {
            SendClientMessageToAll(Color.Red, $"[Next Map]: {Color.Yellow}{player.Name} decidió que el próximo mapa será en: {Color.Red}{GetMapName(mapId)}.");
        }
        ForceMap = mapId;
    }
Example #20
0
        private static void DialogSpawns_Response(object sender, DialogResponseEventArgs e, PlayerClassType classId)
        {
            if (e.DialogButton != DialogButton.Left)
            {
                return;
            }

            if (!(e.Player is Player player))
            {
                return;
            }

            var spawns = new ClassSpawnRepository(ConnectionFactory.GetConnection).GetAllByClassType((int)classId);

            switch (classId)
            {
            default:
                player.Position = new Vector3(spawns.ElementAt(e.ListItem).PositionX, spawns.ElementAt(e.ListItem).PositionY, spawns.ElementAt(e.ListItem).PositionZ);
                break;
            }
        }
Example #21
0
        public void OnInputRegistrationData(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton != DialogButton.Left)
            {
                Response -= OnInputRegistrationData;
                if (e.Player == null)
                {
                    return;
                }

                e.Player.SendClientMessage("Вы не ввели пароль");
                e.Player.Kick();
                return;
            }

            PlayerData data = PlayerManager.Instance.GetPlayerData(e.Player.Name);

            if (data != null)
            {
                if (data.Password == e.InputText)
                {
                    data.Authorized = true;
                }
            }
            else
            {
                Response -= OnInputRegistrationData;
                data      = new PlayerData
                {
                    UserName = e.Player.Name,
                    Password = e.InputText
                };
                PlayerManager.Instance.CachePlayerData(data);
                //TODO: проверить пароль на запрещенные символы
                var passRequestDialog = new PasswordRequestDialog();
                passRequestDialog.Response += passRequestDialog.OnPasswordRequestResponse;
                passRequestDialog.ShowAsync(e.Player);
            }
        }
Example #22
0
        public void OnFrienInGameChangedResponse(object sender, DialogResponseEventArgs e)
        {
            var        promo2 = new Promo2();
            PlayerData data   = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name);

            if (data == null)
            {
                Response -= OnFrienInGameChangedResponse;
                // TODO: Logging
                return;
            }
            if (e.DialogButton != DialogButton.Left)
            {
                Response        -= OnFrienInGameChangedResponse;
                promo2.Response += promo2.OnPromo2ChangedResponse;
                promo2.Show(e.Player);
                return;
            }
            Response        -= OnFrienInGameChangedResponse;
            promo2.Response += promo2.OnPromo2ChangedResponse;
            promo2.Show(e.Player);
        }
        public static void DialogBusDriverMission_Response(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton != SampSharp.GameMode.Definitions.DialogButton.Left)
            {
                return;
            }

            if (!(e.Player is Player player))
            {
                return;
            }

            if (player.IsDoingMission)
            {
                player.SendClientMessage(Color.Red, Messages.AlreadyDoingAMission);
                return;
            }

            var selectRouteDialog = new ListDialog("Select busroute: ", Messages.DialogButtonSelect, Messages.DialogButtonCancel);

            switch (e.ListItem)
            {
            case 0:
                foreach (var busRoute in BusRoute.BusRoutes)
                {
                    selectRouteDialog.AddItem($"Line {busRoute.LineNumber} ({busRoute.Description})\n");
                }

                selectRouteDialog.Show(player);
                selectRouteDialog.Response += SelectRouteDialog_Response;
                break;

            case 1:
                var random = new Random();

                StartMission(player, BusRoute.BusRoutes[random.Next(BusRoute.BusRoutes.Count)]);
                break;
            }
        }
Example #24
0
        public static void MissionDialogResponse(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton != DialogButton.Left)
            {
                return;
            }

            var playerVehicleModel        = e.Player.Vehicle?.Model;
            var playerVehicleTrailerModel = e.Player.Vehicle?.Trailer?.Model;

            switch (e.ListItem)
            {
            case 0:
                var cargoList = GetMissionCargoes(playerVehicleModel, playerVehicleTrailerModel);

                if (cargoList == null)
                {
                    return;
                }

                var dialogCargoSelect = new ListDialog(Messages.MissionTruckerDialogSelectLoad,
                                                       Messages.DialogButtonSelect, Messages.DialogButtonCancel);

                foreach (var cargo in cargoList)
                {
                    dialogCargoSelect.AddItem(cargo.Name);
                }

                dialogCargoSelect.Show(e.Player);
                dialogCargoSelect.Response += DialogCargoSelect_Response;

                break;

            case 1:
                StartRandomMission((Player)e.Player);
                break;
            }
        }
Example #25
0
        public void OnSkinColorDialogResponse(object sender, DialogResponseEventArgs e)
        {
            var        nationalitySet = new NationalityList();
            PlayerData data           = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name);

            if (data == null)
            {
                Response -= OnSkinColorDialogResponse;
                // TODO: Logging
                return;
            }
            if (e.DialogButton != DialogButton.Left)
            {
                data.SkinColor           = PlayerColor.BLACK;
                Response                -= OnSkinColorDialogResponse;
                nationalitySet.Response += nationalitySet.OnNationalitySetResponse;
                nationalitySet.Show(e.Player);
                return;
            }
            Response -= OnSkinColorDialogResponse;
            nationalitySet.Response += nationalitySet.OnNationalitySetResponse;
            nationalitySet.Show(e.Player);
        }
Example #26
0
        public void OnPromo1Response(object sender, DialogResponseEventArgs e)
        {
            Console.WriteLine(e.InputText);
            var        friend = new FriendInGame();
            PlayerData data   = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name);

            if (data == null)
            {
                Response -= OnPromo1Response;
                // TODO: Logging
                return;
            }
            if (e.DialogButton != DialogButton.Left)
            {
                Response        -= OnPromo1Response;
                friend.Response += friend.OnFrienInGameChangedResponse;
                friend.Show(e.Player);
                return;
            }
            Response        -= OnPromo1Response;
            friend.Response += friend.OnFrienInGameChangedResponse;
            friend.Show(e.Player);
        }
Example #27
0
        public void OnNationalitySetResponse(object sender, DialogResponseEventArgs e)
        {
            PlayerData data      = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name);
            var        ageDialog = new AgeDialog();

            if (data == null)
            {
                Response -= OnNationalitySetResponse;
                e.Player.Kick();
                // TODO: Logging
                return;
            }
            if (e.DialogButton != DialogButton.Left)
            {
                ageDialog.Response += ageDialog.OnAgeDialogResponse;
                ageDialog.ShowAsync(e.Player);
                Response -= OnNationalitySetResponse;
                return;
            }
            Response           -= OnNationalitySetResponse;
            ageDialog.Response += ageDialog.OnAgeDialogResponse;
            ageDialog.Show(e.Player);
        }
Example #28
0
        private void MenuResponse(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton == DialogButton.Right)
            {
                MenuDialogEventArgs eventArgs = new MenuDialogEventArgs();
                eventArgs.Data   = itemsData;
                eventArgs.Button = DialogButton.Right;
                OnEnded(eventArgs);
                return;
            }

            if (e.ListItem <= menuItems.Count)
            {
                MenuDialogItemEventArgs eventArgs = new MenuDialogItemEventArgs();
                eventArgs.Parent     = this;
                eventArgs.ParentData = itemsData;
                eventArgs.Player     = e.Player;
                menuItems[e.ListItem].OnSelected(eventArgs);
                return;
            }

            this.Show(e.Player);
        }
Example #29
0
        private static void DialogSelectStartLocation_Response(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton != DialogButton.Left)
            {
                return;
            }

            if (!(e.Player is Player player))
            {
                return;
            }

            var cargo = player.MissionCargo;
            var startLocationIndex = player.MissionCargo.FromLocations[e.ListItem];

            player.FromLocation = MissionLocation.MissionLocations[startLocationIndex];

            var dialogSelectEndLocation = new ListDialog(Messages.MissionTruckerSelectEndingLocation,
                                                         Messages.DialogButtonSelect, Messages.DialogButtonCancel);

            for (var i = 0; i < cargo.ToLocations.Length; i++)
            {
                var endLocationIndex = player.MissionCargo.ToLocations[i];

                if (endLocationIndex != 0)
                {
                    dialogSelectEndLocation.AddItem(MissionLocation.MissionLocations[endLocationIndex].Name);
                }
                else
                {
                    break;
                }
            }

            dialogSelectEndLocation.Show(e.Player);
            dialogSelectEndLocation.Response += DialogSelectEndLocation_Response;
        }
Example #30
0
        private static void DialogCargoSelect_Response(object sender, DialogResponseEventArgs e)
        {
            if (e.DialogButton != DialogButton.Left)
            {
                return;
            }

            var playerVehicleModel        = e.Player.Vehicle?.Model;
            var playerVehicleTrailerModel = e.Player.Vehicle?.Trailer?.Model;

            if (!(e.Player is Player player))
            {
                return;
            }

            var cargoList = GetMissionCargoes(playerVehicleModel, playerVehicleTrailerModel);

            var dialogSelectStartLocation = new ListDialog(Messages.MissionTruckerSelectStartingLocation,
                                                           Messages.DialogButtonSelect, Messages.DialogButtonCancel);

            player.MissionCargo = cargoList[e.ListItem];

            foreach (var startLocationIndex in player.MissionCargo.FromLocations)
            {
                if (startLocationIndex != 0)
                {
                    dialogSelectStartLocation.AddItem(MissionLocation.MissionLocations[startLocationIndex].Name);
                }
                else
                {
                    break;
                }
            }

            dialogSelectStartLocation.Show(e.Player);
            dialogSelectStartLocation.Response += DialogSelectStartLocation_Response;
        }