So I have this plugin but I want the landing sound to play only if the player falls from a place higher than 100 units. How would I do that?
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <engine>
#include <csgo>
new snd_land[][] = {"misc/land1.wav", "misc/land2.wav", "misc/land3.wav", "misc/land4.wav"}
new g_OffGround, g_LandEntity, g_iMaxPlayers, Float:g_LandedTimer[33];
const BUTTONS = (IN_FORWARD | IN_BACK | IN_MOVELEFT | IN_MOVERIGHT | IN_JUMP);
public plugin_init()
{
register_plugin("Hook Landing", "0.1", "bugsy");
register_forward(FM_CmdStart, "fw_FMCmdStart");
g_iMaxPlayers = get_maxplayers();
}
public plugin_precache() {
static i
for(i = 0; i < sizeof snd_land; i++)
precache_sound(snd_land[i])
}
public fw_FMCmdStart(id, uc_handle, seed)
{
if ((get_uc(uc_handle, UC_Buttons) | pev(id, pev_oldbuttons)) & BUTTONS)
{
if (!(pev(id, pev_flags) & FL_ONGROUND))
{
g_OffGround |= (1 << (id & 31));
if (!g_LandEntity)
CreateLandEntity();
entity_set_float(g_LandEntity, EV_FL_nextthink, get_gametime() + 0.01);
}
}
}
public LandEntityThink(iEntity)
{
for (new id = 1; id <= g_iMaxPlayers; id++)
{
if (g_OffGround & (1 << (id & 31)))
{
if (pev(id, pev_flags) & FL_ONGROUND)
{
if(g_LandedTimer[id] < get_gametime())
{
g_LandedTimer[id] = get_gametime() + 2.2;
if(!aiming_good(id))
emit_sound(id, CHAN_BODY, snd_land[random_num(0, sizeof snd_land - 1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}
g_OffGround &= ~(1 << (id & 31));
if (!g_OffGround)
break;
}
}
}
if (g_OffGround)
entity_set_float(g_LandEntity, EV_FL_nextthink, get_gametime() + 0.01);
}
CreateLandEntity()
{
g_LandEntity = create_entity("info_target");
entity_set_string(g_LandEntity, EV_SZ_classname, "land_entity");
register_think("land_entity", "LandEntityThink");
}