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
CoD Nowy

Opis klas z awansem jak dodac?

cod nowy

Najlepsza odpowiedź Rivit, 10.03.2019 15:14

chyba wyłapałem błąd. Sprawdz teraz

Przejdź do postu


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

#1 ChrisN

    Wszechpomocny

  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 28.02.2019 19:30

Hey, mam pytanie jak dodać podgląd opisu klasy w która awansuje inna klasa? W sensie aktualnie w opisie podstawowej klasy mam tylko "Awansuje w XXX (Od poziomu XXX)", a chcialbym dodac opcje ktora pozwoli zobaczyc co daje klasa po awansie.
Tutaj moje publici od opisu klasy
public OpisKlasy(id)
{
	new menu = menu_create("Wybierz klase:", "OpisKlasy_HandleF");
	for(new i=1; i <= ilosc_klas; i++)
	{
		if(!equal(frakcja_klas[i],"") && !is_in_previous(frakcja_klas[i],i)){
			menu_additem(menu,frakcja_klas[i],frakcja_klas[i])
		}
	}
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu);
	
	client_cmd(id, "spk QTM_CodMod/select");
}

public OpisKlasy_HandleF(id, menu, item)
{
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	new data[65], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)
	
	new menu2 = menu_create("Wybierz klase:", "OpisKlasy_Handle");
	
	new klasa[50],szTmp[5];
	for(new i=1; i <= ilosc_klas; i++)
	{
		if(equali(data,frakcja_klas[i])){
			WczytajDane(id, i);
			format(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
			num_to_str(i,szTmp,charsmax(szTmp));
			menu_additem(menu2, klasa, szTmp);
		}
	}
	
	WczytajDane(id, klasa_gracza[id]);
	
	menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu2);
	
	client_cmd(id, "spk QTM_CodMod/select");
	
	menu_destroy(menu);
	return PLUGIN_CONTINUE;
}

public OpisKlasy_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}

	new data[65], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback);

	item = str_to_num(data);
	new bronie[320];
	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[item])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}
	
	new opis[416+MAX_WIELKOSC_OPISU];
	format(opis, charsmax(opis), "\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);
		if(awansuje_z[item])
		format(opis, charsmax(opis), "%s^n\yAwansuje z: \w%s (Wymagany poziom: %i)", opis, nazwy_klas[awansuje_z[item]], awanse[ZnajdzAwans(awansuje_z[item], item)][2]);
	if(awansuje_do[item])
		format(opis, charsmax(opis), "%s^n\yAwansuje do: \w%s (Wymagany poziom: %i)", opis, nazwy_klas[awansuje_do[item]], awanse[ZnajdzAwans(item, awansuje_do[item])][2]);

	show_menu(id, 1023, opis);
	
	return PLUGIN_CONTINUE;
}

  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 28.02.2019 20:09

W zmiennej:

awansuje_do[item]

masz id klasy, więc pobierasz dane tak samo jak normalnej klasy.

 

Coś takiego - nie gwarantuje ze sie bedzie kompilowac, pisane na szybko bez sprawdzenia, ale zamysł złapiesz



public OpisKlasy_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
 
	new data[65], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback);
 
	item = str_to_num(data);
	new bronie[320];
	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[item])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}
	
	new opis[416+MAX_WIELKOSC_OPISU];
	format(opis, charsmax(opis), "\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);
		if(awansuje_z[item])
		format(opis, charsmax(opis), "%s^n\yAwansuje z: \w%s (Wymagany poziom: %i)", opis, nazwy_klas[awansuje_z[item]], awanse[ZnajdzAwans(awansuje_z[item], item)][2]);
	if(awansuje_do[item])
		format(opis, charsmax(opis), "%s^n\yAwansuje do: \w%s (Wymagany poziom: %i)", opis, nazwy_klas[awansuje_do[item]], awanse[ZnajdzAwans(item, awansuje_do[item])][2]);

 	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[awansuje_do[item]])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}

	format(opis, charsmax(opis), "%s^n\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", opis, nazwy_klas[awansuje_do[item]], inteligencja_klas[awansuje_do[item]], zdrowie_klas[awansuje_do[item]], wytrzymalosc_klas[awansuje_do[item]], kondycja_klas[awansuje_do[item]], bronie, opisy_klas[awansuje_do[item]], opisy_klas[item][79]);

	show_menu(id, 1023, opis);
	
	return PLUGIN_CONTINUE;
}

