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
 

ritriver - zdjęcie

ritriver

Rejestracja: 30.12.2023
Aktualnie: Nieaktywny
Poza forum Ostatnio: 30.12.2023 21:49
-----

Moje tematy

Nie za bardzo wiem jak mogę ograniczyć dostęp do menu

30.12.2023 21:04

Cześć mój problem jest następujący chciałbym zablokować menu aby było nie dostępne dla innych get_user_team == 3 czyli w tym wypadku dla Spectatorów oraz get_user_team == 0 czyli w tym przypadku dla nie przydzielonych osób do żadnego z teamów, dopiero uczę się z nauki 2 letniej C++ przeszedłem do nauki skryptowania w AMXX siedzę już nad tym problemem 3 godziny ponieważ jestem samoukiem i wolę samemu rozwiązywać problemy niż szukać otwartego rozwiązania w ten sposób się bardzo dużo uczę i rozumiem. Próbowałem już użyć funkcji set_task natomiast również nie miałem takiego rezultatu jaki bym chciał podpinałem już różne biblioteki które miały coś związane z teamem uważnie czytam dokumentację od razu mówię nie chcę gotowego rozwiązania chciałbym tylko żeby ktoś mnie pokierował że na przykład jeśli runda się zacznie do tego też nie znalazłem funkcji ;/ to mogę tylko na jedną rundę raz wpisać /klasa no nie mogę sobie dołapać jak tego timera zrobić żeby na przykład na jedną rundę dać tylko jedną możliwość wpisania tej komendy.

 

To jest mój kod, jak już wspomniałem jestem samoukiem i piszę go sam ponieważ chcę się jak najwięcej nauczyć i po prostu hobbystycznie pisać sobie paczki i pluginy. Piszę po angielsku ogólnie ponieważ przyjęło się w programowaniu żeby używać CamelCase i pisać zmienne w języku angielskim żeby się było łatwiej połapać. Próbowałem tez używać menu_makecallback jednak też nic z tym nie wskurałem.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <gunxpmod>
#include <hamsandwich>

#define PLUGIN "Menu klas"
#define VERSION "1.0"
#define AUTHOR "ritriver"

new Map[32];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /klasa","Menu")
	set_task(3,"Hud", .flags="b")
	
	precache_sound("/ritriver/success.wav");
}

public Menu(id) {
	new menus = menu_create("Wybierz klase", "MenuHandler");
	menu_additem(menus, "Rozrabiaka", "", 0, -1); //case 0
	menu_additem(menus, "Rozbojnik", "", 0, -1); // case 1
	menu_display(id, menus);
}

public MenuHandler(id, menu, item) {
		switch(item)
		{
			case 0: 
			{
				client_cmd(id,"spk  /ritriver/success.wav")
				client_printcolor(id,"/g[KLASA] /ywybrales klase: /g[Rozrabiaka]")
			}
			case 1:
			{
				client_cmd(id,"spk  /ritriver/success.wav")
				client_printcolor(id,"/g[KLASA] /ywybrales klase: /g[Rozbojnik]")
			}
		}
		// end switch
		menu_destroy(menu)
		PLUGIN_HANDLED
}

public Hud(id)
{
	set_hudmessage(250, 237, 0, 0.01, 0.25)
	show_hudmessage(id, "[Forum]: TwojeForum.pl^n[Wlasciciel]: ritriver^n[Komendy] /klasa^n[Mapa]: %d", get_mapname(Map, 31))
}