Adverts Message

пазлик~

Разработчик
Регистрация
8 Июн 2017
Сообщения
182
Симпатии
106
Пол
Мужской
#1
Автор: pUzzlik
Текущая версия: 1.0

Описание:
Привет всем, представляю вам универсальный плагин Adverts Message. Чем он универсален спросите вы, да тем что на даный момент он умеет почти все, в паблике аналогов не встречал, прошлая версия была DHUD_Adverts 1.3.1, но поскольку исходники не сохранились на форуме я решил выложить уже модернезированую версию с добавлением рекламы еще и в чат, настроил таким образом что в чат выводит рекламу только игрокам которые живы, а в DHUD только мертвым.

Возможности:
  • Гибкие настройки.
  • Показ рекламы в DHUD и в чат.
  • Плагин можно настроить для любого рода использования, как для живих так и для мертвых смотрите настройки и описание внутри.
  • Можно без особых знаний скриптинга настроить DHUD расположения рекламы на экране и время показа сообщений.
    • Из минусов могу сказать что нет .ini где можно вписывать рекламу на лету, но мне вроде никаких проблем это не представляет.
Настройки:
PHP:
/****************** Setting USER_FLAGS *******************
*    a - Не считать мертвых
*    b - Не считать живых
*    c - Не считать ботов
*    d - Не считать реальных игроков
*    e - Соответствие с командой
*    f - Соответствие с частью имени ( клантегом например)
*    g - Игнорирование регистра
*    h - Не считать HLTV
**********************************************************/

#define DHUD_USER_FLAGS "bch"    // Кому выводить DHUD сообщения, по дефолту только мертвым, для откл. этого типа рекламы закомментируйте строку
#define CHAT_USER_FLAGS "ach"    // Кому выводить рекламу в чат, по дефолту только живым, для откл. этого типа рекламы закомментируйте строку

#if defined DHUD_USER_FLAGS
    #define DHUD_TIMESHOW 10.0    // Время отображения DHUD сообщения
    #define DHUD_INTERVAL 11.0    // Интервал отображения DHUD сообщения, не ниже чем TIMESHOW иначе сообщения будут перекрываться
    #define X -1.0    // Координата X, идёт слева направо, 0.0 слева, 1.0 справа, -1.0 по центру
    #define Y 0.15    // Координата Y, идёт сверху вниз, 0.0 сверху, 1.0 снизу, -1.0 по центру
#endif

#if defined CHAT_USER_FLAGS
    #define CHAT_INTERVAL 30.0    // Интервал отображения сообщения в чате
#endif

Установка:
  • Скачиваете исходник
  • Открываете его чтобы настроить на свое усмотрение
  • Заливаете на сервер и прописываете в plugins.ini
  1. Плагин тестировался на версии amxx 1.8.3 и по сей день ошибок не обнаружено, при компиляции на 1.8.2 в папке include должны лежать такие инклуды как dhudmessage и colorchat.
  2. При редактировании сообщений g_szMsg_Dead[][] и g_szMsg_Chat[][] помните что реклама добавляется в кавычках через кому но после посл. сообщения комы стоять не должно!!! А также чтобы добавить сообщение в кавычках используйте символ ^
    • Пример: "Ваша мега-пупер-реклама ^"Ваш текст в кавычках^" продолжение мега-пупер-рекламы"
  3. При редактировании флагов DHUD_USER_FLAGS или CHAT_USER_FLAGS внимательно прочтите следующее Adverts Message
 

Вложения

Последнее редактирование: пазлик~

kasperch1k

Пользователь
Регистрация
8 Июн 2017
Сообщения
109
Симпатии
30
Пол
Мужской
#2
а этот старый у тебя остался вроде назывался он dhud_message_dead с /vk который был а то потерял)
 

пазлик~

Разработчик
Регистрация
8 Июн 2017
Сообщения
182
Симпатии
106
Пол
Мужской
#3

