Поиск Разделение voice чата

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
4
Реакции
0
Ищу плагин для разделения голосового чата.
1)Живые не слышат мертвых
2)Мертвые слышат живых
3)Админы могут слышать весь чат
 
Сообщения
4
Реакции
0
SonG, мне не нужны функции /mute и /gag,которые в этом плагине.Мне нужно просто ограничения голосового чата.
 
Сообщения
2,843
Реакции
1,666
Помог
75 раз(а)
SonG, только хотел исход кинуть, так как стимул по моему запросу делал его )
 
Сообщения
164
Реакции
13
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
я читаю комменты плагина стимула...говорят не работает .. боюсь тестить.. она работает ребят или нет? на рехлд работает ?
 
Сообщения
342
Реакции
65
Помог
6 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
вон шел чет патчил, у него спроси, должны работать
 
Сообщения
2,722
Реакции
2,997
Помог
60 раз(а)
ops244, это вообще к этой теме?!

csparena ,Scorpion42rus,

Я не вижу причин, чтобы этот код не сработал на ReHLDS и прочих.
То есть он рабочий.
Код:

/*
* Обновление 28.02.2015
* v1.4 - Добавлен иммунитет для админов
* v1.5 - Исправлен выход индекса за пределы массива
* v1.6 - Сделано это:
* можешь для меня лично сделать так:
* живые СТ слышат живых СТ, Т
* живые Т слышат живых Т, СТ
* мертвые СТ слышат всех
* мертвые Т слышат всех
* инфа 5 сек
* админы слышат всех и могут говорить всем
* флаг для админа ADMIN_BAN
*
* Если ваша версия AMXX ниже 1.8.3, используйте colorchat.inc из архива
*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#if AMXX_VERSION_NUM < 183
#include <colorchat>

#define client_print_color ColorChat
#define print_team_red RED
#endif

#define PLUGIN "Voice Manager"
#define VERSION "1.6"
#define AUTHOR "Stimul"

#define get_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2) (%1 |= (1 << (%2 & 31)))
#define reset_bit(%1,%2) (%1 &= ~(1 << (%2 & 31)))

#define m_iTeam 114
#define fm_cs_get_user_team_index(%1) get_pdata_int(%1, m_iTeam)

#define MAX_CLIENTS 32

#define ACCESS_LEVEL ADMIN_BAN // Все флаги смотрите в amxconst.inc

new g_bIsConnected;
new g_bIsAlive;
new g_bIsAdmin;
new g_bInfo;

new g_iTeam[MAX_CLIENTS+1];

new g_pImmunity;

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

/*
Иммунитет для админов
* 1 - включен
* 0 - выключен
*/

g_pImmunity = register_cvar("vm_immunity", "1");

RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", true);
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled_Post", true);

register_forward(FM_Voice_SetClientListening, "fw_Voice_SetClientListening");
}

public fw_PlayerSpawn_Post(id)
{
if(is_user_alive(id))
{
set_bit(g_bIsAlive, id);

g_iTeam[id] = fm_cs_get_user_team_index(id);
}
}

public fw_PlayerKilled_Post(id)
{
reset_bit(g_bIsAlive, id);
set_bit(g_bInfo, id);
set_task(5.0, "OffTimeInfo", id);
}

public OffTimeInfo(id)
{
if(get_bit(g_bIsConnected, id))
{
client_print_color(id, print_team_red, "^1[^4VM^1] ^4Время для инфы ^3ИСТЕКЛО.");
reset_bit(g_bInfo, id);
}
}

public client_putinserver(id)
{
set_bit(g_bIsConnected, id);
get_user_flags(id) & ACCESS_LEVEL ? set_bit(g_bIsAdmin, id) : reset_bit(g_bIsAdmin, id);
reset_bit(g_bInfo, id);
}

public client_disconnect(id)
{
reset_bit(g_bIsConnected, id);
reset_bit(g_bIsAlive, id);
}

public fw_Voice_SetClientListening(receiver, sender, listen)
{
if(get_bit(g_bIsConnected, receiver) && get_bit(g_bIsConnected, sender) && receiver != sender && get_pcvar_num(g_pImmunity) && (!get_bit(g_bIsAdmin, receiver) || !get_bit(g_bIsAdmin, sender)))
{
if(get_bit(g_bInfo, sender))
return FMRES_IGNORED;

if(get_bit(g_bIsAlive, receiver) && g_iTeam[receiver] == 2 && ((get_bit(g_bIsAlive, sender) && g_iTeam[sender] == 2) || (get_bit(g_bIsAlive, sender) && g_iTeam[sender] == 1)))
return FMRES_IGNORED;

else if(get_bit(g_bIsAlive, receiver) && g_iTeam[receiver] == 1 && ((get_bit(g_bIsAlive, sender) && g_iTeam[sender] == 1) || (get_bit(g_bIsAlive, sender) && g_iTeam[sender] == 2)))
return FMRES_IGNORED;

else if((!get_bit(g_bIsAlive, receiver) && g_iTeam[receiver] == 1) || (!get_bit(g_bIsAlive, receiver) && g_iTeam[receiver] == 2))
return FMRES_IGNORED;

else
{
engfunc(EngFunc_SetClientListening, receiver, sender, false);
return FMRES_SUPERCEDE;
}
}

return FMRES_IGNORED;
}
 
  • Нравится
Реакции: L4D2
Сообщения
263
Реакции
335
Помог
4 раз(а)
я читаю комменты плагина стимула...говорят не работает .. боюсь тестить.. она работает ребят или нет? на рехлд работает ?
А какая из религий запрещает тестировать, прежде чем спрашивать и ожидать ответа ?
 
Сообщения
164
Реакции
13
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Сообщения
443
Реакции
319
Помог
13 раз(а)
csparena, ты несешь чушь. Как и на остальных форумах.
 
Сообщения
164
Реакции
13
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
wopox1337, короче я поставил его... и зашел на сервер.. тестил.. все друг друга слышали.и мертвые и живые . я заменил его другим плагином.. теперь все норм..
18 Мар 2017
shelru, я только на 2 форумах ...задали вопрос.. и получил ответ
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу