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

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

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

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

Урок Сообщить о баге | MySQL

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

Tomka

Изучающий
Пользователь
Регистрация
26 Мар 2015
Сообщения
541
Лучшие ответы
0
Репутация
97
Всем привет дорогие друзья.
Сегодня я вам расскажу,как сделать чтобы игроки вашего сервера могли сообщить вам о багах.
P.S. Функция может и лишняя,но репорт всякой шнягой забит не будет!

Итак,начнем

Ко всем new

PHP:
new connects;
вставим данный диалог в любое место (Можно в меню,можно сделать на команду)
PHP:
ShowPlayerDialog(playerid,2222,DIALOG_STYLE_INPUT,"Сообщить о баге","Опишите баг коротко и ясно.","Отправить","Назад");
2222- если это число занято,то меняйте на свое

Дальше идем в public OnDialogResponse и добавляем саму функцию отправки
PHP:
          case 2222:
		{
		    if(response)
			{ 
				if(GetPVarInt(playerid,"AntiFloodBug") > gettime()) return SendClientMessage(playerid,COLOR_WHITE, "Подавать информацию можно 1 раз в 15 секунд.");
  				new data[64],hour,minute,second,year,month,day;
				getdate(year, month, day);
				gettime(hour,minute,second);
				format(data, 16, "%d-%d-%d %d:%d",day,month,year,hour,minute);
		        mysql_format(connects, stringer, sizeof(stringer), "INSERT INTO `bugs` (`Name`, `Text`, `Data`) VALUES ('%s', '%e', '%s')",PlayerInfo[playerid][pNames],inputtext,data);
				mysql_function_query(connects, stringer, false, "","");
				SendClientMessage(playerid,COLOR_YELLOW2,"Информация отправлена в хранилище.Ваше сообщение будет прочитано в кратчайшие сроки");
				SetPVarInt(playerid,"AntiFloodBug",gettime()+15);
			}
			else return OnPlayerCommandText(playerid,"/mm");
		}
Расскажу что к чему
PHP:
if(GetPVarInt(playerid,"AntiFloodBug") > gettime()) return SendClientMessage(playerid,COLOR_WHITE, "Подавать информацию можно 1 раз в 15 секунд.");
проверка,прошло ли 15 секунд после предыдущей отправки,если нет,то запрещаем отправку
PHP:
                                new data[64],hour,minute,second,year,month,day;
				getdate(year, month, day);
				gettime(hour,minute,second);
				format(data, 16, "%d-%d-%d %d:%d",day,month,year,hour,minute);
переменные времени и формат даты для записи в базу данных
PHP:
                                mysql_format(connects, stringer, sizeof(stringer), "INSERT INTO `bugs` (`Name`, `Text`, `Data`) VALUES ('%s', '%e', '%s')",PlayerInfo[playerid][pNames],inputtext,data);
				mysql_function_query(connects, stringer, false, "","");
Отправляем запрос на добавлении информации в базу данных
bugs - таблица с багами
Name - кто отправил
Text - текст
Data - дата отправки

Сама база данных
PHP:
--
-- Структура таблицы `bugs`
--

CREATE TABLE IF NOT EXISTS `bugs` (
  `Name` varchar(32) NOT NULL,
  `Text` varchar(256) NOT NULL,
  `Data` varchar(64) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

--
-- Дамп данных таблицы `bugs`
--

INSERT INTO `bugs` (`Name`, `Text`, `Data`) VALUES
('Roy_Fest', 'выфваф', '1-9-2015 17:59');
Далее,скачать простой сайт куда будет выводиться информация из БД(Настроить можно под себя)

Ссылка: | пароль: pawno-info
VirusTotal:
На этом все,с Вами был: Tomka
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу