示例#1
0
 public async Task setRentPrice(IPlayer player, int houseId, int rentPrice)
 {
     try
     {
         if (player == null || !player.Exists || houseId <= 0 || rentPrice <= 0)
         {
             return;
         }
         int charId = (int)player.GetCharacterMetaId();
         if (charId <= 0)
         {
             return;
         }
         if (rentPrice > 1000)
         {
             HUDHandler.SendNotification(player, 4, 5000, "Fehler: Die Miete darf einen Wert von 1.000$ nicht überschreiten."); return;
         }
         int dimension = player.Dimension;
         if (dimension <= 10000)
         {
             return;
         }
         int dhouseId = dimension - 10000;
         if (dhouseId <= 0 || dhouseId != houseId || !ServerHouses.ExistHouse(houseId))
         {
             return;
         }
         if (ServerHouses.GetHouseOwner(houseId) != charId)
         {
             HUDHandler.SendNotification(player, 4, 5000, "Fehler: Du bist nicht der Hausbesitzer."); return;
         }
         ServerHouses.SetHouseRentPrice(houseId, rentPrice);
         HUDHandler.SendNotification(player, 2, 3000, $"Du hast den Mietpreis auf {rentPrice}$ festgelegt. Die Miete wird jede 7 Tage von Mietbeginn eines Mieters abgebucht.");
         if (!ServerHouses.HasHouseBankUpgrade(houseId))
         {
             HUDHandler.SendNotification(player, 3, 5000, "Dein Haus besitzt keinen Tresor. Mieteinnahmen werden erst gesammelt sofern dieser ausgebaut ist.");
         }
     }
     catch (Exception e)
     {
         Alt.Log($"{e}");
     }
 }