Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Помогите совместить два плагина

staff2517
сообщение 28.8.2014, 12:25
Сообщение #1
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Всем привет, у меня стоят два плагина new_allchat.amxx и ADMIN_TAG.amxx, первый позволяет видеть живим чат мертвых и на оборот, второй дает приставки к нику в чат (ADMIN, VIP, Гл.Админ) а так-же второй скрывает команды со слешем в чате.
Вся проблема в том что плагин ADMIN_TAG.amxx скрывает слеш только живых игроков(: а когда игрок мертвый, и пишет например (/rs, /me и.т.д) то все это видят. Но когда отключить плагин new_allchat.amxx тогда ADMIN_TAG.amxx работает нормально и скрывает слеши и живим и мертвым игрокам.
P.S. Смена местами в списке plugins.ini не помогла.
new_allchat.sma
#include <amxmodx>

#define NUM_MSG 3

new g_iMsgSayText;
new count[32][32];

public plugin_init()
{
register_plugin( "All Chat", "1.0", "maeStro" );
register_event( "SayText", "catch_say", "b" );

register_cvar( "amx_team_chat_all", "1" ); // Видимость командного чата МЕРТВЫХ и спектров

g_iMsgSayText = get_user_msgid( "SayText" );
}

public catch_say()
{
new message[191], channel[31], sender_name[32];
new reciever = read_data(0);
new sender = read_data(1);

read_data(2,channel,150);
read_data(4,message,150);
get_user_name(sender, sender_name, 31);

count[sender][reciever] = 1;
if( sender == reciever )
{
if( is_channel_all( channel ) || get_cvar_num( "amx_team_chat_all" ) && is_channel_team( channel ) )
{
new players[32];
new player_count = get_playersnum( );
get_players( players, player_count, "c" );
for( new i = 0; i < player_count; i++ )
{
if( count[sender][players[i]] != 1 )
send_message( players[i], sender, channel, sender_name, message );

count[sender][players[i]] = 0;
}
}
}
}

is_channel_all( channel[] )
{
new hit = 0;
static channel_message_all[NUM_MSG][] = { "#Cstrike_Chat_All", "#Cstrike_Chat_AllDead", "#Cstrike_Chat_AllSpec" };
for( new i; i<NUM_MSG; i++ )
{
if( equal( channel, channel_message_all[i] ) )
hit++;
}
return hit;
}

is_channel_team( channel[] )
{
new hit = 0;
static channel_message_team[NUM_MSG][] = { "#Cstrike_Chat_CT_Dead", "#Cstrike_Chat_T_Dead", "#Cstrike_Chat_Spec" };
for( new i; i<NUM_MSG; i++ )
{
if( equal( channel, channel_message_team[i] ) )
hit++;
}
return hit;
}

send_message( reciever, sender, channel[], sender_name[], message[] )
{
message_begin( MSG_ONE_UNRELIABLE, g_iMsgSayText, _, reciever );
write_byte( sender );
write_string( channel );
write_string( sender_name );
write_string( message );
message_end( );
}

ADMIN_TAG.sma
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "AСT"
#define VERSION "1.0"
#define AUTHOR "KsV"

#define VIP ADMIN_LEVEL_H
#define ADMIN ADMIN_RESERVATION
#define GL ADMIN_IMMUNITY

new SzMaxPlayers
new SzSayText
new Messages[192]
new SzName[32]

public plugin_init()
{
register_plugin (PLUGIN , VERSION , AUTHOR)

register_clcmd ("say", "hook_say");
register_clcmd ("say_team", "hook_say_team");

SzSayText = get_user_msgid ("SayText");
SzMaxPlayers = get_maxplayers();

register_message (SzSayText, "arubaid_duplicated");
}

public arubaid_duplicated (msgId, msgDest, receiver)
{
return PLUGIN_HANDLED
}

public hook_say(id)
{
read_args (Messages, 191)
remove_quotes (Messages)

if (Messages[0] == '/' || Messages[0] == '!' || equal (Messages, ""))
return PLUGIN_CONTINUE

new SzAlive = is_user_alive(id);
get_user_name(id, SzName, 31);

if(!is_valid_msg(Messages))
return PLUGIN_CONTINUE;

if(!(get_user_flags(id) & ADMIN) && !(get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
(SzAlive ? format(Messages, 191, "^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* ^3%s : ^1%s", SzName, Messages))

if((get_user_flags(id) & ADMIN) && !(get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
(SzAlive ? format(Messages, 191, "^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))

if(!(get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
(SzAlive ? format(Messages, 191, "^1[^4VIP^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* ^1[^4VIP^1] ^3%s : ^1%s", SzName, Messages))

if((get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
(SzAlive ? format(Messages, 191, "^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))

if((get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && (get_user_flags(id) & GL))
(SzAlive ? format(Messages, 191, "^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* ^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages))



for(new i = 1; i <= SzMaxPlayers; i++){
if(!is_user_connected(i))
continue;
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i)){
message_begin(MSG_ONE, SzSayText, {0, 0, 0}, i);
write_byte(id);
write_string(Messages);
message_end();} }
return PLUGIN_CONTINUE;
}

public hook_say_team(id)
{
read_args (Messages, 191)
remove_quotes (Messages)

if (Messages[0] == '/' || Messages[0] == '!' || equal (Messages, ""))
return PLUGIN_CONTINUE

new SzPlayerTeam = get_user_team(id);
new SzAlive = is_user_alive(id);
get_user_name(id, SzName, 31);

if(!is_valid_msg(Messages))
return PLUGIN_CONTINUE;

if(!(get_user_flags(id) & ADMIN) && !(get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
{
if( get_user_team( id ) == 2 )
(SzAlive ? format(Messages, 191, "^1(Counter-Terrorist) ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Counter-Terrorist) ^3%s : ^1%s", SzName, Messages))
if( get_user_team( id ) == 1 )
(SzAlive ? format(Messages, 191, "^1(Terrorist) ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Terrorist) ^3%s : ^1%s", SzName, Messages))
}

if((get_user_flags(id) & ADMIN) && !(get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
{
if( get_user_team( id ) == 2 )
(SzAlive ? format(Messages, 191, "^1(Counter-Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Counter-Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))
if( get_user_team( id ) == 1 )
(SzAlive ? format(Messages, 191, "^1(Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))
}

if(!(get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
{
if( get_user_team( id ) == 2 )
(SzAlive ? format(Messages, 191, "^1(Counter-Terrorist) ^1[^4VIP^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Counter-Terrorist) ^1[^4VIP^1] ^3%s : ^1%s", SzName, Messages))
if( get_user_team( id ) == 1 )
(SzAlive ? format(Messages, 191, "^1(Terrorist) ^1[^4VIP^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Terrorist) ^1[^4VIP^1] ^1%s : ^1%s", SzName, Messages))
}

if((get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && !(get_user_flags(id) & GL))
{
if( get_user_team( id ) == 2 )
(SzAlive ? format(Messages, 191, "^1(Counter-Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Counter-Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))
if( get_user_team( id ) == 1 )
(SzAlive ? format(Messages, 191, "^1(Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Terrorist) ^1[^4ADMIN^1] ^3%s : ^1%s", SzName, Messages))
}

if((get_user_flags(id) & ADMIN) && (get_user_flags(id) & VIP) && (get_user_flags(id) & GL))
{
if( get_user_team( id ) == 2 )
(SzAlive ? format(Messages, 191, "^1(Counter-Terrorist) ^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Counter-Terrorist) ^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages))
if( get_user_team( id ) == 1 )
(SzAlive ? format(Messages, 191, "^1(Terrorist) ^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages) : format(Messages, 191, "^1*DEAD* (Terrorist) ^1[^4ШЕФ:)^1] ^3%s : ^1%s", SzName, Messages))
}

for(new i = 1; i <= SzMaxPlayers; i++){
if(!is_user_connected(i))
continue;
if(get_user_team(i) != SzPlayerTeam)
continue;
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i)){
message_begin(MSG_ONE, SzSayText, {0, 0, 0}, i);
write_byte(id);
write_string(Messages);
message_end();} }
return PLUGIN_CONTINUE;
}

bool:is_valid_msg(const Messages[]){
if( Messages[0] == '@'
|| !strlen(Messages)){ return false; }
return true;}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя mcrc
сообщение 29.8.2014, 3:45
Сообщение #2


Стаж: 12 лет

Сообщений: 70
Благодарностей: 6
Полезность: 70

Вот этот плагин совмещает в себе все перечисленные функции:
https://c-s.net.ua/forum/topic64464.html?hl=lite+translit
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: