21/09/2022 23:06
(Esta mensagem foi modificada pela última vez a: 21/09/2022 23:07 por Dr Editor.)
É uma adaptação da base do colega @Device-Black e necessita finalização, mas a parte do banco de dados está feita.
A callback Query_GetLastPlayerLogInfo necessita a parte de apresentação das informações na tela do jogador. Apenas para efeito demonstrativo deixei com impressão no console apenas.
Para adicionar um log use a função AddPlayerLogInfo(playerid, const msg[]).
Para imprimir as informações basta chamar a função GetLastPlayerLogInfo(playerid) e será retornado os últimos 10 registros do jogador.
Confesso que não testei e provavelmente precisa de uma 'lapidada'.
A callback Query_GetLastPlayerLogInfo necessita a parte de apresentação das informações na tela do jogador. Apenas para efeito demonstrativo deixei com impressão no console apenas.
Para adicionar um log use a função AddPlayerLogInfo(playerid, const msg[]).
Para imprimir as informações basta chamar a função GetLastPlayerLogInfo(playerid) e será retornado os últimos 10 registros do jogador.
Confesso que não testei e provavelmente precisa de uma 'lapidada'.
Código:
new MySQL:conn;
public OnGameModeInit()
{
conn = mysql_connect_file();
mysql_query(conn, "CREATE TABLE IF NOT EXISTS ServerLog (User text(24), Text text(255), Time datetime)", false);
return 1;
}
stock AddPlayerLogInfo(playerid, const msg[])
{
static query[300], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof name);
mysql_format(conn, query, sizeof query, "INSERT INTO ServerLog VALUES ('%e', '%e', curdate())", name, msg);
mysql_tquery(conn, query);
return 1;
}
stock GetLastPlayerLogInfo(playerid)
{
static query[80], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof name);
mysql_format(conn, query, sizeof query, "SELECT text FROM ServerLog WHERE User = '%e' DESC LIMIT 10", name);
mysql_tquery(conn, query, "Query_GetLastPlayerLogInfo", "i", playerid);
return 1;
}
forward Query_GetLastPlayerLogInfo(playerid);
public Query_GetLastPlayerLogInfo(playerid)
{
new rows = cache_num_rows();
if(rows > 0)
{
new tmpLogs[300];
for(new i = 0; i < rows; i ++)
{
cache_get_value_name(i, "Text", tmpLogs, sizeof tmpLogs);
printf(tmpLogs);
}
}
return true;
}
SA:MP Dev Tools
Faça mais, ganhe mais e poupe tempo!
Viper Anti-Cheat
Torne seu servidor mais seguro!
________________________________________
Soluções personalizadas para SA:MP
Discord: .eduardoac | Eduardo AC#3140
Faça mais, ganhe mais e poupe tempo!
Viper Anti-Cheat
Torne seu servidor mais seguro!
________________________________________
Soluções personalizadas para SA:MP
Discord: .eduardoac | Eduardo AC#3140