Korzystałem już z tego, lecz z "rozszerzonej wersji";
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <dbi>
#define PLUGIN "IPLog"
#define VERSION "1.0"
#define AUTHOR "RaYden"
new g_sqlHost[66]
new g_sqlUser[36]
new g_sqlPass[46]
new g_sqlDb[26]
new g_sqlTable[64] = "Steam IDs and IPs"
new Sql:sql
new Result:result
new bool:g_boolsqlOK = false
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(0.4,"SetSQL")
}
public SetSQL()
{
get_cvar_string("amx_sql_host",g_sqlHost,65)
get_cvar_string("amx_sql_user",g_sqlUser,35)
get_cvar_string("amx_sql_pass",g_sqlPass,45)
get_cvar_string("amx_sql_db",g_sqlDb,25)
new szError[36]
sql = dbi_connect(g_sqlHost,g_sqlUser,g_sqlPass,g_sqlDb,szError,35)
if (sql <= SQL_FAILED)
{
log_amx("[Command Log] Couldn't connect to Database^nUsing Host:%s , User %s , db %s",g_sqlHost,g_sqlUser,g_sqlPass,g_sqlDb)
g_boolsqlOK = false
dbi_close(sql)
return
}
dbi_query(sql,"CREATE TABLE IF NOT EXISTS `%s` ( `name` VARCHAR( 36 ), `auth` VARCHAR( 32 ) NOT NULL, `ip` VARCHAR( 32 ) NOT NULL, `date` VARCHAR( 32 ) NOT NULL, `time` VARCHAR( 32 ) NOT NULL,`serverip` VARCHAR( 36 ) NOT NULL,`map` VARCHAR( 36 ) NOT NULL ) COMMENT = 'Steam Id and IP Log Table' ",g_sqlTable)
g_boolsqlOK = true
return
}
public client_authorized(id)
{
if(is_user_bot(id)) return PLUGIN_CONTINUE;
new Name[33],AdminIP[32],SteamID[33], ServerIP[32]
get_user_name(id, Name, 32)
get_user_ip(id, AdminIP, 15)
get_user_authid(id , SteamID , 32)
get_cvar_string("ip", ServerIP, 31)
LogSQL(id,AdminIP,ServerIP)
//log_to_file("IPLog.txt"," Name: %s | STEAMID: %s | IP: %s ^n",Name,SteamID,ip)
return PLUGIN_CONTINUE
}
public LogSQL(AdminID , AdminIP[32] , ServerIP[32])
{
if(!g_boolsqlOK)
return PLUGIN_CONTINUE
new szAdminName[36], szAdminAuth[32],szDate[26],szMap[36],szTime[16],szServerIP[32]
new szAdminIP[31]
get_user_name(AdminID,szAdminName,35)
remove_quotes(szAdminName)
while(replace(szAdminName,35,"'","")) { }
get_user_authid(AdminID,szAdminAuth,31)
//get_user_ip(AdminIP, szAdminIP, 30, 0)
get_time("%m-%d-%Y",szDate,25)
get_time("%H:%M:%S",szTime,15)
get_mapname(szMap,35)
//if(szArgs[0] == 0)
// format(szArgs,100,"[i]None[/i]")
new szError[126]
result = dbi_query(sql,"INSERT INTO `%s` (`name`,`auth`,`ip`,`date`,`time`,`serverip`,`map`) VALUES ('%s','%s','%s','%s','%s','%s','%s');",g_sqlTable,szAdminName,szAdminAuth,AdminIP,szDate,szTime,ServerIP,szMap)
if(result == RESULT_FAILED)
{
dbi_error(sql,szError,125)
server_print("[Command Log] Couldn't insert new row.^nError:^n^"%s^"^n",szError)
server_print("[Command Log] Stopping continuation of Command Logging.")
dbi_free_result(result)
dbi_close(sql)
g_boolsqlOK = false
}
dbi_free_result(result)
return PLUGIN_CONTINUE
}