6 марта, 2017 Хотелось бы узнать, каково минимальное начисление очков на пороге 20000(На каждого зараженного если это возможно)? И каким образом, периодически, некоторые игроки умудряются его избежать? Хотелось бы узнать точные цифры, а не формулу алгоритма вычисления)) Заранее спасибо) К примеру) Убийство громилы-(+0.05), Урон от громилы: Поездка- (-5.0), Удар-(-4.1). Поделиться сообщением Ссылка на сообщение
6 марта, 2017 Серега, она сломана, некоторые просто не замечают этого порога в 20к и проходят его просто, не напрягаясь) а мы корячимся... уже надоело((( 1 Поделиться сообщением Ссылка на сообщение
6 марта, 2017 Серега, она сломана, некоторые просто не замечают этого порога в 20к и проходят его просто, не напрягаясь) а мы корячимся... уже надоело((( По данному поводу я и создал тему) Хочется послушать что скажут ГА)) 1 Поделиться сообщением Ссылка на сообщение
6 марта, 2017 "И всё же как-то те люди в топе набрали столько очков. В этом видимо и есть суть рейтинга, никто не гарантирует что ты можешь достигнуть первого места или хотя бы первой десятки, потому что чем бы ты не занимался в мире найдется миллион людей делающих это лучше." Забыл сказать , что подобный ответ не является объяснением происходящего на данный момент) Хотелось бы увидеть все в более развернутом виде(если это конечно вас не затруднит). Поделиться сообщением Ссылка на сообщение
6 марта, 2017 кому-то дано кому то нет))) Тут по моему все наоборот)) Те кому доно седят на дне, а те кому не дано в топе (касается узкого круга лиц, во избежании конфликтов оставлю их анонимными))). 2 Поделиться сообщением Ссылка на сообщение
6 марта, 2017 Тут по моему все наоборот)) Те кому доно седят на дне, а те кому не дано в топе (касается узкого круга лиц, во избежании конфликтов оставлю их анонимными))). прост надо больше задротить, я бы мог поднабить но времени и желания нету особого, если бы не получалось то положил бы длинного Поделиться сообщением Ссылка на сообщение
6 марта, 2017 прост надо больше задротить, я бы мог поднабить но времени и желания нету особого не в этом дело вообще) 1 Поделиться сообщением Ссылка на сообщение
6 марта, 2017 прост надо больше задротить, я бы мог поднабить но времени и желания нету особого Может ты и прав)) Я тоже стал редко играть)) Поделиться сообщением Ссылка на сообщение
6 марта, 2017 правда в том что не на всех этот порог в 20к действует, и всякие(не будем говорить кто) проходит его не напрягаясь, даже не умея хорошо играть. или же тут нашли баг, который им помогает расти, и они им пользуются, и стремительно идут вверх. все. вот правда такая. Поделиться сообщением Ссылка на сообщение
6 марта, 2017 правда в том что не на всех этот порог в 20к действует, и всякие(не будем говорить кто) проходит его не напрягаясь, даже не умея хорошо играть. или же тут нашли баг, который им помогает расти, и они им пользуются, и стремительно идут вверх. все. вот правда такая. нашли секретную таблетку)) вот гады, а может они просто баблишка кинули нужным людям?) Поделиться сообщением Ссылка на сообщение
6 марта, 2017 нашли секретную таблетку)) вот гады, а может они просто баблишка кинули нужным людям?) Думаю, это было бы крайне низко) Зачем вообще тогда нужна статистика?))) Поделиться сообщением Ссылка на сообщение
6 марта, 2017 Найдите мне здесь баг о котором говорите, с удовольствием исправлю. stock addPoints(client, Float:initialPoints) { new Float:points = initialPoints; points = multiplyByDifficulty(points); recordsPointsEarned[client] += points; if (isMultiplyingAction(lastAction[client])) { if (cachedPoints[client] > 0.0) { new bool:pointsPlus = points > 0.0; // Уменьшаем пенальти в любом случае if (!pointsPlus) points = points / 1.5; // Помогаем нубам набрать базовые очки if (cachedPoints[client] < 20000.0) { if (pointsPlus) { new Float:completedPercent = (cachedPoints[client] / 20000.0) * 100.0; new Float:incompletedPercent = 100.0 - completedPercent; new Float:multiplier = (2.5 * incompletedPercent) / 100.0; points = points * multiplier; } } // Затрудняем рост\падение очков по мере их количества else { new Float:excessMultiplier = cachedPoints[client] / 20000.0; points = points / excessMultiplier; } } } statsPoints[client] += points; cachedPoints[client] += points; if (cachedPoints[client] < 0.0) { cachedPoints[client] = 0.0; statsPoints[client] = 0.0; } lastPointsChange[client] = points; if (points > 0.0) statsRank[client] += points; recordsPointsIncome[client] += points; //LogMessage("> %N (%0.1f) got %0.2f for event %d", client, cachedPoints[client], points, lastAction[client]); } Поделиться сообщением Ссылка на сообщение
6 марта, 2017 Играю не так часто, как некоторые, при этом проблемы вашей совершенно и не видел, и не знал. Какая разница, первый или последний в статистике, если это ровным счетом ничего не дает. Найдите мне здесь баг о котором говорите, с удовольствием исправлю. Я бы понял вопрос от обычного игрока, что не получается у него, а так имея випку и админку - не понимаю проблемы. 1 Поделиться сообщением Ссылка на сообщение
6 марта, 2017 Играю не так часто, как некоторые, при этом проблемы вашей совершенно и не видел, и не знал. Какая разница, первый или последний в статистике, если это ровным счетом ничего не дает. Я бы понял вопрос от обычного игрока, что не получается у него, а так имея випку и админку - не понимаю проблемы. Дело в манере игры, я ни раз был свидетелем того, как обычный игрок обходил випа+админа и так же ровно на оборот. На кастоме стат набивается быстрее чем на коопе это не для кого не секрет, но как сказано было ранее еще учитывается имеющийся рейтинг в стате, новичкам он плывет быстрее нежели уже более набитым игрокам, но и набитые умудряются ставить огромные цифры в конце раунда, причем на коопе у которого спавн заразы меньше как и карты в объеме своем. Поделиться сообщением Ссылка на сообщение
6 марта, 2017 ой да есть баг, уже с неделю как при котором у некоторых людей очки не правильно начисляются, больше. вот и все. и вам они не скажут об этом так как им на руку это Поделиться сообщением Ссылка на сообщение
6 марта, 2017 Найдите мне здесь баг о котором говорите, с удовольствием исправлю. stock addPoints(client, Float:initialPoints) { new Float:points = initialPoints; points = multiplyByDifficulty(points); recordsPointsEarned[client] += points; if (isMultiplyingAction(lastAction[client])) { if (cachedPoints[client] > 0.0) { new bool:pointsPlus = points > 0.0; // Уменьшаем пенальти в любом случае if (!pointsPlus) points = points / 1.5; // Помогаем нубам набрать базовые очки if (cachedPoints[client] < 20000.0) { if (pointsPlus) { new Float:completedPercent = (cachedPoints[client] / 20000.0) * 100.0; new Float:incompletedPercent = 100.0 - completedPercent; new Float:multiplier = (2.5 * incompletedPercent) / 100.0; points = points * multiplier; } } // Затрудняем рост\падение очков по мере их количества else { new Float:excessMultiplier = cachedPoints[client] / 20000.0; points = points / excessMultiplier; } } } statsPoints[client] += points; cachedPoints[client] += points; if (cachedPoints[client] < 0.0) { cachedPoints[client] = 0.0; statsPoints[client] = 0.0; } lastPointsChange[client] = points; if (points > 0.0) statsRank[client] += points; recordsPointsIncome[client] += points; //LogMessage("> %N (%0.1f) got %0.2f for event %d", client, cachedPoints[client], points, lastAction[client]); } К моему сожалению, мои интеллектуальные возможности не позволяют мне в полной мере оценить сие творение технического прогресса в сфере технологии программирования)) 1 Поделиться сообщением Ссылка на сообщение
6 марта, 2017 Линка пусть придет оценит. Между тем уже известен один работающий способ набора очков. Но не на всех картах. Поделиться сообщением Ссылка на сообщение
6 марта, 2017 Думаю, это было бы крайне низко) Зачем вообще тогда нужна статистика?))) кто знает)0 Поделиться сообщением Ссылка на сообщение
8 марта, 2017 Кому не интересен анализ кода - в самый низ, пожалуйста) stock addPoints(client, Float:initialPoints) { //Функция складывания очков в пределах раунда для статы/рекордов new Float:points = initialPoints; //Очки(points) инициализируется базовыми очками за какое-либо действие points = multiplyByDifficulty(points); //Очки умножаются на множитель сложности игры recordsPointsEarned[client] += points; //Здесь очки копятся для рекордов в течении раунда //(с учётом сложности, но без остальных множителей) if (isMultiplyingAction(lastAction[client])) { if (cachedPoints[client] > 0.0) { //Если очки игрока в стате > 0, то... new bool:pointsPlus = points > 0.0; //проверяем, штрафом или прибавкой является текущее действие // Уменьшаем пенальти в любом случае if (!pointsPlus) points = points / 1.5; //Если штраф, то уменьшаем его в 1.5 раза // Помогаем нубам набрать базовые очки if (cachedPoints[client] < 20000.0) { //Если очки игрока меньше 20000... if (pointsPlus) { //и если это прибавка, то new Float:completedPercent = (cachedPoints[client] / 20000.0) * 100.0; //Вычисляем в % очки игрока по отношению к планке 20000 new Float:incompletedPercent = 100.0 - completedPercent; //Вычисляем сколько % вам осталось до 20000 new Float:multiplier = (2.5 * incompletedPercent) / 100.0; /*Вычисляем множитель помощи нубам, и вот здесь кроется подводный камень, я раньше точно так же упиралась в потолок, только он был 5000, и всё не могла понять, в чём же дело, т.к. не видела кода. Сейчас вот поняла. Я так понимаю, задумывалось умножать очки нубам в 2.5 раза на старте, и постепенно уменьшать множитель до 1 при приближении к 20000. Но по этой формуле получается, что с приближением к 20000 множитель уменьшается не до 1, а до 0. Допустим у вас 19500 очков, тогда получаемые очки будут умножаться всего лишь на 0.0625, а штрафы будут снимать намного больше. Поэтому чтобы перепрыгнуть планку 20000, надо будет пройти раунд (скорее всего не один) вообще не падая и не получая повреждений, и при этом набирать бешенное кол-во очков (по базе), я думаю в формулу выше надо добавить единицу: new Float:multiplier = 1 + (slopeModifier * incompletedPercent) / 100.0; Тогда по приближению к 20000 множитель очков будет снижаться от стартового значения до 1, а крутизна спада будет задаваться как slopeModifier + 1, т.е. если на старте надо множить очки на 2.5, то slopeModifier будет 1.5, если надо на 10, то slopeModifier будет 9. В результате очки будут правильно набираться и до и после 20000, и никто больше не будет вопить, что не могут перепрыгнуть 20000*/ points = points * multiplier; //Очки умножаются на множитель помощи нубам } } // Затрудняем рост\падение очков по мере их количества else { new Float:excessMultiplier = cachedPoints[client] / 20000.0; points = points / excessMultiplier; /*Если очки 20000 и более, то множитель начинает падать уже от 1 до 0, но это будет очень долгий процесс. Например, имея в 5 раз больше очков относительно планки 20000, вы будете получать соответственно в 5 раз меньше*/ } } } statsPoints[client] += points; //Накопление очков, которые пойдут в стату, с учётом всех множителей cachedPoints[client] += points; if (cachedPoints[client] < 0.0) { cachedPoints[client] = 0.0; statsPoints[client] = 0.0; //Эти строки, так понимаю, чтобы игрок не ушёл в минус в стате, //т.е. меньше 0 очков в стате у вас не может быть } lastPointsChange[client] = points; //Хранит значение последнего изменения очков в ту или иную сторону if (points > 0.0) statsRank[client] += points; //statsRank учитывает только прибавки, но для чего она //и в какой раздел статы пишет значения - не догадываюсь recordsPointsIncome[client] += points; //Здесь очки тоже копятся для рекордов, но с учётом всех множителей. Хмм, зачем?) //LogMessage("> %N (%0.1f) got %0.2f for event %d", client, cachedPoints[client], points, lastAction[client]); //Ну а это просто лог произведенных операций, отключенный комментарием) }Итого:Единственный косячок я нашла в формуле планки 20000, из-за которого её практически нереально перепрыгнуть, но это легко исправить (описание причины и фикса где-то в середине, множитель помощи нубам). А так, в общем, я не вижу тут никаких багов, позволяющих конкретным лицам без напряга перепрыгивать 20000, или способствующих росту очков. Перепрыгнуть можно при большом везении и чрезмерной аккуратности, нужно очень постараться не получать звездюлей. Также админам/випам перепрыгнуть её проще, чем простым смертным. P.S. Если что-то не верно, сильно не бейте, пожалуйста) 6 Поделиться сообщением Ссылка на сообщение
8 марта, 2017 вот, я же говорю косяк есть, и эту планку просто невозможно перейти) а вы мне не верили) я 3 месяца твердил, или больше) Линка просто респект)))! И с праздником тебя) 1 Поделиться сообщением Ссылка на сообщение
8 марта, 2017 Линка, круто, молодец!) Сегодня исправлю результат своей плохой математики :) statsRank это очки ранга для звания. Они идут только в плюс, в отличии от statsPoints. recordsPointsEarned это заработанные очки без модификатора, тогда как recordsPointsIncome с модификатором. Первые будут сражаться за MVP в раунде, вторые будут отображаться в графике результатов игры на странице игрока 4 Поделиться сообщением Ссылка на сообщение
8 марта, 2017 Линка, круто, молодец!) Сегодня исправлю результат своей плохой математики :) statsRank это очки ранга для звания. Они идут только в плюс, в отличии от statsPoints. recordsPointsEarned это заработанные очки без модификатора, тогда как recordsPointsIncome с модификатором. Первые будут сражаться за MVP в раунде, вторые будут отображаться в графике результатов игры на странице игрока вот это реально крутая новость) Поделиться сообщением Ссылка на сообщение