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
Silnik

Mała zmiana w silniku - Cod Awanse klas.

silnik

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

#1 question?

    Pomocny

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:58
  • Lokalizacja:śląsk
Offline

Napisano 29.12.2013 15:55

Prosiłbym o poradę jak zmienić rejestrację awansu. Chciałbym by klasa awansowała np. od 500lvl i po awansie klasa miałby statystyki i moce z klasy Ulepszonej natomiast LVL szedł by dalej czyli 501, 502 itp. Teraz mam zrobione, że klasa po awansie startuje znów z 1 lvla. Z góry dziękuję za pomoc.

public ZarejestrujAwans(plugin, params)
{
	if(params != 9)
		return PLUGIN_CONTINUE;
	
	if(++ilosc_klas > MAX_ILOSC_KLAS)
		return -1;
	
	pluginy_klas[ilosc_klas] = plugin;
	
	new awans_z = get_param(1);
	awansuje_do[awans_z] = ilosc_klas;
	awansuje_z[ilosc_klas] = awans_z;
	ilosc_awansow++;
	awanse[ilosc_awansow][1] = ilosc_klas;
	awanse[ilosc_awansow][0] = awans_z;
	awanse[ilosc_awansow][2] = get_param(2);
	get_string(3, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY);
	get_string(4, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU);
	
	bronie_klasy[ilosc_klas] = get_param(5);
	zdrowie_klas[ilosc_klas] = get_param(6);
	kondycja_klas[ilosc_klas] = get_param(7);
	inteligencja_klas[ilosc_klas] = get_param(8);
	wytrzymalosc_klas[ilosc_klas] = get_param(9);
	for(new i=0;i<klasid;i++){
		if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i])){
			frakcja_klas[ilosc_klas] = nazwa_frakcji[i];
		}
	}


	return ilosc_klas;
}

  • +
  • -
  • 0

#2 O'Zone

    Wszechobecny

  • Użytkownik

Reputacja: 594
Wszechwiedzący

  • Postów:409
  • Steam:steam
Offline

Napisano 29.12.2013 16:02

Zajrzyj do poradnika o dodaniu awansów: http://amxx.pl/topic...63-awanse-klas/, a dokładniej na fragment pod "Jeżeli chcesz, aby na nową klasę przechodził poziom, exp, statystyki itd., zastąp w/w funkcję tą" :)


  • +
  • -
  • 0
Pomogłem? Daj Dołączona grafika

#3 question?

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:58
  • Lokalizacja:śląsk
Offline

Napisano 29.12.2013 16:05

Poradnik "przestudiowałem" nie ma tam informacji tych których jas potrzebuje. NIE chcę by przechodizło wszystko. Potrzebuję tylko by level szedł dalej nie powracał znów do 1.


  • +
  • -
  • 0

#4 O'Zone

    Wszechobecny

  • Użytkownik

Reputacja: 594
Wszechwiedzący

  • Postów:409
  • Steam:steam
Offline

Napisano 29.12.2013 16:16

Wystarczy drobna korekta podanej tam funkcji. Nie wszystko musi być zawsze podane na tacę, wystarczy trochę wysilić szare komórki :)

if(awansuje_do[klasa_gracza[id]])
		{
				if(poziom_gracza[id] >= awanse[ZnajdzAwans(klasa_gracza[id], awansuje_do[klasa_gracza[id]])][2])
				{
						set_hudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0);
						ShowSyncHudMsg(id, SyncHudObj2,"Osiagajac poziom %i, awansowales do klasy %s!", poziom_gracza[id], nazwy_klas[awansuje_do[klasa_gracza[id]]]);
						new temp_exp = doswiadczenie_gracza[id], temp_lvl = poziom_gracza[id];
						nowa_klasa_gracza[id] = awansuje_do[klasa_gracza[id]];
						UstawNowaKlase(id);
						poziom_gracza[id] = temp_lvl;
						doswiadczenie_gracza[id] = temp_exp;
						punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
						DajBronie(id);
						ZastosujAtrybuty(id);
						ZapiszDane(id);
				}
		}

  • +
  • -
  • 1
Pomogłem? Daj Dołączona grafika

#5 question?

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:58
  • Lokalizacja:śląsk
Offline

Napisano 29.12.2013 19:38

Dziękuje bardzo udało sie lvl idzie dalej nie wraca do 1, ale pojawił się kolejny problem: mogę rozdac pkt do statystyk te za ten 500lvl a chiałbym by znow klasa miała w każdej statystyce bazowe pkt....


  • +
  • -
  • 0

#6 O'Zone

    Wszechobecny

  • Użytkownik

Reputacja: 594
Wszechwiedzący

  • Postów:409
  • Steam:steam
Offline

Napisano 30.12.2013 11:13

Logiczną rzeczą jest, że jeśli klasa ma określony poziom, to może także rozdać odpowiednie dla tego poziomu punkty. Można by to zmienić, ale wymaga to już większych modyfikacji w silniku.


  • +
  • -
  • 0
Pomogłem? Daj Dołączona grafika





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

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

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