reduced teleport check
This commit is contained in:
parent
6eacec67ea
commit
fba464681f
@ -12,6 +12,8 @@
|
|||||||
#include <unloze_racetimer_antizones>
|
#include <unloze_racetimer_antizones>
|
||||||
#include <cstrike>
|
#include <cstrike>
|
||||||
#include <sdktools>
|
#include <sdktools>
|
||||||
|
#include <sdkhooks>
|
||||||
|
#include <outputinfo>
|
||||||
#pragma newdecls required
|
#pragma newdecls required
|
||||||
char g_cMapname[g_dLength];
|
char g_cMapname[g_dLength];
|
||||||
char g_cSpecialMapStart[g_dLength];
|
char g_cSpecialMapStart[g_dLength];
|
||||||
@ -55,6 +57,10 @@ public void OnPluginStart()
|
|||||||
RegAdminCmd("sm_cleantime", Cmd_timeReset, ADMFLAG_GENERIC);
|
RegAdminCmd("sm_cleantime", Cmd_timeReset, ADMFLAG_GENERIC);
|
||||||
//hooks
|
//hooks
|
||||||
HookEvent("round_start", Event_RoundStart, EventHookMode_PostNoCopy);
|
HookEvent("round_start", Event_RoundStart, EventHookMode_PostNoCopy);
|
||||||
|
HookEntityOutput("trigger_multiple", "OnTrigger", Trigger_Multiple);
|
||||||
|
HookEntityOutput("trigger_multiple", "OnStartTouch", Trigger_Multiple);
|
||||||
|
HookEntityOutput("trigger_teleport", "OnTrigger", trigger_teleport);
|
||||||
|
HookEntityOutput("trigger_teleport", "OnStartTouch", trigger_teleport);
|
||||||
//HUD
|
//HUD
|
||||||
hText = CreateHudSynchronizer();
|
hText = CreateHudSynchronizer();
|
||||||
//cookies
|
//cookies
|
||||||
@ -67,6 +73,54 @@ public void OnPluginStart()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void trigger_teleport(const char[] output, int entity_index, int client, float delay)
|
||||||
|
{
|
||||||
|
if (IsValidEdict(entity_index) && g_bHumansAllowedTime[client])
|
||||||
|
{
|
||||||
|
if (StrContains(g_cMapname, "surf", false) == -1)
|
||||||
|
{
|
||||||
|
g_bHumansAllowedTime[client] = false;
|
||||||
|
resetClientVectors(client);
|
||||||
|
PrintToChat(client, "Disabled timer due to potential teleport abuse, if this is wrong annoy jenz on discord");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Trigger_Multiple(const char[] output, int entity_index, int client, float delay)
|
||||||
|
{
|
||||||
|
if (IsValidEdict(entity_index) && origin_command_check(entity_index) && g_bHumansAllowedTime[client])
|
||||||
|
{
|
||||||
|
if (StrContains(g_cMapname, "surf", false) == -1)
|
||||||
|
{
|
||||||
|
g_bHumansAllowedTime[client] = false;
|
||||||
|
resetClientVectors(client);
|
||||||
|
PrintToChat(client, "Disabled timer due to potential teleport abuse, if this is wrong annoy jenz on discord");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public bool origin_command_check(int entity_index)
|
||||||
|
{
|
||||||
|
int count_trigger = GetOutputCount(entity_index, "m_OnTrigger");
|
||||||
|
int count_starttouch = GetOutputCount(entity_index, "m_OnStartTouch");
|
||||||
|
for (int i = 0; i < count_trigger; i++)
|
||||||
|
{
|
||||||
|
char buffer[g_dLength];
|
||||||
|
GetOutputParameter(entity_index, "m_OnTrigger", i, buffer, sizeof(buffer));
|
||||||
|
if (StrContains(buffer, "origin", true) != -1)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < count_starttouch; i++)
|
||||||
|
{
|
||||||
|
char buffer[g_dLength];
|
||||||
|
GetOutputParameter(entity_index, "m_OnStartTouch", i, buffer, sizeof(buffer));
|
||||||
|
if (StrContains(buffer, "origin", true) != -1)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
// Purpose:
|
// Purpose:
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
@ -361,7 +415,7 @@ public bool checkClientOrigin(float oldVals[3], float newVals[3], int client)
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
float teleport_range = 9000000.0;
|
float teleport_range = 1090450.0;
|
||||||
int velocityCap = 625;
|
int velocityCap = 625;
|
||||||
float distance = GetVectorDistance(oldVals, newVals, true);
|
float distance = GetVectorDistance(oldVals, newVals, true);
|
||||||
//PrintToChatAll("distance: %f", distance);
|
//PrintToChatAll("distance: %f", distance);
|
||||||
|
Loading…
Reference in New Issue
Block a user