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 ![]()
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.
|
Co zrobić by wpisane komendy znikały?
#1
Napisano 03.03.2021 23:19
#2
Napisano 03.03.2021 23:33
Daj
return PLUGIN_HANDLED;
zamiast
return PLUGIN_CONTINUE;
w funkcji która otwiera się po wpisaniu komendy.
#3
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
#4
Napisano 04.03.2021 10:15
Jest też na to jeden sprytny plugin https://darkgl.pl/20...rywanie-komend/
PoGrywamy.pl - Pograj Razem Z Nami
Tatusiek serwerów:
Przyjmuje płatne zlecenia!
#5
Napisano 04.03.2021 12:16
register_clcmd("say", "cmdSay")
register_clcmd("say_team", "cmdSay")
Po 2. Funkcja cmdSaypublic 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
#6
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
Cześć
#7
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.
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Dodatki SourceMod













