СашаБелый |
Дата: Среда, 30.03.2016, 16:56 | Сообщение # 1
|
Вирты SVL
Сообщений: 328
Статус: Offline
|
В этом мануале я расскажу Вам как сделать статистику администратора на кики/варны и многое другое
в PlayerInfo:
public OnPlayerConnect(playerid):
Код PlayerInfo[playerid][pZabanil] = 0; PlayerInfo[playerid][pKicknyl] = 0;
В создание аккаунта, у меня называется stock CreateAccount(playerid, password[]):
Код ini_setInteger(iniFile,"Забанил(a) игроков:",PlayerInfo[playerid][pZabanil]); ini_setInteger(iniFile,"Кикнул(a) игроков:",PlayerInfo[playerid][pKicknyl]);
в паблик OnPlayerLogin(playerid):
Код ini_getInteger(iniFile,"Забанил(a) игроков:",PlayerInfo[playerid][pZabanil]); ini_getInteger(iniFile,"Кикнул(a) игроков:",PlayerInfo[playerid][pKicknyl]);
В сохранение аккаунта, у меня называется stock SavePlayer(playerid):
Код ini_setInteger(iniFile,"Забанил(a) игроков:",PlayerInfo[playerid][pZabanil]); ini_setInteger(iniFile,"Кикнул(a) игроков:",PlayerInfo[playerid][pKicknyl);
Теперь создадим команду для просмотра статистики:
Код CMD:aget(playerid,params[]){ if(PlayerInfo[playerid][pAdmin] < 4) return true; if(sscanf(params, "d", params[0]))return SendClientMessage(playerid, 0xAFAFAFAA, "Используйте: /aget [id]"); if(PlayerInfo[targetid][pAdmin] == 0) return SendClientMessage(playerid, 0xAFAFAFAA, "У данного игрока нет прав администратора."); if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, 0xAFAFAFAA, "Такого игрока не существует!"); ShowAdminStats(playerid,params[0]); return true;}
В конец мода:
Код stock ShowAdminStats(playerid,targetid){ static const msg[] = "{ffffff}Имя администратора: {B52828}%s\n"\ "{ffffff}Забанил(a) игроков: {B52828}%d раз\n"\ "{ffffff}Кикнул(a) игроков: {B52828}%d раз\n"\ new string[sizeof(msg)-2+MAX_PLAYER_NAME+(-2+11)*5]; GetPlayerName(targetid, string, sizeof(string)); format( string, sizeof(string), msg, string, PlayerInfo[targetid][pZabanil], PlayerInfo[targetid][pKicknyl] return ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "{66B6FF}Статистика администратора", string, "Закрыть","");}
теперь сделаем очистку админ. статистики:
Код CMD:aclearstats(playerid,params[]){ if(PlayerInfo[playerid][pAdmin] < 5) return true; if(sscanf(params,"u",params[0])) return SendClientMessage(playerid, 0xAFAFAFAA, "Используйте: /aclearstats [id]"); if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, 0xAFAFAFAA, "Такого игрока не существует!"); ClearAdminStats(playerid,params[0]); return true;}
В конец мода:
Код stock ClearAdminStats(playerid,targetid){ PlayerInfo[targetid][pZabanil]=0; PlayerInfo[targetid][pKicknyl]=0; SendClientMessage(playerid, 0x66cc00AA, "Вы успешно очистили админ статистику"); SavePlayer(playerid); // Меняем на своё сохранение аккаунта return 1;}
Что бы добавить в админ статистику, вставляем код например в /kick
Код PlayerInfo[playerid][pKicknyl]++;
Вот что должно получиться:
Автор: #Belochka
Так-же если вы хотите смотреть статистику не только по id а по nickname то вместо
Код CMD:aget(playerid,params[]){ if(PlayerInfo[playerid][pAdmin] < 4) return true; if(sscanf(params, "d", params[0]))return SendClientMessage(playerid, 0xAFAFAFAA, "Используйте: /aget [id]"); if(PlayerInfo[targetid][pAdmin] == 0) return SendClientMessage(playerid, 0xAFAFAFAA, "У данного игрока нет прав администратора."); if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, 0xAFAFAFAA, "Такого игрока не существует!"); ShowAdminStats(playerid,params[0]); return true;}
Вставте:
Код CMD:aget(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] < 4) return 1; if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, 0xAFAFAFAA, "Используйте: /aget [id или имя]"); if(PlayerInfo[targetid][pAdmin] == 0) return SendClientMessage(playerid, 0xAFAFAFAA, "У данного игрока нет прав администратора."); if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, 0xAFAFAFAA, "Такого игрока не существует!"); ShowAdminStats(playerid,params[0]); return true; } . Спасибо за внимание.
Покупка/Продажа Вирт SVL Операции с валютой. Сбербанк/ЯД/Киви Мой VK
Сообщение отредактировал osinovka - Воскресенье, 03.04.2016, 15:19 |
|
|
|
Shaga228 |
Дата: Вторник, 05.04.2016, 12:07 | Сообщение # 2
|
|
спасибо, получилось
|
|
|
|
СашаБелый |
Дата: Четверг, 07.04.2016, 09:05 | Сообщение # 3
|
Вирты SVL
Сообщений: 328
Статус: Offline
|
Цитата Shaga228 ( ) спасибо, получилось Не за что)
Покупка/Продажа Вирт SVL Операции с валютой. Сбербанк/ЯД/Киви Мой VK
|
|
|
|
[CM]iNiko |
Дата: Четверг, 07.04.2016, 11:41 | Сообщение # 4
|
Бывалый
Сообщений: 397
Статус: Offline
|
Классно, переведите команды на стандартный процессор. Заранее спасибо
Всё случается в этой жизни.
|
|
|
|
=) |
Дата: Четверг, 07.04.2016, 20:20 | Сообщение # 5
|
Боец
Сообщений: 271
Статус: Offline
|
[CM]iNiko,
Код else if(strcmp(cmd, "/aget", true) == 0) { if(PlayerInfo[playerid][pAdmin] < 4) return 1; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, 0xAFAFAFAA, "Используйте: /aget [id]"); new targetid = ReturnUser(tmp); if(PlayerInfo[targetid][pAdmin] == 0) return SendClientMessage(playerid, 0xAFAFAFAA, "У данного игрока нет прав администратора."); else if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, 0xAFAFAFAA, "Такого игрока не существует!"); ShowAdminStats(playerid,targetid); return 1; }
|
|
|
|
FryGames[CM] |
Дата: Четверг, 07.04.2016, 22:59 | Сообщение # 6
|
Боец
Сообщений: 130
Статус: Offline
|
[CM]iNiko,
Код else if(strcmp(cmd, "/aclearstats", true) == 0) { if(PlayerInfo[playerid][pAdmin] < 5) return 1; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, 0xAFAFAFAA, "Используйте: /aclearstats [id]"); new targetid = ReturnUser(tmp); if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, 0xAFAFAFAA, "Такого игрока не существует!"); ClearAdminStats(playerid, targetid); return1; }
Сообщение отредактировал FryGames[CM] - Четверг, 07.04.2016, 22:59 |
|
|
|
СашаБелый |
Дата: Пятница, 08.04.2016, 06:34 | Сообщение # 7
|
Вирты SVL
Сообщений: 328
Статус: Offline
|
смайлик ты тут хозяйничаешь смотрю)
Покупка/Продажа Вирт SVL Операции с валютой. Сбербанк/ЯД/Киви Мой VK
|
|
|
|