Вложения

sonyx

Пользователь
Регистрация
8 Июн 2017
Сообщения
496
Симпатии
240
#4
пазлик~, при DHUD_USER_FLAGS или CHAT_USER_FLAGS с флагом e не хватает параметра команды, иначе будут лезть ошибки.
 

пазлик~

Разработчик
Регистрация
8 Июн 2017
Сообщения
182
Симпатии
106
Пол
Мужской
#5
sonyx, Флаги стоят для ознакомительных целей, более подробно узнать можно тут get_players · amxmodx · AMX Mod X Scripting API Reference
По факту для работы функционала плагина хватает 4 флага.
PHP:
/**** Setting USER_FLAGS ****
*    a - Не считать мертвых
*    b - Не считать живых
*    c - Не считать ботов
*    h - Не считать HLTV
******************************/
 
Последнее редактирование: пазлик~

sonyx

Пользователь
Регистрация
8 Июн 2017
Сообщения
496
Симпатии
240
#6
пазлик~, это я все понимаю, но лучше сделать "защиту от дурака" и если указан флаг с доппараметром, то проверить его наличие, иначе вернуть другой флаг.
 

пазлик~

Разработчик
Регистрация
8 Июн 2017
Сообщения
182
Симпатии
106
Пол
Мужской
#7
sonyx, Не особо понимаю о чем вы, но защиту включил в первом посте в FAQ, кто не читает ихние проблемы. Но скажу вкратце обычные юзеры особо не изменяют настройки, а тот кто уже лезит тот уже что то будет шарить что творит.
 

пазлик~

Разработчик
Регистрация
8 Июн 2017
Сообщения
182
Симпатии
106
Пол
Мужской
#9
KoSt9N, Збс, скрин где? или я шар гадалку маю крутить?
 

KoSt9N

Пользователь
Регистрация
8 Июн 2017
Сообщения
192
Симпатии
2
#10

пазлик~

Разработчик
Регистрация
8 Июн 2017
Сообщения
182
Симпатии
106
Пол
Мужской
#11
KoSt9N, Как и всегда :)
 

пазлик~

Разработчик
Регистрация
8 Июн 2017
Сообщения
182
Симпатии
106
Пол
Мужской
#13
SonG, Ну на момент написания плагина аналогов не было! Да и исп. Awersome messages я б не стал, хоть там он чуток функциональней, но как говорит неугомон "Regex шляпа", да и по коду он немного будет проигрывать в скорости и памяти больше исп. чем мой.
 

GIT

Пользователь
Регистрация
9 Июн 2017
Сообщения
99
Симпатии
4
Пол
Мужской
#14
А скрин есть ?
 

пазлик~

Разработчик
Регистрация
8 Июн 2017
Сообщения
182
Симпатии
106
Пол
Мужской
#16
fantom, методом, можете профилирование запустить.
4 Июл 2017
fantom, и да не воспринимайте все так буквально, это лишь сугубо мое личное мнение, оба варианты имеют свои плюсы и минусы я всего лишь выразил свое мнение какой вариант для меня оптимальный.
 

GrafkO

Пользователь
Регистрация
9 Июн 2017
Сообщения
64
Симпатии
4
Пол
Мужской
#17

пазлик~

Разработчик
Регистрация
8 Июн 2017
Сообщения
182
Симпатии
106
Пол
Мужской
#18
GrafkO, За отправку сообщений client_print(player, print_console Kek:)
 

GrafkO

Пользователь
Регистрация
9 Июн 2017
Сообщения
64
Симпатии
4
Пол
Мужской
#19

Slowpoked

Заблокированные
Регистрация
8 Июн 2017
Сообщения
42
Симпатии
11
#20
Код:
client_print(iPlayer, print_console, "*** %s ***", g_szMsg_Dead[g_iNumberMessage]);
Если мы используем сообщение с переносом ^n = то в консоли оно будет иметь паршивый вид ... :(