Page 1 of 1
voice
Posted: 2010 Nov 20 14:38
by aurimasko
Code: Select all
public voice_listening(receiver, sender, bool:listen){ if((receiver == sender)) return FMRES_IGNORED if(is_user_admin(sender)) { engfunc(EngFunc_SetClientListening, receiver, sender, true) return FMRES_SUPERCEDE } switch(gc_VoiceBlock) { case(2): { if((sender != g_Simon) && (!get_bit(g_SimonVoice, sender) && gc_VoiceBlock)) { engfunc(EngFunc_SetClientListening, receiver, sender, false) return FMRES_SUPERCEDE } } case(1): { if(!get_bit(g_SimonVoice, sender) && gc_VoiceBlock) { engfunc(EngFunc_SetClientListening, receiver, sender, false) return FMRES_SUPERCEDE } } } if(!is_user_alive(sender)) { engfunc(EngFunc_SetClientListening, receiver, sender, false) return FMRES_SUPERCEDE } if(sender == g_Simon) { engfunc(EngFunc_SetClientListening, receiver, sender, true) return FMRES_SUPERCEDE } listen = true if(g_SimonTalking && (sender != g_Simon)) { listen = false } else { static CsTeams:steam steam = cs_get_user_team(sender) switch(gc_TalkMode) { case(2): { listen = (steam == CS_TEAM_CT) } case(1): { listen = (steam == CS_TEAM_CT || steam == CS_TEAM_T) } } } engfunc(EngFunc_SetClientListening, receiver, sender, listen) return FMRES_SUPERCEDE}
Kokį kodą reikėtų pridėti, kad kai kalba žmogus turintis get_bit(g_SimonVoice) kiti negalėtų kalbėti t.y. niekas jų negirdėtų, o girdėtusi tik tas žmogus su g_SimonVoice
Re: voice
Posted: 2010 Nov 20 16:45
by aaarnas
Reiktų saimon žaidėjo id įrašyti į kintamąjį, ir blokuoti visiems, kieno id neatitinka.
Re: voice
Posted: 2010 Nov 20 16:55
by aurimasko
Kaip tai reikėtų padaryti?
Re: voice
Posted: 2010 Nov 21 01:15
by aaarnas
Pamėgink šitą:
Code: Select all
public voice_listening(receiver, sender, bool:listen){ if((receiver == sender)) return FMRES_IGNORED if(is_user_admin(sender)) { engfunc(EngFunc_SetClientListening, receiver, sender, true) return FMRES_SUPERCEDE } switch(gc_VoiceBlock) { case(2): { if((sender != g_Simon) && (!get_bit(g_SimonVoice, sender) && gc_VoiceBlock)) { engfunc(EngFunc_SetClientListening, receiver, sender, false) return FMRES_SUPERCEDE } } case(1): { if(simon_on) { if(get_bit(g_SimonVoice, sender)) { engfunc(EngFunc_SetClientListening, receiver, sender, true) return FMRES_SUPERCEDE } else { engfunc(EngFunc_SetClientListening, receiver, sender, false) return FMRES_SUPERCEDE } } } } if(!is_user_alive(sender)) { engfunc(EngFunc_SetClientListening, receiver, sender, false) return FMRES_SUPERCEDE } if(sender == g_Simon) { engfunc(EngFunc_SetClientListening, receiver, sender, true) return FMRES_SUPERCEDE } listen = true if(g_SimonTalking && (sender != g_Simon)) { listen = false } else { static CsTeams:steam steam = cs_get_user_team(sender) switch(gc_TalkMode) { case(2): { listen = (steam == CS_TEAM_CT) } case(1): { listen = (steam == CS_TEAM_CT || steam == CS_TEAM_T) } } } engfunc(EngFunc_SetClientListening, receiver, sender, listen) return FMRES_SUPERCEDE}
VoiceBlock reikšmė turi būti 1
sv_alltalk 1
simon_on turi būti tiesa, kai kažkas yra saimonas, ir kai saimono nėra, turi būti išjungta.
get_bit(g_SimonVoice, sender) - turi gražinti tiesą.
Jei neveiks, tai duosiu kodą su visiškai kitu būdu.
Re: voice
Posted: 2010 Dec 03 16:24
by aurimasko
O kaip padaryti, kad kai teroristas kalba girdi tik jo komanda, o kai kalba policininkas tai girdi visi?
Re: voice
Posted: 2010 Dec 03 19:38
by aaarnas
Code: Select all
public voice_listening(receiver, sender, bool:listen){ static CsTeams:steam[2], listen listen = true steam[0] = cs_get_user_team(sender) if(steam[0] == CS_TEAM_CT) listen = true else if(steam[0] == CS_TEAM_T && steam[1] == CS_TEAM_CT) listen = false engfunc(EngFunc_SetClientListening, receiver, sender, listen) return FMRES_SUPERCEDE}