Jak pobrać typ obrażeń nie używając Ham_TakeDamage?
Chodzi o DMG_BULLET itp.
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.
|
Najlepsza odpowiedź ^Grzyboo , 06.03.2014 13:28
* Nie musimy bawić się w read_data(x)
* Prosto sprawdzamy typ obrażeń, czyli właśnie DamageBits
* Możemy wychwycić "take damage" i "post take damage"
* Łatwe zmienianie parametrów. Np. odbicie obrażeń = zamiana atakującego z ofiarą. Także tyczy się to modyfikowania wartości zadanych obrażeń.
Przejdź do postu
Napisano 05.03.2014 19:34
Jak pobrać typ obrażeń nie używając Ham_TakeDamage?
Chodzi o DMG_BULLET itp.
Napisano 05.03.2014 19:35
Zwykły event damage świetnie się sprawuje.
Napisano 05.03.2014 19:48
Tak. A jak to pobrać bo tam są tylko 4 parametry
Napisano 05.03.2014 20:00
register_event("Damage","event_damage","b")
public event_damage(id){ new damage; damage = read_data(2) client_print(id, print_chat, "Zadales %i dmg", damage) }
Używanie TakeDamage do pobierania zadanych dmg, nie jest zbyt dobre i sam to testowałem. Nie zawsze pokazywało prawidłowy wynik.
Użytkownik Aemiksowy edytował ten post 05.03.2014 20:02
Napisano 05.03.2014 21:06
Ale on pyta o typ obrażeń, poza tym TakeDamage jest o niebo lepszy moim skromnym zdaniem.
Napisano 05.03.2014 21:19
Napisano 05.03.2014 21:26
http://amxx.pl/topic...e-na-obrazenia/
this - atakowany gracz
idinflictor - byt zadający obrażenia
idattacker - byt powodujący obrażenia
damage - wielkość obrażeń
damagebits - typ obrażeń
jeśli idattacker to gracz zazwyczaj idinflictor to również id atakującego, wyjątek stanowi granat: w tym przypadku idinflictor to indeks bytu granatu
w przeciwnym razie (!is_user_connected(idattacker)), idinflictor może być bytem typu trigger_hurt lub po prostu 0
Użytkownik Drago36 edytował ten post 05.03.2014 21:27
Napisano 05.03.2014 21:35
Napisano 05.03.2014 23:07
new attacker = get_user_attacker(victim)
albo w TakeDamage sprawdzasz
if(BitDamage & (1<<24)) // to jest warunek na obrazenia z HE
Napisano 06.03.2014 00:00
1. Chodzi mi o typ obrazen a nie wartosc.
Oj Źle zrozumiałem od początku, ech. Proszę o wydzielenie moich postów i najmocniej przepraszam.
Ale on pyta o typ obrażeń, poza tym TakeDamage jest o niebo lepszy moim skromnym zdaniem.
Użytkownik Aemiksowy edytował ten post 06.03.2014 00:01
Napisano 06.03.2014 13:28 Najlepsza odpowiedź
* Nie musimy bawić się w read_data(x)
* Prosto sprawdzamy typ obrażeń, czyli właśnie DamageBits
* Możemy wychwycić "take damage" i "post take damage"
* Łatwe zmienianie parametrów. Np. odbicie obrażeń = zamiana atakującego z ofiarą. Także tyczy się to modyfikowania wartości zadanych obrażeń.
Użytkownik ^Grzyboo edytował ten post 06.03.2014 13:30
Napisano 06.03.2014 17:00
Przeszedłem na HamSandwich. ZAMKNAC
0 użytkowników, 1 gości, 0 anonimowych