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

Dodanie do klasy statystyki obrazenia

cod nowy

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

#1 Arbitralny

    Zaawansowany

  • Użytkownik

Reputacja: 9
Nowy

  • Postów:124
  • Imię:Adrian
  • Lokalizacja:Gdańsk
Offline

Napisano 05.08.2014 00:53

Po wrzuceniu tego na serwer klasa z nową statystyka znika, a w opisach reszty klas wyświetla się wartość z snajpera. Errorlogów brak :[

Załączone pliki


Użytkownik Arbitralny edytował ten post 05.08.2014 00:58

  • +
  • -
  • 0

#2 Arbitralny

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 9
Nowy

  • Postów:124
  • Imię:Adrian
  • Lokalizacja:Gdańsk
Offline

Napisano 05.08.2014 10:13

Naprawiłem błąd z pierwszego posta i pojawił się kolejny. Wartość obrażeń prawidłowo wyświetla się tylko w opisie klasy.

Rozwiązanie problemu z pierwszego posta - w public ZarejestrujKlase(plugin, params) zmienić if(params != 7) na if(params != 8)


Użytkownik Arbitralny edytował ten post 05.08.2014 10:14

  • +
  • -
  • 0

#3 Arbitralny

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 9
Nowy

  • Postów:124
  • Imię:Adrian
  • Lokalizacja:Gdańsk
Offline

Napisano 05.08.2014 11:24

Błąd z drugiego posta naprawiony. Rozwiązanie - w public PrzydzielPunktyPage(id, page) zamienić format(obrazenia, charsmax(obrazenia), "Obrazenia: \r%i \d(wieksze obrazenia)", obrazenia_gracza[id]); na format(obrazenia, charsmax(obrazenia), "Obrazenia: \r%i \d(wieksze obrazenia)", PobierzObrazenia(id, 1, 1, 1));

Obrażenia dodane w klasie wyświetlają się w statystykach, ale nie zwiększają dmg. HELP xD


  • +
  • -
  • 0

#4 Arbitralny

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 9
Nowy

  • Postów:124
  • Imię:Adrian
  • Lokalizacja:Gdańsk
Offline

Napisano 07.08.2014 01:54

Mógłby ktoś sprawdzić kod tej statystyki i powiedzieć gdzie popełniłem błąd?

89 obrazenia_gracza[33];
99 bonusowe_obrazenia_gracza[33];
106 obrazenia_klas[MAX_ILOSC_KLAS+1],
285 new obr_klasy_gracza[33][MAX_ILOSC_KLAS];
315 formatex(szTemp, charsmax(szTemp), "CREATE TABLE IF NOT EXISTS `%s` (name VARCHAR(35) NOT NULL, klasa VARCHAR(64) NOT NULL, xp INT UNSIGNED NOT NULL DEFAULT 1, level INT UNSIGNED NOT NULL DEFAULT 1, PRIMARY KEY(name, klasa), ", Tabela);
	add(szTemp,  charsmax(szTemp), "intelligence INT UNSIGNED NOT NULL DEFAULT 0, health INT UNSIGNED NOT NULL DEFAULT 0, strength INT UNSIGNED NOT NULL DEFAULT 0, stamina INT UNSIGNED NOT NULL DEFAULT 0, damage INT UNSIGNED NOT NULL DEFAULT 0)");	
371 register_native("cod_set_user_bonus_damage", "UstawBonusoweObrazenia", 1);
382 register_native("cod_get_user_damage", "PobierzObrazenia", 1);
400 register_native("cod_get_class_damage", "PobierzObrazeniaKlasy", 1);
574 damage += (damage * (float(obrazenia_gracza[idattacker])*0.003))
688 obr_klasy_gracza[id][i] = 0;
732 obr_klasy_gracza[id][int] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "damage"));
747 formatex(szTemp, 1023, "UPDATE `%s` SET xp=(`xp` + %d), level=(`level` + %d), intelligence='%d', health='%d', strength='%d', stamina='%d', damage='%d' WHERE name='%s' AND klasa='%s'", Tabela,
749 zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], obrazenia_gracza[id],
761 obr_klasy_gracza[id][klasa_gracza[id]] = obrazenia_gracza[id];
778 obrazenia_gracza[id] = obr_klasy_gracza[id][klasa];
780 punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-obrazenia_gracza[id];
818 obrazenia_gracza[id] = 0;
823 bonusowe_obrazenia_gracza[id] = 0;
1088 new obrazenia[60];
1100 format(obrazenia,charsmax(obrazenia), "Obrazenia: \r%i \d(wieksze obrazenia)", PobierzObrazenia(id, 1, 1, 1));
1111 menu_additem(menu, obrazenia);
1185 		case 5: 
		{	
			if(obrazenia_gracza[id] < limit_poziomu/2) {
			
				if(ilosc > limit_poziomu/2 - obrazenia_gracza[id])
					ilosc = limit_poziomu/2 - obrazenia_gracza[id];			
			
				obrazenia_gracza[id]+=ilosc;
				punkty_gracza[id]-=ilosc;
			}
			else
				client_print(id, print_chat, "Maxymalny poziom obrazen osiagniety.");
1197	}
1221 obrazenia_gracza[id] = 0;
1364 punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-obrazenia_gracza[id];
1570 public UstawBonusoweObrazenia (id, wartosc)
	bonusowe_obrazenia_gracza[id] = wartosc;
1685 public PobierzObrazenia(id, obrazenia_zdobyte, obrazenia_klasy, obrazenia_bonusowe)
{
	new obrazenia;
	
	if(obrazenia_zdobyte)
		obrazenia += obrazenia_gracza[id];
	if(obrazenia_bonusowe)
		obrazenia += bonusowe_obrazenia_gracza[id];
	if(obrazenia_klasy)
		obrazenia += obrazenia_klas[klasa_gracza[id]];
	
	return obrazenia;
}
1761 public PobierzObrazeniaKlasy(klasa)
{
	if(klasa <= ilosc_klas)
		return obrazenia_klas[klasa];
	return -1;
}
1819 obrazenia_klas[ilosc_klas] = get_param(8)

Natywy z codmod.inc:

native cod_get_user_damage(id, obrazenia_zdobyte=1, obrazenia_klasy=1, obrazenia_bonusowe=1);
native cod_set_user_bonus_damage(id, wartosc);
native cod_points_to_damage(id, ilosc);
native cod_register_class(const nazwa[], const opis[], bronie, punkty_zdrowia, punkty_kondycji, punkty_inteligencji, punkty_wytrzymalosci, punkty_obrazen);


Użytkownik Arbitralny edytował ten post 07.08.2014 01:57

  • +
  • -
  • 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