/**
История изменений:
1.0 (15.11.2021) by b0t.
- Первый релиз;
*/
new const VERSION[] = "1.0";
#include <amxmodx>
#include <reapi>
#include <xs>
enum _:XYZ {
Float:X,Float:Y,Float:Z
};
new
Float:g_pCvarFloat_JumpPower,
g_pCvarNum_JumpType;
public plugin_init() {
register_plugin("WaterControl",VERSION,"b0t.");
RegisterHookChain(RG_CBasePlayer_PostThink,"RG_CBasePlayerPostThink_Post", .post = true);
bind_pcvar_float(
create_cvar(
"amx_water_jump_power",
"300.0",
.description = "Скорость в момент толчка от воды"
),
g_pCvarFloat_JumpPower
);
bind_pcvar_num(
create_cvar(
"amx_water_jump_type",
"1",
.description = "Игрока будет отталкивать если он в воде:^n\
1 -- По ноги^n\
2 -- По талию^n\
3 -- По голову"
),
g_pCvarNum_JumpType
);
AutoExecConfig(true,"WaterJump");
}
public RG_CBasePlayerPostThink_Post(const id) {
if(!is_user_alive(id))
return HC_CONTINUE;
if(get_entvar(id,var_waterlevel) != g_pCvarNum_JumpType)
return HC_CONTINUE;
static Float:fVelocity[XYZ];
get_entvar(id,var_velocity,fVelocity);
fVelocity[Z] = g_pCvarFloat_JumpPower;
set_entvar(id,var_velocity,fVelocity);
return HC_CONTINUE;
}