No Fall Damage - оставить звук падения

Сообщения
1,015
Реакции
818
Помог
10 раз(а)
Добрый вечер, подскажите как оставить звук от падения.
C++:
#include <amxmodx>
#include <reapi>

#pragma semicolon 1

public plugin_init() {
register_plugin("No fall damage", "0.1", "s1lent");
RegisterHookChain(RG_CSGameRules_FlPlayerFallDamage, "FwdTakeDamagePost", 1);
}

public FwdTakeDamagePost() {
SetHookChainReturn(ATYPE_FLOAT, 0.0);
}


Ничего замечательного на ум не пришло, как установить ATYPE_FLOAT в 0.1
 
Сообщения
160
Реакции
170
Помог
1 раз(а)
Может это поможет:
/* No fall damage 0.3 [06.10.2015] */

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#pragma semicolon 1

#define USE_SOUND_OF_FALLING // comment out this line to lock sound of falling

public plugin_init() {
register_plugin("No fall damage", "0.3", "Subb98");
register_forward(FM_EmitSound, "FMEmitSoundPre");
RegisterHam(Ham_TakeDamage, "player", "HamTakeDamagePlayerPre");
}

public FMEmitSoundPre(const id, const channel, const sample[]) {
if(sample[0] == 'c' && sample[7] == 'b' && sample[11] == 's'/* common/bodysplat.wav */) {
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}

public HamTakeDamagePlayerPre(const id, const inflictor, const attacker, const Float:damage, const damagebits) {
if(damagebits & (1<<5)/* dmg fall */) {
#if defined USE_SOUND_OF_FALLING
SetHamParamFloat(4, 0.0);
#else
return HAM_SUPERCEDE;
#endif
}
#if !defined USE_SOUND_OF_FALLING
return HAM_IGNORED;
#endif
}
 
Сообщения
518
Реакции
458
Предупреждения
17
Помог
8 раз(а)
Javekson,
Код:
#include <amxmodx>
#include <reapi>

new HookChain:g_hTakeDamage

public plugin_init()
{
register_plugin("NoFall", "0.0.1", "Vaqtincha")
RegisterHookChain(RG_CSGameRules_FlPlayerFallDamage, "CSGameRules_FlPlayerFallDamage", .post = false)
DisableHookChain(g_hTakeDamage = RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", .post = false))
}

public CSGameRules_FlPlayerFallDamage() {
EnableHookChain(g_hTakeDamage)
}

public CBasePlayer_TakeDamage(const pPlayer, const pevInflictor, const pevAttacker, const Float:flDamage, const bitsDamageType)
{
DisableHookChain(g_hTakeDamage)

if(!pevAttacker && (bitsDamageType & DMG_FALL) == DMG_FALL) {
SetHookChainArg(4, ATYPE_FLOAT, 0.0)
}

return HC_CONTINUE
}
 
Сообщения
2,491
Реакции
2,791
Помог
61 раз(а)
C++:
EMIT_SOUND(ENT(pev), CHAN_ITEM, "common/bodysplat.wav", VOL_NORM, ATTN_NORM);


как вариант
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу