É um sistema no qual pode-se inserir um log no banco de dados e ler a todos os logs in-game.
Créditos:
- Pedro Miranda: script;
- BlueG: MySQL Plugin (r20)
- RyDeR`: CTime library
Código:
pawn Code:
#include <a_samp> #include <a_mysql> #include <CTime> new connectionHandle, scriptString[256]; public OnFilterScriptInit() { connectionHandle = mysql_connect("localhost", "root", "sa-mp", ""); if(mysql_ping(connectionHandle) == -1) return SendRconCommand("unloadfs sys_log"); mysql_function_query(connectionHandle, "CREATE TABLE IF NOT EXISTS `sys_log` (`log_date` INT(11) NOT NULL, `log_text` VARCHAR(128) NOT NULL)", false, #, #); return true; } public OnFilterScriptExit() { return mysql_close(connectionHandle); } public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext[1], "lerlogs")) { mysql_function_query(connectionHandle, "SELECT * FROM `sys_log` ORDER BY `log_date` ASC", true, "DisplayLogs", "i", playerid); return true; } return false; } stock InsertLog(const text[]) { mysql_format(connectionHandle, scriptString, sizeof scriptString, "INSERT INTO `sys_log` (`log_date`, `log_text`) VALUES (UNIX_TIMESTAMP(), '%s')", text); mysql_function_query(connectionHandle, scriptString, false, #, #); return true; } DisplayLogs(playerid); public DisplayLogs(playerid) { new num_rows, num_fields; cache_get_data(num_rows, num_fields, connectionHandle); if(!num_rows) return SendClientMessage(playerid, 0xff0000ff, "(!) Não há nenhum log no banco de dados."); new index = -1, timestamp, content[128], tm<tmTime>; SendClientMessage(playerid, 0xffffffff, "Logs:"); while(++index < num_rows) { timestamp = cache_get_field_content_int(index, "log_date", connectionHandle); localtime(Time:timestamp, tmTime); strftime(scriptString, sizeof scriptString, "%d/%m/%Y às %X", tmTime); cache_get_field_content(index, "log_text", content, connectionHandle); format(scriptString, sizeof scriptString, " %s, %s: %s", GetWeekDay(timestamp), scriptString, content); SendClientMessage(playerid, 0xffffffff, scriptString); } return true; } GetWeekDay(timestamp) { new tm<tmTime>, buffer[32]; localtime(Time:timestamp, tmTime); switch(tmTime[tm_wday]) { case 1: buffer = "Segunda-feira"; case 2: buffer = "Terça-feira"; case 3: buffer = "Quarta-feira"; case 4: buffer = "Quinta-feira"; case 5: buffer = "Sexta-feira"; case 6: buffer = "Sábado"; case 7: buffer = "Domingo"; } return buffer; }
Como posso inserir um log na db?
pawn Code:
InsertLog("Pedro Miranda criou o sys_log script."); InsertLog("O script utiliza o MySQL Plugin e o CTime Plugin"); InsertLog("Créditos para RyDeR` e BlueG."); InsertLog("Postado em forum.sa-mp.com");
PS: Não tenho intenção que você use isto. Mas se for o caso, você precisa ao menos saber criar o banco de dados.
Download:
- http://pastebin.com/ZNWvqyzD
By Jason`
0 comentários:
Postar um comentário