Użytkownik TibacK edytował ten post 28.02.2019 20:11

  • +
  • -
  • 1

#3 ChrisN

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 28.02.2019 21:00

W zmiennej:

awansuje_do[item]
masz id klasy, więc pobierasz dane tak samo jak normalnej klasy.
 
Coś takiego - nie gwarantuje ze sie bedzie kompilowac, pisane na szybko bez sprawdzenia, ale zamysł złapiesz

public OpisKlasy_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
 
	new data[65], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback);
 
	item = str_to_num(data);
	new bronie[320];
	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[item])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}
	
	new opis[416+MAX_WIELKOSC_OPISU];
	format(opis, charsmax(opis), "\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);
		if(awansuje_z[item])
		format(opis, charsmax(opis), "%s^n\yAwansuje z: \w%s (Wymagany poziom: %i)", opis, nazwy_klas[awansuje_z[item]], awanse[ZnajdzAwans(awansuje_z[item], item)][2]);
	if(awansuje_do[item])
		format(opis, charsmax(opis), "%s^n\yAwansuje do: \w%s (Wymagany poziom: %i)", opis, nazwy_klas[awansuje_do[item]], awanse[ZnajdzAwans(item, awansuje_do[item])][2]);

 	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[awansuje_do[item]])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}

	format(opis, charsmax(opis), "%s^n\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", opis, nazwy_klas[awansuje_do[item]], inteligencja_klas[awansuje_do[item]], zdrowie_klas[awansuje_do[item]], wytrzymalosc_klas[awansuje_do[item]], kondycja_klas[awansuje_do[item]], bronie, opisy_klas[awansuje_do[item]], opisy_klas[item][79]);

	show_menu(id, 1023, opis);
	
	return PLUGIN_CONTINUE;
}


Działa, tylko wyswietla awans do nastepnej klasy pod spodem, a mi chodzilo o cos w stylu "1. Awansuje do XXX (Od poziomu XX)" i gdy klikniemy 1
przenosi nas do opisu awansu1 i w tym awansie jest kolejny awans2, bo w kazdej klasie mam 2 awanse, podstawa, awans1, awans2.
  • +
  • -
  • 0

#4 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 01.03.2019 22:59

musisz stworzyc menu z jednym buttonem.

Jako tytuł albo text w menu dać cały opis klasy, a jako jeden item dać "awansuje do ..." i zapisac sobie w 3 parametrze menu_additem jakie id klasy (awansuje_do[item]) i potem w handlerze od tego menu wyswietlic wiadomosci analogicznie jak to jest robione w OpisKlasy_Handle. Oczywiście ten przycisk pokazywać tylko wtedy gdy awansuje_do[item] jest sensowną liczbą, która reprezentuje faktycznie jakąś klase


  • +
  • -
  • 1

#5 ChrisN

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 03.03.2019 20:12

musisz stworzyc menu z jednym buttonem.
Jako tytuł albo text w menu dać cały opis klasy, a jako jeden item dać "awansuje do ..." i zapisac sobie w 3 parametrze menu_additem jakie id klasy (awansuje_do[item]) i potem w handlerze od tego menu wyswietlic wiadomosci analogicznie jak to jest robione w OpisKlasy_Handle. Oczywiście ten przycisk pokazywać tylko wtedy gdy awansuje_do[item] jest sensowną liczbą, która reprezentuje faktycznie jakąś klase

