Spoiler
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#define PLUGIN "DMG_Check"
#define VERSION "0.1"
#define AUTHOR "Miczu"
/*
DMG_GENERIC 0 // Obrażenia ogólne
DMG_CRUSH (1<<0) // od poruszających się obiektów
DMG_BULLET (1<<1) // strzału
DMG_SLASH (1<<2) // od cięć, dźgnięć
DMG_BURN (1<<3) // ognień
DMG_FREEZE (1<<4) // zimno
DMG_FALL (1<<5) // upadek z wyskości
DMG_BLAST (1<<6) // wybuch np. bomby
DMG_CLUB (1<<7) // łom, uderzenia głową, uderzenie pięścią?
DMG_SHOCK (1<<8) // elektryczność
DMG_SONIC (1<<9) // fala dźwiękowa
DMG_ENERGYBEAM (1<<10) // laser, wiązka energi
(1<<11) // Nie wiem :D
DMG_NEVERGIB (1<<12) // ?
DMG_ALWAYSGIB (1<<13) // ?
DMG_DROWN (1<<14) // zadawane gdy gracz tonie
DMG_PARALYZE (1<<15) // paraliż
DMG_NERVEGAS (1<<16) // toksyny
DMG_POISON (1<<17) // trucizna
DMG_RADIATION (1<<18) // promieniowanie
DMG_DROWNRECOVER (1<<19) // odnawianie gdy gracz się wynurzy
DMG_ACID (1<<20) // zadane po wpadnięciu do kwasu
DMG_SLOWBURN (1<<21) // w piekaninku?
DMG_SLOWFREEZE (1<<22) // ?
DMG_MORTAR (1<<23) // ?
DMG_HEGRANADE (1<<24) // HE granade :)
DMG_TIMEBASED (~(0x3fff)) // maska obrażeń czasowych
*/
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage,"player","player_damaged",1)
}
new dmg_name[34][] = { "DMG_GENERIC","DMG_CRUSH","DMG_BULLET","DMG_SLASH","DMG_BURN","DMG_FREEZE","DMG_FALL",
"DMG_BLAST","DMG_CLUB","DMG_SHOCK","DMG_SONIC", "DMG_ENERGYBEAM","11","DMG_NEVERGIB","DMG_ALWAYSGIB","DMG_DROWN",
"DMG_PARALYZE","DMG_NERVEGAS","DMG_POISON","DMG_RADIATION","DMG_DROWNRECOVER","DMG_ACID",
"DMG_SLOWBURN","DMG_SLOWFREEZE","DMG_MORTAR","DMG_HEGRANADE","25","26","27","28","29","30","31","32"}
public player_damaged(this, idinflictor, idattacker, Float:damage, damagebits)
{
new text[128]
if(damagebits==0)
{
client_print(0,print_chat,"%s",dmg_name[0])
}
else if(damagebits==(~(0x3fff)))
{
client_print(0,print_chat,"DMG_TIMEBASED")
}
else
{
for(new i=0;i<33;i++)
{
if((1<<i)&damagebits)
{
format(text,127,"%s,%s",text,dmg_name[i+1])
}
}
client_print(0,print_chat,"%s",text)
}
client_print(0,print_chat,"to wszystko %d",damagebits)
}
4098 - broń palna cs'a, nóż
(1<<24) - He_granade (tak naprawdę nie ma definicji takiej jak DMG_HEGRANADE
Ps. nie wiem czy to się przyda komuś, ale macie
