436 lines
17 KiB
PHP
436 lines
17 KiB
PHP
#define ACCESS_H ADMIN_LEVEL_E
|
|
#define ACCESS_3 ADMIN_LEVEL_H
|
|
#define ACCESS_2 ADMIN_LEVEL_G
|
|
#define ACCESS_1 ADMIN_LEVEL_F
|
|
#define ACCESS_0 ADMIN_USER
|
|
|
|
new Handle:g_SqlTuple;
|
|
new Handle:SqlConnection;
|
|
new g_Error[512];
|
|
|
|
// MapID in kz_maps SQL Table
|
|
new kz_mapID;
|
|
new kz_maptype[25];
|
|
new delete_entity;
|
|
|
|
new gMapName[64];
|
|
new weapon_name[33];
|
|
new Float:timer_time[33];
|
|
new Float:Update_timer[33];
|
|
// my time in top15
|
|
new Float:kz_my_protime[33];
|
|
new Float:kz_my_nubtime[33];
|
|
// Speclist
|
|
new SpecList[33] = { true, ... };
|
|
new SpecAdmImm[33];
|
|
// SQL Config
|
|
new InvisUser[33];
|
|
new InvisWater[33];
|
|
new full_Invisible[33];
|
|
new noTeleport[32];
|
|
new ShowTime[33];
|
|
new SaveCfgDate[33][40];
|
|
enum {
|
|
TOP_NULL,
|
|
PRO_TOP,
|
|
NUB_TOP,
|
|
STATS_TOP,
|
|
WeaponTop,
|
|
PROGEN,
|
|
LAST_PRO10,
|
|
PRO_RECORDS,
|
|
PLAYERS_RANKING,
|
|
GENERAL_RANKING,
|
|
MAPS_STATISTIC,
|
|
PL_STATS,
|
|
WR_PLAY,
|
|
HELP
|
|
};
|
|
|
|
new const g_weaponsnames[][] = {
|
|
"",
|
|
"p228", "shield", "scout", "250", "240", "250",
|
|
"mac10", "240", "250", "250", "250",
|
|
"250", "210", "240", "240", "250", "250",
|
|
"210", "250", "220", "230", "230", "tmp", "210",
|
|
"250", "250", "235", "221", "250", "245",
|
|
"250", "250", "fn57", "mp5", "vest", "vesthelm",
|
|
"250", "hegren", "sgren", "defuser", "nvgs", "primammo",
|
|
"secammo", "km45", "9x19mm", "nighthawk", "228compact",
|
|
"12gauge", "autoshotgun", "mp", "c90", "cv47", "defender",
|
|
"clarion", "krieg552", "bullpup", "magnum", "d3au1",
|
|
"krieg550"
|
|
};
|
|
|
|
new const other_weapons_name[8][] = {
|
|
"weapon_p90", "weapon_famas", "weapon_sg552", "weapon_awp",
|
|
"weapon_m4a1", "weapon_m249", "weapon_ak47", "weapon_awp"
|
|
};
|
|
|
|
public plugin_sql() {
|
|
new ErrorCode;
|
|
SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,511);
|
|
|
|
if(!SqlConnection) {
|
|
server_print("[KZ] Could not connect to SQL database.!");
|
|
return pause("a");
|
|
}
|
|
|
|
QueryInstallTable();
|
|
|
|
return PLUGIN_CONTINUE;
|
|
}
|
|
|
|
public QueryHandle(iFailState, Handle:hQuery, szError[], iErrnum, cData[], iSize, Float:fQueueTime) {
|
|
if(iFailState != TQUERY_SUCCESS) {
|
|
log_amx("[KZ] TOP15 SQL: SQL Error #%d - %s", iErrnum, szError);
|
|
client_print_color(0, print_chat, "$s ^x01 Error mySQL connect", prefix);
|
|
}
|
|
else if(iFailState == TQUERY_QUERY_FAILED)
|
|
set_fail_state("Query failed. QueryHandle %s", szError);
|
|
|
|
SQL_FreeHandle(hQuery);
|
|
return PLUGIN_CONTINUE;
|
|
}
|
|
|
|
public QueryInstallTable() {
|
|
new CreateInto[1001];
|
|
|
|
formatex(CreateInto, 1000, "CREATE TABLE IF NOT EXISTS `kz_pro15` (`map_id` INT(10) NOT NULL,`mapname` VARCHAR(64) NOT NULL COLLATE 'utf8_general_ci',`authid` VARCHAR(64) NOT NULL COLLATE 'utf8_general_ci',`name` VARCHAR(64) NOT NULL COLLATE 'utf8_general_ci',`time` DECIMAL(65,2) NOT NULL,`date` DATETIME NOT NULL)");
|
|
SQL_ThreadQuery(g_SqlTuple, "QueryHandle", CreateInto);
|
|
|
|
formatex(CreateInto, 1000, "CREATE TABLE IF NOT EXISTS `kz_nub15` (`map_id` INT(10) NOT NULL,`mapname` VARCHAR(64) NOT NULL COLLATE 'utf8_general_ci',`authid` VARCHAR(64) NOT NULL COLLATE 'utf8_general_ci',`name` VARCHAR(64) NOT NULL COLLATE 'utf8_general_ci',`time` DECIMAL(65,2) NOT NULL,`date` DATETIME NOT NULL,`checkpoints` DOUBLE(22,0) NOT NULL,`gocheck` DOUBLE(22,0) NOT NULL)");
|
|
SQL_ThreadQuery(g_SqlTuple, "QueryHandle", CreateInto);
|
|
|
|
formatex(CreateInto, 1000, "CREATE TABLE IF NOT EXISTS `kz_maps` (`id` INT(11) NOT NULL AUTO_INCREMENT,`mapname` VARCHAR(64) NOT NULL COLLATE 'utf8_general_ci',`type` VARCHAR(64) NULL COLLATE 'utf8_general_ci',`challenge` INT(3) NOT NULL DEFAULT '0',`entity` INT(2) NOT NULL DEFAULT '1',`start` VARCHAR(50) NULL COLLATE 'utf8_general_ci',`finish` VARCHAR(50) NULL COLLATE 'utf8_general_ci',PRIMARY KEY (`id`))");
|
|
SQL_ThreadQuery(g_SqlTuple, "QueryHandle", CreateInto);
|
|
}
|
|
|
|
public SQL_MapID() {
|
|
new s_Error[128], startposition[64], finishposition[64], p_start[3][64], p_finish[3][64]
|
|
new Handle:h_Query = SQL_PrepareQuery(SqlConnection, "SELECT * FROM `kz_maps` WHERE mapname='%s'", gMapName)
|
|
|
|
if(!SQL_Execute(h_Query))
|
|
SQL_QueryError(h_Query, s_Error, charsmax(s_Error));
|
|
else {
|
|
new mapid = SQL_FieldNameToNum(h_Query, "id");
|
|
new type = SQL_FieldNameToNum(h_Query, "type");
|
|
new delentity = SQL_FieldNameToNum(h_Query, "entity");
|
|
new start = SQL_FieldNameToNum(h_Query, "start");
|
|
new finish = SQL_FieldNameToNum(h_Query, "finish");
|
|
|
|
while(SQL_MoreResults(h_Query)) {
|
|
kz_mapID = SQL_ReadResult(h_Query, mapid);
|
|
SQL_ReadResult(h_Query, type, kz_maptype, charsmax(kz_maptype));
|
|
delete_entity = SQL_ReadResult(h_Query, delentity);
|
|
SQL_ReadResult(h_Query, start, startposition, charsmax(startposition));
|
|
SQL_ReadResult(h_Query, finish, finishposition, charsmax(finishposition));
|
|
SQL_NextRow(h_Query);
|
|
}
|
|
}
|
|
|
|
if(!equali(startposition, "")) {
|
|
strtok(startposition, p_start[0], charsmax(p_start[]), startposition, charsmax(startposition), ' ', true);
|
|
strtok(startposition, p_start[1], charsmax(p_start[]), startposition, charsmax(startposition), ' ', true);
|
|
strtok(startposition, p_start[2], charsmax(p_start[]), startposition, charsmax(startposition), ' ', true);
|
|
DefaultStartPos[0] = str_to_float(p_start[0]);
|
|
DefaultStartPos[1] = str_to_float(p_start[1]);
|
|
DefaultStartPos[2] = str_to_float(p_start[2]);
|
|
Default_SF[0] = true;
|
|
}
|
|
else
|
|
Default_SF[0] = false;
|
|
|
|
if(!equali(finishposition, "")) {
|
|
strtok(finishposition, p_finish[0], charsmax(p_finish[]), finishposition, charsmax(finishposition), ' ', true);
|
|
strtok(finishposition, p_finish[1], charsmax(p_finish[]), finishposition, charsmax(finishposition), ' ', true);
|
|
strtok(finishposition, p_finish[2], charsmax(p_finish[]), finishposition, charsmax(finishposition), ' ', true);
|
|
DefaultFinishPos[0] = str_to_float(p_finish[0]);
|
|
DefaultFinishPos[1] = str_to_float(p_finish[1]);
|
|
DefaultFinishPos[2] = str_to_float(p_finish[2]);
|
|
Default_SF[1] = true;
|
|
}
|
|
else
|
|
Default_SF[1] = false;
|
|
|
|
if(equali(kz_maptype, "slide")) mapIsSlide = true;
|
|
if(equali(kz_maptype, "gravity")) mapIsGravity = true;
|
|
if(equali(kz_maptype, "")) kz_maptype = "n/a";
|
|
|
|
if(delete_entity)
|
|
for(new i = 0; i < sizeof(g_remove_ent); i++)
|
|
sx_remove_entity(g_remove_ent[i], "classname", 0, "");
|
|
|
|
if(!kz_mapID) {
|
|
new Handle:h_Query2 = SQL_PrepareQuery(SqlConnection, "INSERT INTO `kz_maps` (`mapname`) VALUES ('%s');", gMapName);
|
|
if(SQL_Execute(h_Query2))
|
|
kz_mapID = SQL_GetInsertId(h_Query2);
|
|
SQL_FreeHandle(h_Query2);
|
|
}
|
|
|
|
SQL_FreeHandle(h_Query);
|
|
|
|
server_print("[KZ_SQL] ID Map = %d", kz_mapID);
|
|
server_print("[KZ_SQL] Type map = %s", kz_maptype);
|
|
|
|
return PLUGIN_HANDLED;
|
|
}
|
|
|
|
public SQL_StartFinish(bool:L, Float:position[3]) {
|
|
if(L)
|
|
Default_SF[0] = true;
|
|
else
|
|
Default_SF[1] = true;
|
|
|
|
new createinto[1001];
|
|
formatex(createinto, sizeof createinto - 1, "UPDATE `kz_maps` SET `%s` = '%f %f %f' WHERE (`id` = %d)", (L ? "start":"finish"), position[0], position[1], position[2], kz_mapID);
|
|
SQL_ThreadQuery(g_SqlTuple, "SQL_WorkHandle", createinto);
|
|
}
|
|
|
|
public SQL_StatsAdd(iFailState, Handle:hQuery, szError[], iErrnum, cData[], iSize, Float:fQueueTime) {
|
|
new id = cData[0];
|
|
new style = cData[1];
|
|
new Float:time = Update_timer[id];
|
|
new check = cData[3];
|
|
new gocheck = cData[4];
|
|
if(iFailState != TQUERY_SUCCESS) {
|
|
log_amx("[KZ] TOP15 SQL: SQL Error #%d - %s", iErrnum, szError);
|
|
client_print_color(0, print_chat, "%s^x01 %F", prefix, LANG_PLAYER, "KZ_TOP15_SQL_ERROR");
|
|
}
|
|
new checkpoints[32], gochecks[32];
|
|
new createinto[1001];
|
|
new name[32], recdata[64];
|
|
get_user_name(id, name, 31);
|
|
get_time("%Y%m%d%H%M%S", recdata, sizeof recdata - 1);
|
|
new wpn = get_user_weapon(id);
|
|
replace_all(name, 31, "'", "");
|
|
|
|
new bool:user_weapon = false;
|
|
new weapon = get_user_weapon(id);
|
|
get_weaponname(weapon, weapon_name, charsmax(weapon_name));
|
|
|
|
for(new i = 0; i < 8; i++)
|
|
if(equali(other_weapons_name[i], weapon_name))
|
|
user_weapon = true;
|
|
|
|
if(SQL_NumResults(hQuery) == 0) {
|
|
formatex(checkpoints, 31, ", %d", check);
|
|
formatex(gochecks, 31, ", %d", gocheck);
|
|
|
|
if(user_weapon && get_pcvar_num(sv_airaccelerate) == 10) {
|
|
formatex(createinto, sizeof createinto - 1, "INSERT INTO `%s` VALUES (%d, '%s', '%s', '%s', '%s', '%f', '%s'%s%s)", style == PRO_TOP ? "kz_weapon_pro" : "kz_weapon_nub", kz_mapID, gMapName, g_weaponsnames[wpn], kz_authid[id], name, time, recdata, style == PRO_TOP ? "" : checkpoints, style == PRO_TOP ? "" : gochecks);
|
|
SQL_ThreadQuery(g_SqlTuple, "QueryHandle", createinto);
|
|
GetNewRank(id, style, true);
|
|
}
|
|
else {
|
|
formatex(createinto, sizeof createinto - 1, "INSERT INTO `%s` VALUES (%d, '%s', '%s', '%s', '%f', '%s'%s%s)", style == PRO_TOP ? "kz_pro15" : "kz_nub15", kz_mapID, gMapName, kz_authid[id], name, time, recdata, style == PRO_TOP ? "" : checkpoints, style == PRO_TOP ? "" : gochecks);
|
|
SQL_ThreadQuery(g_SqlTuple, "QueryHandle", createinto);
|
|
GetNewRank(id, style, false);
|
|
}
|
|
}
|
|
else {
|
|
new Float:oldtime, Float:thetime;
|
|
SQL_ReadResult(hQuery, 0, oldtime);
|
|
|
|
if(time < oldtime) {
|
|
formatex(checkpoints, 31, ", checkpoints=%d", check);
|
|
formatex(gochecks, 31, ", gocheck=%d", gocheck);
|
|
thetime = oldtime - time;
|
|
|
|
show_finish_message(id, thetime, false, true);
|
|
|
|
if(user_weapon && get_pcvar_num(sv_airaccelerate) == 10) {
|
|
formatex(createinto, sizeof createinto - 1, "UPDATE `%s` SET time='%f', date='%s' %s%s WHERE map_id=%d AND weapon='%s' AND authid='%s'", style == PRO_TOP ? "kz_weapon_pro" : "kz_weapon_nub", time, recdata, style == PRO_TOP ? "" : checkpoints, style == PRO_TOP ? "" : gochecks, kz_mapID, g_weaponsnames[wpn], kz_authid[id]);
|
|
SQL_ThreadQuery(g_SqlTuple, "QueryHandle", createinto);
|
|
GetNewRank(id, style, true);
|
|
}
|
|
else {
|
|
formatex(createinto, sizeof createinto - 1, "UPDATE `%s` SET time='%f', date='%s' %s%s WHERE map_id=%d AND authid='%s'", style == PRO_TOP ? "kz_pro15" : "kz_nub15", time, recdata, style == PRO_TOP ? "" : checkpoints, style == PRO_TOP ? "" : gochecks, kz_mapID, kz_authid[id]);
|
|
SQL_ThreadQuery(g_SqlTuple, "QueryHandle", createinto);
|
|
GetNewRank(id, style, false);
|
|
}
|
|
}
|
|
else {
|
|
thetime = time - oldtime;
|
|
show_finish_message(id, thetime, false, false);
|
|
}
|
|
}
|
|
|
|
return PLUGIN_HANDLED;
|
|
}
|
|
|
|
stock GetNewRank(id, type, bool:user_weapon) {
|
|
new createinto[1000];
|
|
|
|
new cData[2];
|
|
cData[0] = id;
|
|
cData[1] = type;
|
|
new wpn = get_user_weapon(id);
|
|
|
|
if(user_weapon && get_pcvar_num(sv_airaccelerate) == 10)
|
|
formatex(createinto, charsmax(createinto), "SELECT authid FROM `%s` WHERE map_id=%d AND weapon='%s' ORDER BY time", type == PRO_TOP ? "kz_weapon_pro" : "kz_weapon_nub", kz_mapID, g_weaponsnames[wpn]);
|
|
else
|
|
formatex(createinto, charsmax(createinto), "SELECT authid FROM `%s` WHERE map_id=%d ORDER BY time", type == PRO_TOP ? "kz_pro15" : "kz_nub15", kz_mapID);
|
|
|
|
SQL_ThreadQuery(g_SqlTuple, "GetNewRank_QueryHandler", createinto, cData, 2);
|
|
}
|
|
|
|
public GetNewRank_QueryHandler(iFailState, Handle:hQuery, szError[], iErrnum, cData[], iSize, Float:fQueueTime) {
|
|
new id = cData[0];
|
|
if(iFailState != TQUERY_SUCCESS)
|
|
return log_amx("TOP15 SQL: SQL Error #%d - %s", iErrnum, szError)
|
|
|
|
new authid[32], namez[32], i = 0;
|
|
get_user_name(id, namez, 31);
|
|
|
|
new bool:user_weapon = false;
|
|
new weapon = get_user_weapon(id);
|
|
get_weaponname(weapon, weapon_name, charsmax(weapon_name));
|
|
|
|
for(new i = 0; i < 8; i++)
|
|
if(equali(other_weapons_name[i], weapon_name))
|
|
user_weapon = true;
|
|
|
|
while(SQL_MoreResults(hQuery)) {
|
|
i++;
|
|
SQL_ReadResult(hQuery, 0, authid, 31);
|
|
if(equal(authid, kz_authid[id])) {
|
|
if(user_weapon)
|
|
client_print_color(0, print_chat, "^x04%s^x03 %s^x04 is now ^x03%d^x04 in^x03 %s^x04",prefix, namez, i, cData[1] == PRO_TOP ? "Professional Weapon Top" : "General Weapon Top");
|
|
else
|
|
client_print_color(0, print_chat, "^x04%s^x03 %s^x04 is now ^x03%d^x04 in^x03 %s^x04",prefix, namez, i, cData[1] == PRO_TOP ? "Professional Top" : "General Top");
|
|
break;
|
|
}
|
|
SQL_NextRow(hQuery);
|
|
}
|
|
|
|
SQL_FreeHandle(hQuery);
|
|
return PLUGIN_CONTINUE;
|
|
}
|
|
|
|
public mytime(id, type) {
|
|
new createinto[256], cData[2];
|
|
cData[0] = id;
|
|
cData[1] = type;
|
|
formatex(createinto, sizeof createinto - 1, "SELECT * FROM %s WHERE map_id=%d AND authid='%s'", type == PRO_TOP ? "kz_pro15" : "kz_nub15", kz_mapID, kz_authid[id]);
|
|
SQL_ThreadQuery(g_SqlTuple, "SQL_MyTimeHandle", createinto, cData, 2);
|
|
}
|
|
|
|
public SQL_MyTimeHandle(failstate, Handle:hQuery, error[], errcode, cData[], iSize, Float:fQueueTime) {
|
|
new id = cData[0];
|
|
new type = cData[1];
|
|
if(failstate == TQUERY_CONNECT_FAILED)
|
|
set_fail_state("Could not connect to database.");
|
|
else if(failstate == TQUERY_QUERY_FAILED)
|
|
set_fail_state("Query failed. SQL_MyTimeHandle %s", error);
|
|
else if(errcode)
|
|
log_amx("Error on query: %s", error);
|
|
else {
|
|
if(SQL_NumResults(hQuery)) {
|
|
if(type == PRO_TOP)
|
|
SQL_ReadResult(hQuery, 4, kz_my_protime[id]);
|
|
else
|
|
SQL_ReadResult(hQuery, 4, kz_my_nubtime[id]);
|
|
}
|
|
else {
|
|
if(type == PRO_TOP)
|
|
kz_my_protime[id] = 0.0;
|
|
else
|
|
kz_my_nubtime[id] = 0.0;
|
|
}
|
|
}
|
|
SQL_FreeHandle(hQuery);
|
|
}
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SQL CFG ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
public SQL_Config(id) {
|
|
new createinto[128], cData[1];
|
|
cData[0] = id;
|
|
formatex(createinto, sizeof createinto - 1, "SELECT * FROM kzp_players WHERE auth='%s'", kz_authid[id]);
|
|
g_SqlTuple = SQL_MakeStdTuple();
|
|
SQL_ThreadQuery(g_SqlTuple, "SQL_ConfigHandle", createinto, cData, 1);
|
|
}
|
|
|
|
public SQL_ConfigHandle(failstate, Handle:hQuery, error[], errcode, cData[], iSize, Float:fQueueTime) {
|
|
new id = cData[0];
|
|
if(failstate == TQUERY_CONNECT_FAILED)
|
|
set_fail_state("Could not connect to database.");
|
|
else if(failstate == TQUERY_QUERY_FAILED )
|
|
set_fail_state("Query failed. SQL_Config %s", error);
|
|
else if(errcode)
|
|
log_amx("Error on query: %s", error);
|
|
else {
|
|
if(SQL_NumResults(hQuery)) {
|
|
ShowTime[id] = SQL_ReadResult(hQuery, 8);
|
|
InvisUser[id] = SQL_ReadResult(hQuery, 9);
|
|
InvisWater[id] = SQL_ReadResult(hQuery, 10);
|
|
full_Invisible[id] = SQL_ReadResult(hQuery, 11);
|
|
noTeleport[id] = SQL_ReadResult(hQuery, 12);
|
|
SpecList[id] = SQL_ReadResult(hQuery, 13);
|
|
SpecAdmImm[id] = SQL_ReadResult(hQuery, 14);
|
|
SQL_ReadResult(hQuery, 4, SaveCfgDate[id], charsmax(SaveCfgDate));
|
|
}
|
|
else {
|
|
InvisUser[id] = 0;
|
|
InvisWater[id] = 0;
|
|
full_Invisible[id] = 0;
|
|
noTeleport[id] = 0;
|
|
SpecList[id] = 1;
|
|
SpecAdmImm[id] = 0;
|
|
ShowTime[id] = 2;
|
|
}
|
|
|
|
//server_print("user: %d, i_user: %d, i_water: %d, fullinvis: %d, notp: %d, spec: %d, specadm: %d, stime: %d, lastsave: %s", id, InvisUser[id], InvisWater[id], full_Invisible[id], noTeleport[id], SpecList[id], SpecAdmImm[id], ShowTime[id], SaveCfgDate[id]);
|
|
}
|
|
SQL_FreeHandle(hQuery);
|
|
}
|
|
|
|
|
|
public SQL_ConfigSave(id) {
|
|
new createinto[128], cData[1];
|
|
cData[0] = id;
|
|
formatex(createinto, sizeof createinto - 1, "SELECT * FROM kzp_players WHERE auth='%s'", kz_authid[id]);
|
|
SQL_ThreadQuery(g_SqlTuple, "SQL_ConfigSaveHandle", createinto, cData, 1);
|
|
}
|
|
|
|
public SQL_ConfigSaveHandle(failstate, Handle:hQuery, error[], errcode, cData[], iSize, Float:fQueueTime) {
|
|
new id = cData[0];
|
|
new nowdate[40];
|
|
get_time("%Y-%m-%d %H:%M:%S", nowdate, sizeof nowdate - 1);
|
|
SaveCfgDate[id] = nowdate;
|
|
|
|
if(failstate == TQUERY_CONNECT_FAILED)
|
|
set_fail_state("Could not connect to database.");
|
|
else if(failstate == TQUERY_QUERY_FAILED)
|
|
set_fail_state("Query failed. SQL_ConfigSaveHandle %s", error);
|
|
else if(errcode)
|
|
log_amx("Error on query: %s", error);
|
|
else {
|
|
if(SQL_NumResults(hQuery)) {
|
|
new createinto[1001];
|
|
formatex(createinto, sizeof createinto - 1, "UPDATE `kzp_players` SET `showTime` = %d,`invisUser` = %d,`invisWater` = %d,`invisFull` = %d,`noTeleport` = %d,`specList` = %d,`specAdmin` = %d, `date` = '%s' WHERE (`auth` = '%s')", ShowTime[id], InvisUser[id], InvisWater[id], full_Invisible[id], noTeleport[id], SpecList[id], SpecAdmImm[id], SaveCfgDate[id], kz_authid[id]);
|
|
SQL_ThreadQuery(g_SqlTuple, "SQL_WorkHandle", createinto);
|
|
client_print_color(id, print_chat, "^x01%s^x03 The config was saved successfully.", prefix);
|
|
}
|
|
/*else {
|
|
new createinto[1001];
|
|
formatex(createinto, sizeof createinto - 1, "INSERT INTO `kzp_players` VALUES (null, '%s', %d, %d, %d, %d, %d, %d, %d, '%s')", kz_authid[id], ShowTime[id], InvisUser[id], InvisWater[id], full_Invisible[id], noTeleport[id], SpecList[id], SpecAdmImm[id], SaveCfgDate[id]);
|
|
SQL_ThreadQuery(g_SqlTuple, "SQL_WorkHandle", createinto);
|
|
client_print_color(id, print_chat, "^x01%s^x03 The config was saved successfully.", prefix);
|
|
}*/
|
|
}
|
|
SQL_FreeHandle(hQuery);
|
|
}
|
|
|
|
public SQL_WorkHandle(failstate, Handle:hQuery, error[], errcode, cData[], iSize, Float:fQueueTime) {
|
|
if(failstate == TQUERY_CONNECT_FAILED)
|
|
set_fail_state("Could not connect to database.");
|
|
else if(failstate == TQUERY_QUERY_FAILED)
|
|
set_fail_state("Query failed. SQL_WorkHandle %s", error);
|
|
else if(errcode)
|
|
log_amx("Error on query: %s", error);
|
|
SQL_FreeHandle(hQuery);
|
|
}
|