Próbowałem coś zklecić ale nicholere nie umiem, "zrobilem" cos takiego i nie wyswietla nic oprocz podstawowego opisu
 
public OpisKlasy_Handle(id, menu, item, menu_awansek)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}

	new data[65], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback);

	item = str_to_num(data);
	new bronie[320];
	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[item])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}
	
	new opis[416+MAX_WIELKOSC_OPISU];
	format(opis, charsmax(opis), "\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);
	if(awansuje_z[item])
		format(opis, charsmax(opis), "%s^n\yAwansuje z: \w%s (Wymagany poziom: %i)", opis, nazwy_klas[awansuje_z[item]], awanse[ZnajdzAwans(awansuje_z[item], item)][2]);
	if(awansuje_do[item])
		format(opis, charsmax(opis), "%s^n\yAwansuje do: \w%s (Wymagany poziom: %i)", opis, nazwy_klas[awansuje_do[item]], awanse[ZnajdzAwans(item, awansuje_do[item])][2]);

	new menu_awansek = menu_create("Test", "Awanse_Opis_Handle" );
	menu_additem(menu_awansek, "Awansuje do %s", nazwy_klas[awansuje_z[item]]);
	menu_display(id, menu_awansek)

	show_menu(id, 1023, opis);
	
	return PLUGIN_CONTINUE;
}

public Awanse_Opis_Handle(id, menu, key, item)
{
	if(key == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	switch(key)
	{
		case 0:{
	new bronie[320];
	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[item])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}
	new opis[416+MAX_WIELKOSC_OPISU];
	formatex(opis, charsmax(opis), "%s^n\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", opis, nazwy_klas[awansuje_do[item]], inteligencja_klas[awansuje_do[item]], zdrowie_klas[awansuje_do[item]], wytrzymalosc_klas[awansuje_do[item]], kondycja_klas[awansuje_do[item]], bronie, opisy_klas[awansuje_do[item]], opisy_klas[item][79]);
}
	}
	client_cmd(id, "spk misc/select");
	return PLUGIN_HANDLED;
}

Użytkownik ChrisN edytował ten post 03.03.2019 20:14

  • +
  • -
  • 0

#6 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 03.03.2019 20:31

	new menu_awansek = menu_create("Test", "Awanse_Opis_Handle" );
	menu_additem(menu_awansek, "Awansuje do %s", nazwy_klas[awansuje_z[item]]);
	menu_display(id, menu_awansek)
 
	show_menu(id, 1023, opis);

Podumaj...

robisz menu_display, a potem wywołujesz show_menu. Jedno menu zasłania drugie i zostaje pokazane to ostatnie.

menu_additem(menu_awansek, "Awansuje do %s", nazwy_klas[awansuje_z[item]]);

Nie mozesz robić takiego czegoś. Musisz zrobić tablice i zapomocą format(ex) umiescić tam tekst.


  • +
  • -
  • 1

#7 ChrisN

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 03.03.2019 21:19

	new menu_awansek = menu_create("Test", "Awanse_Opis_Handle" );
	menu_additem(menu_awansek, "Awansuje do %s", nazwy_klas[awansuje_z[item]]);
	menu_display(id, menu_awansek)
 
	show_menu(id, 1023, opis);
Podumaj...
robisz menu_display, a potem wywołujesz show_menu. Jedno menu zasłania drugie i zostaje pokazane to ostatnie.
menu_additem(menu_awansek, "Awansuje do %s", nazwy_klas[awansuje_z[item]]);
Nie mozesz robić takiego czegoś. Musisz zrobić tablice i zapomocą format(ex) umiescić tam tekst.


To jak mam wyświetlić to drugie menu by nie zasłaniały się na wzajem? próbowałem dodać poprostu menu_additem bez tworzenia nowego menu ale tez nic sie nie wyswietlalo
  • +
  • -
  • 0

#8 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 03.03.2019 21:45


