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

Komenda tylko dla admina


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
7 odpowiedzi w tym temacie

#1 LucKy_skiLL

    Godlike

  • Power User

Reputacja: 163
Profesjonalista

  • Postów:1 301
  • GG:
  • Lokalizacja:Kraków
Offline

Napisano 23.03.2012 17:17

Zrobiłem komendę która powinna być tylko dla admina, lecz nie działa, prezentuje ostatni sposób jaki robiłem, już nie wiem jak to zrobić, podpowiedzcie mi coś.

register_clcmd("say /zal", "specialday_check", ADMIN_BAN)


public specialday_check(id,level,cid)
{
if(!cmd_access (id, level, cid, 3))
  return PLUGIN_HANDLED;
 
if(get_user_flags(id) & ADMIN_BAN)
{
  new name[32]
  get_user_name(id,name,31)	   
 
  ColorChat(0, RED, "%s Menu specjalnego dnia otwarte przez^x04 %s", PREFIX, name) 
}

if(!get_pcvar_num(cvar_daysmenu))
{
  #if defined USE_CC
   ColorChat(id, RED, "%s Dni sa^x03 wylaczone", PREFIX)
  #else
   client_print(id, print_chat, "%s Dni sa wylaczone", PREFIX)
  #endif
 
  return PLUGIN_HANDLED
}

if(get_user_team(id) != 2)
{
  #if defined USE_CC
   ColorChat(id, RED, "%s Tylko^x03 straznicy^x04 moga rozpoczac a^x03 specjalny dzien", PREFIX)
  #else
   client_print(id, print_chat, "%s Tylko straznicy moga rozpoczac specjalny dzien", PREFIX)
  #endif
 
  return PLUGIN_HANDLED
}

if(!is_user_alive(id))
{
  #if defined USE_CC
   ColorChat(id, RED, "%s Musisz byc^x03 zywy^x04 aby rozpoczac a^x03 specjalny dzien", PREFIX)
  #else
   client_print(id, print_chat, "%s Musisz byc zywy aby rozpoczac specjalny dzien", PREFIX)
  #endif
 
  return PLUGIN_HANDLED
}

if(specialday[20] != DAY_NONE)
{
  #if defined USE_CC
   ColorChat(id, RED, "%s Jest juz wybrany specjalny dzien", PREFIX)
  #else
   client_print(id, print_chat, "%s Jest juz wybrany specjalny dzien", PREFIX)
  #endif
 
  return PLUGIN_HANDLED
}

specialday_menu(id)
return PLUGIN_HANDLED
}

  • +
  • -
  • 0

Oglądasz seriale typu: The Flash, Arrow, Daredevil, The Walking Dead? Jeśli tak, to zapraszam na mój kanał YouTube


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 23.03.2012 17:50

if(!cmd_access (id, level, cid, 3))
trojka to liczba argumentów
raczej powinna być dwójka
  • +
  • -
  • 0

#3 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 23.03.2012 17:59

if(!cmd_access (id, level, cid, 3))
trojka to liczba argumentów
raczej powinna być dwójka

Albo nawet i 1 można tam dać, jak to ma być taka komenda. Nie potrzebny jest też warunek
if(get_user_flags(id) & ADMIN_BAN)

bo wcześniej jest to sprawdzane.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 23.03.2012 18:29

wydaje mi się że dwa bo
say - 1 parametr
zal - 2

ale najlepiej to sprawdzić
  • +
  • -
  • 0

#5 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 23.03.2012 18:36

wydaje mi się że dwa bo
say - 1 parametr
zal - 2

ale najlepiej to sprawdzić

Tak, ale to nie ma znaczenia, bo to przecież nie będzie blokować, jeśli podamy zbyt dużo parametrów.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 23.03.2012 19:19

będzie blokować jeśli ilość parametrów jest zła ( czyli nie taka jaką podaliśmy )
  • +
  • -
  • 0

#7 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 23.03.2012 19:40

Niestety (albo stety) mylisz się ;]
Jeśli poda się więcej parametrów niż jest tam podane, to nic nie będzie blokowane, wiem bo już jakiś czas temu to zauważyłem.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#8 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 23.03.2012 19:51

masz rację rzut oka na funkcje i wszystko wyjaśnione
stock cmd_access(id, level, cid, num, bool:accesssilent = false) 
{
	new has_access = 0;
	if ( id==(is_dedicated_server()?0:1) ) 
	{
		has_access = 1;
	}
	else if ( level==ADMIN_ADMIN )
	{
		if ( is_user_admin(id) )
		{
			has_access = 1;
		}
	}
	else if ( get_user_flags(id) & level )
	{
		has_access = 1;
	}
	else if (level == ADMIN_ALL) 
	{
		has_access = 1;
	}

	if ( has_access==0 ) 
	{
		if (!accesssilent)
		{
#if defined AMXMOD_BCOMPAT
			console_print(id, SIMPLE_T("You have no access to that command."));
#else
			console_print(id,"%L",id,"NO_ACC_COM");
#endif
		}
		return 0;
	}
	if (read_argc() < num) 
	{
		new hcmd[32], hinfo[128], hflag;
		get_concmd(cid,hcmd,31,hflag,hinfo,127,level);
#if defined AMXMOD_BCOMPAT
		console_print(id, SIMPLE_T("Usage:  %s %s"), hcmd, SIMPLE_T(hinfo));
#else
		console_print(id,"%L:  %s %s",id,"USAGE",hcmd,hinfo);
#endif
		return 0;
	}
	
	return 1;
}

  • +
  • -
  • 0




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

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