Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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 - Miczu


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

#1 Lelek

    Zaawansowany

  • Użytkownik

Reputacja: 22
Życzliwy

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

Napisano 21.09.2008 20:42

Witam chciałem się zapytać czy ten plugin będzie tak działał: Mam 10 osób z flaga b na rezerwacje serwer ma 16 slotów i jest full 16/16 ktos z flagą b wbija na serwer na rezerwacje 1 slota ok ale gdy nastepny chce wbić to jest napisane server full jak to zrobić aby z serwera wyrzucilo kogos a ten co ma rezerwacje bez wzgledu na to ile jest ludzi na serwie będzie mógl wbić czyli

o to plugin będzie dobrze sprawowal swoją funkcje jeżeli nie proszę o jakiś.

P.S Napisałem Rezerwacja - Miczu ponieważ zna się na tym i może coś poradzi

#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() - 1 ) 
	#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 was kicked to free this slot^"" ,name )
   			}
			return PLUGIN_CONTINUE 
		} 

		if ( is_user_bot(id) ) 
			server_cmd("kick #%d", get_user_userid(id)  ) 
		else 
			client_cmd(id,"echo ^"Server is Full.^";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 ^"Dropped due to high ping to free slot for an admin^";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 ^"Dropped due to shortest playing time to free slot for an admin^";disconnect")
	return who
}

  • +
  • -
  • 0

#2 choyrack

    Wszechpomocny

  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:369
  • GG:
  • Lokalizacja:Wrocław
Offline

Napisano 21.09.2008 21:19

Pluginów z rezerwacją się już wałkowało na forum, że jest ich pełno działających :-)
Np. ten: http://amxx.pl/viewt... ... simpleslot
  • +
  • -
  • 0

#3 grankee

    Godlike

  • Support Team

Reputacja: 507
Wszechwiedzący

  • Postów:1500
  • Lokalizacja:Radom
Offline

Napisano 21.09.2008 21:20

Jeżeli serwer ma 16 slotów i jest na nim 16 graczy to nic nie zrobisz, bo gracz się nawet nie połączy(co jest konieczne do wykonania jakiejkolwiek operacji).
  • +
  • -
  • 0

#4 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1725
Godlike

  • Postów:6881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 21.09.2008 21:40

Ten też jest działający, przynajmniej po małych poprawkach.
I dopóki serwer nie będzie pełen ludzi z rezerwacją to można będzie wejść.
Przez jakiś czas tylko może być 16/16 zanim wyrzuci którąś osobę, ale ludzi z rezerwacja nie tknie.
  • +
  • -
  • 0

#5 Lelek

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 22
Życzliwy

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

Napisano 22.09.2008 22:37

Nie o to mi chodzi np jest 17 slotów ja zrobię ze będzie można wbić na 16 slota i jeżeli ktoś z flaga b będzie chciał wejść to wywali tego 16 a nie wejdzie na rezerwacje o to mi chodzi żeby ten kto ma flage b mógł zawsze wbić :)
  • +
  • -
  • 0

#6 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1725
Godlike

  • Postów:6881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 22.09.2008 23:35

Przecież jak jest 17 slotów, rezerwacja ustawiona na 16 i ktoś z rezerwacją wbije to wyrzuci jakąś osobę(będzie 15/17) i ta osoba wchodzi.
  • +
  • -
  • 0

#7 Lelek

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 22
Życzliwy

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

Napisano 23.09.2008 18:07

Aha czyli ten plugin http://amxx.pl/viewt...ight=simpleslot pozwoli na to że każdy z flaga b będzie mógł zawsze wbić :)

@darkman
link poprawiony

  • +
  • -
  • 0

#8 Gość__*

  • Gość

Reputacja: 0

Offline

Napisano 23.09.2008 19:08

http://amxx.pl/viewtopic....ight=simpleslot

A to co :?




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

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