Beispiel #1
0
        public void ChargeMoney(CharacterEntity worker, int money)
        {
            worker.AddMoney(money, false);
            worker.DbModel.JobEarned += money;

            if (worker.DbModel.JobEarned >= JobEntityModel.MaxSalary)
            {
                worker.DbModel.JobEnded = DateTime.Now;
            }
        }
Beispiel #2
0
        public static void WithdrawFromBank(IPlayer player, int amount)
        {
            CharacterEntity character = player.GetAccountEntity().characterEntity;

            if (character.DbModel.Bank < amount)
            {
                return;
            }

            character.RemoveMoney(amount, true);
            character.AddMoney(amount, false);
        }
Beispiel #3
0
        public static void DepositToBank(IPlayer player, int amount)
        {
            CharacterEntity character = player.GetAccountEntity().characterEntity;

            if (!character.HasEnoughMoney(amount, false))
            {
                return;
            }

            character.RemoveMoney(amount, false);
            character.AddMoney(amount, true);
        }
        public static void WithdrawMoney(Client player, decimal count)
        {
            CharacterEntity character = player.GetAccountEntity().CharacterEntity;

            if (character.HasMoney(count, true))
            {
                character.RemoveMoney(count, true);
                character.AddMoney(count);

                player.SendInfo($"Wypłacono ${count} z konta o numerze {player.GetAccountEntity().CharacterEntity.DbModel.BankAccountNumber}");
            }
            else
            {
                player.SendWarning("Nie posiadasz wystarczającej ilości środków na koncie bankowym.");
            }
        }
        public static void DepositMoney(Client player, decimal count)
        {
            CharacterEntity character = player.GetAccountEntity().CharacterEntity;

            if (character.HasMoney(count))
            {
                character.RemoveMoney(count);
                character.AddMoney(count, true);

                player.SendInfo($"Wpłacono ${count} na konto o numerze {player.GetAccountEntity().CharacterEntity.DbModel.BankAccountNumber}");
            }
            else
            {
                player.SendWarning("Nie posiadasz wystarczającej ilości gotówki.");
            }
        }
        public void TransferWalletMoney(Client sender, int id, decimal safeMoneyCount)
        {
            MoneyValidator validator = new MoneyValidator();

            if (!validator.IsValid(safeMoneyCount))
            {
                sender.SendError("Podano kwotę gotówki w nieprawidłowym formacie.");
            }

            CharacterEntity sendingCharacter = sender.GetAccountEntity().CharacterEntity;

            if (!sendingCharacter.CanPay)
            {
                return;
            }

            if (!sendingCharacter.HasMoney(safeMoneyCount))
            {
                sender.SendWarning("Nie posiadasz wystarczającej ilości gotówki.");
                return;
            }

            if (sender.GetAccountEntity().ServerId == id)
            {
                sender.SendError("Nie możesz podać gotówki samemu sobie.");
                return;
            }

            CharacterEntity gettingPlayer = NAPI.Player.GetPlayersInRadiusOfPlayer(6f, sender).Find(
                x => x.GetAccountEntity().ServerId == id).GetAccountEntity().CharacterEntity;

            if (gettingPlayer == null)
            {
                sender.SendWarning("Nie znaleziono gracza o podanym Id");
                return;
            }

            //temu zabieramy
            sendingCharacter.RemoveMoney(safeMoneyCount);

            //temu dodajemy gotówke
            gettingPlayer.AddMoney(safeMoneyCount);

            sender.SendChatMessage($"~g~Osoba {gettingPlayer.FormatName} otrzymała od ciebie ${safeMoneyCount}.");
            gettingPlayer.AccountEntity.Client.SendChatMessage($"~g~Osoba {sender.Name} przekazała ci ${safeMoneyCount}.");
        }
Beispiel #7
0
        private void Event_OnClientEventTrigger(Client sender, string eventName, params object[] arguments)
        {
            //args[0] to numerek pracy
            //0 Śmieciarz
            //1 Greenkeeper
            //2 Złodziej
            //3 Magazynier
            if (eventName == "OnPlayerSelectedJob")
            {
                AccountEntity player = sender.GetAccountEntity();
                //player.CharacterEntity.DbModel.Job = (JobType)Convert.ToInt32(arguments[0]);
                player.Save();

                //switch (player.CharacterEntity.DbModel.Job)
                //{
                //    case JobType.Dustman:
                //        sender.SendInfo("Podjąłeś się pracy: Operator śmieciarki. Udaj się na wysypisko i wsiądź do śmieciarki.");
                //        break;
                //    case JobType.Greenkeeper:
                //        sender.SendInfo("Podjąłeś się pracy: Ogrodnik. Udaj się na pole golfowe i wsiądź do kosiarki.");
                //        break;
                //    case JobType.Courier:
                //        sender.SendInfo("Podjąłeś się pracy: Kurier. Udaj się do magazynu, jest on oznaczony na mapie ikoną FixMe.");
                //        break;
                //}
            }
            else if (eventName == "OnPlayerTakeMoneyJob")
            {
                CharacterEntity character = sender.GetAccountEntity().CharacterEntity;
                if (character.DbModel?.PartTimeJobWorkerModel.Salary != null)
                {
                    character.AddMoney(character.DbModel.PartTimeJobWorkerModel.Salary);
                    character.DbModel.PartTimeJobWorkerModel.Salary = 0;
                    character.Save();
                }
            }
        }