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?