Главная | Поиск | Чат | Форум | Рынок | | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Уважаемые пользователи, прежде чем открыть новую тему ознакомьтесь пожалуйста с правилами и воспользуйтесь поиском.

Страница 1 из 11
Модератор форума: Cooller^_^, Mushroom, Tiger_ 
Форум Counter Strike » Создание и настройка серверов Cs 1.6 » Общие вопросы по созданию и настройке серверов » Ad manager
Ad manager
san4o703Дата: Понедельник, 2011-10-24, 06:44 | Сообщение # 1
Сообщений: 124
Награды: 7
как сделат так что бы чаще сообщение было по времени , и к примеру за раунд раза 4,5 , разная реклама была как то так)

#include <amxmodx>
#include <amxmisc>

#pragma semicolon 1

new const PLUGIN[] = "Autoresponder/Advertiser";
new const VERSION[] = "0.5";
new const AUTHOR[] = "MaximusBrood";

#define NORM_AD 0
#define SAY_AD 1

#define COND 0
#define STORE 1

#define COND_TKN '%'
#define SAY_TKN '@'

#define COND_STKN "%"
#define DEVIDE_STKN "~"
#define SAY_STKN "@"

//-.-.-.-.-.-.-.-.DEFINES.-.-.-.-.-.-.-.-.-.-.

//Maximum amount of ads
#define MAXADS 64

//Minimum difference between two different ads (float)
new const Float:RAND_MIN = 60.0;

//Maximum difference between two different ads (float)
new const Float:RAND_MAX = 80.0;

//-.-.-.-.-.-.-.-.END DEFINES..-.-.-.-.-.-.-.

//Stores
new sayConditions[MAXADS][3][32];
new normConditions[MAXADS][3][32];
new normStore[MAXADS][128];
new sayStore[MAXADS][2][128];

new gmsgSayText;

//Counters
new adCount[2] = {0, 0};

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);

register_cvar("ad_react_all", "3");

gmsgSayText = get_user_msgid("SayText");

register_clcmd("say","eventSay");
register_clcmd("say_team","eventSay");

//Delay the load proces by 10 sec because we don't want to get more load
//on the already high-load mapchange.
//Too soon to affect players while playing, too late to create time-out @ mapchange
set_task(10.0, "load");
}

public load()
{
//Load the data
new filepath[64];
get_configsdir(filepath, 63);
format(filepath, 63, "%s/advertisements.ini", filepath);

if(file_exists(filepath))
{
new output[512], conditions[128], temp[64], type;

//Open file
new fHandle = fopen(filepath, "rt");

//Checks for failure
if(!fHandle)
return;

//Loop through all lines
for(new a = 0; a < MAXADS && !feof(fHandle); a++)
{
//Get line
fgets(fHandle, output, 511);


//Work away comments
if(output[0] == ';' || !output[0] || output[0] == ' ' || output[0] == 10)
{
//Line is not counted
a--;
continue;
}

//Reset type
type = 0;

//Check if it contains conditions
if(output[0] == COND_TKN)
{
//Cut the conditions off the string
split(output, conditions, 127, output, 511,