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

Problem z pierwszym respawnem.


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

#1 wizu

    Godlike

  • Przyjaciel

Reputacja: 224
Profesjonalista

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

Napisano 06.10.2008 17:14

Witam. Chciałem sobie napisać taki plugin, który wykonywałby komendę w konsoli serwera
server_cmd("amx_kick #%d", get_user_userid(id))
w momencie, gdy gracz się zrespił, tzn wybrał team, model i właśnie się pojawił na mapie. Nie mogę znaleźć do tego eventu.
Próbowałem z eventem TeamInfo, tzn tak
#include <amxmodx>
#include <amxmisc>

public plugin_init() 
{  
	register_plugin("wykonanie","1.0","wizu") 
	register_event("TeamInfo","zamien","a") 
	register_cvar("amx_bylojuz","0")
        set_task(50.0, "restart", 0)	
}



public restart() 
{
	set_cvar_num("amx_bylojuz",1)   
	set_cvar_num("sv_restart",2)  
	return PLUGIN_CONTINUE
}  


public zamien()
{
	new id = read_data(1)
	if(is_user_alive(id))
	{
		if (get_cvar_num("amx_bylojuz") == 0)
		{
			server_cmd("amx_kick #%d",get_user_userid(id))
		}
	}
	return PLUGIN_CONTINUE
}
Ale to nie działa. Ma to działać, an tej zasadzie, że przez 50 sekund od zmiany mapy przy pojawieniu się gracza na mapie (zrespieniu się) wykonuje na serwerze komendę z jego id, np kick. Ma ktoś jakiś pomysł? Jeżeli niewystarczająco to wyjaśniłem, to proszę o pytania. Dzięki.
  • +
  • -
  • 0

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 06.10.2008 17:31

#include <amxmodx>

#include <amxmisc>



new first_time[33]



public plugin_init() 

{ 

	register_event("Health", "Health", "be") 

} 



public client_putinserver(id)

{

	first_time[id]=1

}



public client_disconnect(id)

{

	if(task_exists(id)) remove_task(id)

}



public Health(id) 

{ 

	if(first_time[id])

	{

		set_task(50.0,"kickem",id)

		first_time[id]=0

	}

}



public kickem(id)

{

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

}
Cos takiego?
  • +
  • -
  • 0

#3 wizu

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 224
Profesjonalista

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

Napisano 06.10.2008 17:50

Nie. U Ciebie po 50s (set_task(50.0,"kickem",id) ) jest wykonywana komenda.
A mi chodzi to, żeby w ciągu tych 50 sekund od rozpoczęcie mapy każdy, kto się pojawi na mapie zostanie w naszym wypadku kicknięty. A po tych 50 sekundach już nie.
  • +
  • -
  • 0

#4 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 06.10.2008 18:06

To napisz dokladnie o co chodzi ;>
  • +
  • -
  • 0

#5 wizu

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 224
Profesjonalista

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

Napisano 06.10.2008 18:41

Chodzi o to, żeby było tak:
Jakikolwiek gracz łączy się serwerem, pojawia mu się normalnie motd, wybiera team, model i jeśli się zrespi, tzn pojawi na mapie z bronią to dostanie kicka. Dzieje sie tak przez 50 sekund od rozpoczęcia mapy. Potem restart i jest normalnie.
  • +
  • -
  • 0




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

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