Plugin nie działa (mikro off dla 1 teamu)
Julia
20.08.2011
Używam sobie na serwerze takiego pluginu, który, jak autor mówi, musi działać (zresztą pokazywał mi u siebie na serwerze). U mnie działa pokazywanie informacji, admin voice, ale wyciszenie terrorystów już niestety nie. Plugin nie sypie błędów. Kod na samym dole.
Wersja amxxa.
Meta list.
Plugins.ini
Użytkownik Julia edytował ten post 20.08.2011 21:12
Wersja amxxa.
Spoiler
Meta list.
Spoiler
Plugins.ini
Spoiler
#include <fakemeta>
#include <colorchat>
#define PLUGIN "Mikro"
#define VERSION "1.0"
#define AUTHOR "Patryk"
new bool:mikro;
new AdminVoice;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_Voice_SetClientListening, "Voice_SetClientListening");
register_clcmd("+adminvoice", "AdminVoiceOn");
register_clcmd("-adminvoice", "AdminVoiceOff");
register_clcmd("say /mikro", "OddajProwadzenie");
}
public client_disconnect(id)
{
if(AdminVoice == id)
AdminVoice = 0;
}
public OddajProwadzenie(id)
{
if(mikro)
mikro = false;
else
mikro = true;
ColorChat(0, GREEN, "[PrisonBreak]^x01 Mikro dla wieznikow^x03 %s!", mikro? "wylaczone": "wlaczone");
}
public AdminVoiceOn(id)
{
if(!(get_user_flags(id) & ADMIN_BAN))
return PLUGIN_HANDLED;
if(AdminVoice)
return PLUGIN_HANDLED;
AdminVoice = id;
new name[32]
get_user_name(id, name, 31);
ColorChat(0,GREEN,"[PrisonBreak]^x01 Cisza! ^x03%s ^x01przemawia.", name);
client_cmd(id, "+voicerecord");
return PLUGIN_HANDLED;
}
public AdminVoiceOff(id)
{
if(!(get_user_flags(id) & ADMIN_BAN))
return PLUGIN_HANDLED;
if(AdminVoice != id)
{
client_cmd(id, "-voicerecord");
return PLUGIN_HANDLED;
}
client_cmd(id, "-voicerecord");
AdminVoice = 0;
return PLUGIN_HANDLED;
}
public Voice_SetClientListening(odbiorca, nadawca, listen)
{
if(odbiorca == nadawca)
return FMRES_IGNORED;
if(AdminVoice)
{
if(AdminVoice == nadawca)
{
engfunc(EngFunc_SetClientListening, odbiorca, nadawca, true);
return FMRES_SUPERCEDE;
}
engfunc(EngFunc_SetClientListening, odbiorca, nadawca, false);
return FMRES_SUPERCEDE;
}
if(get_user_team(nadawca) == 1 && mikro)
{
engfunc(EngFunc_SetClientListening, odbiorca, nadawca, false);
return FMRES_SUPERCEDE;
}
if(is_user_alive(odbiorca))
{
if(is_user_alive(nadawca))
{
engfunc(EngFunc_SetClientListening, odbiorca, nadawca, true);
return FMRES_SUPERCEDE;
}
engfunc(EngFunc_SetClientListening, odbiorca, nadawca, false);
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}
Użytkownik Julia edytował ten post 20.08.2011 21:12