Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Problem z menu klas


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

#1 GoldenKill

    Guru

  • Power User

Reputacja: 506
Wszechwiedzący

  • Postów:792
  • GG:
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 07.11.2013 23:12

Witam 

 

Ostatnio zauważyłem na serwerze problem który występuje w menu klasy. Zamiast lvl przy elfie znajduje się on w mordercy a tarantula nie ma w ogóle lvl ciągle piszę 1, a jak się wybierze klasę to pokazuje prawdziwy lvl oto kod

public ShowKlasy(id) 
{
	new text2[512]

        asked_klass[id]=0

	format(text2, 511,"\yWybierz klase - ^n\w1. Legionista \w[Level: %i]^n2. Merial \w[Level: %i]^n3. Baal \w[Level: %i]^n4. Bard \w[Level: %i]^n5. Elf \w[Level: %i]^n6. Morderca \w[Level: %i]^n7. Tarantula \w[Level: %i]^n8. Upadly \w[Level: %i]^n^n0.\yWroc^n^n", player_class_lvl[id][9],player_class_lvl[id][10],player_class_lvl[id][11],player_class_lvl[id][12],player_class_lvl[id][13],player_class_lvl[id][14],player_class_lvl[id][15],player_class_lvl[id][16])
	
	show_menu(id, klawisze,text2, -1, "ultardiablokalsy")
	
	
}
public PressedKlasy(id, key) 
{
	g_haskit[id] = 0
	c_jump[id] = 0
	g_piorun[id] = 0
	c_lecz[id] = 0
	c_redirect[id] = 0
	wczytalo[id] = 0
	c_antyarchy[id] = 0
	c_wampir[id] = 0
	player_b_silent[id] = 0
	player_b_explode[id] = 0
	anty_flesh[id]=0
	c_shake[id]=0
	c_blind[id] = 0
	
	switch (key) {
		case 0:
		{
			player_class[id] = Legionista
			c_jump[id] = 2
			LoadXP(id, player_class[id])
		}
		case 1:
		{
			player_class[id] = Merial
			g_piorun[id] = 1
			c_lecz[id] = 10
			LoadXP(id, player_class[id])
			set_task(4.0, "dajuzdrow", id)
		}
		case 2:
		{
			player_class[id] = Baal
			c_redirect[id] = 5
			LoadXP(id, player_class[id])
		}
		case 3:
		{
			player_class[id] = Bard
			g_piorun[id] = 1
			c_lecz[id] = 10
			LoadXP(id, player_class[id])
			set_task(4.0, "dajuzdrow", id)
		}
		case 4:
		{
			player_class[id] = Elf
                        c_jump[id] = 1
			LoadXP(id, player_class[id])
		}
		case 5: 
		{	
			player_class[id] = Morderca
			LoadXP(id, player_class[id])
		}
		case 6:
		{	
			player_class[id] = Tarantula
                        c_wampir[id] = 10
			LoadXP(id, player_class[id])
		} 
		case 7: 
		{	
			player_class[id] = Upadly
			anty_flesh[id]=1
			c_blind[id] = 15
			c_shake[id]=5
			LoadXP(id, player_class[id])
		}
		case 9:
		{
			select_class(id)
		}
	}
	LoadXP(id, player_class[id])
	otwarte_menu[id] = false
	CurWeapon(id)
	give_knife(id)
	
	return PLUGIN_HANDLED
} 

  • +
  • -
  • 0

"Wojownik nie umiera lekko. Śmierć, by go dopaść, musi stoczyć z nim walkę. A wojownik łatwo śmierci nie ulega."

 

Carlos Castaneda, The Wheel of Time

 

 

Mam na sprzedaż unikatowy system questów, nową walutę oraz rangi na cod moda. Zainteresowanych zapraszam na pw, GG lub Steam.


#2 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 07.11.2013 23:43

Pomieszałeś 2 style menu, stare i nowe... Przez co przy wyborze klasy 1 użytkownik dostanie klasę 2, przy wyborze 2 dostanie 3 i tak dalej... ale z tego, co napisałeś to masz problem z wyświetlaniem levelu...

 

No i właśnie chyba nie do końca... Levele wyświetlane w menu moim zdaniem się pokrywają, jednak po wyborze klasy wybierasz tak naprawdę inną...

 

Polecam użyć systemu nowych menu...

public ShowKlasy(id) 
{
    new menu = menu_create("Wybierz klasę", "PressedKlasy");
    asked_klass[id]=0
 
    new item[64], info[6];
    formatex(item, 63, "Legionista [Level: %i]", player_class_lvl[id][Legionista]);
    num_to_str(Legionista, info, 5);
    menu_additem(menu, item, info);
 
    formatex(item, 63, "Merial [Level: %i]", player_class_lvl[id][Merial]);
    num_to_str(Merial, info, 5);
    menu_additem(menu, item, info);
 
    // Tutaj dodaj dalsze klasy w ten sposób, jak powyższe.
   
    menu_display(id, menu);
}
 
public PressedKlasy(id, menu, item) 
{
    if(item == MENU_EXIT) {
        menu_destroy(menu)
        return PLUGIN_HANDLED;
    }
 
    new access, info[6], callback;
    menu_item_getinfo(menu, item, &access, info, 5, _, _, &callback);
    new class = str_to_num(info);
       
    player_class[id] = class
    LoadXP(id, player_class[id])
 
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

2 zalecenia: umiejętności klas nie powinny być przyznawane w handlerze menu, powinny być raczej odpowiednie umiejętności rozpoznane na podstawie klasy gracza, a nie poprzez coś takiego:

anty_flesh[id]=1
c_blind[id] = 15
c_shake[id]=5

Tego w moim kodzie nie ma z 2ch przyczyn: po pierwsze, jest nieładne, po drugie, przy tak napisanym kodzie, jak teraz, aby dodać klasę do menu, wystarczy edytować w 1 miejscu. Można też zrobić pętlę po nazwach klas i tworzyć menu całkowicie automatycznie. zwróć uwagę na tworzenie zmiennej info i jej użycie :) Tak się jej używa, a nie do późniejszego użycia zamiast "item"

 

co do Twojego kodu: błędem jest to, że numerowanie w starych menu (key) zaczyna się od 1, w nowych (item) od 0, Ty użyłeś od 0, a powinieneś o 1 (o switch mi chodzi oczywiście).


  • +
  • -
  • 1
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#3 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 506
Wszechwiedzący

  • Postów:792
  • GG:
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 07.11.2013 23:58

Wzorowałem się na menu z diablo moda by stachuu. Mam użyte od 0 w każdym switch tylko akurat w tym mi źle lvl wyświetlają (patrząc na inne diablo switch zaczynał się od 0) 


  • +
  • -
  • 0

"Wojownik nie umiera lekko. Śmierć, by go dopaść, musi stoczyć z nim walkę. A wojownik łatwo śmierci nie ulega."

 

Carlos Castaneda, The Wheel of Time

 

 

Mam na sprzedaż unikatowy system questów, nową walutę oraz rangi na cod moda. Zainteresowanych zapraszam na pw, GG lub Steam.


#4 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 08.11.2013 07:58

W starym typie menu do handlera otrzymujesz numer klawisza, który gracz wcisnął i może ta wartość być od 0 do 9. W nowym typie menu otrzymujesz ID pozycji z menu_additem, które może mieć wartość nawet i 1000 ze względu na automatyczne tworzenie stron w menu. Popraw to, a zobaczysz, że zacznie działać ;) Inne menu też pewnie źle Ci działają, ale tego nie widzisz... no chyba, że nie pomieszałeś tam 2ch typów menu.


  • +
  • -
  • 1
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#5 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 506
Wszechwiedzący

  • Postów:792
  • GG:
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 08.11.2013 15:24

Nic nie pomogło :(


  • +
  • -
  • 0

"Wojownik nie umiera lekko. Śmierć, by go dopaść, musi stoczyć z nim walkę. A wojownik łatwo śmierci nie ulega."

 

Carlos Castaneda, The Wheel of Time

 

 

Mam na sprzedaż unikatowy system questów, nową walutę oraz rangi na cod moda. Zainteresowanych zapraszam na pw, GG lub Steam.


#6 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 506
Wszechwiedzący

  • Postów:792
  • GG:
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 09.11.2013 10:32

Poradziłem sobie do zamknięcia 


  • +
  • -
  • 0

"Wojownik nie umiera lekko. Śmierć, by go dopaść, musi stoczyć z nim walkę. A wojownik łatwo śmierci nie ulega."

 

Carlos Castaneda, The Wheel of Time

 

 

Mam na sprzedaż unikatowy system questów, nową walutę oraz rangi na cod moda. Zainteresowanych zapraszam na pw, GG lub Steam.





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

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