- 30 Июл 2025
- 4
- 0
- Сервер
- 1
- Имя персонажа
- Java Fleur
- CID персонажа
- COI0
Проблемы(предположительно, касается не только группировок):
3(не QoL). Крупные группировки 20-100 людей в составе наверняка имеют больше 5 игроков в онлайне однавременно. Но получают также как и малютки, думаю это не очень справедливо. Также дело в т.н. "прайм тайме" бывает время когда даже в небольших семьях 5+ игроков, и 0 в другое время, или в больших семьях 50 онлайна, но 0-10 в другое.
Решение:
1. Добавить время до готовности и время до того как закончатся ресурсы. Или добавить кнопку подробнее со временем до готовности и времени до того как закончится снабжение, если по какой то причине это меню должно быть именно такого размера как сейчас.
Хочется видеть что то типа
2. Динамическое значение этих параметров.
3(не QoL). Если игроков больше пяти, то для следующих пяти производительность +10% за каждого. Если игроков больше 10 то каждый следующий дает +1%.
Прим.1: Онлайн 50 человек, тогда производительность 190.
Прим. 2: Онлайн 12 человек, тогда производительность 152%.
Это просто из головы цифры. Идея в том чтобы 5-10 онлайна давало заметный прирост, а вот 10+ уже сильно меньше но тоже было таким как бы поощрением
Возможная(!) реализация(не обязательно для ознакомления):
Боже, какой ужас, после удаления буквы удаляется и пробел перед ней
, писать что то это настоящая пытка 
1-2. Выглядит так себе, но ничего лучше я не придумал :с
3.1 Значение в ф2-Группировка-Информация-Производство-Производительность вычислить не сложно, я думаю.
3.2 Как и для 1-2, но проценты в час нужно умножить на значение из пути в 3.1 и поделить на 100. Время зависит от % в час поэтому делать с ним ничего не надо.
Прим.1: Онлайн 50 человек, производительность 190, тогда для третьей лабы
var methDynamicPercentLoad = methBasicPercentLoad * playerCount*190/100; // methDynamicPercentLoad = 5.7%, вместо 3% для 5 игроков или 100%
var methDynamicPercentSupply = methBasicPercentSupply * playerCount*190/100; // methDynamicPercentSupply = -31.92% вместо -16.8% для 5 игроков или 100%
- Есть версия что % в час это недостаточно информативно.
- % в час не изменяется в зависимости от кол-ва игроков онлайн. (Очень серьезная недоработка на мой взгляд.) Когда мы увидели это впервые были очень расстроены из за того что ничего непонятно, это сильно вводит в заблуждение. Создается впечатление 4.5% для первой лабы это уже с учетом онлайна [<5] и не обновилось и надо подождать, а не просто релогнуться.
3(не QoL). Крупные группировки 20-100 людей в составе наверняка имеют больше 5 игроков в онлайне однавременно. Но получают также как и малютки, думаю это не очень справедливо. Также дело в т.н. "прайм тайме" бывает время когда даже в небольших семьях 5+ игроков, и 0 в другое время, или в больших семьях 50 онлайна, но 0-10 в другое.

Решение:
1. Добавить время до готовности и время до того как закончатся ресурсы. Или добавить кнопку подробнее со временем до готовности и времени до того как закончится снабжение, если по какой то причине это меню должно быть именно такого размера как сейчас.
Хочется видеть что то типа
Загруженность: ${Load}% (+${DynamicLoad}% в час)(${TimeToLoad} часов до готовности)
иСнабжение: ${Supply}% (${DynamicSupply}% в час)(Закончится через ${TimeToEnd} часов)
в том же или отдельном окне.2. Динамическое значение этих параметров.
3(не QoL). Если игроков больше пяти, то для следующих пяти производительность +10% за каждого. Если игроков больше 10 то каждый следующий дает +1%.
Прим.1: Онлайн 50 человек, тогда производительность 190.
Прим. 2: Онлайн 12 человек, тогда производительность 152%.
Это просто из головы цифры. Идея в том чтобы 5-10 онлайна давало заметный прирост, а вот 10+ уже сильно меньше но тоже было таким как бы поощрением

Возможная(!) реализация(не обязательно для ознакомления):
Боже, какой ужас, после удаления буквы удаляется и пробел перед ней


