Jump to content

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

Posted Image Posted Image

Guest Message by DevFuse
 

Photo

Jakim sposobem zabrać HP?


  • You cannot start a new topic
  • Please log in to reply
9 replies to this topic

#1 Kukol

    Zaawansowany

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Posted 07.10.2011 23:00

Witam! Mam do was pytanie... Jakiego sposobu "zabierania obrażeń" na graczu użyć, by po użyciu jakiejś napisanej mocy np. Piorun w Diablo wyświetlało DMG na ekranie z tego pioruna (W pluginie abd.amxx) oraz dodawało fragi?

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2,987
Godlike

  • Postów:4,248
  • Lokalizacja:Nie
Offline

Posted 07.10.2011 23:55

Najlepiej hamsandwich`em
http://amxx.pl/topic...post__p__267593

Podajesz albo id bytu (ent) albo klasę obrażeń (szWeapon), damagebits to stałe DMG_* z hlsdk_const.inc

np. DMG_GENERIC
#include <hamsanwich>
#include <fakemeta>
 
stock UTIL_Damage(attacker, victim, Float:fDamage, damagebits, ent = 0, const szWeapon[] = ""){
        static info_target = 0;
        if(!info_target)
                info_target = engfunc(EngFunc_AllocString, "info_target");
        
        if(pev_valid(ent))
                ExecuteHamB(Ham_TakeDamage, victim, ent, attacker, fDamage, damagebits);
        else{
                ent = engfunc(EngFunc_CreateNamedEntity, info_target);
                set_pev(ent, pev_classname, szWeapon);
                ExecuteHamB(Ham_TakeDamage, victim, ent, attacker, fDamage, damagebits);
                set_pev(ent, pev_flags, FL_KILLME);
        }
}
 

  • +
  • -
  • 1

#3 Kukol

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Posted 08.10.2011 00:18

A myślałem że coś takiego będzie dobre:

ExecuteHam(Ham_TakeDamage, vic, ent, id, fDmg, 1);


Czyli UTIL_Kill zabijam całkowicie, a UTIL_Damage zadaje DMG?

#4 R3X

    Godlike

  • Przyjaciel

Reputacja: 2,987
Godlike

  • Postów:4,248
  • Lokalizacja:Nie
Offline

Posted 08.10.2011 00:26

Mój stock to nakładka na to co podałeś, po prostu więcej opcji :D czyli myślałeś dobrze
  • +
  • -
  • 1

#5 Kukol

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Posted 08.10.2011 00:51

Czyli wykorzystać mogę tak:

UTIL_Damage(id, vid, 40.0, DMG_BULLET, 0, "")

Czyli zada 40 obrażeń a jak gracz ma mniej niż 40HP to go poprawnie zabije, dobrze rozumiem?

Edited by Kukol, 08.10.2011 00:51.


#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6,559
Godlike

  • Postów:11,993
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Posted 08.10.2011 08:13

tak
  • +
  • -
  • 1

#7 Kukol

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Posted 08.10.2011 14:06

Wgrałem abd.amxx i nie pokazuje DMG jaki zadałem z tego. :/

#8 JambaMakers

    Życzliwy

  • Użytkownik

Reputacja: -10
Poniżej przeciętnej

  • Postów:22
  • Lokalizacja:Warszawa
Offline

Posted 08.10.2011 21:18

Pomóż ktoś bo też chcę to wykorzystać.
  • +
  • -
  • 0

#9 R3X

    Godlike

  • Przyjaciel

Reputacja: 2,987
Godlike

  • Postów:4,248
  • Lokalizacja:Nie
Offline

Posted 08.10.2011 21:29

No to raczej problem abd, że tego nie łapie. Metoda hamsandwich jest najlepszą z dostępnych.
  • +
  • -
  • 1

#10 Kukol

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Posted 08.10.2011 21:50

Ale np. do statystyk /top15 też nie dolicza fragów.

Może ja zły tego zapis mam?

if(pev(vid, pev_takedamage))
UTIL_Damage(kid, vid, 45.0, DMG_BULLET, 0, "")

Edited by Kukol, 08.10.2011 21:50.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users