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

Бот в спектрах (реклама)

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

Модератор: Leonidddd

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

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

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

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

Бот в спектрах (реклама)

Сообщение [N][E][M][E][C] » 23 апр 2021, 00:15

Автор: .......
Версия: 1.0
Описание: Меню для создания и удаления бота.
Флаг доступа admin_menu.
По дефолту 3 бота, есть возможность увеличить или уменьшить количество ботов.
Команда для вызова меню: amx_bot.


Код: Выделить всё
#include <amxmodx> 
#include <amxmisc> 
#include <fakemeta> 
#include <cstrike> 
 
#define PLUGIN "advertising BOT(MENU)" 
#define VERSION "1.0" 
#define AUTOR "[N][E][M][E][C]" 
 
new const FLAGS 
= ADMIN_MENU // флаг доступа к меню 
 
new const g_botNAME
[][] = { 
 
"bot_1", 
 
"bot_2", 
 
"bot_3" 
} 
/* имена ботов для рекламы {количество не ограничено) 
 P.S. Поддерживает только английкие буквы 
 Не забываем то, что каждый бот занимает слот на сервере*/
 
 
new g_bot
[sizeof g_botNAME]; 
new i 
= -1; 
 
new key 
= MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_0 
 
public plugin_init
() { 
 register_plugin
(PLUGIN, VERSION, AUTOR); 
 
 register_clcmd
("amx_bot", "menu_statusBOT"); 
 register_menu
("Menu", key, "MenuFunc"); 
} 
 
public menu_statusBOT
(id) { 
 if
(!(get_user_flags(id) & FLAGS)) { 
 ChatColor
(id, "^1[ ^4SErVER ^1] ^3У вас недостаточно прав"); 
 return
; 
 
} 
 
 static menu
[650], len 
 
 len 
= 0 
 len 
= formatex(menu[len], charsmax(menu) - len, "\wменю \d=>\r|\yADVERTISING\r|\d<=^n^n"); 
 
 len 
+= formatex(menu[len], charsmax(menu) - len, (>= sizeof g_botNAME - 1) ? "\r1\d. |\rнеактивно\d|^n" : "\r1\w. Добавить бота |\r%d\w|^n", charsmax(g_botNAME) - i); 
 key 
|= MENU_KEY_1 
 
 len 
+= formatex(menu[len], charsmax(menu) - len, i < 0 ? "\r2\d. |\rнеактивно\d|^n" : "\r2\w. Удалить бота |\r%d\w|^n", 1 + i); 
 key 
|= MENU_KEY_2 
 
 len 
+= formatex(menu[len], charsmax(menu) - len, "^n\r0\w. Выход"); 
 key 
|= MENU_KEY_0 
 
 show_menu
(id, key, menu, -1, "Menu"); 
} 
 
public MenuFunc
(id, key) { 
 switch
(key) { 
 case 0
: { 
 if
(>= sizeof g_botNAME - 1) 
 menu_statusBOT
(id); 
 
 else 
{ 
 createBOTS
(); 
 menu_statusBOT
(id); 
 
} 
 
} 
 
 case 1
: { 
 if
(< 0) 
 menu_statusBOT
(id); 
 
 else 
{ 
 removeBOTS
(); 
 menu_statusBOT
(id); 
 
} 
 
} 
 
 case 9
: return; 
 
} 
} 
 
createBOTS
() { 
 
++ i; 
 g_bot
[i] = engfunc(EngFunc_CreateFakeClient, g_botNAME[i]); 
 
 dllfunc
(MetaFunc_CallGameEntity, "player", g_bot[i]); 
 set_pev
(g_bot[i], pev_flags, FL_FAKECLIENT); 
 
 set_pev
(g_bot[i], pev_model, ""); 
 set_pev
(g_bot[i], pev_viewmodel2, ""); 
 set_pev
(g_bot[i], pev_modelindex, 0); 
 
 set_pev
(g_bot[i], pev_renderfx, kRenderFxNone); 
 set_pev
(g_bot[i], pev_rendermode, kRenderTransAlpha); 
 set_pev
(g_bot[i], pev_renderamt, 0.0); 
 cs_set_user_team
(g_bot[i], CS_TEAM_UNASSIGNED); 
} 
 
removeBOTS
() { 
 server_cmd
("kick #%d", get_user_userid(g_bot[i])); 
 — i
; 
} 
 
stock ChatColor
(const id,const input[],any:...) { 
 new count 
= 1, players[32]; 
 static msg
[191]; 
 vformat
(msg, 190, input, 3); 
 
 replace_all
(msg,190,"!g", "^4"); 
 replace_all
(msg,190,"!y", "^1"); 
 replace_all
(msg,190,"!t", "^3"); 
 
 if
(id)players[0] = id; else get_players(players,count,"ch"); { 
 for
(new i = 0;< 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
(); 
 
} 
 
} 
 
} 
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

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

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

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