Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Информационная доска

Данный раздел предназначен для возможности показать свой проект по продвижению игровых серверов.
Все новые темы премодерирует Администратор umprex.

Для того, что бы ваша тема прошла проверку, вам нужно иметь более чем одну тысячу уникальных пользователей вашего мастерсервера, а так же, нужно предоставить постоянный доступ администратору.
Постоянный доступ нужен для того, что бы мы могли подтвердить или опровергнуть достоверность ваших данных. Подобная проверка будет осуществляться каждое первое число нового месяца и если ваш мастерсервер будет иметь менее чем 1 тысячу уникальных пользователей, ваша тема будет закрыта.

Плагин для подсчёта уникальных коннектов по хэшам. (АМХХ 1.8.3 и выше)

Статус пользователя denzeroff
сообщение 9.8.2019, 9:06
Сообщение #1
Стаж: 7 лет 6 месяцев

Сообщений: 141
Благодарности: выкл.

Плагин для подсчёта уникальных коннектов по хэшам. (АМХХ 1.8.3 и выше)

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

Серверная команда: ms_check [userid] ms_name

Для сервера, у которого не меняется карта - не подойдет.

Код
Код:
/*
* Вся информация: (спасибо Salpson)
* https://c-s.net.ua/forum/topic87997.html?vi...t&p=1095612
*/

#include <amxmodx>
#include <reapi>

#define PLUGIN_NAME "MS Check"
#define PLUGIN_VERSION "0.1b"
#define PLUGIN_AUTHOR "Denzer"

new g_sPath[MAX_RESOURCE_PATH_LENGTH];
new Trie:g_tUnique;

public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);

register_srvcmd("ms_check", "CmdMsCheck");
}

public plugin_cfg()
{
g_tUnique = TrieCreate();

get_localinfo("amxx_logs", g_sPath, charsmax(g_sPath));
formatex(g_sPath, charsmax(g_sPath), "%s/ms_check", g_sPath);

if(!dir_exists(g_sPath))
mkdir(g_sPath);

new szMonth[16]; get_time("%m-%Y", szMonth, charsmax(szMonth));
formatex(g_sPath, charsmax(g_sPath), "%s/%s", g_sPath, szMonth);

if(!dir_exists(g_sPath))
mkdir(g_sPath);

new szDay[6]; get_time("%d", szDay, charsmax(szDay));
formatex(g_sPath, charsmax(g_sPath), "%s/ms_check-%s.log", g_sPath, szDay);

new f = fopen(g_sPath, "rt");
if(!f) return;

new szBuff[256], szTime[16], szName[MAX_NAME_LENGTH], szAuth[24];
while(!feof(f))
{
fgets(f, szBuff, charsmax(szBuff));
parse(szBuff, szTime, charsmax(szTime), szName, charsmax(szName), szAuth, charsmax(szAuth));

if(!szBuff[0]) continue;

TrieSetCell(g_tUnique, szAuth, 1);
}
fclose(f);
}

public plugin_end()
{
TrieDestroy(g_tUnique);
}

public CmdMsCheck()
{
new szArgs[256], szUserID[24], szMS[32];
read_args(szArgs, charsmax(szArgs));
remove_quotes(szArgs);
trim(szArgs);

parse(szArgs, szUserID, charsmax(szUserID), szMS, charsmax(szMS));

if(!szUserID[0] || !szMS[0])
return;

replace(szUserID, charsmax(szUserID), "#", "");
new found_id = find_player("k", str_to_num(szUserID));

if(!found_id)
return;

new szAuth[24]; get_user_authid(found_id, szAuth, charsmax(szAuth));

if(TrieKeyExists(g_tUnique, szAuth))
return;

TrieSetCell(g_tUnique, szAuth, 1);

if(is_user_steam(found_id))
copy(szMS, charsmax(szMS), "[STEAM]");

new szTime[16]; get_time("%X", szTime, charsmax(szTime));
new szIp[16]; get_user_ip(found_id, szIp, charsmax(szIp), true);
new szBuff[128]; formatex(szBuff, charsmax(szBuff), "%s ^"%n^" %s %s %s", szTime, found_id, szAuth, szIp, szMS);
write_file(g_sPath, szBuff);
}


Отредактировал: denzeroff, - 9.8.2019, 9:43
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя mOdest
сообщение 9.8.2019, 9:18
Сообщение #2


Стаж: 7 лет 8 месяцев

Сообщений: 1255
Благодарностей: 255
Полезность: 79

denzeroff,
Cкрытый текст
твои плагины после системы кланов, которая грузилась в массив игрока, вообще стремно юзать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя denzeroff
сообщение 9.8.2019, 9:22
Сообщение #3
Стаж: 7 лет 6 месяцев

Сообщений: 141
Благодарности: выкл.

mOdest,
Cкрытый текст
напиши лучше и покажи)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mOdest
сообщение 9.8.2019, 9:26
Сообщение #4


Стаж: 7 лет 8 месяцев

Сообщений: 1255
Благодарностей: 255
Полезность: 79

denzeroff,

держи
https://imgur.com/GuiYcHU - массив кланов
https://imgur.com/UCMeNan - загрузка кланов
большего не заслужил, да и это ты сопрешь в новых версиях своего говна)


Отредактировал: mOdest, - 9.8.2019, 9:29
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя denzeroff
сообщение 9.8.2019, 9:30
Сообщение #5
Стаж: 7 лет 6 месяцев

Сообщений: 141
Благодарности: выкл.

mOdest,
Cкрытый текст
ты чё больной? У тебя константое значение кланов, у меня — нет. У меня сколько угодно можно кланов создать, тут либо их пихать в динамический аррей (что плохо, аррей в арреи будет), либо в массив игрока. Опять *** высираешь.


