Русское сообщество по скриптингу

Info Connect | Ic

Утвержденные плагины для AMX Mod X администратором/модератором форума.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только работоспособных плагинов для AMX Mod X. Новые плагины нужно выкладывать в разделе "Новые плагины".

Info Connect | Ic

Сообщение RevCrew » 18 фев 2016, 20:50

Автор: RevCrew
Версия: 1.0
Описание: Плагин информирует других игроков о присоединении\отсоединении игрока. При этом можно самому редактировать сообщение. Присутствуют звуки.

Конфиг:
// CS-Suite | InfoConnect

// [RU] Конфигурационный файл
// [RU] Язык - Русский
// [RU] Ic | Выпуск 2015

// [RU] Расположение Файла addons/amxmodx/configs/info_connect.cfg
// [RU] Модуль InfoChat является дополнением к модулю amxmodx

// [RU] Включить Звуки?
// [EN] Enable Sound?
ic_enable_sound "1"

// [RU] Показывать сообщение, если игрок подключается к серверу
// [EN] Display message when player connect to server
ic_enable_connect "0"

// [RU] Показывать сообщение, если игрок зашел на сервер
// [EN] Display message when player putin to server
ic_enable_putin "1"

// [RU] Показывать сообщение, если игрок отключается от сервера
// [EN] Display message when player disconnect to server
ic_enable_disc "1"

// [RU] Плагин распознает следующие обозначения
// %name% - имя игрока
// %steamid% - стим айди игрока
// %ip% - айпи игрока
// %country% - страна
// %connect% - общее кол-во подключений
// %steam% - выводит STEAM если игрок стим и NON-STEAM иначе
// [RU] Цвета
// %4% - зеленый
// %3% - цвет команды
// %1% - обычный цвет

ic_enable_connect_m "%4%* %name% %1%(%3%%steam%%1%) присоединяется - %4%%country%"
ic_enable_putin_m "%4%* %name% %1%(%3%%steam%%1%) присоединился - %4%%country% %1%[%3%%connect% шт%1%]"
ic_enable_disc_m "%4%* %name% %1%(%3%%steam%%1%) отсоединяется - %4%%country%"

echo "CS-Suite | Ic. >> Success Loaded "info_connect.cfg"..."


Approved. //Pain96
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось RevCrew 27 дек 2017, 19:45, всего редактировалось 1 раз.
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Info Connect | Ic

Сообщение Juli » 22 мар 2016, 13:31

Approved
Аватара пользователя
Juli
 
Сообщения: 661
Зарегистрирован: 09 июн 2013, 00:13
Благодарил (а): 140 раз.
Поблагодарили: 250 раз.
Опыт программирования: Больше трех лет

Re: Info Connect | Ic

Сообщение gungame » 23 мар 2016, 11:48

сообщения не показывает при connect и disconnect только звук. :shout:
Аватара пользователя
gungame
 
Сообщения: 1
Зарегистрирован: 22 мар 2016, 10:14
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Info Connect | Ic

Сообщение Juli » 23 мар 2016, 11:56

Небольшие вопросы и советы:
1.
Код: Выделить всё
ChatColor(0, "%s", Message)

Почему бы не (?):
Код: Выделить всё
ChatColor(0, Message)


2. Вместо регистрации кваров, в данном случае, лучше зарегистрировать их в виде команд. В чем плюс? Во-первых, с помощью обработчика мы всегда узнаем, когда команда (квар) была "использована", что при чтении конфига, что при ручном вводе из консоли. Во-вторых, мы лишимся постоянного обращения к get_pcvar_ нативе.
Аватара пользователя
Juli
 
Сообщения: 661
Зарегистрирован: 09 июн 2013, 00:13
Благодарил (а): 140 раз.
Поблагодарили: 250 раз.
Опыт программирования: Больше трех лет

Re: Info Connect | Ic

Сообщение RevCrew » 23 мар 2016, 22:15

Pain96, насчет первого, так как вы написали делать небезопасно. Пруфы щас кидать не буду, ибо можете посмотреть сами.

Насчет второго, пример пожалуйста.
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Info Connect | Ic

Сообщение Juli » 23 мар 2016, 22:27

RevCrew, причем здесь "необязательно" и "пруфы". Пруфы на что? Я вам первым пунктом хочу сказать, что здесь форматирование строки не нужно и достаточно вторым аргументом указать массив, который уже содержит необходимые данные. Не согласны? Ну в таком случае давайте пруфы, как вы и сказали.

По поводу второго пункта. А что тут собственно не понятного? Регистрируете те же самые квары, но в виде команд (register_srvcmd), все квары на один обработчик, в котором с помощью нативы получения аргументов получаете название команды и записываете значение этой команды (в данном случае не просто команды, а надстройки, а-ля квары) в переменную. Тем самым делаем небольшую оптимизацию, убрав постоянное обращение к нативе get_pcvar_* каждое подключение/отключение игроков.
Аватара пользователя
Juli
 
Сообщения: 661
Зарегистрирован: 09 июн 2013, 00:13
Благодарил (а): 140 раз.
Поблагодарили: 250 раз.
Опыт программирования: Больше трех лет

Re: Info Connect | Ic

Сообщение Subb98 » 23 мар 2016, 22:32

Pain96 писал(а):1.
Код: Выделить всё
ChatColor(0, "%s", Message)

Почему бы не (?):
Код: Выделить всё
ChatColor(0, Message)

RevCrew писал(а):Pain96, насчет первого, так как вы написали делать небезопасно.

Всё-таки, хочется увидеть информацию по данному заявлению. Мой опыт показывает, что "небезопасным" является как раз такой:

Код: Выделить всё
ChatColor(0, "%s", Message)

вариант и может работать некорректно в некоторых случаях (в каких именно - сейчас затрудняюсь ответить, нужно тестировать).
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Info Connect | Ic

Сообщение Juli » 23 мар 2016, 22:34

Subb98, тут скорее нет логики, я поэтому и обратила на это внимание. Если бы аргументов было несколько, то форматирование строки имело бы место быть, а здесь же мы содержим уже готовый буфер с отформатированным сообщением, который уже можно использовать, но автор отнесся к моему совету как к критике, почему-то.

Пример, где это "имеет место быть":
Код: Выделить всё
ChatColor(0"^4[Некий префикс]^1 %s"Message
Аватара пользователя
Juli
 
Сообщения: 661
Зарегистрирован: 09 июн 2013, 00:13
Благодарил (а): 140 раз.
Поблагодарили: 250 раз.
Опыт программирования: Больше трех лет

Re: Info Connect | Ic

Сообщение Subb98 » 23 мар 2016, 22:41

Pain96, мне это всё понятно, однако, возможно, RevCrew предоставит какую-то информацию, которая будет свидетельствовать, что данный способ не стоит использовать? Подождём...
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Info Connect | Ic

Сообщение Juli » 23 мар 2016, 22:47

Subb98, в том-то и дело, что тут нет никаких особых нюансов. Дело просто в том, что тут не нужно форматирование строки. :-)
Аватара пользователя
Juli
 
Сообщения: 661
Зарегистрирован: 09 июн 2013, 00:13
Благодарил (а): 140 раз.
Поблагодарили: 250 раз.
Опыт программирования: Больше трех лет

След.

Вернуться в Утвержденные плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11