35 сообщений в этой теме

Хотелось бы узнать, каково минимальное начисление очков на пороге 20000(На каждого зараженного если это возможно)? И каким образом, периодически, некоторые игроки умудряются его избежать? Хотелось бы узнать точные цифры, а не формулу алгоритма вычисления)) Заранее спасибо)

 

К примеру)

Убийство громилы-(+0.05), Урон от громилы: Поездка- (-5.0), Удар-(-4.1).

Поделиться сообщением


Ссылка на сообщение

Серега, она сломана, некоторые просто не замечают этого порога в 20к и проходят его просто, не напрягаясь) а мы корячимся... уже надоело(((

Поделиться сообщением


Ссылка на сообщение

Серега, она сломана, некоторые просто не замечают этого порога в 20к и проходят его просто, не напрягаясь) а мы корячимся... уже надоело(((

По данному поводу я и создал тему) Хочется послушать что скажут ГА))

Поделиться сообщением


Ссылка на сообщение

Статистика в страшном сне будет снится :laugh:

Поделиться сообщением


Ссылка на сообщение

"И всё же как-то те люди в топе набрали столько очков. В этом видимо и есть суть рейтинга, никто не гарантирует что ты можешь достигнуть первого места или хотя бы первой десятки, потому что чем бы ты не занимался в мире найдется миллион людей делающих это лучше." Забыл сказать , что подобный ответ не является объяснением происходящего на данный момент) Хотелось бы увидеть все в более развернутом виде(если это конечно вас не затруднит). 

Поделиться сообщением


Ссылка на сообщение

кому-то дано кому то нет)))

Поделиться сообщением


Ссылка на сообщение

кому-то дано кому то нет)))

Тут по моему все наоборот)) Те кому доно седят на дне, а те кому не дано в топе (касается узкого круга лиц, во избежании конфликтов оставлю их анонимными))).

Поделиться сообщением


Ссылка на сообщение

Тут по моему все наоборот)) Те кому доно седят на дне, а те кому не дано в топе (касается узкого круга лиц, во избежании конфликтов оставлю их анонимными))).

прост надо больше задротить, я бы мог поднабить но времени и желания нету особого, если бы не получалось то положил бы длинного

Поделиться сообщением


Ссылка на сообщение

прост надо больше задротить, я бы мог поднабить но времени и желания нету особого 

не в этом дело вообще)

Поделиться сообщением


Ссылка на сообщение

прост надо больше задротить, я бы мог поднабить но времени и желания нету особого 

Может ты и прав)) Я тоже стал редко играть))

Поделиться сообщением


Ссылка на сообщение

в чём же правда?

Поделиться сообщением


Ссылка на сообщение

правда в том что не на всех этот порог в 20к действует, и всякие(не будем говорить кто) проходит его не напрягаясь, даже не умея хорошо играть. или же тут нашли баг, который им помогает расти, и они им пользуются, и стремительно идут вверх. все. вот правда такая.

Поделиться сообщением


Ссылка на сообщение

правда в том что не на всех этот порог в 20к действует, и всякие(не будем говорить кто) проходит его не напрягаясь, даже не умея хорошо играть. или же тут нашли баг, который им помогает расти, и они им пользуются, и стремительно идут вверх. все. вот правда такая.

нашли секретную таблетку)) вот гады, а может они просто баблишка кинули нужным людям?) :wasntme:

Поделиться сообщением


Ссылка на сообщение

нашли секретную таблетку)) вот гады, а может они просто баблишка кинули нужным людям?) :wasntme:

Думаю, это было бы крайне низко) Зачем вообще тогда нужна статистика?))) 

Поделиться сообщением


Ссылка на сообщение

Найдите мне здесь баг о котором говорите, с удовольствием исправлю.

 

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]);
}

Поделиться сообщением


Ссылка на сообщение

Играю не так часто, как некоторые, при этом проблемы вашей совершенно и не видел, и не знал.

Какая разница, первый или последний в статистике, если это ровным счетом ничего не дает.


Найдите мне здесь баг о котором говорите, с удовольствием исправлю.

 

Я бы понял вопрос от обычного игрока, что не получается у него, а так имея випку и админку - не понимаю проблемы. 

Поделиться сообщением


Ссылка на сообщение

Играю не так часто, как некоторые, при этом проблемы вашей совершенно и не видел, и не знал.

Какая разница, первый или последний в статистике, если это ровным счетом ничего не дает.

Я бы понял вопрос от обычного игрока, что не получается у него, а так имея випку и админку - не понимаю проблемы. 

Дело в манере игры, я ни раз был свидетелем того, как обычный игрок обходил випа+админа и так же ровно на оборот. На кастоме стат набивается быстрее чем на коопе это не для кого не секрет, но как сказано было ранее еще учитывается имеющийся рейтинг в стате, новичкам он плывет быстрее нежели уже более набитым игрокам, но и набитые умудряются ставить огромные цифры в конце раунда, причем на коопе у которого спавн заразы меньше как и карты в объеме своем.

Поделиться сообщением


Ссылка на сообщение

ой да есть баг, уже с неделю как при котором у некоторых людей очки не правильно начисляются, больше. вот и все. и вам они не скажут об этом так как им на руку это

Поделиться сообщением


Ссылка на сообщение

Найдите мне здесь баг о котором говорите, с удовольствием исправлю.

 

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]);
}

К моему сожалению, мои интеллектуальные возможности не позволяют мне в полной мере оценить сие творение технического прогресса в сфере технологии программирования)) 

Поделиться сообщением


Ссылка на сообщение

Линка пусть придет оценит.

Между тем уже известен один работающий способ набора очков. Но не на всех картах.

Поделиться сообщением


Ссылка на сообщение

Думаю, это было бы крайне низко) Зачем вообще тогда нужна статистика?))) 

кто знает)0

Поделиться сообщением


Ссылка на сообщение

Кому не интересен анализ кода - в самый низ, пожалуйста)

 

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. Если что-то не верно, сильно не бейте, пожалуйста)

Поделиться сообщением


Ссылка на сообщение

вот, я же говорю косяк есть, и эту планку просто невозможно перейти) а вы мне не верили) я 3 месяца твердил, или больше)

 

Линка просто респект)))! И с праздником тебя)

Поделиться сообщением


Ссылка на сообщение

Линка, круто, молодец!) Сегодня исправлю результат своей плохой математики :)

statsRank это очки ранга для звания. Они идут только в плюс, в отличии от statsPoints. recordsPointsEarned это заработанные очки без модификатора, тогда как recordsPointsIncome с модификатором. Первые будут сражаться за MVP в раунде, вторые будут отображаться в графике результатов игры на странице игрока

Поделиться сообщением


Ссылка на сообщение

Линка, круто, молодец!) Сегодня исправлю результат своей плохой математики :)

statsRank это очки ранга для звания. Они идут только в плюс, в отличии от statsPoints. recordsPointsEarned это заработанные очки без модификатора, тогда как recordsPointsIncome с модификатором. Первые будут сражаться за MVP в раунде, вторые будут отображаться в графике результатов игры на странице игрока

вот это реально крутая новость)

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас