Форум |
|
Список форумов » Клиент RUSAOC.RU » Рейтинги
| |
|
На страницу Пред. 1, 2, 3, 4, 5 [Сообщений: 98]
| |
|
VIK_dfs
|
11 июн 2010, 15:17
|
Администратор |
суммирование будет криво производиться. фиксить надо на первых порах, через некоторые время "фиксированных" можно будет менять на других, если будет необходмость.
Как можно находить средне арифметическое по совершенно разным структурам?
|
|
|
| |
| | |
|
Pantera
|
12 июн 2010, 00:54
|
|
может я не втему= прошу повысеть меня в рейте на 1 балл вот=))))
|
|
|
| |
| | |
|
VIK_dfs
|
12 июн 2010, 01:31
|
Администратор |
Готово)
|
|
|
| |
| | |
|
Ermak
|
12 июн 2010, 15:19
|
|
Про скрипт - тема хорошая. Ещё бы добавку к условиям работы скрипта сделал бы. Как примерно его бы сделать. 1. Не надо никакой судейской комиссии. Голосовать надо давать возможность каждому. Позиция которого в рейтинге 4 или 5 и выше. Так как нубы, все таки, не могут хоть примерно адекватно, оценить райтинг. Глаза могут расшириться при виде 40 паладинов и поставить +2 2. Голосование должно быть на главной странице сайта, в определенные дни. Например, 1-5 число каждого месяца. А можно сделать 1-3 число и 15-18 число, чтоб два раза в месяц. И обязон сделать это полностью автоматически. 3. Голосование должно быть - как редактирование текущей таблицы, +/- 2 бала. Т.е. если человек на 5-ой позиции, то любой зарегистрированный пользователь, в дни голосования, одинажды может дать ему -2 -1 0 +1 +2 бала. Ну а дальше уже по результам голосования - идет смещение на "1" бал вверх или вниз и именно на один бал, даже если все проголосовали +2 или -2 (это в случае, если голосование 2 раза в месяц). Или остается на месте. 4. При этом, важно учесть, что смещение должно происходить, только в случае, если за конкретную позицию (человека), проголосовало не менее n человек, например 10. 5. Ещё бы тема была, еслиб был лог прошлого голосования. Где показывались бы смещения. Кто и на сколько был смещен на последнем голосовании. 6. Ещё, такой пунктик..Не все может соглосятся.. Но думаю, что человек проголосовавший за себя, должен иметь больше вес, чем другие голоса. Считать его голос как за голос двух а может и трех человек. 7. Ещё бы лог штрафников сделать. Смотреть, кто предвзято относится к какой то позиции. В штрафники нужно загонять, тех кто голосует +2 или -2 и против общего мнения. Т.е. если человек проголосовал за некоторую позицию +2 а в результате голосования, позиция сместилась на одну позициию вниз, всех кто голосовал +2, загонять в базу штрафников по конкретной позиции, и не давать возможность 2 или 3 следующих голосования, голосовать за конкретную позицию. И наоборот, если человек проголосовал -2, а в результате голосования, позиция поднялась на один бал вверх, тоже загонять к штрафникам. Вот это было бы нормально.
Сила никона в том, что адекватность перед ним бессильна..
|
|
|
| |
| | |
|
Ermak
|
12 июн 2010, 15:53
|
|
8. по штрафникам. Если человек оказался штрафником по 3-ем и более позициям, то считать его не адекватом, и загонять на 3 след. голосования в штрафники по всем позициям. 9. Сделать это ровно, чтоб все верно работало. Без логических ошибок кода..
Сила никона в том, что адекватность перед ним бессильна..
|
|
|
| |
| | |
|
VIK_dfs
|
12 июн 2010, 15:55
|
Администратор |
Идея ставить не рейтинг а его изменение мне нравится А вот в определенных числах делать голосование на главной.... Ермак, у нас в сети 200 человек, как ты себе это представляешь? Справа в колоночку всех забить? Штрафников - хз. Можно, конечно. Но как штраф будет проявляться? Только если для каждого игрока вводить коэффициент голоса, который будет влиять на все оценки Т.е. если чел не адекватен в этом месяце, то его коэффициент с базового 0,5 опускается до 0,4. Если и в следущем месяце косячит - 0,3, и т.д. до 0,1. В случае если он четко рейты расставил, но все же с погрешностями, его коэффициент поднимается на 0,1 ДО отметки 0,5 (базовой). Ну и в случае четкого видения таблицы +0,1 до 1,0. Но на счет всего этого я сильно сомневаюсь.. Тут больше не рейтинг угадывать надо, а общественное мнение) Подумать надо в общем..
|
|
|
| |
| | |
|
_Nuckem_
|
12 июн 2010, 15:58
|
|
хорошие идеи, Ермак!
но штрафников лучше убрать игрок может выкладываться по максимуму в играх с твоим участием, а во всех остальных играть левой ногой и ты ему поставишь +2, остальные -2, но ведь это неозначает что ты неадекватно ставишь оценки
|
|
|
| |
| | |
|
Ermak
|
12 июн 2010, 16:00
|
|
Как как, на главной странице, появляется ссылка на страницу, где идет голосование. Притом яркая ссылка, чтоб все о ней знали и видели, и кто новый чтоб видел и кто старый чтоб не забывал. И эта ссылка - банер какой то, должен появлятся только 1-3 и 15-18 числах каждого месяца.
Про штрафникам, не надо никаких заморочек с +0.1 -0.1 коэфициентам, а именно предвзятость к некоторой конкретной позиции. Про штрафников там вроде описал нормально. И они нужны, без заморочек.
Сила никона в том, что адекватность перед ним бессильна..
|
|
|
| |
| | |
|
Ermak
|
12 июн 2010, 16:06
|
|
RF_NUCLEAR писал(а): | | | | хорошие идеи, Ермак!
но штрафников лучше убрать игрок может выкладываться по максимуму в играх с твоим участием, а во всех остальных играть левой ногой и ты ему поставишь +2, остальные -2, но ведь это неозначает что ты неадекватно ставишь оценки | | | | |
Ну хз хз... С моим участием, это значит ещё и с участием кроме меня и человека, ещё 6-ти разных игроков в каждой игре, которые тоже будут видеть, что человек выкладывается и они уже увидев пару раз как он выкладывается, не захотят -2 ставить, а это уже не все -2. И штрафник по конкретной позиции, а не всем. Если ты кому то поставишь +2 а он опустится на один бал вниз.. Ммм.. ну это не адекватная оценка, и конкретную позицию, ты не сможешь голосовать 1.5 месяца. Это нормально. Сделать +2 и -2 - голосованием красным. С предупреждением, что если ты не верно поставишь ему оценку - можешь попасть в штрафники по конкретной позиции. Таким образом, отбивается желание всем вподрят ставить +2 и -2, а более спокойно +1 или -1, +2 и +1 это голос в два раза "весомей", кто поставит +2 проголосует как два проголосовавших +1. +2 и -2 установка такого голоса - должна использоваться с осторожностью. Если ты явно видишь, что человек, нуб пришел, за месяц игры со штормом научился с 1-ой позиции до 4-ой и то и выше, ему можно поставить +2. И если все 10 человек проголосуют +2. Т.е средний голос за человека будет > +1.9 то можно человека и на 2 бала вверх поднять. Вообще думаю, тоже условие при каких поднимать. средний бал >= 0.9 , человек поднимается на позицию вверх. средний бал >= 1.8 , человек поднимается на 2 позиции вверх. ну и в минус также соответственно. Но голос +2 и -2 должен ограничиваться и использоваться с осторожностью.
Сила никона в том, что адекватность перед ним бессильна..
|
|
|
| |
| | |
|
Ermak
|
12 июн 2010, 16:14
|
|
И вообще сделать возможность голосовать +2 или -2, для людей с райтингом 6 или 7 и выше, а не всем вподрят.
Тогда можно и без штрафников.
Сила никона в том, что адекватность перед ним бессильна..
|
|
|
| |
| | |
|
Ermak
|
12 июн 2010, 16:29
|
|
Вообще переформулирую сейчас. 1. Скрипт голосования, должен быть на странице райтинга игроков. В любое время. 2. Голосовать могут игроки 5 уровня и выше. 3. Игроки 7-го уровня и выше, могут ставить +2, +1 или -1, -2 при голосовании. Игроки 5-6го уровня, могут ставить только +1 или -1 4. Каждый игрок, может проголосовать за конкретную позицию, не чаще чем раз в 15 дней. Если человек проголосовал за какую то позицию, то следующий голос за эту позицию, он может отдать не раньше чем через 15 дней. 5. Каждый день, например утром, скрипт должен обрабатывать голоса по всем позициям. И если за позицию отдано 10 и более голосов, скрипт должен обработать голоса, вывести средне арифметическое и сделать смещение вверх или вниз. Обнулив все обработанные голоса. 6. В таблице райтинга игроков, должна быть ссылка на лог изменения позиций за последние 30 дней. 7. Голос за себя, должен быть расценен как "бал которым он проголосовал" * 2. Плюсы и минусы такого метода от прошлого. Плюсы, каждый может проголосовать в любое время. ни один голос не будет потерян. После серии игр, у человека возникнет желание проголосовать за него, поставив ему оценку его изменения райтинга. Минусы. Если делать переодическим для всех, то голосование будет в основном по большим позициям. Т.е. каждый человек, будет голосовать за большее количество позиций.
Сила никона в том, что адекватность перед ним бессильна..
|
|
|
| |
| | |
|
_Nuckem_
|
12 июн 2010, 16:46
|
|
осталось только сделать
|
|
|
| |
| | |
|
Ermak
|
12 июн 2010, 16:49
|
|
Если дадут методы и классы, для хранения данных. И привязка аккаунт - позиция, и как узнать текщий аккаунт, то могу потратить 15 минут своего времени, чтоб реализовать этот скрипт
Сила никона в том, что адекватность перед ним бессильна..
|
|
|
| |
| | |
|
VIK_dfs
|
12 июн 2010, 18:02
|
Администратор |
15 минут? это с ведением лога, привязки кому на сколько голосвать, запретом в 15 дней и баном если позицию неправильно сдвинул (штрафники)?
Ну-ну...
|
|
|
| |
| | |
|
VIK_dfs
|
12 июн 2010, 18:06
|
Администратор |
Я вот за 15 минут только это успел сделать: кликЧтение данных с БД и обработка установленного дельта рейтинга (выводит на экран только изменение рейта Артура - просто тест. Скрипт сам по себе не сложный, но вот с логинами/паролями я никогда не работал. Если добавить, что еще желательно их хранить где-нибудь, чтобы каждый раз не вводить заного, то как бэ.. не особо я шарю как это сделать. Читать надо Могу пока какие-нибудь кривую легко взламываемую (правда зачем и кому это будет надо - хз) систему паролей, которую придется вводить каждый раз при заходе на сайт
|
|
|
| |
| | |
|
Ermak
|
13 июн 2010, 01:31
|
|
дфс, ты что-то с дебрей начал. Есть же логины и пароли на сайте. Все что нужно, это создать в БД отдельную таблицу райтинга, связать логин на сайте с этим ником, через что-то, например Ники в игре - это значит, что надо обнулять в аккаунтах ники в игре, и присваивать только те, которые есть в райтинге. Или у вас уже есть эта связка - которая отображает райтинг под аватарой, он как то же связан.. Вообщем ты чет с дебрей начал.
И штрафников не нужно делать, если по последней редакции делать.
Сила никона в том, что адекватность перед ним бессильна..
|
|
|
| |
| | |
|
Ermak
|
13 июн 2010, 01:34
|
|
А ведение лога - это отдельная таблица, куда просто пишется ник, значение, и время и скрипт который по крону запускаться должен и обрабатывать голоса, должен в эту таблицу писать. Соответственно лог - это тупо просто вывод, где стоит лимит по времени, и всё. Код: $date = time() - 3600*24*30; $result = mysql_query("SELECT * FROM `rate_log` WHERE `date` > $date LIMIT 50 ORDER BY `id` DESC); echo '<table>'; foreach($result as $row) { echo "<tr>"; echo "<td>{$row['nick']}</td>"; echo "<td>{date('format',$row['date'])}</td>"; echo "<td>{$row['change']}</td>"; echo "</tr>"; } echo "</table>";
все.. весь скрипт отображения логов.. обработка голосов - ещё меньше кода, там 10 строк отсилы. всё это легко делается зная форматы, я бы смог накидать, за 15-20 минут некоторый код, который пришлось бы конечно потом ещё подредактировать, теги вставить, форматирование.. но скрипт - да, мог бы сделать за 15-20 минут
Сила никона в том, что адекватность перед ним бессильна..
|
|
|
| |
| | |
|
VIK_dfs
|
02 май 2011, 18:12
|
Администратор |
Спасибо Ермаку за экскурс в БД. Это был хороший опыт
|
|
|
| |
| | |
| | |
|
На страницу Пред. 1, 2, 3, 4, 5 [Сообщений: 98]
| |
|