Проверенный
Пользователь
- Сообщения
- 1,032
- Реакции
- 828
- Помог
- 10 раз(а)
Добрый вечер. Часто замечаю, когда игроки начинают одновременно говорить в троем-четвером, то это превращается в хаус.
Необходимо офать игроков, я попытался это сделать самостоятельно с помощью VTC, но наткнулся на логический баг. Собственно на нем и застрял.
В VTC используется нативы
Все работает замечательно, но появляется несовместимость с другими плагинами которые юзают те же нативы, например тот же gag от неугамона.
У меня сработает VTC_UnmuteClient и таким образом гаг обойдется.
Далее попробовал офать таким образом.
Условие срабатывает, но, когда я включаю микрофон(превышающий лимит) на долю секунды офаются все остальные которые разговаривали, и затем становится слышно снова всех - включая меня, но с рывками постоянными(на доли секунды).
В общем других гениальных идей на ум мне не приходит, либо, как то несовместимость обойти, либо еще что-то
Необходимо офать игроков, я попытался это сделать самостоятельно с помощью VTC, но наткнулся на логический баг. Собственно на нем и застрял.
В VTC используется нативы
VTC_MuteClient
и VTC_UnmuteClient
с помощью них я и попытался реализовать лимит
Код:
public VTC_OnClientStartSpeak(const id) {
g_iVoiceLimit++;
if(g_iVoiceLimit > SIMULTANEOUS_VOICE_LIMIT) {
VTC_MuteClient(id);
}
}
public VTC_OnClientStopSpeak(const id) {
g_iVoiceLimit--;
if(VTC_IsClientMuted(id)) {
VTC_UnmuteClient(id);
}
}
У меня сработает VTC_UnmuteClient и таким образом гаг обойдется.
Далее попробовал офать таким образом.
Код:
public CSGameRules_CanPlayerHearPlayer(const iListener, const iSender) {
if(g_iVoiceLimit > SIMULTANEOUS_VOICE_LIMIT) {
SetHookChainReturn(ATYPE_INTEGER, false);
return HC_SUPERCEDE;
}
return HC_CONTINUE;
}
В общем других гениальных идей на ум мне не приходит, либо, как то несовместимость обойти, либо еще что-то