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

Non steam nie może użyć komendy


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

#1 NaVv

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:38
  • Lokalizacja:Wrocław
Offline

Napisano 29.06.2021 13:42

Witam powoli uczę się pisać plugini i za pomocą jednego z poradników zrobiłem menu z komendami. i okazuje się, że ludzie z non steam nie działa 

Zasada pluginu jest prosta wpisujesz /komendy masz listę komend wybierasz i się wywołuje. ale graczom non steam pojawia się takie coś [CSXGuard] "say /sklep": (SD Blocked) 

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "komendy"
#define VERSION "1.0"
#define AUTHOR "xmox"


new komendy;
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /komendy", "nowemenu");
	
	komendy = menu_create("lista komend","nowemenuhandle");
	menu_additem(komendy,"Zaloguj sie ");//item = 0
	menu_additem(komendy,"Sklep ");//item = 1
	menu_additem(komendy,"Sklep SmS");//item = 2
	menu_additem(komendy,"Przekaz guziki ");//item = 3
	menu_additem(komendy,"Widok z trzeciej osoby ");//item = 4
	menu_additem(komendy,"Widok z pierwszej osoby ");//item = 5
	menu_additem(komendy,"Wycisz gracza ");//item = 6
	menu_additem(komendy,"Menu rang ");//item = 7
	menu_additem(komendy,"Info o VIP ");//item = 8
	menu_additem(komendy,"wyłącz HUD");//item = 9
	
	menu_setprop(komendy, MPROP_EXITNAME, "Wyjscie");
	
	
}
public nowemenu(id){
	menu_display(id, komendy);
	
	return PLUGIN_HANDLED;
}
public nowemenuhandle(id, menu, item){
	if(item == MENU_EXIT) {
		return PLUGIN_HANDLED;
	}
	
	switch(item) { 
		case 0:{
			client_cmd(id, "say /konto");
		}
		case 1:{
			client_cmd(id, "say /sklep");
		}
		case 2:{
			client_cmd(id, "say /sklepsms");
		}
		case 3:{
			client_cmd(id, "say /daj");
		}
		case 4:{
			client_cmd(id, "say /thirdperson");
		}
		case 5:{
			client_cmd(id, "say /firstperson");
		}
		case 6:{
			client_cmd(id, "say /mute");
		}
		case 7:{
			client_cmd(id, "say /rangmenu");
		}
		case 8:{
			client_cmd(id, "say /vip");
		}
		case 9:{
			client_cmd(id, "say /hud");
		}
	}

	return PLUGIN_HANDLED;
}

Z góry dziękuję za pomoc i pozdrawiam. 


  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 29.06.2021 14:01

Sprawdz 

 

https://amxx.pl/topi...torów-i-blokad/


  • +
  • -
  • 1

#3 NaVv

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:38
  • Lokalizacja:Wrocław
Offline

Napisano 29.06.2021 14:53

Wkleiłem na koniec kodu i nic chyb, że trzeba coś dopisać.


  • +
  • -
  • 0

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 29.06.2021 16:48

Zamiast client_cmd daj engclient_cmd


  • +
  • -
  • 1

#5 NaVv

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:38
  • Lokalizacja:Wrocław
Offline

Napisano 29.06.2021 17:00

Dziękuję działa. 


  • +
  • -
  • 0

#6 NaVv

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:38
  • Lokalizacja:Wrocław
Offline

Napisano 29.06.2021 18:53

Nie moge edytować, dlatego daje nowy post ale coś już nie działa nawet na steam. 


  • +
  • -
  • 0

#7 Anonymuss

    Profesjonalista

  • Użytkownik

Reputacja: 55
Pomocny

  • Postów:194
  • Imię:Anonimowy
  • Lokalizacja:Polska
Offline

Napisano 29.06.2021 22:37

Witam powoli uczę się pisać plugini i za pomocą jednego z poradników zrobiłem menu z komendami. i okazuje się, że ludzie z non steam nie działa 

