Exemple #1
0
 public async Task BuyHouse(IPlayer player, int houseId)
 {
     try
     {
         if (player == null || houseId <= 0 || !player.Exists)
         {
             return;
         }
         int charId = User.GetPlayerOnline(player);
         if (charId <= 0)
         {
             return;
         }
         if (!ServerHouses.ExistHouse(houseId))
         {
             return;
         }
         if (ServerHouses.GetHouseOwner(houseId) > 0)
         {
             HUDHandler.SendNotification(player, 3, 5000, "Fehler: Dieses Haus gehört bereits jemanden."); return;
         }
         if (!CharactersBank.HasCharacterBankMainKonto(charId))
         {
             HUDHandler.SendNotification(player, 3, 5000, "Du hast noch kein Hauptkonto in der Bank festgelegt."); return;
         }
         int accNumber = CharactersBank.GetCharacterBankMainKonto(charId);
         if (accNumber <= 0)
         {
             return;
         }
         if (CharactersBank.GetBankAccountLockStatus(accNumber))
         {
             HUDHandler.SendNotification(player, 3, 5000, "Dein Bankkonto ist gesperrt."); return;
         }
         if (CharactersBank.GetBankAccountMoney(accNumber) < ServerHouses.GetHousePrice(houseId))
         {
             HUDHandler.SendNotification(player, 3, 5000, $"Soviel Geld hast du auf deinem Konto nicht ({ServerHouses.GetHousePrice(houseId)}$) - du hast {CharactersBank.GetBankAccountMoney(accNumber)}$"); return;
         }
         CharactersBank.SetBankAccountMoney(accNumber, CharactersBank.GetBankAccountMoney(accNumber) - ServerHouses.GetHousePrice(houseId));
         ServerBankPapers.CreateNewBankPaper(accNumber, DateTime.Now.ToString("d", CultureInfo.CreateSpecificCulture("de-DE")), DateTime.Now.ToString("t", CultureInfo.CreateSpecificCulture("de-DE")), "Ausgehende Überweisung", "Dynasty8", $"Hauskauf: {ServerHouses.GetHouseStreet(houseId)}", $"-{ServerHouses.GetHousePrice(houseId)}$", "Bankeinzug");
         ServerHouses.SetHouseOwner(houseId, charId);
         HUDHandler.SendNotification(player, 2, 5000, $"Sie haben sich das Haus mit der Adresse '{ServerHouses.GetHouseStreet(houseId)}' erfolgreich gekauft (Kosten: {ServerHouses.GetHousePrice(houseId)}$).");
     }
     catch (Exception e)
     {
         Alt.Log($"{e}");
     }
 }
Exemple #2
0
 public async Task SellHouse(IPlayer player, int houseId)
 {
     try
     {
         if (player == null || !player.Exists || houseId <= 0)
         {
             return;
         }
         int charId = (int)player.GetCharacterMetaId();
         if (charId <= 0)
         {
             return;
         }
         if (!ServerHouses.ExistHouse(houseId) || ServerHouses.GetHouseOwner(houseId) != charId)
         {
             HUDHandler.SendNotification(player, 4, 3500, "Fehler: Dieses Haus gehört nicht dir."); return;
         }
         if (!CharactersBank.HasCharacterBankMainKonto(charId))
         {
             HUDHandler.SendNotification(player, 3, 2500, "Du besitzt kein Haupt-Bankkonto"); return;
         }
         int accNumber  = CharactersBank.GetCharacterBankMainKonto(charId);
         int housePrice = ServerHouses.GetHousePrice(houseId) / 2;
         if (!CharactersBank.ExistBankAccountNumber(accNumber))
         {
             return;
         }
         ServerHouses.SetHouseLocked(houseId, true);
         ServerHouses.SetHouseOwner(houseId, 0);
         CharactersBank.SetBankAccountMoney(accNumber, CharactersBank.GetBankAccountMoney(accNumber) + housePrice);
         HUDHandler.SendNotification(player, 2, 2500, $"Haus erfolgreich für {housePrice}$ (50% Kaufpreis) verkauft.");
         ServerBankPapers.CreateNewBankPaper(accNumber, DateTime.Now.ToString("d", CultureInfo.CreateSpecificCulture("de-DE")), DateTime.Now.ToString("t", CultureInfo.CreateSpecificCulture("de-DE")), "Eingehende Überweisung", "Immobilienmakler", $"Hausverkauf: {ServerHouses.GetHouseStreet(houseId)}", $"+{housePrice}$", "Online-Banking");
     }
     catch (Exception e)
     {
         Alt.Log($"{e}");
     }
 }