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

Zmniejszanie DMG nijak działa.


Najlepsza odpowiedź Lacostii, 10.12.2013 23:30

Myślałem, że sprawę załatwi:

ExecuteHamB(Ham_TakeDamage, ...

I może tak by było, lecz zaczęło crashować przy każdorazowym ataku (Run time error 3: stack error)...

 

Poddaję się, załatwię to obniżeniem o konkretną liczbę DMG, a nie %.

Przejdź do postu


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 Lacostii

    Profesjonalista

  • Użytkownik

Reputacja: 40
Pomocny

  • Postów:172
  • Lokalizacja:Poland
Offline

Napisano 07.12.2013 15:00

Witam, mam problem z opanowaniem zmniejszania dmg w pluginie, tworzę klasę na COD'a co ma 3 pierwsze otrzymane obrażenia zmniejszyć o połowę. Przy normalnych warunkach działa normalnie, lecz dziwne rzeczy zaczynają się dziać gdy strzela osoba z perkiem lub klasą co daje 1/x na natychmiastowe zabicie. Moja funkcja od obniżania dmg wygląda tak:

public TakeDamage(this, idinflictor, ida, Float:damage, damagebits){
	if(is_user_connected(ida) && licznik[this]<3 && ma_klase[this]){
		cod_inflict_damage(ida, this, -(damage*0.5), 0.0, idinflictor, damagebits);
		licznik[this]++
	}
}

A dziwne rzeczy zaczynają się dziać np. gdy atakujący ma "Gold AWP" z 1/1, gdzie funkcja wygląda tak:

public TakeDamage(this, idinflictor, ida, Float:damage, damagebits){
	if(is_user_connected(ida) && ma_perk[ida] && damagebits & (1<<1) && get_user_weapon(ida) == CSW_AWP)
		cod_inflict_damage(ida, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
}

Gdy się strzeli wtedy z AWP to zadawany jest minusowy DMG(leczy ofiarę) lub w ogóle nie ma dmg, jest on zerowy. Po wykorzystaniu "tarczy" na 3 pierwsze obrażenia już później jest normalnie. Zna ktoś przyczynę problemu?

Proszę o pomoc w tej sprawie.

 

Również czy jest szansa, aby zmniejszać obrażenia od rakiet i podobnych rzeczy znajdujących się na serwerze COD, bo obecnie nie reaguje funkcja obniżania dmg na takie ataki?


  • +
  • -
  • 0

Zapraszam na forum Classic-Zone.pl . ;)


#2 Lacostii

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 40
Pomocny

  • Postów:172
  • Lokalizacja:Poland
Offline

Napisano 10.12.2013 23:30   Najlepsza odpowiedź

Myślałem, że sprawę załatwi:

ExecuteHamB(Ham_TakeDamage, ...

I może tak by było, lecz zaczęło crashować przy każdorazowym ataku (Run time error 3: stack error)...

 

Poddaję się, załatwię to obniżeniem o konkretną liczbę DMG, a nie %.


  • +
  • -
  • 0

Zapraszam na forum Classic-Zone.pl . ;)





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

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