1-2. Выглядит так себе, но ничего лучше я не придумал :с
Если у вас проблемы с prompt можно использовать https://www.programiz.com/javascript/online-compiler/
JavaScript:
//Ввод онлайна. В моде, думаю, можно взять значение "Производительность"/20//
var inputPlayerCount = Number(prompt("Сколько игроков онлайн?"));
/*
Ввод актуальных значений Загруженности/Снабжения каждой лабы.
Думаю в моде найти их будет несложно.
Никакой проверки на значения >100 и <0 нет, потому что, как я пон в игре такого быть не может.
*/
var inputWeedLoad = Number(prompt("Какая загруженность 1-й лабы?(0-100)"));
var inputWeedSupply = Number(prompt("Какое снабжение 1-й лабы?(0-100)"));
var inputCocaineLoad = Number(prompt("Какая загруженность 2-й лабы?(0-100)"));
var inputCocaineSupply = Number(prompt("Какое снабжение 2-й лабы?(0-100)"));
var inputMethLoad = Number(prompt("Какая загруженность 3-й лабы?(0-100)"));
var inputMethSupply = Number(prompt("Какое снабжение 3-й лабы?(0-100)"));
/*
"Базовыe" проценты для каждой лабы.
Сколько + для загруженности и - для снабжения, при 1 игроке онлайн
*/
var weedBasicPercentLoad = 0.9;
var weedBasicPercentSupply = -1.92;
var cocaineBasicPercentLoad = 0.72;
var cocaineBasicPercentSupply = -2.52;
var methBasicPercentLoad = 0.6;
var methBasicPercentSupply = -3.36;
/*
Вычисление динамических % в час, остатка времени, и ~~Строка которую хотелось бы видеть в игре~~
*/
if (inputPlayerCount == 0) {
console.log(`Прогресс вроде и без моей помощи замораживается.
В значениях которые вычисляются в зависимости от онлайна и актуального процента готовности
можно 0 поставить всё равно никто не увидит.`);
} else if (inputPlayerCount > 5) {
var playerCount = 5
calc(playerCount,
inputWeedLoad,
inputWeedSupply,
inputCocaineLoad,
inputCocaineSupply,
inputMethLoad,
inputMethSupply)
} else {
var playerCount = inputPlayerCount
calc(playerCount,
inputWeedLoad,
inputWeedSupply,
inputCocaineLoad,
inputCocaineSupply,
inputMethLoad,
inputMethSupply)
}
function calc(playerCount,
inputWeedLoad,
inputWeedSupply,
inputCocaineLoad,
inputCocaineSupply,
inputMethLoad,
inputMethSupply) {
/*Вычисление процентов для первой лабы с учетом онлайна. В случае с 3 игроками
2.7 для загруженности и
-5,76 для снабжения.*/
var weedDynamicPercentLoad = weedBasicPercentLoad * playerCount;
var weedDynamicPercentSupply = weedBasicPercentSupply * playerCount;
/*Вычисление времени с учетом онлайна для первой лабы*/
var weedTimeToLoad = (100-inputWeedLoad)/weedDynamicPercentLoad;
var weedTimeToEnd = -inputWeedSupply/weedDynamicPercentSupply;
console.log('\nМеню производства травы')
console.log(`Загруженность: ${inputWeedLoad}% (+${weedDynamicPercentLoad.toFixed(2)}% в час)(${weedTimeToLoad.toFixed(1)} часов до готовности)` )
console.log(`Снабжение: ${inputWeedSupply}% (${weedDynamicPercentSupply.toFixed(2)}% в час)(Закончится через ${weedTimeToEnd.toFixed(1)} часов)` )
/*Вычисление процентов для второй лабы с учетом онлайна*/
var cocaineDynamicPercentLoad = cocaineBasicPercentLoad * playerCount;
var cocaineDynamicPercentSupply = cocaineBasicPercentSupply * playerCount;
/*Вычисление времени с учетом онлайна для второй лабы*/
var cocaineTimeToLoad = (100-inputCocaineLoad)/cocaineDynamicPercentLoad;
var cocaineTimeToEnd = -inputCocaineSupply/cocaineDynamicPercentSupply;
console.log('\nМеню производства кокса')
console.log(`Загруженность: ${inputCocaineLoad}% (+${cocaineDynamicPercentLoad.toFixed(2)}% в час)(${cocaineTimeToLoad.toFixed(1)} часов до готовности)` )
console.log(`Снабжение: ${inputCocaineSupply}% (${cocaineDynamicPercentSupply.toFixed(2)}% в час)(Закончится через ${cocaineTimeToEnd.toFixed(1)} часов)` )
/*Вычисление процентов для 3-й лабы с учетом онлайна*/
var methDynamicPercentLoad = methBasicPercentLoad * playerCount;
var methDynamicPercentSupply = methBasicPercentSupply * playerCount;
/*Вычисление времени с учетом онлайна для 3-й лабы*/
var methTimeToLoad = (100-inputMethLoad)/methDynamicPercentLoad;
var methTimeToEnd = -inputMethSupply/methDynamicPercentSupply;
console.log('\nМеню производства мета')
console.log(`Загруженность: ${inputMethLoad}% (+${methDynamicPercentLoad.toFixed(2)}% в час)(${methTimeToLoad.toFixed(1)} часов до готовности)` )
console.log(`Снабжение: ${inputMethSupply}% (${methDynamicPercentSupply.toFixed(2)}% в час)(Закончится через ${methTimeToEnd.toFixed(1)} часов)` )
}
3.2 Как и для 1-2, но проценты в час нужно умножить на значение из пути в 3.1 и поделить на 100. Время зависит от % в час поэтому делать с ним ничего не надо.
Прим.1: Онлайн 50 человек, производительность 190, тогда для третьей лабы
var methDynamicPercentLoad = methBasicPercentLoad * playerCount*190/100; // methDynamicPercentLoad = 5.7%, вместо 3% для 5 игроков или 100%
var methDynamicPercentSupply = methBasicPercentSupply * playerCount*190/100; // methDynamicPercentSupply = -31.92% вместо -16.8% для 5 игроков или 100%
Последнее редактирование: