1. Как попасть внутрь
- Здание мы выбрали (элитный небоскрёб в Лас-Вентурасе со своей парковкой).
- Игрок подходит к двери, жмёт клавишу взаимодействия (например, E).
- Сервер проверяет: сумма наличных + банк ≥ 10,000,000$. Если нет-отказ: «Ваш баланс недостаточен.
Минимум 10,000,000$. Если нет — отказ: «Ваш баланс меньше 10.000.000$ - При успехе — игрок попадает внутрь интерьера (при возможности использовать живой с панорамным видом на Лас Вентурас).
- Пока игрок находится в зоне клуба (интерьер), ему доступны все привилегии.
Никаких постоянных тегов, членство — это просто право находиться внутри.
2. Что внутри (привилегии)
Инвестиционный терминал «Santa Maria Invest»
- В центре зала — NPC с функцией статистики самых богатых людей.
- В течение суток в рандомное время (5 раз) у NPC появляются бизнес предложения выдуманных компаний.
- Каждое предложение содержит: название компании, тип риска (фикс/умеренный/высокий), доходность, срок, минимальную сумму.
- Ограничение для игрока:
- Минимальная инвестиция — $1,000,000.
- Максимальная инвестиция в одно предложение — $5,000,000.
- Одновременно можно держать не более 1 активной инвестиции.
- Все предложения имеют ограниченный тираж, 1-4 инвестора на один лот. Как только предложение использовали — лот пропадает.
- После покупки деньги замораживаются до срока, затем автоматически возвращаются с прибылью/убытком согласно механике риска, описанной ранее.
Забрать деньги нужно внутри помещения у NPC.
Примеры предложений (генерируются рандомно):
Компания | Тип риска | Доходность | Срок | Мин. вклад | Доступно мест |
|---|---|---|---|---|---|
Red County Oil | Высокий | +28% / -20% (60% успех) | 5 дней | $2 млн | 3 |
Vinewood Spirits | Средний | +15% / -8% | 3 дня | $5 млн | |
Venturas Real Estate | Фикс. | +9% | 10 дней | $3 млн | 2 |
Аренда премиум-авто на парковке
- У здания клуба — аренда элитных авто (Urus, Aventador, Infernus и тд).
Подойдя к авто, член клуба может арендовать его через меню на 60 минут. Стоимость списывается сразу:
- Суперкар – $25,000 / 60 мин.
- После окончания аренды транспорт исчезает.
Лаунж-бар и знакомства
- Внутри — автоматический бар с напитками (восстановление здоровья, голода).
- При входе игрок автоматически попадает в окружение богатых людей, эта среда задает новые знакомства и рост!
А самое главное интерес для игроков.
Оповещение всего сервера о новых предложениях
- Когда появляется новый лот, сервер пишет в глобальный чат ярким сообщением:
[БИРЖА] В клубе "Santa Maria Invest" новое предложение!
Red County Oil: +28% за 5 дней (высок. риск, от $2 млн). Поспешите, мест: 3. Требуется баланс от $10 млн. - Это создаёт FOMO-эффект: даже те, у кого нет $10 млн, видят, что элита зарабатывает, и стремятся накопить.
А владельцы крупного капитала спешат в клуб, чтобы успеть вложиться.
3. Техническая реализация (ключевые моменты)
Если нужна помощь ( Язык с# )
Вход в зданиекод
private static Vector3 clubDoorPos = new Vector3( ); // ваши координаты
private const float RequiredBalance = 10_000_000;
[ServerEvent(Event.PlayerEnterColshape)]
private void OnEnterColshape(Colshape shape, Player player)
{
if(shape.Name == "SantaMariaInvest_entrance")
{
if(player.GetTotalMoney() >= RequiredBalance)
{
// Телепорт в интерьер
player.Position = new Vector3(); // интерьер клуба
player.SendChatMessage("~g~Добро пожаловать в Santa Maria Invest.");
player.SetSharedData("in_fortune_club", true);
}
else
{
player.SendChatMessage($"~r~Доступ только при балансе от ${RequiredBalance:N0}.");
}
}
}
Генерация предложений 5 раз в день
Используем планировщик, который при старте сервера рассчитывает 5 случайных моментов в течение 24 часов. Вариант: каждые 4.8 часа (24 / 5 = 4.8), но лучше добавить случайный разброс в ±30 минут, чтобы не предсказывали.
csharp
Копировать код
private int offersPerDay = 5;
private List<DateTime> scheduledTimes = new List<DateTime>();
public void ScheduleOffers()
{
scheduledTimes.Clear();
DateTime start = DateTime.Today.AddHours(0); // полночь сегодня
Random rnd = new Random();
for(int i=0; i<offersPerDay; i++)
{
double fraction = (i + 1) / (double)(offersPerDay + 1); // равномерно разбиваем день
DateTime baseTime = start.AddDays(fraction).AddHours( rnd.Next(-30, 30) / 60.0 );
scheduledTimes.Add(baseTime);
}
// Запускаем таймер, который каждую минуту проверяет, не пора ли сгенерировать предложение
new Timer((state) => CheckAndGenerateOffers(), null, TimeSpan.Zero, TimeSpan.FromMinutes(1));
}
private void CheckAndGenerateOffers()
{
DateTime now = DateTime.Now;
for(int i=scheduledTimes.Count-1; i>=0; i--)
{
if(now >= scheduledTimes)
{
// Время пришло — генерируем один новый лот и удаляем время из списка
GenerateSingleOffer();
scheduledTimes.RemoveAt(i);
}
}
}
Генерация одного предложения с лимитом мест и оповещением в чат
public void GenerateSingleOffer()
{
var offer = new StockOffer(); , MaxInvestPerPlayer = 5_000_000
offer.AvailableSlots = 5; // или случайное 1-5
currentOffers.Add(offer);
// Оповещение в глобальный чат
string riskIcon = ...;
string msg = $"[БИРЖА] {riskIcon} {offer.CompanyName}: {offer.ProfitPercent}% за {offer.DurationDays}д ({offer.RiskType}), от ${offer.MinInvestment:N0}. Мест: {offer.AvailableSlots}. Только в Fortune 500 (баланс > ${RequiredBalance/1_000_000} млн).";
RAGE.Chat.OutputServer(msg, RAGE.Chat.Server, RAGE.Chat.HEXToRgba("#FFD700"));
}
Ограничение на максимум $5 млн за раз
float maxInvestment = Math.Min(5_000_000, player.GetTotalMoney());
if(amount > maxInvestment) { player.SendChatMessage("Максимальная инвестиция — $5,000,000."); return; }
4. Атмосфера закрытого сообщества
- Интерьер здания — богатый офис с кожаными диванами, камином, панорамным окнами на ночной Лас-Вентурас.
- В баре можно не только пить, но и обмениваться новостями.
- Раз в неделю можно проводить закрытую встречу «инвесторов» прямо в этом помещении с помощью голосового чата.
5. Выгоды для сервера
- Новый стимул для заработка: игроки будут стремиться к заветным $10 млн, чтобы попасть в элиту.
- Контролируемая инфляция: деньги замораживаются в инвестициях, что связывает лишнюю массу кэша.
- Престиж сервера: такой закрытый финансовый клуб — редкость и фишка, которая привлекает хайроллеров.
- Легкость реализации: весь функционал укладывается в несколько серверных скриптов.
Последнее редактирование:

