Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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] Zadawanie konkretnych obrażeń w zależności od miejsca strzału


Najlepsza odpowiedź Droso, 16.02.2014 12:04

get_pdata_int(id, 75) ostatni typ damage z pamięci bytu

Przejdź do postu


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

#1 szelbi

    Hero

  • Power User

Reputacja: 363
Wszechpomocny

  • Postów:1032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 16.02.2014 11:41

Chciałem napisać plugin, który zada konkretne obrażenia graczowi, w zależności od miejsca strzału.

Wiem, że poniższy kod zmieni zadawane obrażenia na 50, niezależnie od miejsca strzału.

public plugin_init() 
{
	register_plugin("123", "123", "brak");
	RegisterHam(Ham_TakeDamage, "player", "Fw_HamPlayerTakeDamage", 0);
}
public Fw_HamPlayerTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
	SetHamParamFloat(4, 50.0);
}

Ja natomiast chciałbym, żeby przy strzale w głowę zostało zadawane 50 DMG, a w resztę ciała 25 DMG.

Miejsce zadania obrażeń mogę sprawdzić funkcją client_damage, ale w jaki sposób je zmienić bez używania kanapki?

A może client_damage jest wykonywane przed Ham_TakeDamage?


  • +
  • -
  • 0

#2 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 16.02.2014 11:53

A może client_damage jest wykonywane przed Ham_TakeDamage?

Wystarczy napisać prosty plugin, który to sprawdzi, bo ciężko stwierdzić, czy rzeczywiście tak jest. Możesz też próbować z "Ham_TraceAttack" i tam pobierać miejsce trafienia.
  • +
  • -
  • 1
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#3 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1279
Godlike

  • Postów:2371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Tomaszów Mazowiecki
Offline

Napisano 16.02.2014 12:04   Najlepsza odpowiedź

get_pdata_int(id, 75) ostatni typ damage z pamięci bytu


  • +
  • -
  • 1

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#4 Danny OK

    Zaawansowany

  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:148
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Internet
Offline

Napisano 18.02.2014 11:34

A może to zadziała, tak jak chciałeś powinno być 50 dmg przy hs i 25 dmg przy innych cześciach ciała.
 

public plugin_init() 
{
	register_plugin("123", "123", "brak");
	RegisterHam(Ham_TakeDamage, "player", "Fw_HamPlayerTakeDamage", 0);
}

public Fw_HamPlayerTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(get_pdata_int(idinflictor, 75)==HIT_HEAD) SetHamParamFloat(4, 50.0);
	else SetHamParamFloat(4, 25.0);
}

  • +
  • -
  • 0

Battlefield 2 Exp Mod

www.BF2Mod.pl





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

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