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

Rezerwacja slotów


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

#1 ` ManieK

    Profesjonalista

  • Zbanowany

Reputacja: 7
Nowy

  • Postów:194
  • GG:
  • Lokalizacja:Ciechanów
Offline

Napisano 23.09.2009 14:11

Witam mam serwer 18 slotowy i chce zeby byly w nim ok 4 zarezerwowanych slotow dla adminow niewidocznych tzn wyswietla sie 18 graczy a moze w sumie wejsc 22

#2 wizu

    Godlike

  • Przyjaciel

Reputacja: 224
Profesjonalista

  • Postów:1 217
  • GG:
  • Lokalizacja:Sanok
Offline

Napisano 23.09.2009 14:19

Masz serwer 18 slotów, to jakim cudem chcesz zrobić tak, żeby weszło 22?
  • +
  • -
  • 0

#3 ` ManieK

    Profesjonalista

  • Autor tematu
  • Zbanowany

Reputacja: 7
Nowy

  • Postów:194
  • GG:
  • Lokalizacja:Ciechanów
Offline

Napisano 23.09.2009 14:28

dedyk wiec moge. jest ustawione na tyle i tyle ma byc dostepnych dla graczy + rezerwacja dla adminow,

#4 mikus

    Ekipa PGC

  • Użytkownik

Reputacja: 75
Zaawansowany

  • Postów:406
  • GG:
  • Steam:steam
  • Lokalizacja:Wola
Offline

Napisano 23.09.2009 16:01

#include <amxmodx> 

#include <amxmisc> 



// Comment if you don't want to hide true max_players  

#define HIDE_RESERVEDSLOTS 



public plugin_init() 

{ 

	register_plugin("Slots Reservation","0.9.7","f117bomb") 

	register_cvar("amx_reservation","1") 

	

	#if defined HIDE_RESERVEDSLOTS 

	set_cvar_num( "sv_visiblemaxplayers" , get_maxplayers() - 4 ) 

	#endif 

	

} 



public client_authorized(id) {



	new maxplayers = get_maxplayers()

	new players = get_playersnum( 1 ) 

	new limit = maxplayers - 1

	new resType = get_cvar_num( "amx_reservation" ) 

	new who

	

	if ( players > limit ) //21/20

	{ 

		if ( get_user_flags(id) & ADMIN_RESERVATION ) 

		{ 

			switch(resType) {     

				case 1: 

					who = kickFresh()

				case 2: 

					who = kickLag()

			}

			if(who)  {

				new name[32]

   				get_user_name( who, name , 31 )

   				client_cmd(id,"echo ^"* %s - Admin wbil <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/smile.gif' class='bbc_emoticon' alt=':)' />, Zapraszamy ponownie.^"" ,name )

   			}

			return PLUGIN_CONTINUE 

		} 



		if ( is_user_bot(id) ) 

			server_cmd("kick #%d", get_user_userid(id)  ) 

		else 

			client_cmd(id,"echo ^"Serwer jest Pelny^";disconnect")

			

		return PLUGIN_HANDLED // block connect in other plugins (especially in consgreet)	 

	} 

	return PLUGIN_CONTINUE 

} 



kickLag() {

	new who = 0, ping, loss, worst = -1

	new maxplayers = get_maxplayers()

	for(new i = 1; i <= maxplayers; ++i) {

		if ( !is_user_connected(i) && !is_user_connecting(i) ) 

			continue // not used slot  

		if (get_user_flags(i)&ADMIN_RESERVATION) 

			continue // has reservation, skip him

		get_user_ping(i,ping,loss) // get ping

		if ( ping > worst ) {

			worst = ping

			who = i

		}

	}

	if(who) 

		if ( is_user_bot(who) ) 

			server_cmd("kick #%d", get_user_userid(who)  ) 

		else 

			client_cmd(who,"echo ^"Rezarwacja slota dla Admina^";disconnect")

	return who  

}



kickFresh() {

	new who = 0, itime, shortest = 0x7fffffff

	new maxplayers = get_maxplayers()

	for(new i = 1; i <= maxplayers; ++i){

		if ( !is_user_connected(i) && !is_user_connecting(i) )

			continue // not used slot

		if (get_user_flags(i)&ADMIN_RESERVATION)

			continue // has reservation, skip him

		itime = get_user_time(i) // get user playing time with connection duration  

		if ( shortest > itime ) {

			shortest = itime

			who = i

		}

	}

	if(who) 

		if ( is_user_bot(who) ) 

			server_cmd("kick #%d", get_user_userid(who)  ) 

		else 

			client_cmd(who,"echo ^"Rezarwacja slota dla Admina^";disconnect")

	return who

}


  • +
  • -
  • 0

#5 bakul. <3

    Wszechmogący

  • Użytkownik

Reputacja: 88
Zaawansowany

  • Postów:612
  • GG:
  • Imię:Przemek
  • Lokalizacja:Warszawa
Offline

Napisano 23.09.2009 16:11

Ustaw na serwerze 22 sloty. Potem, jeśli chcesz, żeby wyświetlało się 18 slotów to wpisz w server.cfg
sv_visiblemaxplayers 18
Aby pozostałe 4 sloty były zarezerwowane w amxx.cfg zmień wartość na
amx_reservation 4

  • +
  • -
  • 0




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

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