03/01/2021, 10:59 PM
Hola que tal ! estoy pasando un top de PrepareQuery a ThreadQuery pero tengo un problema ya que el top simplemente no abre y no veo cual sea el problema del porque no abre.
Dejo partes del código ya que es extenso ojala me puedan ayudar.
el top que tenia antes era este:
https://forums.alliedmods.net/showthread.php?t=202522
Dejo partes del código ya que es extenso ojala me puedan ayudar.
el top que tenia antes era este:
https://forums.alliedmods.net/showthread.php?t=202522
Código PHP:
public checkPro15(id) {
new szTabla[200], iData[2], iMap[64];
get_mapname(iMap, charsmax(iMap))
iData[0] = id;
iData[1] = PRO_15;
formatex(szTabla, charsmax(szTabla), "SELECT * FROM '%s' WHERE mapname='%s' ORDER BY time ASC LIMIT 15;", szPro, iMap)
SQL_ThreadQuery(g_SqlTuple, "DataHandler", szTabla, iData, 2)
/*
if(g_block_top_menu[0]) {
printf(id, "!yEl Pro15 esta vacio.");
return PLUGIN_HANDLED;
}
menu_display(id, g_pro15menu)
return PLUGIN_HANDLED;
*/
}
public checkNub15(id) {
new szTabla[200], iData[2], iMap[64];
get_mapname(iMap, charsmax(iMap))
iData[0] = id;
iData[1] = NUB_15;
formatex(szTabla, charsmax(szTabla), "SELECT * FROM '%s' WHERE mapname='%s' ORDER BY time ASC LIMIT 15;", szNub, iMap)
SQL_ThreadQuery(g_SqlTuple, "DataHandler", szTabla, iData, 2)
/*
if(g_block_top_menu[1]) {
printf(id, "!yEl Nub15 esta vacio.");
return PLUGIN_HANDLED;
}
menu_display(id, g_nub15menu)
*/
return PLUGIN_HANDLED;
}
public DataHandler(failstate, Handle:Query, error[], error2, Data[], datasize, Float:time) {
new id;
id = Data[0];
if(!is_user_connected(id)) return;
switch(failstate) {
case TQUERY_CONNECT_FAILED: {
log_to_file("SQL_LOG_TQ.txt", "Error en la conexion al SQL [%i]: %s", error2, error );
return;
}
case TQUERY_QUERY_FAILED:
log_to_file("SQL_LOG_TQ.txt", "Error en la consulta al SQL [%i]: %s", error2, error );
}
switch(Data[1])
{
case PRO_15:
{
new szBuffer[1536], i, sName[32], sPosition[5];
new Float:iTime, Float:iSec, iMin, iWeapon[32], iFecha[25];
if(SQL_NumResults(Query)) {
g_pro15menu = menu_create("\r[\dKreedZ-CL\r]\w Pro15", "h_pro15");
// g_block_top_menu[0] = 0;
while(SQL_MoreResults(Query)) {
i++
SQL_ReadResult(Query, 2, sName, charsmax(sName));
SQL_ReadResult(Query, 3, iTime)
SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "weapon"), iWeapon, charsmax(iWeapon));
SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "fecha"), iFecha, charsmax(iFecha));
iMin = floatround(iTime, floatround_floor)/60
iSec = iTime - (60*iMin);
num_to_str(i, sPosition, charsmax(sPosition));
formatex(szBuffer, charsmax(szBuffer), "\r#%s \w%s \y%02d:%s%.5f \d[%s] \w%s", sPosition, sName, iMin, iSec < 10 ? "0": "", iSec, iWeapon, iFecha);
menu_additem(g_pro15menu, szBuffer);
SQL_NextRow(Query);
}
menu_setprop(g_pro15menu, MPROP_NEXTNAME, "Siguiente");
menu_setprop(g_pro15menu, MPROP_BACKNAME, "Atras");
menu_setprop(g_pro15menu, MPROP_EXITNAME, "Salir");
SQL_FreeHandle(Query);
}
/*
else
{
g_block_top_menu[0] = 1;
SQL_FreeHandle(Query);
}
*/
}
case NUB_15:
{
new szBuffer[1536], i, sName[32], sPosition[5];
new Float:iTime, Float:iSec, iMin, iWeapon[32], iFecha[25];
if(SQL_NumResults(Query)) {
g_nub15menu = menu_create("\r[\dKreedZ-CL\r]\w Nub15", "h_nub15");
// g_block_top_menu[1] = 0;
while(SQL_MoreResults(Query)) {
i++
SQL_ReadResult(Query, 2, sName, charsmax(sName));
SQL_ReadResult(Query, 3, iTime)
SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "weapon"), iWeapon, charsmax(iWeapon));
SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "fecha"), iFecha, charsmax(iFecha));
iMin = floatround(iTime, floatround_floor)/60
iSec = iTime - (60*iMin);
num_to_str(i, sPosition, charsmax(sPosition));
formatex(szBuffer, charsmax(szBuffer), "\r#%s \w%s \y%02d:%s%.5f \d[%s] \w%s", sPosition, sName, iMin, iSec < 10 ? "0": "", iSec, iWeapon, iFecha);
menu_additem(g_nub15menu, szBuffer);
SQL_NextRow(Query);
}
menu_setprop(g_nub15menu, MPROP_NEXTNAME, "Siguiente");
menu_setprop(g_nub15menu, MPROP_BACKNAME, "Atras");
menu_setprop(g_nub15menu, MPROP_EXITNAME, "Salir");
SQL_FreeHandle(Query);
}
/*
else
{
g_block_top_menu[1] = 1;
SQL_FreeHandle(Query);
}
*/
}
}
}