player_death от чего умер игрок.

Banana

Участник
Сообщения
892
Реакции
113
Здравствуйте, в хуке player_death нужно отловить от чего умер игрок а именно:
1) От падения с высоты
2) Написал kill в консоль (самоубился)
3) Умер от смертельной "зоны на карте" (например на картах deathrun)
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Здравствуйте, в хуке player_death нужно отловить от чего умер игрок а именно:
1) От падения с высоты
2) Написал kill в консоль (самоубился)
3) Умер от смертельной "зоны на карте" (например на картах deathrun)
Можно через SDKHooks попробовать, там есть типы урона, отлавливать через SDKHook_OnTakeDamage или SDKHook_OnTakeDamagePost, обознчается как damagetype

C++:
#define DMG_GENERIC 0                             /**< общий ущерб был нанесен */
#define DMG_CRUSH (1 << 0)                         /**< раздавлен падающим или движущимся объектом.
                                                     ПРИМЕЧАНИЕ. Предполагается, что повреждение в результате раздавливания происходит в результате физического столкновения,
                                                     поэтому никакая дополнительная физическая сила не генерируется разрушающим ударом.
                                                     НЕ используйте DMG_CRUSH при повреждении сущностей, если это не результат физики
                                                     столкновение. Вы, вероятно, хотите вместо DMG_CLUB. */
#define DMG_BULLET (1 << 1)                     /**< выстрелом */
#define DMG_SLASH (1 << 2)                         /**< порез, когтистые, ножевые */
#define DMG_BURN (1 << 3)                         /**< сгоревший тепло */
#define DMG_VEHICLE (1 << 4)                     /**< сбит транспортным средством */
#define DMG_FALL (1 << 5)                         /**< зашло слишком далеко */
#define DMG_BLAST (1 << 6)                         /**< взрывной урон взрыва */
#define DMG_CLUB (1 << 7)                         /**< лом, удар, удар головой */
#define DMG_SHOCK (1 << 8)                         /**< поражение электрическим током */
#define DMG_SONIC (1 << 9)                         /**< ударная волна звукового импульса */
#define DMG_ENERGYBEAM (1 << 10)                 /**< лазер или другой высокоэнергетический луч */
#define DMG_PREVENT_PHYSICS_FORCE (1 << 11)     /**< Предотвратить физическую силу */
#define DMG_NEVERGIB (1 << 12)                     /**< с этим битом ИЛИ в, никакой тип повреждения не сможет дать жертву после смерти */
#define DMG_ALWAYSGIB (1 << 13)                 /**< с этим битом OR бы можно было наносить любой тип урона жертвам после смерти. */
#define DMG_DROWN (1 << 14)                     /**< Drowning */
#define DMG_PARALYZE (1 << 15)                     /**< замедляет пораженное существо */
#define DMG_NERVEGAS (1 << 16)                     /**< нервные токсины, очень плохо */
#define DMG_POISON (1 << 17)                     /**< заражение крови - заживает со временем, как урон утопающему */
#define DMG_RADIATION (1 << 18)                 /**< облучение */
#define DMG_DROWNRECOVER (1 << 19)                 /**< восстановление после утопления */
#define DMG_ACID (1 << 20)                         /**< токсичные химические вещества или кислотные ожоги */
#define DMG_SLOWBURN (1 << 21)                     /**< в духовке */
#define DMG_REMOVENORAGDOLL (1 << 22)             /**< с этим битом ИЛИ в, тряпичная кукла не будет создана, и цель будет тихо удалена.
                                                     используйте это, чтобы убить сущность, для которой у вас уже есть серверная ragdoll для */
#define DMG_PHYSGUN (1 << 23)                     /**< Удар манипулятором. Обычно не наносит ущерба. */
#define DMG_PLASMA (1 << 24)                     /**< Shot by Cremator */
#define DMG_AIRBOAT (1 << 25)                     /**< Попадание из пистолета надувной лодки */
#define DMG_DISSOLVE (1 << 26)                     /**< Растворение! */
#define DMG_BLAST_SURFACE (1 << 27)             /**< Взрыв на поверхности воды, который не может причинить вреда вещам под водой */
#define DMG_DIRECT (1 << 28)
#define DMG_BUCKSHOT (1 << 29)                     /**< не совсем пуля. Маленькие, круглые, разные. */
 

Banana

Участник
Сообщения
892
Реакции
113
За это я знаю, вот интересно было бы через player_death) Ладно сделаю как вы сказали)
 

komashchenko

Идиот
Сообщения
916
Реакции
2,570
Делал себе когда нужно было что бы в player_death передавало m_hWeapon, можете доделать и добавить в передачу то что вам нужно
 

Вложения

  • player_death_extended.sp
    4.9 КБ · Просмотры: 28
  • player_death_extended.txt
    237 байт · Просмотры: 10
Сверху Снизу