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

[KOSZ] Problem z awansami klas

cod nowy

  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 protypek

    Wszechwidzący

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:227
  • GG:
  • Imię:Konrad
  • Lokalizacja:Stalowa Wola
Offline

Napisano 10.07.2015 15:49

Witam, mam wgrane awanse klas, frakcję oraz opis i pytanie przy wyborze klas. Tylko że wgrałem "Klasy nie awansują, ale odblokowywują się po osiągnięciu danego poziomu na danej klasie (jeżeli mamy wgrane frakcje)"  http://amxx.pl/topic...post__p__262954. Lecz gdy osiągnie się poziom na danej klasie, np. Komandos i awansuję na Elitarnego Komandosa to nie da się grać komandosem bo przełącza go na elitarnego od razu. Proszę o pomoc.

public WybierzKlase_Frakcje(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:", "WybierzKlase_Handle");
	
	new klasa[50], szTmp[5];
	for(new i=1; i <= ilosc_klas; i++)
	{
		if(equali(data,frakcja_klas[i]))
		{
			if(awansuje_z[i])
			{
				new bool:moze = false;
				WczytajDane(id, awansuje_z[i]);
				if(poziom_gracza[id] >= awanse[ZnajdzAwans(awansuje_z[i], i)][2])
					moze = true;
				
				WczytajDane(id, i);
				if(moze) formatex(klasa, charsmax(klasa), "\y%s \rPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
				else formatex(klasa, charsmax(klasa), "\r%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
			}
			else
			{
				WczytajDane(id, i);
				formatex(klasa, charsmax(klasa), "\y%s \rPoziom: %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^n^n\dWitaj w modyfikacji CoD MoD: AW^nForum: Cs-xxxxxx.pl^nSklep: Sklep.xxxxxx/cod");
	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 WybierzKlase_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);
	
	if(awansuje_z[item])
	{
		WczytajDane(id, awansuje_z[item]);
		new bool:moze, a = ZnajdzAwans(awansuje_z[item], item)
		if(poziom_gracza[id] >= awanse[a][2])
			moze = true;
		WczytajDane(id, klasa_gracza[id]);
		if(!moze)
		{
			client_print(id, print_chat, "[COD:AW] Aby uzywac tej klasy musisz zdobyc %i poziom na klasie %s!", awanse[a][2], nazwy_klas[awansuje_z[item]]);
			return PLUGIN_CONTINUE;
		}
	}
	
	if(item == klasa_gracza[id])
      		return PLUGIN_CONTINUE;
	
	wybrana_klasa[id] = item
	
	new text[513] 

	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++;
      		}
	}
	format(text, 512, "\rNazwa: \w%s ^n\rOpis: \w%s^n\rBronie: \w%s^n^n\yCzy chcesz wybrac te klase?",nazwy_klas[item], opisy_klas[item], bronie, inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item]) 

	new nmenu = menu_create(text, "WybierzKlase_Handler")
	menu_additem(nmenu, "Tak")
	menu_additem(nmenu, "Nie")
	menu_display(id, nmenu)
	
	return PLUGIN_CONTINUE;
}

public WybierzKlase_Handler(id, menu, item)
{
      client_cmd(id, "spk QTM_CodMod/select");

      if(wybrana_klasa[id] == klasa_gracza[id])
            return PLUGIN_CONTINUE;

      switch(item)
      {
            case 0:
            {
                   klasa_gracza[id] = wybrana_klasa[id];

                   if(klasa_gracza[id])
                         client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
                   else
                   {
                         UstawNowaKlase(id);
                         DajBronie(id);
                         ZastosujAtrybuty(id);
                   }
            }
            case 1:
            {
                   WybierzKlase(id)
            }
      }
      return PLUGIN_CONTINUE;
}

Proszę o szybką pomoc. 

Każdą pomoc nagradzam +.


Użytkownik protypek edytował ten post 10.07.2015 15:51

  • +
  • -
  • 0

#2 protypek

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:227
  • GG:
  • Imię:Konrad
  • Lokalizacja:Stalowa Wola
Offline

Napisano 10.07.2015 16:28

Public WybierzKlase_Handler(id, menu, item) tak wygląda bo zgubiłem "&& !nowa_klasa_gracza[id]" ale i tak ciągle zmiana następuję.

public WybierzKlase_Handler(id, menu, item)
{
      client_cmd(id, "spk QTM_CodMod/select");

      if(wybrana_klasa[id] == klasa_gracza[id] && !nowa_klasa_gracza[id])
            return PLUGIN_CONTINUE;

      switch(item)
      {
            case 0:
            {
                   nowa_klasa_gracza[id] = wybrana_klasa[id];

                   if(klasa_gracza[id])
                         client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
                   else
                   {
                         UstawNowaKlase(id);
                         DajBronie(id);
                         ZastosujAtrybuty(id);
                   }
            }
            case 1:
            {
                   WybierzKlase(id)
            }
      }
      return PLUGIN_CONTINUE;
}

PS. Nie mogłem edytować tematu. 


Użytkownik protypek edytował ten post 10.07.2015 16:29

  • +
  • -
  • 0

#3 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 15.07.2015 07:44

Nazywaj tematy zgodnie z ich treścią.
Napisz ponownie temat nazywając go tak, aby każdy wiedział o co chodzi.

Jednoznacznie określ problematykę tematu, wyróżniając go spośród reszty.
Nie dodawaj zbędnych informacji, znaków, ani emotikon w nazwie tematu.

Ten temat w ciągu 24 godzin zostanie przeniesiony do kosza.
  • +
  • -
  • 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