Zasada pluginu jest prosta wpisujesz /komendy masz listę komend wybierasz i się wywołuje. ale graczom non steam pojawia się takie coś [CSXGuard] "say /sklep": (SD Blocked) 

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "komendy"
#define VERSION "1.0"
#define AUTHOR "xmox"


new komendy;
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /komendy", "nowemenu");
	
	komendy = menu_create("lista komend","nowemenuhandle");
	menu_additem(komendy,"Zaloguj sie ");//item = 0
	menu_additem(komendy,"Sklep ");//item = 1
	menu_additem(komendy,"Sklep SmS");//item = 2
	menu_additem(komendy,"Przekaz guziki ");//item = 3
	menu_additem(komendy,"Widok z trzeciej osoby ");//item = 4
	menu_additem(komendy,"Widok z pierwszej osoby ");//item = 5
	menu_additem(komendy,"Wycisz gracza ");//item = 6
	menu_additem(komendy,"Menu rang ");//item = 7
	menu_additem(komendy,"Info o VIP ");//item = 8
	menu_additem(komendy,"wyłącz HUD");//item = 9
	
	menu_setprop(komendy, MPROP_EXITNAME, "Wyjscie");
	
	
}
public nowemenu(id){
	menu_display(id, komendy);
	
	return PLUGIN_HANDLED;
}
public nowemenuhandle(id, menu, item){
	if(item == MENU_EXIT) {
		return PLUGIN_HANDLED;
	}
	
	switch(item) { 
		case 0:{
			client_cmd(id, "say /konto");
		}
		case 1:{
			client_cmd(id, "say /sklep");
		}
		case 2:{
			client_cmd(id, "say /sklepsms");
		}
		case 3:{
			client_cmd(id, "say /daj");
		}
		case 4:{
			client_cmd(id, "say /thirdperson");
		}
		case 5:{
			client_cmd(id, "say /firstperson");
		}
		case 6:{
			client_cmd(id, "say /mute");
		}
		case 7:{
			client_cmd(id, "say /rangmenu");
		}
		case 8:{
			client_cmd(id, "say /vip");
		}
		case 9:{
			client_cmd(id, "say /hud");
		}
	}

	return PLUGIN_HANDLED;
}

Z góry dziękuję za pomoc i pozdrawiam. 

 

 

Skoro uczysz się pisać pluginy to dam Ci wskazówkę. Najlepiej jakby to menu było napisane w ten sposób:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "komendy"
#define VERSION "1.0"
#define AUTHOR "xmox"
 
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_clcmd("say /komendy", "nowemenu");
}

public nowemenu(id)
{
	new komendy = menu_create("lista komend", "nowemenuhandle");

	menu_additem(komendy, "Zaloguj sie ");//item = 0
	menu_additem(komendy, "Sklep ");//item = 1
	menu_additem(komendy, "Sklep SmS");//item = 2
	menu_additem(komendy, "Przekaz guziki ");//item = 3
	menu_additem(komendy, "Widok z trzeciej osoby ");//item = 4
	menu_additem(komendy, "Widok z pierwszej osoby ");//item = 5
	menu_additem(komendy, "Wycisz gracza ");//item = 6
	menu_additem(komendy, "Menu rang ");//item = 7
	menu_additem(komendy, "Info o VIP ");//item = 8
	menu_additem(komendy, "wyłącz HUD");//item = 9
	
	menu_setprop(komendy, MPROP_EXITNAME, "Wyjscie");
	menu_display(id, komendy);
	return PLUGIN_HANDLED;
}

public nowemenuhandle(id, menu, item)
{
	if(item == MENU_EXIT)
		return PLUGIN_HANDLED;
	
	switch(item) { 
		case 0: client_cmd(id, "say /konto");
		case 1: client_cmd(id, "say /sklep");
		case 2: client_cmd(id, "say /sklepsms");
		case 3: client_cmd(id, "say /daj");
		case 4: client_cmd(id, "say /thirdperson");
		case 5: client_cmd(id, "say /firstperson");
		case 6: client_cmd(id, "say /mute");
		case 7: client_cmd(id, "say /rangmenu");
		case 8: client_cmd(id, "say /vip");
		case 9: client_cmd(id, "say /hud");
	}

	return PLUGIN_HANDLED;
}

 

 

[CSXGuard] "say /sklep": (SD Blocked)

Takie coś wyskakuje wszystkim ns'om którzy pobrali cs z cssetti, ponieważ tam w standardzie jest dodawany skrypt csx guard, który blokuje komendy z configu tego skryptu "CSXGuard.ini" wykonywane przez serwer na graczu. W tym pliku są wpisane komendy "say" i "say_team" dlatego przez natyw client_cmd nie zadziała to na ns'ach.

 

Albo ludzie którym nie działa Twoje menu, w CSXGuard.ini (w folderze swojego cs'a) wyłączą sobie ten skrypt w ten sposób

 

Enabled = True

na

 

Enabled = False

bądź w konsoli gry wpiszą sobie komendę csx guarda

 

csx_setcvar2 "Enabled" "False"

Albo są jeszcze dwie metody ale ja używam tylko jednej dlatego drugą niech Ci wytłumaczy ktoś kto używa tego natywu https://amxx.pl/doku.../callfunc-begindo omijania guarda

 

Musisz edytować wszystkie pluginy, które chcesz aby odpalały się przez Twoje menu /komendy, dlatego w tym przypadku prawdopodobnie będziesz miał problem z komendą /sklepsms, ponieważ zapewne go kupiłeś i posiadasz sam plik .amxx bez .sma. W każdym pluginie trzeba zrobić natyw do funkcji którą chcesz wywołać przez swoje menu. Na koniec do swojego pluginu /komendy dopisujesz gdzieś nad "public plugin_init()" wszystkie te natywy z innych pluginów, a później w "case" używasz tych natywów zamiast client_cmd.

 

Przykład jak stworzyć natyw w jakimś randomowym pluginie:

#include <amxmodx>

#define PLUGIN ".."
#define VERSION ".."
#define AUTHOR ".."
 
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_clcmd("say /konto", "menu_kont");
}

public plugin_natives()
{
	register_native("natyw_menukont", "menu_kont", 1);
}

public menu_kont(id)
{
	//jakis tam kod na menu
}

Przykład jak go użyć w Twoim menu:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "komendy"
#define VERSION "1.0"
#define AUTHOR "xmox"

native natyw_menukont(id);    // na gorze kodu dodajemy stworzony przez nas natyw

new komendy;
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /komendy", "nowemenu");
	
	komendy = menu_create("lista komend","nowemenuhandle");
	menu_additem(komendy,"Zaloguj sie ");//item = 0
	menu_additem(komendy,"Sklep ");//item = 1
	menu_additem(komendy,"Sklep SmS");//item = 2
	menu_additem(komendy,"Przekaz guziki ");//item = 3
	menu_additem(komendy,"Widok z trzeciej osoby ");//item = 4
	menu_additem(komendy,"Widok z pierwszej osoby ");//item = 5
	menu_additem(komendy,"Wycisz gracza ");//item = 6
	menu_additem(komendy,"Menu rang ");//item = 7
	menu_additem(komendy,"Info o VIP ");//item = 8
	menu_additem(komendy,"wyłącz HUD");//item = 9
	
	menu_setprop(komendy, MPROP_EXITNAME, "Wyjscie");
	
	
}
public nowemenu(id){
	menu_display(id, komendy);
	
	return PLUGIN_HANDLED;
}
public nowemenuhandle(id, menu, item){
	if(item == MENU_EXIT) {
		return PLUGIN_HANDLED;
	}
	
	switch(item) { 
		case 0:{
			natyw_menukont(id);    // tu go uzywamy omijajac w ten sposob csx guarda
		}
		case 1:{
			client_cmd(id, "say /sklep");
		}
		case 2:{
			client_cmd(id, "say /sklepsms");
		}
		case 3:{
			client_cmd(id, "say /daj");
		}
		case 4:{
			client_cmd(id, "say /thirdperson");
		}
		case 5:{
			client_cmd(id, "say /firstperson");
		}
		case 6:{
			client_cmd(id, "say /mute");
		}
		case 7:{
			client_cmd(id, "say /rangmenu");
		}
		case 8:{
			client_cmd(id, "say /vip");
		}
		case 9:{
			client_cmd(id, "say /hud");
		}
	}

	return PLUGIN_HANDLED;
}

  • +
  • -
  • 3

