Tutaj kod z amxbansa, chyba cały wyciągnołem
enum MFHANDLE_TYPES {
Amxbans_Sql_Initialized=0,
}
new MFHandle[MFHANDLE_TYPES]
public plugin_cfg() {
create_forwards()
set_task(0.1, "delayed_plugin_cfg")
}
create_forwards() {
MFHandle[Amxbans_Sql_Initialized]=CreateMultiForward("amxbans_sql_initialized",ET_IGNORE,FP_CELL,FP_STRING)
}
public delayed_plugin_cfg()
{
get_pcvar_string(pcvarprefix,g_dbPrefix,charsmax(g_dbPrefix))
SQL_SetAffinity("mysql")
info = SQL_MakeStdTuple()
new ret
ExecuteForward(MFHandle[Amxbans_Sql_Initialized],ret,info,g_dbPrefix)
}
public amxbans_sql_initialized(Handle:sqlTuple,dbPrefix[]) {
copy(g_dbPrefix,charsmax(g_dbPrefix),dbPrefix)
if(g_SqlX != Empty_Handle) {
log_amx("[AMXBans Error] DB Info Tuple from amxbans_core initialized twice!!")
return PLUGIN_HANDLED
}
g_SqlX=sqlTuple
if ( get_pcvar_num(pcvar_debug) >= 1 )
log_amx("[AMXBans] Received DB Info Tuple from amxbans_core: %d | %s", sqlTuple,g_dbPrefix)
if(g_SqlX==Empty_Handle) {
log_amx("[AMXBans Error] DB Info Tuple from amxbans_main is empty! Trying to get a valid one")
new host[64], user[64], pass[64], db[64]
get_cvar_string("amx_sql_host", host, 63)
get_cvar_string("amx_sql_user", user, 63)
get_cvar_string("amx_sql_pass", pass, 63)
get_cvar_string("amx_sql_db", db, 63)
g_SqlX = SQL_MakeDbTuple(host, user, pass, db)
get_cvar_string("amx_sql_prefix",g_dbPrefix,charsmax(g_dbPrefix))
}
return PLUGIN_HANDLED
}
forward amxbans_sql_initialized(Handle:sqlTuple,dbPrefix[]);