←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Jakim sposobem zabrać HP?

Kukol - zdjęcie Kukol 07.10.2011

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?
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 07.10.2011

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);
        }
}
 
Odpowiedz

Kukol - zdjęcie Kukol 08.10.2011

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?
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 08.10.2011

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

Kukol - zdjęcie Kukol 08.10.2011

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?
Użytkownik Kukol edytował ten post 08.10.2011 00:51
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 08.10.2011

tak
Odpowiedz

Kukol - zdjęcie Kukol 08.10.2011

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

  • +
  • -
JambaMakers - zdjęcie JambaMakers 08.10.2011

Pomóż ktoś bo też chcę to wykorzystać.
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 08.10.2011

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

Kukol - zdjęcie Kukol 08.10.2011

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, "")

Użytkownik Kukol edytował ten post 08.10.2011 21:50
Odpowiedz