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

[ROZWIĄZANE] Pobranie tymu obrażeń (damagebits)


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


  • Zamknięty Temat jest zamknięty
11 odpowiedzi w tym temacie

#1 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 05.03.2014 19:34

Jak pobrać typ obrażeń nie używając Ham_TakeDamage?

Chodzi o DMG_BULLET itp.


  • +
  • -
  • 0

#2 Aemiksowy

    Banned

  • Zbanowany

Reputacja: 34
Życzliwy

  • Postów:222
  • Lokalizacja::)
Offline

Napisano 05.03.2014 19:35

Zwykły event damage świetnie się sprawuje.



#3 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 05.03.2014 19:48

Tak. A jak to pobrać bo tam są tylko 4 parametry


  • +
  • -
  • 0

#4 Aemiksowy

    Banned

  • Zbanowany

Reputacja: 34
Życzliwy

  • Postów:222
  • Lokalizacja::)
Offline

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


#5 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 05.03.2014 21:06

Ale on pyta o typ obrażeń, poza tym TakeDamage jest o niebo lepszy moim skromnym zdaniem.


  • +
  • -
  • 0

#6 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 05.03.2014 21:19

1. Chodzi mi o typ obrazen a nie wartosc.

2. Czy w TakeDamage idinflictor odpowiada za id gracza atakujacego?
  • +
  • -
  • 0

#7 Drago36

    Profesjonalista - if you know what i mean

  • Power User

Reputacja: 561
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

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

  • +
  • -
  • 1

#8 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 05.03.2014 21:35

Dobra. A jak zrobić (uzywajac hamsandwich) że jak rzuce granat i komus zadam obrazenia to wywietli mi je na czacie? Jak pobrac id gracza rzucajacego?
  • +
  • -
  • 0

#9 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

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


  • +
  • -
  • 0

#10 Aemiksowy

    Banned

  • Zbanowany

Reputacja: 34
Życzliwy

  • Postów:222
  • Lokalizacja::)
Offline

Napisano 06.03.2014 00:00

1. Chodzi mi o typ obrazen a nie wartosc.

 

Oj :o Ź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.

 
Uzasadnij.

 


Użytkownik Aemiksowy edytował ten post 06.03.2014 00:01


#11 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

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

  • +
  • -
  • 1

#12 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 06.03.2014 17:00

Przeszedłem na HamSandwich. ZAMKNAC


  • +
  • -
  • 0




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

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