print("Подключаемся к mySQL для проверки подлинности, ожидайте...");
ConnectionMysql();
stock ConnectionMysql()
{
dbHandle = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DB, MYSQL_PASS); // данные меняете на свои
if(mysql_errno(dbHandle) != 0)
{
print("Нет доступа к mySQL!");
SendRconCommand("exit");
return true;
}
print("Подключение mySQL: OK");
print("Проверяем подлинность копии... Ожидайте...");
HTTP(0, HTTP_GET, "ваш-сайт.ру/get-ip.php", "", "GetRealIp"); // отправляем запрос на сервер для получения реального ип
return 1;
}
forward GetRealIp(index, response_code, data[]);
public GetRealIp(index, response_code, data[])
{
if(response_code == 200 || response_code == 301 || response_code == 302) // проверяем ответ сервера, если 200 - соединение успешно, 301 - 302 - редирект, возможно с http на https поэтому добавим и их в успешные
{
printf("Получен ip для запуска: %s", data); // выводим в консоль реальный ип для запуска
new str[128];
mysql_format(dbHandle, str, sizeof(str), "SELECT * FROM `check` WHERE `ip` = '%s' LIMIT 1", data); // формируем запрос на проверку подлинности.
mysql_function_query(dbHandle, str, true, "CheckBuy", "s", data); // добавляем обработчик
}
else
{
print("Проблемы с мастер-сервером! Повторите попытку позже или обратитесь к распространителю скрипта!"); // если ответ сервера не 200, 301, 302, то это значит что на сайте какие-то проблемы
SendRconCommand("exit");
return true;
}
return true;
}
forward CheckBuy(ip[]);
public CheckBuy(ip[])
{
new rows, fields;
cache_get_data(rows, fields); // получаем данные из кеша запроса
if(!rows) // если совпадений по IP нет, выводим информацию и завершаем работу мода
{
print("Запуск запрещен!");
SendRconCommand("exit");
return true;
}
print("Копия является действительной, скрипт запущен! OK!"); // если строки есть разрешаем запуск
return true;
}