To jak mam wyświetlić to drugie menu by nie zasłaniały się na wzajem?

 

Nijak. Musisz to zrobić w jednym menu.

 

https://amxx.pl/topi...menu-przykłady/

https://amxx.pl/topi...tworzenie-menu/

 

 


  • +
  • -
  • 1

#9 ChrisN

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 04.03.2019 17:59

To jak mam wyświetlić to drugie menu by nie zasłaniały się na wzajem?

 
Nijak. Musisz to zrobić w jednym menu.
 
https://amxx.pl/topi...menu-przykłady/
https://amxx.pl/topi...tworzenie-menu/


Próbuje i próbuje ale nie wychodzi mi, zrobiłem przycisk z nazwą klasy i poziomem wymaganym, lecz ten przycisk nie wyswietla case:0 tylko nie wiem dlaczego ;/

public OpisKlasy_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}

	new data[65], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback);

	item = str_to_num(data);
	new bronie[320];
	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[item])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}
	
	new opis[200+MAX_WIELKOSC_OPISU];
	format(opis, charsmax(opis), "\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);

	new test[1023]
	new tytulxd[128]
	formatex(test,charsmax(opis),"%s",opis)
	formatex(tytulxd, charsmax(tytulxd),"Awansuje do %s (Od %i levela)", nazwy_klas[awansuje_do[item]], awanse[ZnajdzAwans(item, awansuje_do[item])][2])
	new menu3 = menu_create(test, "Awanse_Opis_Handle")
	menu_additem(menu3, tytulxd)
	menu_display(id,menu3)
	menu_destroy(menu);
	return PLUGIN_CONTINUE;
}

public Awanse_Opis_Handle(id, menu, item) {
	if(item == MENU_EXIT) {
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	new bronie[320];
	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[item])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}

	switch(item) { 
		case 0: {
	new opis[416+MAX_WIELKOSC_OPISU];
	format(opis, charsmax(opis), "%s^n\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", opis, nazwy_klas[awansuje_do[item]], inteligencja_klas[awansuje_do[item]], zdrowie_klas[awansuje_do[item]], wytrzymalosc_klas[awansuje_do[item]], kondycja_klas[awansuje_do[item]], bronie, opisy_klas[awansuje_do[item]], opisy_klas[item][79]);
		}
	}

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

  • +
  • -
  • 0

#10 ChrisN

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 04.03.2019 18:00

To jak mam wyświetlić to drugie menu by nie zasłaniały się na wzajem?

 
Nijak. Musisz to zrobić w jednym menu.
 
https://amxx.pl/topi...menu-przykłady/
https://amxx.pl/topi...tworzenie-menu/


Próbuje i próbuje ale nie wychodzi mi, zrobiłem przycisk z nazwą klasy i poziomem wymaganym, lecz ten przycisk nie wyswietla case:0 tylko nie wiem dlaczego ;/

public OpisKlasy_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}

	new data[65], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback);

	item = str_to_num(data);
	new bronie[320];
	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[item])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}
	
	new opis[200+MAX_WIELKOSC_OPISU];
	format(opis, charsmax(opis), "\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);

	new test[1023]
	new tytulxd[128]
	formatex(test,charsmax(opis),"%s",opis)
	formatex(tytulxd, charsmax(tytulxd),"Awansuje do %s (Od %i levela)", nazwy_klas[awansuje_do[item]], awanse[ZnajdzAwans(item, awansuje_do[item])][2])
	new menu3 = menu_create(test, "Awanse_Opis_Handle")
	menu_additem(menu3, tytulxd)
	menu_display(id,menu3)
	menu_destroy(menu);
	return PLUGIN_CONTINUE;
}

public Awanse_Opis_Handle(id, menu, item) {
	if(item == MENU_EXIT) {
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	new bronie[320];
	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[item])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}

	switch(item) { 
		case 0: {
	new opis[416+MAX_WIELKOSC_OPISU];
	format(opis, charsmax(opis), "%s^n\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", opis, nazwy_klas[awansuje_do[item]], inteligencja_klas[awansuje_do[item]], zdrowie_klas[awansuje_do[item]], wytrzymalosc_klas[awansuje_do[item]], kondycja_klas[awansuje_do[item]], bronie, opisy_klas[awansuje_do[item]], opisy_klas[item][79]);
		}
	}

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

  • +
  • -
  • 0

#11 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 05.03.2019 19:53

Zrobię Ci to (a przynajmniej się postaram), ale nie dziś.

Napisz post w tym temacie w piątek koło 11.

 

Co do kodu - ogolnie to lepiej by było zrobić sobie osobną funkcję, która pokazuje nam gotowy opis i robi nam menu. A potem wywoływać ją z id gracza i id klasy.


  • +
  • -
  • 1

#12 ChrisN

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 08.03.2019 17:27

Zrobię Ci to (a przynajmniej się postaram), ale nie dziś.
Napisz post w tym temacie w piątek koło 11.
 
Co do kodu - ogolnie to lepiej by było zrobić sobie osobną funkcję, która pokazuje nam gotowy opis i robi nam menu. A potem wywoływać ją z id gracza i id klasy.


Piszę post tak jak prosiłeś :D
  • +
  • -
  • 0

#13 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 08.03.2019 20:36

mozesz dac silnik czy nie bardzo?

bo chcialbymm sprawdzic czy sie kompiluje chociaz


  • +
  • -
  • 0

#14 ChrisN

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 08.03.2019 21:00

Wysłałem ci PW silnik
  • +
  • -
  • 0

#15 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 08.03.2019 22:30

skompilowalo sie za pierwsyzm razem, z tego wnioskuje ze moze nie dzialac. test

Załączone pliki


  • +
  • -
  • 0

#16 ChrisN

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 10.03.2019 09:05

skompilowalo sie za pierwsyzm razem, z tego wnioskuje ze moze nie dzialac. test


Po wpisaniu /klasy wyswietla sie menu z frakcjami, lista klas tez ale jak juz klase wybiore to nic sie nie dzieje, w logach tez nie ma nic.
  • +
  • -
  • 0

#17 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.03.2019 10:41

wgraj, sprobuj wybrac klase w opisie i wtedy popatrz do logów. Dodałem wypisywanie wartosci itp, pokaz mi to

Załączone pliki


  • +
  • -
  • 0

#18 ChrisN

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 10.03.2019 11:40

wgraj, sprobuj wybrac klase w opisie i wtedy popatrz do logów. Dodałem wypisywanie wartosci itp, pokaz mi to


L 03/10/2019 - 11:37:59: -------- Mapchange to de_dust2 --------
L 03/10/2019 - 11:38:00: [admin.amxx] Login: "ChrisN<4><STEAM_0:0:162876983><>" became an admin (account "STEAM_0:0:162876983") (access "acdefghijklmnopqrstu") (address "85.221.139.92")
L 03/10/2019 - 11:38:01: [admin.amxx] Login: "ChrisN<5><STEAM_0:0:162876983><>" became an admin (account "STEAM_0:0:162876983") (access "acdefghijklmnopqrstu") (address "85.221.139.92")
L 03/10/2019 - 11:38:08: [QTM_CodMod.amxx] classid: 1
L 03/10/2019 - 11:38:53: [QTM_CodMod.amxx] classid: 27

  • +
  • -
  • 0

#19 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.03.2019 15:14   Najlepsza odpowiedź

chyba wyłapałem błąd. Sprawdz teraz

Załączone pliki


  • +
  • -
  • 2

#20 ChrisN

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 31
Życzliwy

  • Postów:303
  • Imię:Christopher
Offline

Napisano 10.03.2019 15:35

chyba wyłapałem błąd. Sprawdz teraz


Kocham cie mordko <3 Wszystko smiga :D
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cod nowy

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

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