public Query_ServerSelect(Handle:owner, Handle:hndl, const String:error[], any:data)
{
if(error[0])
{
LogError("%T (%s)", "Failed to query database", LANG_SERVER, error);
return;
}
if(SQL_FetchRow(hndl)) // Сервер есть в бд
{
// Store server ID locally
SetTrieValue(g_hConfig, "ServerID", SQL_FetchInt(hndl, 0));
Call_StartForward(g_hOnConnect);
Call_PushCell(g_hDatabase);
Call_Finish();
return;
}
// сервера нет в бд, далее идет его добаление.
decl String:sFolder[32], String:sQuery[1024];
GetGameFolderName(sFolder, sizeof(sFolder));
Format(sQuery, sizeof(sQuery), "INSERT INTO {{servers}} (ip, port, modid) \
VALUES ('%s', %i, (SELECT mid FROM {{mods}} WHERE modfolder = '%s'))",
g_sServerIp, g_iServerPort, sFolder);
SB_Query(Query_ServerInsert, sQuery);
}