PDA

Просмотр полной версии : [C++] [RakSAMP] Парсер ников



Ruskadance
12.06.2013, 14:12
Парсер ников для RakSAMP
by Ruskadance


Вставляем в cmds.cpp:

if(!strncmp(szCMD, "parse", 5) || !strncmp(szCMD, "PARSE", 5)) {
int count = 0;
FILE *fileNicks = NULL;
char filename[512];
snprintf(filename, sizeof(filename), "nicks.txt");
fileNicks = fopen( filename, "w" );
if(fileNicks == NULL)
Log("[RakSAMP] Ошибка #15. Не удалось открыть файл");
for (size_t i = 0; i < MAX_PLAYERS; i++) {
if(playerInfo[i].iIsConnected) {
fprintf(fileNicks, "%s\n",getPlayerName(i));
count++;
}
}
fclose(fileNicks);
if(count == 0)
Log("[RakSAMP] Клиент не подключен к серверу/на сервере нет игроков");
else
Log("[RakSAMP] Ники спарсены в файл \"nicks.txt\" (в папке с RakSAMP)");
}
Для того чтобы спарсить ники, введите !parse. Парсинг происходит со скоростью света. Использовать команду можно для любых целей, одна из них - брут задротов.

Автор: Ruskadance (http://pro-pawn.ru/member.php?101-Ruskadance)
Спасибо: Daniel_Cortez (pro-pawn.ru/member.php?100-Daniel_Cortez)
Специально для Pro-Pawn.Ru (http://pro-pawn.ru)

Daniel_Cortez
12.06.2013, 14:33
Неплохо.
Единственное, что смущает: цикл начинается с 999, когда вместо этого числа можно подставить константу типа MAX_PLAYERS.

Да и вообще его можно реорганизовать следующим образом:


for (size_t i = 0; i < MAX_PLAYERS; i++) {
if(playerInfo[i].iIsConnected) {
fprintf(fileNicks, "%s\n",getPlayerName(i));
counta++;
}
}

#MAVRIN
18.10.2013, 18:21
Нормально!

Ra4ok
21.10.2013, 00:04
Норм

#Dimka59rus
24.10.2013, 12:03
Круто