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

Co zrobić by wpisane komendy znikały?


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

#1 Vanilla

    Zaawansowany

  • Girl

Reputacja: 1
Nowy

  • Postów:90
Offline

Napisano 03.03.2021 23:19

Witam, mam takie śmieszne a zapewne banalne pytanie, w jaki sposób można ustawić aby komenda, np. /menu, nie wyświetlała sie na czacie? Może to być plugin usuwający komendy z czatu, ale najlepiej jakby to był dopisek do pluginu :)


  • +
  • -
  • 0

#2 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 03.03.2021 23:33

Daj

return PLUGIN_HANDLED;

zamiast 

return PLUGIN_CONTINUE;

w funkcji która otwiera się po wpisaniu komendy.


  • +
  • -
  • 0

#3 Vanilla

    Zaawansowany

  • Autor tematu
  • Girl

Reputacja: 1
Nowy

  • Postów:90
Offline

Napisano 04.03.2021 00:12

W drużynie spectator, komenda /menu sie nie wyświetla, wygląda tak:

public MenuGraczaNieZywego(id)
{
         new menu = menu_create("\w[\rJailbreak\w] Menu \rWidza", "Handel_Menu");
	
	menu_additem(menu, "\w[\r~\w] Info \rVIP", "0");
	menu_additem(menu, "\w[\r~\w] Info \rSUPER VIP", "1");

	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna");
	menu_display(id, menu);

	return PLUGIN_HANDLED;
}

W druzynie TT:

public MenuGraczaTT(id)
{
	new menu = menu_create("\w[\rJailbreak\w] Menu \rWieznia", "Handel_Menu");
	new cb = menu_makecallback("Menu_Callback");	

	menu_additem(menu, "\w[\r~\w] Czapki \y- Wybierz czapke", 		"3");
	menu_additem(menu, "\w[\r~\w] Sklep \y- Sklep za szlugi", 		"19");
	menu_additem(menu, "\w[\r~\w] Ukradnij bron \y- Kradziez broni CT", 	"4");
	menu_additem(menu, "\w[\r~\w] Ruletka \y- Wylosuj bonus", 		"20");
	menu_additem(menu, "\w[\r~\w] \rZyczenie \y- Dla ostatniego wieznia", 	"18", 4, cb);
	menu_additem(menu, "\w[\r~\w] Info \rVIP", "0");
	menu_additem(menu, "\w[\r~\w] Info \rSUPER VIP", "1");
	menu_additem(menu, "\w[\r~\w] Serwerowy \rRegulamin", "2");
	
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna");
	menu_setprop(menu, MPROP_PERPAGE, 7);
	menu_display(id, menu);

	return PLUGIN_HANDLED;
}

CT

public MenuGraczaCT(id)
{
	new menu = menu_create("\w[\rJailbreak\w] Menu \rStraznika:", "Handel_Menu");
	new cb = menu_makecallback("Menu_Callback");

	menu_additem(menu, "\w[\r~\w] Wez \rProwadzenie", 		"6", 1, cb);
	menu_additem(menu, "\w[\r~\w] Przeszukaj \rWieznia","5");
	menu_additem(menu, "\w[\r~\w] Otworz \rCele", 	"7");
	menu_additem(menu, "\w[\r~\w] Walka \rwiezniow\w: \rON/OFF", 	"8", 3, cb);
	menu_additem(menu, "\w[\r~\w] Mikrofon dla \rWiezniow\w: \rON/OFF", 	"9");
	menu_additem(menu, "\w[\r~\w] Wbierz \rZabawy \y- Wlacz zabawe", 		"10", 3, cb);
	menu_additem(menu, "\w[\r~\w] Wlacz \rGong \y- Sygnal gongu","17", 3, cb);
	menu_additem(menu, "\w[\r~\w] Oznacz wieznia \rkolorem",   "43");
	menu_additem(menu, "\w[\r~\w] Wylosuj \rWieznia",    "44");
	menu_additem(menu, "\w[\r~\w] Daj: \yFreeDay'a lub Duszka","11");
	menu_additem(menu, "\w[\r~\w] Daj \rDeagle'a\w Wiezniowi","21", 3, cb);
	menu_additem(menu, "\w[\r~\w] Podziel \rWiezniow","22", 3, cb);
	menu_additem(menu, "\w[\r~\w] Info \rVIP", "0");
	menu_additem(menu, "\w[\r~\w] Info \rSUPER VIP", "1");
	menu_additem(menu, "\w[\r~\w] Serwerowy \rRegulamin", "2");
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna");
	menu_display(id, menu);

        return PLUGIN_HANDLED;
}

