бинд аллтока для админа

Тимур Баранов

Участник
Сообщения
8
Реакции
1
Хотелось бы сделать бинд который при нажатии ключал бы аллток админу (что бы его все слышали) при отпускании все возвращалось на место. собстна нужна только SM_ команда которая отвечает за эту функцию. че то как ни искал, ни где не нашел.
 

Тимур Баранов

Участник
Сообщения
8
Реакции
1
как я понимаю в данный момент включиться общий алтак. я хочу что бы обе команды слышали только меня. а не друг друга. играешь допустим. и надо сделать замечание игроку из другой команды, но что бы команды при этом друг друга не слышали.
тоесть эквивалет первого пункта comms comands в source mode
а чтоб с нажиманием отпусканием лучше так:
alias +alltalkon "sm_rcon sv_alltalk 1; +voicerecord"
alias -alltalkon "-voicerecord; sm_rcon sv_alltalk 0"
bind "x" "+alltalkon"
 
Последнее редактирование:

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Пробуй
PHP:
#include <sourcemod>
#include <sdktools_voice>

new bool:IsClientAdmin[MAXPLAYERS + 1] = {false, ...};

public OnClientPostAdminCheck(client)
{
	if (GetUserAdmin(client) != INVALID_ADMIN_ID)
	{
		IsClientAdmin[client] = true;
	}
}

public OnClientDisconnect(client)
{
	if (IsClientAdmin[client])
	{
		IsClientAdmin[client] = false;
	}
}

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
	if (IsClientAdmin[client])
	{
		new bool:check = buttons & IN_USE ? true : false;
		SetClientListeningFlags(client, check ? VOICE_LISTENALL | VOICE_SPEAKALL : VOICE_NORMAL);
		PrintCenterText(client, "Теперь вы %sможете говорить со всеми", check ? "" : "не ");
	}
}
Нажимать E (использовать)
 
Последнее редактирование:

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
The End Is Near..., Брать постоянно GetUserAdmin в OnPlayerRunCmd - это же пипец... Тем более ты КАЖДЫЙ OnPlayerRunCmd для всех админов ставишь флаги разговора - нужно кешировать все...
 

Тимур Баранов

Участник
Сообщения
8
Реакции
1
решил вопрос. при наличии на сервере плагина Admin Sentinel все работает и выглядит вот так:
alias "+admintalk" "sm_talktoserver 1; +voicerecord"
alias "-admintalk" "-voicerecord; sm_talktoserver 0;"
bind "x" "+admintalk"
 
Сверху Снизу