Skocz do zawartości
PyNiO

Blokada obrażeń

Rekomendowane odpowiedzi

Siema.

Przychodzę dzisiaj z nietypowym pytaniem. Nie mogłem tego nigdzie znaleźć, więc wrzucam tutaj.

Potrzebuje zablokować obrażenia otrzymywane gdy gracz uderzy z dużą prędkością w ścianę/przedmiot.

 

Dokładnie o co mi chodzi.

Dodałem na serwer miny z trybu danger zone i zauważyłem, że czasami ludzie otrzymują damage, gdy po wybuchu, będąc w powietrzu, uderzą w ścianę/przedmiot. I wszystko było by dobrze i nie musiałbym tego robić, gdyby był to inny tryb serwera, lecz na serwerze ZombieMod to nie przejdzie.

 

Co zauważyłem:

  • Blokada obrażeń od upadku nie działa.
  • Obrażenia są zadawane przez "World"

Znalazłem na oficjalnej stronie Valve, informację o wszystkich obrażeniach i jak się je pobiera/sprawdza ( np. DMG_FALL, DMG_VEHICLE .. itd.). Lecz nie wiem, które z nich mogę tam zastosować.

Rozpiska od Valve
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

 

I teraz pytanie, czy ktoś wie może jak zablokować te obrażenia? (Nie musi być to specjalnie na clienta nakładane, może być całkowita blokada)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

 u siebie na rozgrzewce mam zastosowane te miny i nie ma efektu podbijania graczy od bomby 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@PyNiO spróbuj użyć DMG_CLUB .

#define DMG_CLUB                    (1 << 7)    /**< crowbar, punch, headbutt */

public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype, int &weapon, float damageForce[3], float damagePosition[3], int damagecustom) {
	if (!IsValidClient(victim) || !IsValidClient(attacker))
		return Plugin_Continue;
	if (GetClientTeam(victim) == GetClientTeam(attacker))
		return Plugin_Continue;
	
	if (damagetype & DMG_CLUB) {
		damage = 0.0;
		return Plugin_Changed;
	}
	return Plugin_Continue;
}

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@Paweł to też nie to. Chyba jutro przysiądę nad tym sam i zrobię sobie sprawdzanie jaki damage się otrzymało i wtedy to zablokuje.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


×
×
  • Dodaj nową pozycję...