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

Обнуление счета + реклама в чат

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

Модератор: Leonidddd

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

Данный раздел форума служит для добавления новых плагинов в базу нашего форума. После того, как администратор/модератор утвердит плагин, он будет перемещен в раздел "Утвежденные плагины".

Правила при добавлении новых плагинов:

1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. Обязательно выкладывайте исходник sma плагина. Запрещено выкладывать amxx файл.
4. Обязательно указывайте настоящих авторов плагина, если вы использовали чьи-то наработки или функции, указывайте их авторов в сообщении.
5. Необходимо заполнять детальную информацию о плагине (версию, настройки, используемые модули, список изменений и другую).

Вы уже скачали RESET???

да
1
50%
нет
1
50%
 
Всего голосов : 2

Обнуление счета + реклама в чат

Сообщение vitalik19842105 » 09 апр 2021, 00:23

Версия: 1.0
Описание: Обнуление счёта происходит только, когда смерти не равны нулю.
В чате не видно текста, когда игрок написал команду вызова.
Каждые 30 секунд кидает рекламу в чат.
Так же можно отключить показ рекламных сообщений.
Имеются настройки этого времени, также можно увеличить количество рекламных сообщений.
В консоле сервера:
amx_message_rs 1 включаем показ сообщений (дефолтное значение)
amx_message_rs 0 отключаем
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
vitalik19842105
 
Сообщения: 235
Зарегистрирован: 14 фев 2021, 10:48
Предупреждения: 1
Благодарил (а): 30 раз.
Поблагодарили: 26 раз.
Опыт программирования: Меньше недели
Языки программирования: Нуждаюсь в помощи

Re: Обнуление счета + реклама в чат

Сообщение Kumozya » 27 май 2021, 13:08

:thumbs_up
Аватара пользователя
Kumozya
 
Сообщения: 1
Зарегистрирован: 26 май 2021, 18:34
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю

Re: Обнуление счета + реклама в чат

Сообщение Leonidddd » 27 май 2021, 23:36

Данный плагин прилично так устарел. Не помешал бы .ini файл, с которого подгружались бы рекламные сообщения, далеко не все серверодержатели полезут в исходный код и станут компилировать плагин ради этого. Можно избавиться от cstrike и fun модуля и использовать reapi. Вместо time_TASK стоило бы добавить квар, для того, чтобы из amxx.cfg(к примеру), подгружать своё значение интервала рекламы. Сток вывода в чат устаревший, вместо цикла по всем, можно было бы слать мессагу через MSG_ALL или вовсе использовать стандартный client_print(0, print_chat, ...); .
Аватара пользователя
Leonidddd
Модератор
 
Сообщения: 2551
Зарегистрирован: 08 апр 2012, 18:13
Откуда: г. Запорожье
Благодарил (а): 190 раз.
Поблагодарили: 716 раз.

Re: Обнуление счета + реклама в чат

Сообщение vitalik19842105 » 28 май 2021, 20:54

Добрый вечер, а чем сток плох? Это просто вопрос, упростить код немного? Помойму счас сервера вышли на другой уровень и для них это пыль, я согласен, код нужно оптимизировать, но это больше для навыков
Аватара пользователя
vitalik19842105
 
Сообщения: 235
Зарегистрирован: 14 фев 2021, 10:48
Предупреждения: 1
Благодарил (а): 30 раз.
Поблагодарили: 26 раз.
Опыт программирования: Меньше недели
Языки программирования: Нуждаюсь в помощи

Re: Обнуление счета + реклама в чат

Сообщение Leonidddd » 29 май 2021, 16:30

vitalik19842105, как минимум тем, что можно модульными возможностями Amxx ( а именно о MSG_ALL/0, как писал выше) провести цикл по всем игрокам, плюс get_user_msgid("SayText") не сохранен в plugin_init() и каждый раз приходится его получать. Чем лучше нэтивные ф-ции? Тем, что там используются возможности c++ модулей, где они в сотни, а то и тысячи раз быстрее выполняются и куда меньше ресурсов потребляют, в отличии от плагина. Ну и если плодить сотни стоков(в различных мелких плагинов коих валом), когда можно использовать нэтивные ф-ции амхх, то ресурсов серверу надо куда больше, чем если бы без таких стоков. Ну и в последним момент заметил, что при get_players уже и не нужна проверка is_user_connected, ибо там "мгновенно" произойдет выполнение цикла и за сотую секунду(или чет около того), вряд ли кто успеет выйти.
Аватара пользователя
Leonidddd
Модератор
 
Сообщения: 2551
Зарегистрирован: 08 апр 2012, 18:13
Откуда: г. Запорожье
Благодарил (а): 190 раз.
Поблагодарили: 716 раз.

Re: Обнуление счета + реклама в чат

Сообщение vitalik19842105 » 06 июл 2021, 00:45

Leonidddd писал(а):Данный плагин прилично так устарел. Не помешал бы .ini файл, с которого подгружались бы рекламные сообщения, далеко не все серверодержатели полезут в исходный код и станут компилировать плагин ради этого. Можно избавиться от cstrike и fun модуля и использовать reapi. Вместо time_TASK стоило бы добавить квар, для того, чтобы из amxx.cfg(к примеру), подгружать своё значение интервала рекламы. Сток вывода в чат устаревший, вместо цикла по всем, можно было бы слать мессагу через MSG_ALL или вовсе использовать стандартный client_print(0, print_chat, ...); .

А так можно или нет????
Код: Выделить всё
stock ChatColor(const id, const input[], any:...) {                               
    static 
msg[191];
    new 
indexmsgType;
                                                        
    
vformat(msg190input3);                  
    
replace_all(msg190"!g""^4");   
    
replace_all(msg,190"!y""^1");
    
replace_all(msg,190"!t""^3");           
                                                          
    if(
id) {                                                   
        
msgType MSG_ONE;
        
index id;
    }
    
    else {                        
        
msgType MSG_ALL;
        
index ALL_idPlayer();
    }     
    
    
message_begin(msgTypeget_user_msgid("SayText"), _index);
    
write_byte(index);
    
write_string(msg);
    
message_end()
}                     
                         
ALL_idPlayer() {
    new 
= -1
                      
    while(
get_maxplayers() + 1)
   
    if(
is_user_connected(i))
       return 
i;
  
    return -
1;
Аватара пользователя
vitalik19842105
 
Сообщения: 235
Зарегистрирован: 14 фев 2021, 10:48
Предупреждения: 1
Благодарил (а): 30 раз.
Поблагодарили: 26 раз.
Опыт программирования: Меньше недели
Языки программирования: Нуждаюсь в помощи


Вернуться в Добавленные новые плагины

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

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