|
Архив - только для чтения |
| Модератор форума: andycrowz |
| Форум Корзина форума Корзина Рейт арена поинтов. |
| Рейт арена поинтов. |
Нужно заменить 0.76 и 0.88 на свое значение, дописать условие на тиму 5х5.
Код uint32 ArenaTeam::GetPoints(uint32 memberRating) { // Returns how many points would be awarded with this team type with this rating float points; uint32 rating = memberRating + 150 < Stats.Rating ? memberRating : Stats.Rating; if (rating <= 1500) { if (sWorld->getIntConfig(CONFIG_ARENA_SEASON_ID) < 6) points = (float)rating * 0.22f + 14.0f; else points = 344; } else points = 1511.26f / (1.0f + 1639.28f * exp(-0.00412f * (float)rating)); // Type penalties for teams < 5v5 if (Type == ARENA_TEAM_2v2) points *= 0.76f; else if (Type == ARENA_TEAM_3v3) points *= 0.88f; return (uint32) points; }
Сообщение # 2 написано 16.01.2014 в 18:42
|
Код uint32 ArenaTeam::GetPoints(uint32 memberRating) { // Returns how many points would be awarded with this team type with this rating float points; uint32 rating = memberRating + 150 < Stats.Rating ? memberRating : Stats.Rating; if (rating <= 1500) { if (sWorld->getIntConfig(CONFIG_ARENA_SEASON_ID) < 6) points = (float)rating * 0.22f + 14.0f; else points = 344; } else points = 1511.26f / (1.0f + 1639.28f * exp(-0.00412f * (float)rating)); // Type penalties for teams < 5v5 if (Type == ARENA_TEAM_2v2) points *= 0.76f; else if (Type == ARENA_TEAM_3v3) points *= 0.88f; // думаю такой вариант для 5х5 будет работать (если я правильно понял) else if (Type != ARENA_TEAM_2v2 && Type != ARENA_TEAM_3v3) points *= 1.0f; return (uint32) points; } |
| |||
| |||