Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Modyfikacja

Przeróbka

Modyfikacja

  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 Lelek

    Zaawansowany

  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:105
  • GG:
  • Imię:Adam
  • Lokalizacja:*
Offline

Napisano 20.01.2009 19:48

Witam nie wiem jak się zabrać za przerobienie chodzi mi o to aby usunąć wszystko z tego pluginu i pozostawić tylko i wyłącznie to że w jednym czasie może rozmawiać x osób

P.S komendy na aktywacje mikrofonu, admin online i inne wywalić :)

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN 	"Microphone Restrictions"
#define VERSION "1.2"
#define AUTHOR 	"Jon"

#define ADMIN_MIC ADMIN_BAN

new cvar_enabled;
new cvar_max;
new cvar_adminonly;
new cvar_time;
new cvar_delay;
new cvar_autocvars;

new active_users;

new bool:isallowed[33];
new bool:isbanned[33];
new bool:isdelayed[33];

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_cvar("mic_version", VERSION, FCVAR_SERVER);
	
	cvar_enabled = register_cvar("mic_enable", "1");
	cvar_max = register_cvar("mic_max", "5");
	cvar_adminonly = register_cvar("mic_adminonly", "0");
	cvar_time = register_cvar("mic_time", "60");
	cvar_delay = register_cvar("mic_delay", "120");
	cvar_autocvars = register_cvar("mic_autocvars", "1");
	
	register_concmd("mic_banplayer", "plugin_banplayer", ADMIN_MIC, "Bans someone from using their microphone");
	register_clcmd("say /mic", "client_mic");
	register_clcmd("say_team /mic", "client_mic");
	
	set_task(1.0, "plugin_cvars");
}

public plugin_cvars()
{
	if(get_pcvar_num(cvar_autocvars))
	{
		set_cvar_string("sv_voicecodec", "voice_speex");
		set_cvar_num("sv_voiceenable", 1);
		set_cvar_num("sv_voicequality", 5);
		set_cvar_num("sv_alltalk", 1);
	}
}

public plugin_banplayer(id, level, cid)
{
	if(!cmd_access(id, level, cid, 0))
		return PLUGIN_HANDLED;
	
	new arg[32];
	read_argv(1, arg, 32);
	
	new player = cmd_target(id, arg, 0);
	
	if(!player)
		return PLUGIN_HANDLED;
	
	
	new adminname[32];
	new playername[32];
	get_user_name(id, adminname, 31);
	get_user_name(id, playername, 31);
	
	client_print(id, print_chat, "[MIC] %s has banned %s from using microphone", adminname, playername);
	
	isbanned[player] = true;
	isallowed[player] = false;
	
	return PLUGIN_HANDLED;
}

public client_mic(id)
{
	if(!get_pcvar_num(cvar_enabled) || get_pcvar_num(cvar_adminonly))
		return PLUGIN_HANDLED;
		
	if(isbanned[id])
	{
		client_print(id, print_chat, "[MIC] You are banned from using your microphone");
		return PLUGIN_HANDLED;
	}
		
	else if(active_users >= get_pcvar_num(cvar_max))
	{
		client_print(id, print_chat, "[MIC] Maximum amount of players are already using their microphone (%d)", get_pcvar_num(cvar_max));
		return PLUGIN_HANDLED;
	}
		
	else if(isdelayed[id])
	{
		client_print(id, print_chat, "[MIC] You have to wait %d seconds before you can use your microphone again", get_pcvar_num(cvar_delay));
		return PLUGIN_HANDLED;
	}
	
	else
	{
		active_users++;
		isallowed[id] = true;
		set_task(float(get_pcvar_num(cvar_time)), "remove_allowed", id);
		client_print(id, print_chat, "[MIC] You can now use your microphone for %d seconds", get_pcvar_num(cvar_time));
	}
	return PLUGIN_CONTINUE;
}
		
public fwd_voice_setclientlistening(receiver, id)
{
	if(!get_pcvar_num(cvar_enabled) || !is_user_connected(receiver) || !is_user_connected(id) || receiver == id)
		return FMRES_IGNORED;
		
	if(get_pcvar_num(cvar_adminonly))
	{
		if(get_user_flags(id) & ADMIN_MIC)
			return FMRES_IGNORED;
			
		else
			engfunc(EngFunc_SetClientListening, receiver, id, 0);
			
		return FMRES_IGNORED;
	}
		
	else 
	{
		if(!isallowed[id])
		{
			engfunc(EngFunc_SetClientListening, receiver, id, 0);
			return FMRES_SUPERCEDE;
		}
	
		else
			return FMRES_IGNORED;
	}
	
	return FMRES_IGNORED;
}  

public remove_allowed(id)
{
	active_users--;
	isallowed[id] = false;
	isdelayed[id] = true;
	client_print(id, print_chat, "[MIC] You are no longer able to use your microphone");
	set_task(float(get_pcvar_num(cvar_delay)), "remove_delay", id);
}

public remove_delay(id)
	isdelayed[id] = false;

  • +
  • -
  • 0

#2 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1 678
Godlike

  • Postów:2 496
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 20.01.2009 21:29

Sprawdź:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN     "Microphone Restrictions"
#define VERSION "1.2"
#define AUTHOR     "Jon"

#define ADMIN_MIC ADMIN_BAN

new cvar_max;
new cvar_autocvars;
new active_users; 

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    register_cvar("mic_version", VERSION, FCVAR_SERVER);
   
    cvar_max = register_cvar("mic_max", "5");
    cvar_autocvars = register_cvar("mic_autocvars", "1"); 
   
    set_task(1.0, "plugin_cvars");
}

public plugin_cvars()
{
    if(get_pcvar_num(cvar_autocvars))
    {
        set_cvar_string("sv_voicecodec", "voice_speex");
        set_cvar_num("sv_voiceenable", 1);
        set_cvar_num("sv_voicequality", 5);
        set_cvar_num("sv_alltalk", 1);
    }
}

public client_mic(id)
{    
    if(active_users >= get_pcvar_num(cvar_max))
    {
        client_print(id, print_chat, "[MIC] Maximum amount of players are already using their microphone (%d)", get_pcvar_num(cvar_max));
        return PLUGIN_HANDLED;
    }
       
    return PLUGIN_CONTINUE;
    }

Zostawiłem Tylko:
mic_max(Ile osób naraz)
mic_autocvars(Ustawienia Mowy)
  • +
  • -
  • 0

#3 Lelek

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:105
  • GG:
  • Imię:Adam
  • Lokalizacja:*
Offline

Napisano 25.01.2009 12:45

Niestety nie działa
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych