←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Problem z menu klas

Zablokowany

  • +
  • -
ExuS - zdjęcie ExuS 20.03.2011

Witam. Na swoim diablo mam 11 klas, jest zrobiona 2 strona menu. Problem jest w tym, że gdy wejdę na drugą stronę, a później wrócę na pierwszą, to pokazuje się u wszystkich klas Level: 0 (po wybraniu klas jest już wszystko dobrze). Oto screen: http://img840.images.../4162/klasy.jpg

A oto kod z sma mojego diablo.
public select_class(id,lx[])
{
if(is_user_bot(id)) return
new flags[13]
get_cvar_string("diablo_classes",flags,13)
new text[512]
//new keys = read_flags(flags)

asked_klass[id]=0

format(text, 511,"\yWybierz Klase - ^n")

for(new i=0;i<8;i++)
{
format(text, 511,"%s%s%d. %s  Level :%d ^n",text,(keyss)&(1<<i)?"\w":"\d",i+1,Race[i+1], lx[i+1])
}
format(text, 511,"%s^n9. Dalej^n",text)
show_menu(id, keyss, text) 

}


public select_class_menu(id, key) 
{ 
	new lx[13]
	g_haskit[id] = 0
	switch(key) 
	{ 
		case 0: 
		{	
			player_class[id] = Mag			
		}
		case 1: 
		{	
			player_class[id] = Mnich
		}
		case 2: 
		{	
			player_class[id] = Paladyn
		}
		case 3: 
		{	
			player_class[id] = Zabojca
		}
		case 4: 
		{			
			player_class[id] = Nekromanta
			g_haskit[id] = 1
		}
		case 5: 
		{	
			player_class[id] = Barbarzynca			
		}
		case 6: 
		{	
			player_class[id] = Ninja
		}
		case 7: 
		{	
			player_class[id] = Hunter
			g_GrenadeTrap[id] = 1
		}
		case 8:
		{
			ShowKlasy(id,lx)
		}
	}
		
	LoadXP(id, player_class[id])
	CurWeapon(id)
	
	give_knife(id)
	
	return PLUGIN_HANDLED
} 

public ShowKlasy(id,lx[]) {
	new text2[512]
	asked_klass[id]=0
format(text2, 511,"\yWybierz klase - ^n\w1. Killer (Premium)  Level :%i^n2. Zombie (Premium)  Level :%i^n3. Master (Premium)  Level :%i^n^n0. Wstecz^n",player_class_lvl[id][9],player_class_lvl[id][10],player_class_lvl[id][11])
show_menu(id, KeysKlasy,text2, -1, "Klasy")

}
public PressedKlasy(id, key) {

new lx[13]
g_haskit[id] = 0
c_obrazenia[id] = 0
switch (key) {
		case 0: 
		{	
			if( get_user_flags(id) & ADMIN_LEVEL_H)
			player_class[id] = Killer
		}
		case 1: 
		{	
			if( get_user_flags(id) & ADMIN_LEVEL_G)
			player_class[id] = Zombie
			c_obrazenia[id] = 100
		}
		case 2: 
		{	
			if( get_user_flags(id) & ADMIN_LEVEL_F)
			player_class[id] = Master
			c_obrazenia[id] = 120
		}
        case 9:
		{
            select_class(id,lx)
        }
}
LoadXP(id, player_class[id])
CurWeapon(id)
give_knife(id)

return PLUGIN_HANDLED
}

Proszę o pomoc.
Odpowiedz

  • +
  • -
góruś - zdjęcie góruś 24.03.2011

nie ten temat, offtop to delete
Użytkownik gorusio edytował ten post 24.03.2011 16:18
Odpowiedz

  • +
  • -
ExuS - zdjęcie ExuS 26.03.2011

Pomoże ktoś?
Odpowiedz

  • +
  • -
Stachuu :D ?? - zdjęcie Stachuu :D ?? 26.03.2011

hmm

moze zrob 1 storne tak samo jak 2 czyli kazda klase po kolei wypisz i potem , player_lvl_id itp
Odpowiedz

  • +
  • -
Weed - zdjęcie Weed 26.03.2011

Wywal to

LoadXP(id, player_class[id])


z końca publica i dodaj pod każdą klasa oddzielnie czyli:

case 2: 
		{	
			player_class[id] = Paladyn
                        LoadXP(id, player_class[id])
		}

Poniewaz gdy klikasz 9 to wczytujesz tjb. klase ;)

Pozdro :ganja: :ganja: :ganja: :ganja: :ganja:
Odpowiedz

  • +
  • -
ExuS - zdjęcie ExuS 26.03.2011

Nie pomogło. A i jeszcze zapomniałem, czasami występują błędy z wczytywaniem się leveli z 2 strony menu.
Odpowiedz

  • +
  • -
Damex - zdjęcie Damex 26.03.2011

Zaloguj się tam gdzie masz ... sql albo mysql i wpisz to
INSERT IGNORE INTO wpisz swoja tabele  (nick, ip, sid, klasa, lvl, exp) SELECT nick, ip, sid, 9, 1, 1 FROM wpisz swoja tabele  GROUP BY nick HAVING MAX(klasa)<9;


Tylko wpisz swoją tabelę ! po
Into i From !
Użytkownik Damex edytował ten post 26.03.2011 16:28
Odpowiedz

  • +
  • -
ExuS - zdjęcie ExuS 26.03.2011

Nie chodzi o to. Tabele są tylko czasami tak się robi, że wybierzesz klasę z 2 strony menu i czasami lvl nie wejdzie. Trzeba reconnecta. Z klasami z 1 strony tak się nie dzieje.
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 26.03.2011

Wywal to

LoadXP(id, player_class[id])


z końca publica i dodaj pod każdą klasa oddzielnie czyli:

case 2: 
		{	
			player_class[id] = Paladyn
                        LoadXP(id, player_class[id])
		}

Poniewaz gdy klikasz 9 to wczytujesz tjb. klase ;)

Pozdro :ganja: :ganja: :ganja: :ganja: :ganja:

Bez komentarza... Skoro na końcu jest "return PLUGIN_HANDLED", to pod "ShowKlasy(id,lx)" i "select_class(id,lx)" należy dodać "return PLUGIN_HANDLED", a nie bezmyślnie przy każdej klasie wczytywać lvl. Co do tematu to TUTAJ.
Użytkownik sebul edytował ten post 26.03.2011 23:07
Odpowiedz

  • +
  • -
Weed - zdjęcie Weed 26.03.2011

Ale jeżeli masz tak jak w standard to klikając dalej wysyłasz zapytanie do sqla już o klasę której nie wybrałes...
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 27.03.2011

Temu nie przeczę, ale po co dodawać wszędzie wczytywanie tych klas, skoro można to zrobić dużo krócej.
Odpowiedz

  • +
  • -
Weed - zdjęcie Weed 27.03.2011

Tzn w jaki sposób ?;)
Ja mam tak u siebie i wszystko jest dobrze, miałem ten sam problem, przechodząc na drugą stronę miałem lvl lecz wracając na pierwszą już lvl były : 0
I to mi pomogło ;]
Użytkownik Weed edytował ten post 27.03.2011 10:16
Odpowiedz
Zablokowany