#8 NaVv

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:38
  • Lokalizacja:Wrocław
Offline

Napisano 30.06.2021 03:28

Jeny ile z tym zabawy to już chyba wolę by to się wyświetlał w modt. Chyba że się da zrobić plugin ktory po wejściu na server wymusi to graczom. Bo kurcze i tak nikt raczej z tego nie będzie korzystać.
  • +
  • -
  • 0

#9 Anonymuss

    Profesjonalista

  • Użytkownik

Reputacja: 55
Pomocny

  • Postów:194
  • Imię:Anonimowy
  • Lokalizacja:Polska
Offline

Napisano 30.06.2021 12:44

Jeny ile z tym zabawy to już chyba wolę by to się wyświetlał w modt. Chyba że się da zrobić plugin ktory po wejściu na server wymusi to graczom. Bo kurcze i tak nikt raczej z tego nie będzie korzystać.

Nie można wymusić na graczu wyłączenia CSX Guarda a modyfikowanie plików graczom jest zabronione. Jest pewna opcja z ReChecker (jeśli masz ReHLDS na serwerze), który by wykrywał ten skrypt i kickował dopóki NS go nie usunie ale wtedy podejrzewam, że prawie nikt by u Ciebie nie grał.


  • +
  • -
  • 2

#10 Shaxu

    Zaawansowany

  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:89
  • Imię:Adam
  • Lokalizacja:Olsztyn
Offline

Napisano 01.07.2021 00:29

Bardzo dobry tutorial, kilka komend zostało naprawionych customowych komend przy uzyciu natywów, oczywiście daje plusika.

 

Spróbujemy podnieść troche blokowanie CSXGuarda o poziom wyzej w tym momencie.

Nastepny problem jaki można zauważyc jest odczyt plików motd przy użyciu funkcji show_motd, czy jest jakieś konkretne rozwiązanie dla graczy którzy mają wgranego protectora CSXguard?

 

Ogólnie próbowałem rozwiązać issue przy użyciu podobnego rozwiązania przedstawionego powyżej, aczokolwiek naprawia błąd w dziwny sposób poniżej prezentuje opis jak wygląda sytuacja:

 

Step 1 ) Gracz CSSetti nie ma możliwości uruchomienia komendy /top15 z poziomu customowego menu ( od razu dostaje odpowiedź do konsoli z informacją [CSXGuard] MOTD: Blocked )

Step 2 ) Nastepnie jeśli gracz wpiszę /top15 manualnie przez say, landing page czy też plik txt. załaduje się bez problemu

Step 3 ) Przez kilka prób około 3-4 razy będzie mógł zobaczyć /top15 z poziomu customowego menu

Step 4 ) Po upływie tych prób, ponownie komenda /top15 nie bedzie działać z poziomu menu oraz będzie trzeba powtarzać cały proceder od początku czyli wpisanie manualnie /top15 oraz przez kilka prób będzie można sprawdzić w customowym menu /top15

 

Pytanie moje brzmi czy jest jakaś alternatywa na ładowanie informacji z okienka MOTD czy też da się naprawic ładowanie MOTD dla CSXguarda tak aby od razu ładował z poziomu zamiast wpisywania ręcznie /top15 oraz mieć możliwośc podglądu na kilka prób.

 

Pozdrawiam Serdecznie Shaxu


Użytkownik Shaxu edytował ten post 01.07.2021 00:37

  • +
  • -
  • 0

#11 Anonymuss

    Profesjonalista

  • Użytkownik

Reputacja: 55
Pomocny

  • Postów:194
  • Imię:Anonimowy
  • Lokalizacja:Polska
Offline

Napisano 01.07.2021 21:07

Bardzo dobry tutorial, kilka komend zostało naprawionych customowych komend przy uzyciu natywów, oczywiście daje plusika.

 

Spróbujemy podnieść troche blokowanie CSXGuarda o poziom wyzej w tym momencie.

Nastepny problem jaki można zauważyc jest odczyt plików motd przy użyciu funkcji show_motd, czy jest jakieś konkretne rozwiązanie dla graczy którzy mają wgranego protectora CSXguard?

 

Ogólnie próbowałem rozwiązać issue przy użyciu podobnego rozwiązania przedstawionego powyżej, aczokolwiek naprawia błąd w dziwny sposób poniżej prezentuje opis jak wygląda sytuacja:

 

Step 1 ) Gracz CSSetti nie ma możliwości uruchomienia komendy /top15 z poziomu customowego menu ( od razu dostaje odpowiedź do konsoli z informacją [CSXGuard] MOTD: Blocked )

Step 2 ) Nastepnie jeśli gracz wpiszę /top15 manualnie przez say, landing page czy też plik txt. załaduje się bez problemu

Step 3 ) Przez kilka prób około 3-4 razy będzie mógł zobaczyć /top15 z poziomu customowego menu

Step 4 ) Po upływie tych prób, ponownie komenda /top15 nie bedzie działać z poziomu menu oraz będzie trzeba powtarzać cały proceder od początku czyli wpisanie manualnie /top15 oraz przez kilka prób będzie można sprawdzić w customowym menu /top15

 

Pytanie moje brzmi czy jest jakaś alternatywa na ładowanie informacji z okienka MOTD czy też da się naprawic ładowanie MOTD dla CSXguarda tak aby od razu ładował z poziomu zamiast wpisywania ręcznie /top15 oraz mieć możliwośc podglądu na kilka prób.

 

Pozdrawiam Serdecznie Shaxu

Nie ma rozwiązania na blokadę motd przez protector (chociaż nie zawsze zadziała ta blokada motd, wiem z autopsji). Gorsza alternatywa (ponieważ w motd jest więcej opcji) - jeśli chcesz zrobić jakiś krótki opis możesz po prostu wykorzystać show_menu, zrobić puste menu bez przycisków z samym tekstem. Co do podglądu na ilość prób chodzi Ci o to, że chcesz widzieć kto, ile razy wybrał opcję "top15" z Twojego menu czy jak?


  • +
  • -
  • 1

#12 Shaxu

    Zaawansowany

  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:89
  • Imię:Adam
  • Lokalizacja:Olsztyn
Offline

Napisano 01.07.2021 21:35

Co do podglądu na ilość prób chodzi Ci o to, że chcesz widzieć kto, ile razy wybrał opcję "top15" z Twojego menu czy jak?

 

Absolutnie mnie to nie obchodzi, przedstawiłem sytuacje jak jak aktualnie działa wywoływanie MOTD przy użyciu natywów zamiast client_cmd(id).

Nie ma na to konkretnego rozwiązania, chociaż prezentowane przez Ciebie opcja zrobienia pustego menu z info jest jakimś wyjściem.

CSXGuard udupił na amen MOTD i szkoda, moim zdaniem jeśli nie mogą wywołać z customowego menu komend to zostanie wpisywanie playersom ręcznie komend lub wyłączenia w swoim CSie protectora.

Moim zdaniem jest już to za duży effort jak dla mnie jest aby zrobić część informacji w menu dla pewnej grupy osób, a swoją drogą to komenda /top15 i tak nie zostanie raczej naprawiona przez informacje z Menu.

 

 

 

Nie ma rozwiązania na blokadę motd przez protector (chociaż nie zawsze zadziała ta blokada motd, wiem z autopsji). 

 

Potwierdzam w moim przypadku odblokowanie działało w opisanym powyżej tutorialu ( odblokowanie motd tymczasowe )

 

Dzięki za feedback

 

 


  • +
  • -
  • 0




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

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