//==============================================================================
//          Мод добавления к таблице базы данных аккаунтов игроков
//                   дополнительных столбцов (колонок)
//                   для дополнения рабочих баз данных,
//              после реконструкции мода от февраля 2021 г.

// База данных должна быть расположена в каталоге scriptfiles\.
// Имя файла исходной базы данных (БЕЗ типа (расширения) файла) нужно
// задать в строке 35. Полный путь базы данных: scriptfiles\players1.db
// Инструкции по добавлению столбцов (колонок) читайте в комментариях мода.

//==============================================================================

#include <a_samp>

#pragma dynamic 30000

new DB:playerdb;//переменная базы данных аккаунтов игроков
new DBResult:querydb;//переменная запросов базы данных аккаунтов игроков
new Name[32];//имя файла БД (в каталоге scriptfiles)

main()
{
	print(" ");
	print("\n------------------------------------------------");
	print(" Мод добавления к таблице базы данных аккаунтов   ");
	print("   игроков дополнительных столбцов (колонок)      ");
	print("       для дополнения рабочих баз данных,         ");
	print("  после реконструкции мода от февраля 2021 г.     ");
	print("------------------------------------------------\n");
}

public OnGameModeInit()
{
	Name = "players1";//имя файла БД (в каталоге scriptfiles)
	SetTimer("Begin", 500, 0);
	return 1;
}

public OnGameModeExit()
{
	db_close(playerdb);//отключаем БД от сервера
	return 1;
}

forward Begin();
public Begin()
{
	new string[256];
	format(string, sizeof(string), "%s.db", Name);
	if(!fexist(string))
	{
		print(" ");
		print(" Ошибка ! База данных не обнаружена !");
		return 1;
	}
	else
	{
		print(" Обнаружена база данных.");
		SetTimer("Portation", 500, 0);
	}
	return 1;
}

forward Portation();
public Portation()
{
	new string[256];
	format(string, sizeof(string), "%s.db", Name);
	playerdb = db_open(string);//подключаем БД к серверу
	print(" Осталось добавить 20 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_data1 VARCHAR(64)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_data1 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 19 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_inout1 VARCHAR(64)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_inout1 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 18 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_ver1 VARCHAR(32)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_ver1 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 17 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_count1 INTEGER");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_count1 = 0");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 16 столбцов.");
//------------------------------------------------------------------------------
	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_data2 VARCHAR(64)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_data2 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 15 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_inout2 VARCHAR(64)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_inout2 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 14 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_ver2 VARCHAR(32)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_ver2 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 13 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_count2 INTEGER");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_count2 = 0");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 12 столбцов.");
//------------------------------------------------------------------------------
	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_data3 VARCHAR(64)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_data3 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 11 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_inout3 VARCHAR(64)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_inout3 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 10 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_ver3 VARCHAR(32)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_ver3 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 9 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_count3 INTEGER");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_count3 = 0");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 8 столбцов.");
//------------------------------------------------------------------------------
	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_data4 VARCHAR(64)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_data4 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 7 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_inout4 VARCHAR(64)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_inout4 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 6 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_ver4 VARCHAR(32)");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_ver4 = '---'");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 5 столбцов.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN Pass_count4 INTEGER");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET Pass_count4 = 0");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 4 столбца.");
//------------------------------------------------------------------------------
	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN PassMode INTEGER");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET PassMode = 0");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 3 столбца.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN PassDel INTEGER");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET PassDel = 0");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 2 столбца.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN PassLock INTEGER");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET PassLock = 0");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	print(" Осталось добавить 1 столбец.");

	format(string, sizeof(string), "ALTER TABLE Players ADD COLUMN PassError INTEGER");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД
	format(string, sizeof(string), "UPDATE Players SET PassError = 0");//создаём запрос БД
	querydb = db_query(playerdb, string);//отправляем запрос БД
	db_free_result(querydb);//очищаем результат запроса БД

	print(" ");
	print(" Все столбцы (колонки) были добавлены к БД !");
	print(" Можно отключить (закрыть) мод.");
	print(" ");
	db_close(playerdb);//отключаем БД от сервера
	return 1;
}

