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

SET_MESSAGE

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

Модератор: Leonidddd

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

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

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

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

SET_MESSAGE

Сообщение [N][E][M][E][C] » 04 окт 2021, 00:10

Автор: [N][E][M][E][C]
Версия: 0.3
Описание: Данный плагин дает возможность посылать сообщения в чат с интервалом времени!
Цветной чат или обычный настраивается.
Время интервала меняется.
Также можно добавить количество сообщений, или убавить

Код: Выделить всё
#include <amxmodx>
#if AMXX_VERSION_NUM < 183
    #include <colorchat> 
#endif
                          
#pragma semicolon 1
                                    
new const PLUGIN
[] = "SET_MESSAGE";            
new const VERSION
[] = "0.3";                                       
new const AUTHOR
[] = "[N][E][M][E][C]";                                                                                                                         
                                                                                                            
new const Float
:TASKTIME = 30.0; 
                                                 
new const message
[][] = {
    "наша группа ВК.....",                      
    
"IP адрес сервера.....",                                                                
    
"Напоминаем вам о правилах сервера",                                   
    
"У нас много интересного"                                                                 
};                                     
                           
new cl_score
;                                             
new const TASKID 
= 199;
                                                                  
public plugin_init
() {                                                                                   
    register_plugin
(PLUGIN, VERSION, AUTHOR);                                 
                                                               
    set_task
(TASKTIME, "messages", TASKID, .flags = "b");
}
                                                                                                                      
                                                                                                                              
public messages
() {                                                                
    switch
(cl_score) {                                
        case 0
..charsmax(message): {                                                  
            client_print_color
(0, DontChange, "^1[ ^4SERVER ^1] ^3%s", message[cl_score]);                   
                                                                               
            cl_score 
== charsmax(message) ? (cl_score = 0): (++ cl_score);
        }
    } 
}
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось [N][E][M][E][C] 08 окт 2021, 18:32, всего редактировалось 2 раз(а).
Аватара пользователя
[N][E][M][E][C]
Скриптер
 
Сообщения: 505
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 44 раз.
Поблагодарили: 64 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: SET_MESSAGE

Сообщение RockTheStreet » 04 окт 2021, 19:51

Стыдно такие плагины писать с редактированием через исходник. Сейчас полно аналогов, которые имеют редактирование сообщений через ini-файлы, что позволяет не компилировать заново плагин.
Касательно телепатии: если Вы передаете Ваши проблемы телепатическим путем - ответы будут передаваться тоже телепатически.
Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком.
Аватара пользователя
RockTheStreet
 
Сообщения: 56
Зарегистрирован: 12 авг 2021, 23:13
Благодарил (а): 2 раз.
Поблагодарили: 4 раз.
Опыт программирования: Больше трех лет
Языки программирования: JS, PHP

Re: SET_MESSAGE

Сообщение [N][E][M][E][C] » 04 окт 2021, 23:15

Я же говорю 4 таблетки лаперамита ребенок и все пройдет
Самое интересное, я не видел твоей работы не раз и ты еще критикуешь)))
Аватара пользователя
[N][E][M][E][C]
Скриптер
 
Сообщения: 505
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 44 раз.
Поблагодарили: 64 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: SET_MESSAGE

Сообщение RockTheStreet » 04 окт 2021, 23:24

vitalik19842105 писал(а):Самое интересное, я не видел твоей работы не раз и ты еще критикуешь)))

Не аргумент. Я не обязан кому-либо предоставлять свои работы, особенно когда они по большей части ограниченному кругу людей реализовывались и в закрытый доступ.
Вторая попытка будет?
Касательно телепатии: если Вы передаете Ваши проблемы телепатическим путем - ответы будут передаваться тоже телепатически.
Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком.
Аватара пользователя
RockTheStreet
 
Сообщения: 56
Зарегистрирован: 12 авг 2021, 23:13
Благодарил (а): 2 раз.
Поблагодарили: 4 раз.
Опыт программирования: Больше трех лет
Языки программирования: JS, PHP

Re: SET_MESSAGE

Сообщение [N][E][M][E][C] » 05 окт 2021, 00:01

Я знаю как делать настройки не в скрипте, мне нравится так
Аватара пользователя
[N][E][M][E][C]
Скриптер
 
Сообщения: 505
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 44 раз.
Поблагодарили: 64 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: SET_MESSAGE

Сообщение RockTheStreet » 05 окт 2021, 00:10

Знать как что-то делать и понимать как это работает - разные вещи.

Что за магический switch на один кейс? Зачем использовать client_print, когда сток также может посылать 'не разукрашенные' сообщения? Почему сообщения указываются в массиве, а префикс нужно редактировать в самом сообщении а не в дефайне(условно)?

В этом плагине всё по одному месту. Опять же, аналогов в более адекватной реализации полно, потому это ни единая душа не будет использовать(если конечно человек не больной).
Касательно телепатии: если Вы передаете Ваши проблемы телепатическим путем - ответы будут передаваться тоже телепатически.
Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком.
Аватара пользователя
RockTheStreet
 
Сообщения: 56
Зарегистрирован: 12 авг 2021, 23:13
Благодарил (а): 2 раз.
Поблагодарили: 4 раз.
Опыт программирования: Больше трех лет
Языки программирования: JS, PHP

