Очень простой и легкий в использовании плагин рекламы на сервере, ничего лишнего. Прекрасная замена "ad manager". Что ещё нужно для полного счастья?
Код
#include <amxmodx>
#define Plugin "ChatAdverts" #define Ver "1.0" #define Author "ko1dun" #define TaskID 62945 // ID таймера #define TimerTask 20.0 // таймер
new const g_CycleAdverts[][190] = { "!t50.000 !gБОНУСОВ всего за 100 рублей", "!tПрава !gVIP !tот 150р с превосходными привилегиями", "!t[!nВконтакте!g] !tПо всем вопросам - !thttps://vk.com/gungcz", "!tМеню сервера на !gZ X !tи !gC" }
new CycleStr const MAX_NUMS_CYCLE = sizeof g_CycleAdverts public plugin_init() { register_plugin(Plugin, Ver, Author) set_task(TimerTask,"AdvertCycle",TaskID,.flags = "b") }
public AdvertCycle(){ if(CycleStr>=MAX_NUMS_CYCLE)CycleStr=0 ChatColor(0,g_CycleAdverts[CycleStr]) CycleStr++ }
public plugin_end() remove_task(TaskID) // от безысходности удаляю всё что шевелиться и записывается в память :)
stock ChatColor(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!t", "^x03"); replace_all(msg, 190, "!n", "^x01"); replace_all(msg, 190, "!g", "^x04"); if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]); write_string(msg); message_end(); } } } }
Сообщение отредактировал pro100web - Понедельник, 12.03.2018, 09:38
Раз на то пошло, почему дефолтный сток колорчата пихнул? Ты же знаешь что ты всем отправляешь, зачем собирать сообщения и агрументы, если нет агрументов. Итого ничем не лучше.
#define Plugin "ChatAdverts" #define Ver "1.0" #define Author "ko1dun" #define TaskID 62945 // ID таймера #define TimerTask 20.0 // таймер
new const g_CycleAdverts[][190] = { "!t50.000 !gБОНУСОВ всего за 100 рублей", "!tПрава !gVIP !tот 150р с превосходными привилегиями", "!g[!nВконтакте!g] !tПо всем вопросам - !thttps://vk.com/gungcz" }
new CycleStr const MAX_NUMS_CYCLE = sizeof g_CycleAdverts public plugin_init() { register_plugin(Plugin, Ver, Author) set_task(TimerTask,"AdvertCycle",TaskID,.flags = "b") }
public AdvertCycle(){ if(CycleStr>=MAX_NUMS_CYCLE)CycleStr=0 ChatColor(COLOR_GREEN,g_CycleAdverts[CycleStr]) CycleStr++ }
public plugin_end() remove_task(TaskID) // от безысходности удаляю всё что шевелиться и записывается в память :)