Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Статистика администратора + сохранение MySQL

Статус
В этой теме нельзя размещать новые ответы.

Noize_Weezy

Ученик
Всем привет , видел много манулов по статистике администратора , и многие просили сделать сохранение . Вот я написал систему и сделал сохранение .​

И так первым делом добавим в enum pInfo после pAdmin

PHP:
    pAreport,
	pAmute,
	pAkick,
	pAwarn,
	pAban,
Идем в public OnPlayerConnect(playerid) и добавляем туда :

PHP:
	PlayerInfo[playerid][pAreport] = 0;
	PlayerInfo[playerid][pAmute] = 0;
	PlayerInfo[playerid][pAkick] = 0;
	PlayerInfo[playerid][pAwarn] = 0;
	PlayerInfo[playerid][pAban] = 0;
Следующее действие , добавим , после каждого /kick , /pm , /mute , /warn , /ban :

PHP:
PlayerInfo[playerid][pAkick] += 1; /// после /kick
PlayerInfo[playerid][pAreport] += 1; ///  после /pm
PlayerInfo[playerid][pAwarn] += 1;///после /warn
PlayerInfo[playerid][pAban] += 1;/// после /ban
PlayerInfo[playerid][pAmute] += 1;/// после /mute
Теперь создадим сами команды /astats и /clearastats

PHP:
	else if(strcmp(cmd, "/astats", true) == 0)
	{
 	    if (PlayerInfo[playerid][pAdmInections] >= 1)
		{
			tmp = strcharsplit(cmdtext, idx);
			if(!strlen(tmp)) return	SendClientMessage(playerid, COLOR_WHITE, " Введите: /astats [id]");
			giveplayerid = ReturnUser(tmp);
			if(IsPlayerConnected(giveplayerid))
			{
				if(giveplayerid != INVALID_PLAYER_ID)
				{
                   new stringezrz[400];
                   format(stringezrz,400, "{FFFFFF}Ник Администратора: %s\n\nОтвечено на репорт: %d раз(a)\n\nВыдано Бан Чата: %d раз(a)\n\nКикнул игроков: %d раз(a)\n\nВыдал варнов: %d раз(a)\n\nЗаблокировал: %d раз(a)\n",PlayerInfo[giveplayerid][pNames],PlayerInfo[giveplayerid][pAreport],PlayerInfo[giveplayerid][pAmute],PlayerInfo[giveplayerid][pAkick],PlayerInfo[giveplayerid][pAwarn],PlayerInfo[giveplayerid][pAban]);
                   ShowPlayerDialog(playerid, 10348, DIALOG_STYLE_MSGBOX,"{66CC00}Статистика Администратора", stringezrz, "Закрыть", "");
				}
			}
		}       
		return true;
	}
	else if(strcmp(cmd, "/clearastats", true) == 0)
	{
        if(PlayerInfo[playerid][pAdmInections] >= 12)
        {
           tmp = strcharsplit(cmdtext, idx);
           if(!strlen(tmp)) return	SendClientMessage(playerid, COLOR_WHITE, " Введите: /clearastats [id]");
           giveplayerid = ReturnUser(tmp);
           if(IsPlayerConnected(giveplayerid))
           {
               PlayerInfo[giveplayerid][pAreport] = 0;
			   PlayerInfo[giveplayerid][pAmute] = 0;
			   PlayerInfo[giveplayerid][pAkick] = 0;
			   PlayerInfo[giveplayerid][pAwarn] = 0;
			   PlayerInfo[giveplayerid][pAban] = 0;
			   format(stringer, sizeof(stringer), "Администратор %s сбросил админ статистику у %s", PlayerInfo[playerid][pNames],PlayerInfo[giveplayerid][pNames]);
			   SendAdminMessage(COLOR_REDD, stringer);
		    }
		}
		
	}
Теперь самое главное , создадим сохранение . Ищем publics: LoginCallback(playerid, password[]) , туда добавляем :

PHP:
	cache_get_field_content(0, "pAreport", maximum),        PlayerInfo[playerid][pAreport] = strval(maximum);
	cache_get_field_content(0, "pAmute", maximum),          PlayerInfo[playerid][pAmute] = strval(maximum);
	cache_get_field_content(0, "pAkick", maximum),          PlayerInfo[playerid][pAkick] = strval(maximum);
	cache_get_field_content(0, "pAwarn", maximum),          PlayerInfo[playerid][pAwarn] = strval(maximum);
	cache_get_field_content(0, "pAban", maximum),           PlayerInfo[playerid][pAban] = strval(maximum);
Далее , ищем строчку : mysql_format(connects,str,sizeof(str),"UPDATE `accounts`. И туда добавляем после запятой в конце .

PHP:
`pAreport` = '%d',`pAmute` = '%d',`pAkick` = '%d',`pAwarn` = '%d',`pAban` = '%d',
Теперь внизу после PlayerInfo[playerid][pHelper] или у вас может быть что-то другое , вставляем тоже после запятой :

PHP:
PlayerInfo[playerid][pAreport],PlayerInfo[playerid][pAmute],PlayerInfo[playerid][pAkick],
		PlayerInfo[playerid][pAwarn],PlayerInfo[playerid][pAban]);
Для тек кто не умеет создавать ячейке в базе данных .​
Теперь нужно создать в БД такие строки pAreport , pAmute , pAkick , pAwarn , pAban​
Заходим в свою базу данных нажимаем accounts , после нажимаем "Структура"


Нажали "Структуры" , теперь листаем в самый низ :



Теперь создаем сами ячейки .


Ну вот и готова система Статистике Администратора . Если есть вопросы , задавайте . Нашли ошибку пишите исправлю​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу