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

Odświeżanie menu na ostatnio wyświetlanej stronie


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

#1 Anonymuss

    Profesjonalista

  • Użytkownik

Reputacja: 55
Pomocny

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

Napisano 18.08.2021 00:59

Był już chyba taki temat na forum ale nie mogę go nigdzie znaleźć. W jaki sposób mogę zapisać aktualnie przeglądaną stronę w menu żeby móc je później odświeżyć na tej samej stronie?

Próbowałem coś tam zrobić ale wychodziły mi dziwne bugi, czasami komenda /s nie pokrywała się z informacjami w /t albo gdy wyszedłem z menu mając je odpalone na drugiej stronie (niby powinno wyzerować strony), po wpisaniu /menu znów wracało na drugą stronę.

#include <amxmodx>

new strona[33];

public plugin_init() {
	register_plugin("Test Menu", "1.0", "Anonymuss");
	register_clcmd("say /menu_testowe", "test_menu");
	register_clcmd("say /s", "aktualna_strona");
	register_clcmd("say /t", "test");
}

public client_authorized(id)
	strona[id] = 0;

public test_menu(id) {
	test(id);
	new menu = menu_create("Menu Testowe", "uchwyt_menu");
	
	for(new i = 0; i <= 7; i++)
		menu_additem(menu, "Odswiez");
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu, strona[id]);
}

public uchwyt_menu(id, menu, item) {
	if(item == MENU_EXIT) {
		menu_destroy(menu);
		strona[id] = 0;
		client_print_color(id, id, "Zamknales menu (strona %i)", strona[id]);
		return PLUGIN_HANDLED;
	}
	
	switch(item) {
		case 0..7: {
			test_menu(id);
			client_print_color(id, id, "Odswiezyles menu (strona %i)", strona[id]);
		}
	}
	
	return PLUGIN_CONTINUE;
}

public aktualna_strona(id)
	client_print_color(id, id, "Aktualna strona: %i", strona[id]);

public test(id) {
	new menu, new_menu;
	player_menu_info(id, menu, new_menu, strona[id]);
	if(new_menu != -1)
		client_print_color(id, id, "gracz %i ma wyświetlone nowe menu o indeksie %i, na stronie %i", id, new_menu, strona[id]);
}

Co robię nie tak? Jaka jest poprawna metoda?


  • +
  • -
  • 0

#2 Deus Vult

    Nowy

  • Użytkownik

Reputacja: 109
Zaawansowany

  • Postów:213
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Rzeszow
Offline

Napisano 18.08.2021 15:56

https://amxx.pl/topi...nu/#entry247604


Użytkownik Devastator edytował ten post 18.08.2021 15:57

  • +
  • -
  • 1

#3 KoRrNiK

    Zaawansowany

  • Użytkownik

Reputacja: 81
Zaawansowany

  • Postów:78
  • Steam:steam
  • Lokalizacja:Rzeszów
Offline

Napisano 18.08.2021 15:59

Trzymaj 
 

new pageMenu[33];

public menuTest(id){
	
	new menu = menu_create("Test", "menuTest_2");
	
	for(new i = 0; i < 15; i ++){
		menu_additem(menu, fmt("%d", i));
	}
	
	menu_display(id, menu, pageMenu[id]/7);
	
}

public menuTest_2(id, menu, item){
	
	pageMenu[id] = ( item == MENU_EXIT ) ? 0 : item;
	
	if( item != MENU_EXIT ){
	
		client_print(id, 3, "%d", pageMenu[id]);
		menuTest(id);

	} else menu_destroy(menu);
	
}	

Najłatwiej to zrobić w taki sposób. Pobierasz do zmiennej aktualny przycisk w który kliknąłeś i dzielisz go na 7 aby wyliczyć na której stronie aktualnie przebywałeś aby odpalić ją ponownie. 


  • +
  • -
  • 1

- Na wiadomości typu "siema, mam sprawę" nie odpisuję pisz od razu o co Ci chodzi.

- Jeśli masz zlecenie pisz śmiało  :)

- Nie pomagam na PW za darmo  :(

 

 


#4 Anonymuss

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 55
Pomocny

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

Napisano 18.08.2021 20:45

Te sposoby nie ustawiały strony dopóki nie wybrałem jakiegoś itemu z menu i po odświeżeniu menu 2x pod rząd komendą, strony się zerowały a menu odświeżało się znów na pierwszej stronie. Potrzebowałem przechwytywanie przycisków 8, 9 w menu ale już znalazłem sposób i poprawiłem sobie te dwa błędy.


  • +
  • -
  • 0




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

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