Napisałem perm mute (mutuje gracza na zawsze) z zapisem do vault, zwykłe mute (do końca mapy) oraz że gracz może mutować innych (do końca mapy)
Perm mute i zwykłe mute - tylko admin
Problem polega na tym, że graczy 'mutuje' ale dalej mogą używać mikrofonu (słychać ich)
Nie mam pojęcia czemu.
public fw_SetClientListening(iReceiver, iSender, bool:bListen) {
if(!(1 <= iReceiver <= maxpl) || !is_user_connected(iReceiver) || !(1 <= iSender <= maxpl) || !is_user_connected(iSender)) return FMRES_IGNORED
if(get_user_flags(iSender) & ADMIN_KICK && call_admin[iSender] && admin_mowi) {
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
if(AdminToAdmin[iSender]) {
if(get_user_flags(iReceiver) & ADMIN_KICK) {
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
engfunc(EngFunc_SetClientListening, iReceiver, iSender, false)
forward_return(FMV_CELL, false)
return FMRES_SUPERCEDE
}
if(is_user_alive(iSender) && get_user_team(iSender) == 2 && is_user_alive(iSender) && !admin_mowi) {
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
if(is_user_alive(iSender) && get_user_team(iSender) == 1 && !admin_mowi && mikro_tt) {
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
if(is_user_alive(iSender) && is_user_alive(iReceiver) && get_user_team(iSender) == 1 && get_user_team(iReceiver) == 1 && viptt_mowi) {
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
if(!is_user_alive(iSender) && !is_user_alive(iReceiver)) {
engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
forward_return(FMV_CELL, true)
return FMRES_SUPERCEDE
}
if(Muted[iReceiver][iSender]) {
engfunc(EngFunc_SetClientListening, iReceiver, iSender, false)
forward_return(FMV_CELL, false)
return FMRES_SUPERCEDE
}
if(g_Muted[iSender]) {
engfunc(EngFunc_SetClientListening, iReceiver, iSender, false)
forward_return(FMV_CELL, false)
return FMRES_SUPERCEDE
}
if(PermMute[iSender]) {
engfunc(EngFunc_SetClientListening, iReceiver, iSender, false)
forward_return(FMV_CELL, false)
return FMRES_SUPERCEDE
}
engfunc(EngFunc_SetClientListening, iReceiver, iSender, false)
return FMRES_SUPERCEDE
}
Proszę o pomoc.