(error #2013) Lost connection to MySQL server during query
#6

Quote:
Originally Posted by Fluid016
Посмотреть сообщение
Si el problema es del hosting, no se deberнa apagar ni rechazar conexiones ni por 1, ni 2 ni 6 segundos, deberнa estar online las 24 horas del dнa sin caнdas, desde pawn lo que puedes hacer es chequear si el servidor estб conectado a la base de datos y si no estб conectado hacer por ejemplo que el servidor no corra o apagarlo, etc.
Si gracias por el link, esque mandй una consulta con INSERT de las casas que estoy haciendo con mysql y me saliу йse problema, la consulta no se mandу por la perdida de conecciуn, asi que tuve que volver a poner el comando nuevamente para mandar la consulta, imaginate que un jugador cuando el servidor ya estese abierto online, al desconectarse y la consulta no se mande, a la mierda todo, entonces creo que es necesariуn ir poniendo todo en йse preciso momento, ejemplo: mandar consulta en el mismo momento cuando se le aumenta/resta el dinero, etc.
їEs riesgozo poner toda la consulta para cojer los datos de todas las variables en el callback Onplayerdisconnect?

Quote:
Originally Posted by LuiisRubio
Посмотреть сообщение
Una soluciуn serнa cambiar la configuraciуn de MySQL (click), o que no mandaras consultas muy largas. Guarda solamente lo que necesites y en el momento que sea necesario.

Ejemplos:

Actualizar las muertes/asesinatos de un jugador en OnPlayerDeath en vez de hacerlo cuando se desconecte:

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    pData[playerid][Muertes]++;
    pData[killerid][Asesinatos]++;
    format(query, sizeof(query), "UPDATE cuentas SET muertes = muertes + 1 WHERE id = %d", pData[playerid][ID]);
    mysql_tquery(conexion, query);
    format(query, sizeof(query), "UPDATE cuentas SET asesinatos = asesinatos + 1 WHERE id = %d", pData[killerid][ID]);
    mysql_tquery(conexion, query);
    return true;
}
Actualizar el nivel del jugador justo cuando use el comando en vez de hacerlo cuando se desconecte:

pawn Код:
CMD:quieroadmin(playerid, params[])
{
   if(IsPlayerAdmin(playerid))
   {
      pData[playerid][Nivel] = 9999;
      format(query, sizeof(query), "UPDATE cuentas SET nivel = %d WHERE id = %d", pData[playerid][Nivel], pData[playerid][ID]);
      mysql_tquery(conexion, query);
   }
   else return SendClientMessage(playerid, -1, "mira que coincidencia, yo tambiйn");
}
Gracias por comentar, como dije arriba, es grabe o riesgoso poner todo en onplayerdisconnect?
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 4 Guest(s)