Отредактировал: Fullserver, - 9.8.2019, 9:34
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mOdest
сообщение 9.8.2019, 9:32
Сообщение #6


Стаж: 7 лет 8 месяцев

Сообщений: 1255
Благодарностей: 255
Полезность: 79

denzeroff,
Cкрытый текст

1. нахер делать беск кланов, если ты все равно их удаляешь (я код не видел, но говорили)
2. нахер делать так абсурдно, как это сделал ты, если можно иначе (эту часть видел)
3. какое аррей в аррее, боже
4. в массив игрока? иди дальше жуй ***, дятел


Отредактировал: Fullserver, - 9.8.2019, 9:35
Причина: Выдано предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Salpson
сообщение 9.8.2019, 9:34
Сообщение #7


Иконка группы

Стаж: 11 лет
Город: Ульяновск

Сообщений: 1214
Благодарностей: 759
Полезность: 1065

оффтоп

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




Отредактировал: Salpson, - 9.8.2019, 9:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя denzeroff
сообщение 9.8.2019, 9:34
Сообщение #8
Стаж: 7 лет 6 месяцев

Сообщений: 141
Благодарности: выкл.

mOdest,
Cкрытый текст
я тебе сказал что делать, напиши функционал моего плагина и покажи как лучше. Хватит строить из себя клоуна тут. Аррей в аррей - пихать игроков клана по id клана.


Отредактировал: denzeroff, - 9.8.2019, 9:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fullserver
сообщение 9.8.2019, 9:35
Сообщение #9


Иконка группы

Стаж: 9 лет 3 месяца

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

!
Далее будет РО
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mOdest
сообщение 9.8.2019, 9:38
Сообщение #10


Стаж: 7 лет 8 месяцев

Сообщений: 1255
Благодарностей: 255
Полезность: 79

denzeroff,
оффтоп
лучше вот как - при коннекте игрока, если он единственный из этого клана на сервере, грузить в аррей, если что редачить, а при выходите игрока - удалять из аррея этот клан
жуй
у меня статик кол-во, потому что мне так удобней, кланы грузятся не по max_clans, а по количеству строк в базе (если ты не заметил), неактивные кланы естественно удаляются и на выходе мы получаем смешное количество
то, что ты намутил, более чем ущербно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mOdest
сообщение 9.8.2019, 9:45
Сообщение #11


Стаж: 7 лет 8 месяцев

Сообщений: 1255
Благодарностей: 255
Полезность: 79

Максим, удали это всё, не по теме соо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя steelzzz
сообщение 9.8.2019, 11:48
Сообщение #12


Стаж: 10 лет

Сообщений: 609
Благодарностей: 187
Полезность: 167

Цитата(mOdest @ 9.8.2019, 10:45) *
Максим, удали это всё, не по теме соо

Cкрытый текст
Ты начал ему предъявлять и сам же даешь заднюю.
Мы кста всем форумом фиксили его кланы, потом ему дали группу скриптер на девкс


Отредактировал: steelzzz, - 9.8.2019, 11:51


Нужна помощь в настройке сервера или плагина? (Платно) -> Тык
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Salpson
сообщение 9.8.2019, 13:29
Сообщение #13


Иконка группы

Стаж: 11 лет
Город: Ульяновск

Сообщений: 1214
Благодарностей: 759
Полезность: 1065

Код для проверки реклиента

Код:

const DP_PROTOCOL = 48;
const DP_AUTH_REVEMU = 4;

new g_dpProvider;
new g_dpProtocol;

public plugin_cfg( )
{
g_dpProvider = get_cvar_pointer( "dp_r_id_provider" );

g_dpProtocol = get_cvar_pointer( "dp_r_protocol" );
}

public client_authorized( id )
{
func_ReClientCheck( id );
}

public srvcmd_MasterServerCheck( )
{
if( is_user_authemu( id ) )
{
// лог
return PLUGIN_CONTINUE;
}
}

func_ReClientCheck( const id )
{
server_cmd( "dp_clientinfo %d", id );
server_exec( );

if( get_pcvar_num( g_dpProtocol ) == DP_PROTOCOL )
{
if( get_pcvar_num( g_dpProvider ) == DP_AUTH_REVEMU )
{
query_client_cvar( id, "voice_quality", "QueryClientCvar_VoiceQuality" );
}
}
}

public QueryClientCvar_VoiceQuality( const id, const sCvar[ ], const sValue[ ] )
{
g_bReClient[ id ] = bool: ( !equali( sValue, "Bad CVAR request" ) );
}

stock bool: is_user_authemu( id )
{
return g_bReClient[ id ];
}



Отредактировал: Salpson, - 9.8.2019, 13:30
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Lady
сообщение 10.8.2019, 5:55
Сообщение #14


Стаж: 5 лет 7 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

Salpson, можно такой плагин для 1.8.2 пожалуйста?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Salpson
сообщение 10.8.2019, 7:56
Сообщение #15


Иконка группы

Стаж: 11 лет
Город: Ульяновск

Сообщений: 1214
Благодарностей: 759
Полезность: 1065

Цитата(Lady @ 10.8.2019, 7:55) *
Salpson, можно такой плагин для 1.8.2 пожалуйста?

Почему вы используете настолько старую версию амхх?

Отредактировал: Salpson, - 10.8.2019, 7:57
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Lady
сообщение 10.8.2019, 11:16
Сообщение #16


Стаж: 5 лет 7 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

Salpson, я в этом не разбираюсь а главное сервер робит без проблем и лагов! есть такой на 1.8.2?

Отредактировал: Lady, - 10.8.2019, 11:16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: