Плагин "сколько человек побывало на сервере"

GuSenoK

Участник
Сообщения
253
Реакции
8
Можете написать плагин, чтобы при вводе какой-либо команды в чат писало "на сервере побывало столько то человек".
Вместо этого плагин я использую sodstats.
Но вот проблема: на моем зомби сервере, да и не только на моем, люди играют на стату, за зомбов боятся умирать и стараться скушать людей. Они просто стоят и ждут окончания раунда, а потом за людей набирают фраги.
Приходится мне использовать плагин статистики, чтобы узнать, сколько человек побывало на сервере. Вот плагин такой бы написал кто-нибудь, хорошо было бы. Думаю, не очень он и сложный!
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Плагин "Сколько человек побывало на сервере"

GuSenoK, работает лишь для админов с флагом z!
Команды в чате: !people или /people, либо в консоли клиента sm_people.
6199e711823d.jpg

Считает всех людей, которые заходили на сервер (одних и тех же тоже, если заходили ни раз).
Считает до тех пор, пока ты не проверишь количество побывавших на сервере людей командами выше. Далее счёт идёт сначала.
 

Вложения

  • PeopleServer.sp
    439 байт · Просмотры: 86
Последнее редактирование:

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Re: Плагин "Сколько человек побывало на сервере"

GuSenoK, работает лишь для админов с флагом z!
Команды в чате: !people или /people, либо в консоли клиента sm_people.
6199e711823d.jpg

Считает всех людей, которые заходили на сервер (одних и тех же тоже, если заходили ни раз).
Считает до тех пор, пока ты не проверишь количество побывавших на сервере людей командами выше. Далее счёт идёт сначала.

исходник - бомба!
сейчас попобую счет по дням сделать :)
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
В смысле, простой и доступный до понимания?

Из интереса или из надобности?

простой и доступный (яб не додумался)
и интересно, и понадобиться)

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

GuSenoK

Участник
Сообщения
253
Реакции
8
Re: Плагин "Сколько человек побывало на сервере"

GuSenoK, работает лишь для админов с флагом z!
Команды в чате: !people или /people, либо в консоли клиента sm_people.
6199e711823d.jpg

Считает всех людей, которые заходили на сервер (одних и тех же тоже, если заходили ни раз).
Считает до тех пор, пока ты не проверишь количество побывавших на сервере людей командами выше. Далее счёт идёт сначала.

Так получается, если один игрок 10 раз зашел на сервер за последний час, то ,если я напишу !people, мне будет написано "на сервере побывало 10 человек"? Так? Или я что-то не понял. Я просто хочу, чтобы не повторялись игроки. Вот если я раз зашел на сервер, всё, меня больше не добавляет в этот список. То есть я просто хочу, чтобы как в sodstats: я просто написал rank(ну в данном случае !people) и мне вывело: ваш ранк 13 из 2000, всё, я понимаю, что на сервак посетило 2000 человек, неплохо. Вот также можешь сделать, только чтобы без статистики этой. Просто надпись"всего на сервере побывало 1000 человек".
А так, спасибо тебе огромное, от души прямо.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
тебе бы сделать тему отдельную
Да кому оно надо? Только исходник и нужен, всё.
"на сервере побывало 10 человек"? Так?
Именно так. Не различных человек, а количество людей вообще. Иначе нужно каждого человека записывать в файл, любо проверять его "куки".
 

GuSenoK

Участник
Сообщения
253
Реакции
8
Да кому оно надо? Только исходник и нужен, всё.

Именно так. Не различных человек, а количество людей вообще. Иначе нужно каждого человека записывать в файл, любо проверять его "куки".

Ну а переделать ты не можешь? А то я хочу знать, сколько различных вообще людей побывало, а не столько, сколько раз одни и теже люди на сервак заходили.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Danyas, работает лишь для админов с флагом z!
Команды в чате: !people или /people, либо в консоли клиента sm_people.
cb8adb10e145.jpg

Считает количество людей, побывавших на сервере за день (день - 24 часа, до начала ночи по местному времени сервера).
Ниже самый простой способ.
 

Вложения

  • PeopleServerDay.sp
    531 байт · Просмотры: 66
Последнее редактирование:

GuSenoK

Участник
Сообщения
253
Реакции
8
Re: People Server Day v1.0.1

Плагин работает лишь для админов с флагом z!
Команды в чате: !people или /people, либо в консоли клиента sm_people.
f611c0b1bf9a.jpg

Считает количество людей, побывавших на сервере за день (день - 24 часа, до начала ночи по местному времени сервера), отображая в чате лишь отдельных (т.е. различных: 1 человек = любое количество заходов на сервер), но и к тому же фиксирует все их Steam ID и количество визитов каждого из них в файле cstrike\cfg\people_server_day.txt.
C-подобный:
"player"
{
	"STEAM_0:0:1234567890"
	{
		"visits"		"6"
	}
}
Файл с данными сохраняется 1 раз на карту (создаётся на новой, если не было).
Пока что просто тестируем работу.

Ну а не можешь сделать не за 1 день, а вообще за все время? "Всего на вашем сервере побывало 1337 человек" Вот так я хочу. И чтобы не удалялись из базы они.
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
sodstats к мусклю прикручен?
можно вывести кол-во игрокоа через колво записей в таблице
 

GuSenoK

Участник
Сообщения
253
Реакции
8
Re: People Server All Day v1.0.0

Плагин работает лишь для админов с флагом z!
Команды в чате: !people или /people, либо в консоли клиента sm_people.
cb2f5add5218.jpg

Считает количество людей, побывавших на сервере за всё время его существования, начиная с момента запуска плагина. База данных не удаляется и не обнуляется: не важно, падал сервер или нет - отображает количество отдельных (т.е. различных: 1 человек = любое количество визитов на сервер) заходивших на сервер людей в чате, которое никогда не будет меньше предыдущего (или 0), если не затронута база.
Базируется на механизме, не содержащем даже глобальных переменных (ни одной). Никак не нагружает сервер в простое, очень мало нагружает в работе.
База данных будет находиться по пути cfg/sourcemod/people_server_all_day сервера. Там в свободном виде можно увидеть все Steam_ID и ник каждого, за кем он закреплён.
Также, не знаю, как на хостинге, но при наличии сервера на ПК можно узнать дату и время первого захода этого человека на сервер (не внутри файла). При желании - переделать на время последнего захода и его ника в этот момент (либо все ники игрока, но это занимает место на диске).
При желании, (только!) серверадмин может искусственно завысить или занизить показатель количества игроков.
P.S. Тестируем.

Вот теперь тебя люблю я! Вот теперь тебя хвалю я! :victory:
 

GuSenoK

Участник
Сообщения
253
Реакции
8
GuSenoK, отпишешься о работе: баги, замечания, возможно пожелания. А то все качают и молчат - исходника не будет, если не работает.

Работает все, но корректней, с точки зрения русского языка, написать так:

Всего на сервере побывало человек: x

А то пишет вот так:
Всего на сервере побывало: 1 человек.
Всего на сервере побывало: 2 человек.

Некорректно. Спасибо.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Всего на сервере побывало человек: x
Это ты такой особенный, а всем нравится, когда сначала идёт число, а после "человек".
Всего на сервере побывало: 2 человек.

Некорректно..
Всего на сервере побывало: двое человек. Я ж специально : поставил, чтобы меньше придирались.
Могу вообще файл перевода прикрутить - напишешь сам, что пожелаешь.
Ещё пожелания? Что-то в файлы писать? Например, я предлагал последний ник Стима игрока и дату/время.
 

GuSenoK

Участник
Сообщения
253
Реакции
8
Это ты такой особенный, а всем нравится, когда сначала идёт число, а после "человек".

Всего на сервере побывало: двое человек. Я ж специально : поставил, чтобы меньше придирались.
Могу вообще файл перевода прикрутить - напишешь сам, что пожелаешь.
Ещё пожелания? Что-то в файлы писать? Например, я предлагал последний ник Стима игрока и дату/время.

Всего на сервере побывало: 31 человек (к примеру ),
надо тогда уже: Всего на сервере побываЛ: 31 человек.
Поэтому лучше : Всего человек побывало на сервере: 31.

Ну еще из предложений- чтобы можно было видеть этих людей, написав ещё какую-то команду. То есть список всех человек, которые побывали на сервак. Например командой !people_list:

