add some checks if shavit-zones is loaded

This commit is contained in:
rtldg 2022-04-15 15:48:40 +00:00
parent 9902b8adac
commit fb5c247953
3 changed files with 33 additions and 17 deletions

View File

@ -1512,7 +1512,7 @@ void DoJump(int client)
}
// TF2 doesn't use stamina
if (gEV_Type != Engine_TF2 && (GetStyleSettingBool(gA_Timers[client].bsStyle, "easybhop")) || Shavit_InsideZone(client, Zone_Easybhop, gA_Timers[client].iTimerTrack))
if (gEV_Type != Engine_TF2 && (GetStyleSettingBool(gA_Timers[client].bsStyle, "easybhop")) || (gB_Zones && Shavit_InsideZone(client, Zone_Easybhop, gA_Timers[client].iTimerTrack)))
{
SetEntPropFloat(client, Prop_Send, "m_flStamina", 0.0);
}
@ -1692,14 +1692,17 @@ public int Native_CanPause(Handle handler, int numParams)
iFlags |= CPR_NoTimer;
}
if (Shavit_InsideZone(client, Zone_Start, gA_Timers[client].iTimerTrack))
if (gB_Zones)
{
iFlags |= CPR_InStartZone;
}
if (Shavit_InsideZone(client, Zone_Start, gA_Timers[client].iTimerTrack))
{
iFlags |= CPR_InStartZone;
}
if (Shavit_InsideZone(client, Zone_End, gA_Timers[client].iTimerTrack))
{
iFlags |= CPR_InEndZone;
if (Shavit_InsideZone(client, Zone_End, gA_Timers[client].iTimerTrack))
{
iFlags |= CPR_InEndZone;
}
}
if(GetEntPropEnt(client, Prop_Send, "m_hGroundEntity") == -1 && GetEntityMoveType(client) != MOVETYPE_LADDER)
@ -3088,7 +3091,7 @@ public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3
}
int iGroundEntity = GetEntPropEnt(client, Prop_Send, "m_hGroundEntity");
bool bInStart = Shavit_InsideZone(client, Zone_Start, gA_Timers[client].iTimerTrack);
bool bInStart = gB_Zones && Shavit_InsideZone(client, Zone_Start, gA_Timers[client].iTimerTrack);
if (gA_Timers[client].bTimerEnabled && !gA_Timers[client].bClientPaused)
{
@ -3154,7 +3157,7 @@ public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3
}
// key blocking
if(!gA_Timers[client].bCanUseAllKeys && mtMoveType != MOVETYPE_NOCLIP && mtMoveType != MOVETYPE_LADDER && !Shavit_InsideZone(client, Zone_Freestyle, -1))
if(!gA_Timers[client].bCanUseAllKeys && mtMoveType != MOVETYPE_NOCLIP && mtMoveType != MOVETYPE_LADDER && !(gB_Zones && Shavit_InsideZone(client, Zone_Freestyle, -1)))
{
// block E
if (GetStyleSettingBool(gA_Timers[client].bsStyle, "block_use") && (buttons & IN_USE) > 0)

View File

@ -1386,7 +1386,7 @@ int AddHUDToBuffer_Source2013(int client, huddata_t data, char[] buffer, int max
float limit = Shavit_GetStyleSettingFloat(data.iStyle, "velocity_limit");
if (limit > 0.0 && Shavit_InsideZone(data.iTarget, Zone_CustomSpeedLimit, data.iTrack))
if (limit > 0.0 && gB_Zones && Shavit_InsideZone(data.iTarget, Zone_CustomSpeedLimit, data.iTrack))
{
if(gI_ZoneSpeedLimit[data.iTarget] == 0)
{
@ -1677,13 +1677,16 @@ void UpdateMainHUD(int client)
if(!bReplay)
{
if (Shavit_InsideZone(target, Zone_Start, huddata.iTrack))
if (gB_Zones)
{
iZoneHUD = ZoneHUD_Start;
}
else if (Shavit_InsideZone(target, Zone_End, huddata.iTrack))
{
iZoneHUD = ZoneHUD_End;
if (Shavit_InsideZone(target, Zone_Start, huddata.iTrack))
{
iZoneHUD = ZoneHUD_Start;
}
else if (Shavit_InsideZone(target, Zone_End, huddata.iTrack))
{
iZoneHUD = ZoneHUD_End;
}
}
}
else

View File

@ -134,6 +134,7 @@ bool gB_Eventqueuefix = false;
bool gB_Rankings = false;
bool gB_ReplayPlayback = false;
bool gB_Chat = false;
bool gB_Zones = false;
// timer settings
stylestrings_t gS_StyleStrings[STYLE_LIMIT];
@ -302,6 +303,7 @@ public void OnPluginStart()
gB_Rankings = LibraryExists("shavit-rankings");
gB_ReplayPlayback = LibraryExists("shavit-replay-playback");
gB_Chat = LibraryExists("shavit-chat");
gB_Zones = LibraryExists("shavit-zones");
}
public void OnAllPluginsLoaded()
@ -646,6 +648,10 @@ public void OnLibraryAdded(const char[] name)
{
gB_Chat = true;
}
else if (StrEqual(name, "shavit-zones"))
{
gB_Zones = true;
}
else if (StrEqual(name, "shavit-checkpoints"))
{
gB_Checkpoints = true;
@ -670,6 +676,10 @@ public void OnLibraryRemoved(const char[] name)
{
gB_Chat = false;
}
else if (StrEqual(name, "shavit-zones"))
{
gB_Zones = false;
}
else if (StrEqual(name, "shavit-checkpoints"))
{
gB_Checkpoints = false;
@ -1189,7 +1199,7 @@ void DumbSetVelocity(int client, float fSpeed[3])
public Action Shavit_OnUserCmdPre(int client, int &buttons, int &impulse, float vel[3], float angles[3], TimerStatus status, int track, int style)
{
bool bNoclip = (GetEntityMoveType(client) == MOVETYPE_NOCLIP);
bool bInStart = Shavit_InsideZone(client, Zone_Start, track);
bool bInStart = gB_Zones && Shavit_InsideZone(client, Zone_Start, track);
// i will not be adding a setting to toggle this off
if(bNoclip)