Komenda na spec sie nie wyświetla, a w TT i CT już sie wyświetla


  • +
  • -
  • 0

#4 Misiu.

    Kochanek DarkGL

  • Power User

Reputacja: 174
Profesjonalista

  • Postów:539
  • GG:
  • Steam:steam
  • Imię:Adrian
  • Lokalizacja:Zgorzelec
Offline

Napisano 04.03.2021 10:15

Jest też na to jeden sprytny plugin https://darkgl.pl/20...rywanie-komend/


  • +
  • -
  • 1

PoGrywamy.pl - Pograj Razem Z Nami

 

Tatusiek serwerów:

[ONLY DD2 #2] 1shot2kill.pl

[ONLY DD2] PoGrywamy.pl

Przyjmuje płatne zlecenia!


#5 Zuzza

    Pomocny

  • Girl

Reputacja: 48
Pomocny

  • Postów:44
  • Imię:Zuzza
  • Lokalizacja:Sosowiec
Offline

Napisano 04.03.2021 12:16

Po 1. przechwytywanie czatu, w plugin init
register_clcmd("say", "cmdSay")
register_clcmd("say_team", "cmdSay")
Po 2. Funkcja cmdSay
public cmdSay(id){
	new szMessage[124];
	read_args(szMessage, sizeof( szMessage )); 
	remove_quotes(szMessage);	
	if( szMessage[0] == '/')		
		if( equal(szMessage, "/menu"){
			if( !is_user_alive(id) )
				MenuDlaTrupa(id)
			else{
				switch(get_user_team(id)){
					case 1: MenuDlaTT(id)
					case 2: MenuDlaCT(id)
				}
			}
		}else if( equal(szMessage, "/innemenu"){
			TuInneMenu(id)
		}
		
		return PLUGIN_HANDLED // Byl slash na poczatku wiec nie wysylam wiadomosci na czat.
	}
	return PLUGIN_CONTINUE //Nie bylo slasha na poczatku wiec wysylam wiadomosc na czat
}
Wszystkie wiadomości których pierwszy znak to / nie zostaną wyświetlone na say. Polecam od razu wykorzystać te funkcje do dodawania komend do pluginu zamiast pisać dla każdej komendy register_clcmd("say /Komenda", "funckja")
 
Dzięki takiej obsłudze komend zaoszczędzisz sporo nerwów i możesz dodać parę fajnych możliwości np jeżeli masz tylko 2 komendy
 
/menu
/konto
 
to możesz zrobić aby te komendy wyświetlały się kiedy ktoś wpisze skrót np dla menu: /me, /menu, /men, /MENUUUU
Jednak jak widzisz zadziała także gdy wpiszesz /me,  a taka komenda też jest z innego pluginu bodajże. ale mimo wszystko chyba rozumiesz o co mi chodzi. 
if( containi(szMessage, "/m") != -1 ){
	
}
//Te same menu pod dwie komendy: /sklep, /shop

if( containi(szMessage, "/sk") != -1 || equali(szMessage, "/shop")){
MenuSklepu(id)
}
 
Polecam używać equali, oraz containi te funkcje nie biorą pod uwage wielkości liter,

Użytkownik Zuzza edytował ten post 04.03.2021 12:17

  • +
  • -
  • 0

Parę moich rzeczy możesz zobaczyć na mojej stronie Zuzzart, oraz moim kanale youtube

 


#6 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 05.03.2021 08:30

@up ja to bym jednak zwracał PLUGIN_HANDLED_MAIN aby nie bylo jakichkolwiek problemow z komendami innych pluginów


  • +
  • -
  • 0

Cześć


#7 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 05.03.2021 12:24

Mi zawsze 

return PLUGIN_HANDLED;

pomagało. Zauważ że po wpisaniu komendy /menu wykonuje się funkcja, która 'odsyła' nas do innej funkcji, która wyświetla odpowiednie menu w zależności w jakiej drużynie jesteśmy i właśnie w tej funkcji sprawdź czy masz to co podałem wyżej.


  • +
  • -
  • 0




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

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