Code:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Random Ads"
#define VERSION "1.0"
#define AUTHOR "Styles"
#define MAX_STUFF 50
#define MAX_LENGTH 191
new
configsdir[256],
filename[256],
g_AdList[MAX_STUFF][128],
// -------------
g_adAmount,
g_adtime;
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR );
g_adtime = register_cvar( "sv_adtime", "15" );
register_clcmd( "amx_reloadads", "load", ADMIN_KICK, "Reload ad list" );
get_configsdir( configsdir, sizeof( configsdir ) - 1 );
formatex( filename, sizeof( filename ) - 1, "%s/adlist.txt", configsdir );
set_task( get_pcvar_float( g_adtime ), "printAd", 0, _, _, "b" );
load();
}
public load()
{
// -- read the file
new fp = fopen( filename, "rt" );
// -- if the file doesn't exist
if( !fp )
{
server_print( "Inexistent file: ^"%s^"", filename );
return;
}
static buffer[MAX_LENGTH];
while( !feof( fp ) )
{
// -- get a line
fgets( fp, buffer, MAX_LENGTH - 1 );
// -- clean spaces
trim( buffer );
// -- empty line or comment > ignore
if( !buffer[0] || buffer[0] == ';' )
continue;
// -- clean all '"'
replace_all( buffer, MAX_LENGTH - 1, "^"", "" );
// -- save in array
formatex( g_AdList[g_adAmount++], MAX_STUFF - 1, buffer );
}
fclose( fp );
server_print( "[Advertisement Mod] %i ad%s loaded.", g_adAmount, g_adAmount < 2 ? "" : "s" );
}
public printAd()
{
new num = random( g_adAmount );
client_print( 0, print_chat, "%s", g_AdList[num] ) ;
}