Re: SET_MESSAGE

Сообщение [N][E][M][E][C] » 05 окт 2021, 14:59

Тзнаешь кого ты мне напоминаешь? Маугли посмотри, там есть персонаж, а мы пойдем на север, мы пойдем на север))
Последний раз редактировалось [N][E][M][E][C] 05 окт 2021, 20:07, всего редактировалось 1 раз.
Аватара пользователя
[N][E][M][E][C]
Скриптер
 
Сообщения: 505
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 44 раз.
Поблагодарили: 64 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: SET_MESSAGE

Сообщение [N][E][M][E][C] » 05 окт 2021, 19:45

И если ты не заметил там кейс с интервалом чисел, я не вижу разницы проверки. If и switch
Код: Выделить всё
#include <amxmodx>                                      
                                                          
#define COLOR_MESSAGE
//если закоментировать, сообщение быть не цветное

/*Пример:                                      
#define COLOR_MESSAGE - цветное сообщение  
//#define COLOR_MESSAGE - обычное сообщение */ 
                              
#define PLUGIN "SET_MESSAGE"            
#define VERSION "0.3"                                       
#define AUTHOR "[N][E][M][E][C]"
                                                                                                        
#pragma semicolon 1                                                                                                                    

//настройки:            
new const TASKTIME 30;                    
//промежуток времени, между сообщениями(диапазон времени секундах) 
#if defined COLOR_MESSAGE 
    
new const message[][] = {
        
"^1[ ^4SERVER ^1] ^3наша группа ВК.....",                      
        
"^1[ ^4SERVER ^1] ^3IP адрес сервера.....",                                                                
        
"^1[ ^4SERVER ^1] ^3Напоминаем вам о правилах сервера",                                   
        
"^1[ ^4SERVER ^1] ^3У нас много интересного"                            
    
};
#else
    
new const message[][] = { 
        
"[ SERVER ] наша группа ВК.....",                      
        
"[ SERVER ] IP адрес сервера.....",                                                                
        
"[ SERVER ] Напоминаем вам о правилах сервера",                                   
        
"[ SERVER ] У нас много интересного"
    
};
#endif
//текст сообщений, соощения можно добовлять, так же убовлять 
                                    
new cl_score;              
new 
Floatfloat_time;                                
new const 
TASKID 199;
                                                                  
public 
plugin_init() {                                                                                   
    
register_plugin(PLUGINVERSIONAUTHOR);                                 
                                                                                    
    
float_time float(TASKTIME);                       
    
set_task(float_time"messages"TASKID, .flags "b");
}                                                                                                                      
                                                                                                                              
public 
messages() {                                                                
    switch(
cl_score) {                                
        case 
0..charsmax(message): {                                                 
            
ChatColor(0"%s"message[cl_score]);
                                                                                         
            
cl_score == charsmax(message) ? (cl_score 0): (++ cl_score);
        }
    } 
}

stock ChatColor(const id, const input[], any:...) {
    new 
count 1players[32];                               
    static 
msg[191];
    
    
vformat(msg190input3);
        
    
#if defined COLOR_MESSAGE
        
replace_all(msg,190,"!g""^4");
        
replace_all(msg,190,"!y""^1");
        
replace_all(msg,190,"!t""^3");
    
#endif
    
    
if(id
        
players[0] = id;
        
    else 
        
get_players(playerscount"ch"); 
        
    for (new 
0count++) {
        if (
is_user_connected(players[i])) {
            
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]);
            
write_byte(players[i]);
            
write_string(msg);
            
message_end(); 
        }
    }                                                    
}      

Разницы не ощутил, экономия на спичках
Аватара пользователя
[N][E][M][E][C]
Скриптер
 
Сообщения: 505
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 44 раз.
Поблагодарили: 64 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: SET_MESSAGE

Сообщение RockTheStreet » 05 окт 2021, 20:15

Там switch не нужен от слова совсем. Таском отправляешь сообщения, которые циклом берутся из массива.
Ты пытаешься сделать велосипед без руля.
Касательно телепатии: если Вы передаете Ваши проблемы телепатическим путем - ответы будут передаваться тоже телепатически.
Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком.
Аватара пользователя
RockTheStreet
 
Сообщения: 56
Зарегистрирован: 12 авг 2021, 23:13
Благодарил (а): 2 раз.
Поблагодарили: 4 раз.
Опыт программирования: Больше трех лет
Языки программирования: JS, PHP

Re: SET_MESSAGE

Сообщение [N][E][M][E][C] » 05 окт 2021, 20:35

А чем клиент принт плох, если не пользуешся цветными сообщениями то client print лучше использоватт

Добавлено спустя 1 минуту:
Я не вижу разницы вообще, у каждого человека разный стиль

Добавлено спустя 27 секунд:
Назови хоть одну причину ,чем через такск это будет лучше

Добавлено спустя 5 минут 46 секунд:
Короче твои коментарии мне не интересны вообще, игнор, никаких путных подсказок

Добавлено спустя 6 минут 39 секунд:
Скинь свой вариант, того что я написал и я тебе докажу обратное, это теперь дело принципа
Аватара пользователя
[N][E][M][E][C]
Скриптер
 
Сообщения: 505
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 44 раз.
Поблагодарили: 64 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

След.

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

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

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