1)Agentik73 rus steam:123621622
2)Vampir steam:249492929
3)Killer steam:41254051
4)Unnamed steam: 25119515919191191
5)Niqitos wh off# <3 Mashy steam: 2151051950511
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
надо тогда уже: Всего на сервере побываЛ: 31 человек.
Если бы двоеточия не было, то да. А так ещё ничего. Всё не пропишешь, чтобы нужные буквы подставляло.
Тогда напишу: "...сервере: x чел." - я так обычно делаю.
список всех человек, которые побывали на сервак. Например командой !people_list
Представь, 2000 человек и тебе расписать все их Стимы с никами?! Где?? Даже в консоли - это бред + нагрузка будет уже немалая. На хостинг в папку сервера зайди - там итак всё видно.
Я такое точно делать не буду, тебе не понравятся последствия - глюки от полного извлечения такой базы.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #17
GuSenoK,
AlmazON, как вариант сделать как в ранкми:
команду top x
где x - число отображаемых игроков (деф. 10).
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
People Server All Days v1.0.0

Оффтоп
Плагин работает лишь для админов с флагом z!
Команды в чате: !people или /people, либо в консоли клиента sm_people.
86ad5a799195.jpg

Для плагина без файла перевода:
cb2f5add5218.jpg
Считает количество людей, побывавших на сервере за всё время его существования, начиная с момента запуска плагина. База данных не удаляется и не обнуляется: не важно, падал сервер или нет - отображает количество отдельных (т.е. различных: 1 человек = любое количество визитов на сервер) заходивших на сервер людей в чате, которое никогда не будет меньше предыдущего (или 0), если не затронута база.
Базируется на механизме, не содержащем даже глобальных переменных (ни одной). Никак не нагружает сервер в простое, очень мало нагружает в работе.
База данных будет находиться по пути cfg/sourcemod/people_server_all_day сервера. Там в свободном виде можно увидеть все Steam_ID и ник каждого, за кем он закреплён.
Также, не знаю, как на хостинге, но при наличии сервера на ПК можно узнать дату и время первого захода этого человека на сервер (не внутри файла). При желании - переделать на время последнего захода и его ника в этот момент (либо все ники игрока, но это занимает место на диске).
При желании, (только!) серверадмин может искусственно завысить или занизить показатель количества игроков.
Файл PeopleServerAllDays_full.smx или PeopleServerAllDays.smx положить в cstrike\addons\sourcemod\plugins.
Только для PeopleServerAllDays.smx файл PeopleServerAllDays.phrases.txt положить по пути cstrike\addons\sourcemod\translations.
P.S. Тестируем.
 

Вложения

  • PeopleServerAllDays.smx
    4 КБ · Просмотры: 17
  • PeopleServerAllDays.phrases.txt
    309 байт · Просмотры: 32
  • PeopleServerAllDays_full.smx
    4 КБ · Просмотры: 20

Reiko1231

AlexTheRegent
Сообщения
508
Реакции
1,336
Написал плагин два дня назад, проверял на сервере. Вроде работает правильно.

Название плагина:
[ PeopleCount ]
Описание плагина:
Плагин ведет подсчет всех игроков, посетивших сервер, в SQLite базе. О каждом игроке сохраняется следующая информация: его стим, его время последнего подключения. При входе на сервер игрок видит информацию о том, сколько всего человек посетило сервер, и сколько человек посетило за последние сутки (подробнее в консольных переменных).
Консольные переменные:
sm_peoplecount_showonconnect - показывать (1) или нет (0) игроку информацию о посещении сервера игроками при подключении. По умолчанию: 1.
sm_peoplecount_allowcommands - разрешить (1) или нет (0) игрокам использовать команду 'sm_peoples'. По умолчанию: 1.
sm_peoplecount_showclientnum - показывать (1) или нет (0) игроку его номер по счету. По умолчанию: 1.
sm_peoplecount_lastdayonline - показывать (1) или нет (0) игрокам онлайн за последний день. По умолчанию: 1.
Команды плагина:
sm_peoples - выводит в чат информацию:
C-подобный:
На сервере побывало: X игроков
За последний день: Y игроков
Вы Z по счету игрок
где вместо X, Y, Z будут соответствующие цифры. Если что-то отключено через консольные переменные, то показано не будет.
 

Вложения

  • peoplecount.sp
    7.6 КБ · Просмотры: 58
  • peoplecount.smx
    6.6 КБ · Просмотры: 21
Сверху Снизу