From 050e9438e6d8c7082004d90f6a5235ca2a717c5d Mon Sep 17 00:00:00 2001 From: jenzur Date: Mon, 19 Aug 2019 15:32:35 +0200 Subject: [PATCH] not exactly what i wished to update but got asked --- RaceTimer/scripting/unloze_racetimer_redux.sp | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/RaceTimer/scripting/unloze_racetimer_redux.sp b/RaceTimer/scripting/unloze_racetimer_redux.sp index 5ffda523..d2e49585 100644 --- a/RaceTimer/scripting/unloze_racetimer_redux.sp +++ b/RaceTimer/scripting/unloze_racetimer_redux.sp @@ -133,6 +133,7 @@ public void Event_RoundStart(Handle event, const char[] name, bool dontBroadcast for (int i = 1; i <= MaxClients; i++) if (IsValidClient(i)) { + resetClientVectors(i); MYSQLCheckRecord(i); if (l_iZoneCount != 1) g_bHumansAllowedTime[i] = false; @@ -217,18 +218,22 @@ public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3 float speed = GetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue"); if (speed > 1.0) { - g_bHumansAllowedTime[client] = false; - resetClientVectors(client); - PrintToChat(client, "Disabled timer due to modified run speed"); - return Plugin_Continue; + if (StrContains(g_cMapname, "surf", false) == -1) + { + g_bHumansAllowedTime[client] = false; + resetClientVectors(client); + PrintToChat(client, "Disabled timer due to modified run speed"); + return Plugin_Continue; + } } float client_gravity = GetEntityGravity(client); ConVar gravity = FindConVar("sv_gravity"); float gravityFloat = gravity.FloatValue; int minimalPermitedGravity = 610; //PrintToChat(client, "client_gravity: %f\ngravityFloat: %f", client_gravity, gravityFloat); - if (((client_gravity > 1.3 || client_gravity < 0.8000) && client_gravity != 0.000000) || gravityFloat < minimalPermitedGravity) + if (((client_gravity > 1.3 || client_gravity < 0.6000) && client_gravity != 0.000000) || gravityFloat < minimalPermitedGravity) { + //PrintToChat(client, "client_gravity: %f\ngravityFloat: %f", client_gravity, gravityFloat); g_bHumansAllowedTime[client] = false; resetClientVectors(client); PrintToChat(client, "Disabled timer due to modified gravity"); @@ -298,12 +303,12 @@ public bool checkClientOrigin(float oldVals[3], float newVals[3], int client) return false; } float teleport_range = 100000.0; - int velocityCap = 525; + int velocityCap = 325; float distance = GetVectorDistance(oldVals, newVals, true); //PrintToChatAll("distance: %f", distance); bool bInAir = (GetEntPropEnt(client, Prop_Send, "m_hGroundEntity") == -1); if (distance > teleport_range) - { + { if (StrContains(g_cMapname, "surf", false) != -1) return false; float fVelocity[3]; @@ -325,13 +330,20 @@ public void unloze_zoneEntry(int client, char[] zone) int l_iZoneCount = unloze_zoneCount(); if (((GetClientTeam(client) == CS_TEAM_CT && g_bHumansAllowedTime[client]) && StrContains(zone, "ZONE_PREFIX_RACE") > -1) || StrEqual(zone, g_cSpecialMapEnd)) { - if (l_iZoneCount < 2) + if (IsClientAuthorized(client)) { - g_iClientStage[client] = 0; + if (l_iZoneCount < 2) + { + g_iClientStage[client] = 0; + } + if (g_iClientStage[client] == (zoneIndex / 2) || l_iZoneCount < 2) + { + FinishedStageRaceZone(client); + } } - if (g_iClientStage[client] == (zoneIndex / 2) || l_iZoneCount < 2) + else { - FinishedStageRaceZone(client); + PrintToChat(client, "Timer not Saved Due to client being un-Authenticated, restart your game or steam."); } g_bHumansAllowedTime[client] = false; } @@ -401,35 +413,22 @@ public void FinishedStageRaceZone(int client) int l_iZoneCount = unloze_zoneCount(); int l_iCalculateMins; float l_fCalculateSecs; - if (g_iRecordMinutes[client][g_iClientStage[client]] > 0 || g_fRecordSeconds[client][g_iClientStage[client]] > 0.0) - if (g_fRecordSeconds[client][g_iClientStage[client]] < 10.0) - { - CPrintToChat(client, "Your record: 0%i:0%.1f \nCommand: !toptime !mytime !stages", g_iRecordMinutes[client][g_iClientStage[client]], - g_fRecordSeconds[client][g_iClientStage[client]]); - } else - { - CPrintToChat(client, "Your record: 0%i:%.1f \nCommand: !toptime !mytime !stages", g_iRecordMinutes[client][g_iClientStage[client]], - g_fRecordSeconds[client][g_iClientStage[client]]); - } - - else + if (g_fRecordSeconds[client][g_iClientStage[client]] < 10.0) { - if (l_iZoneCount < 2) - sendMYSQL(client, g_iRoundMinutes, g_fRoundSeconds, 0, 0.0, g_iClientStage[client]); - else - { - l_iCalculateMins = CalculateValuesMinutes(client); - l_fCalculateSecs = CalculateValues(client); - sendMYSQL(client, l_iCalculateMins, l_fCalculateSecs, 0, 0.0, g_iClientStage[client]); - } - CPrintToChat(client, "Updated timer"); + CPrintToChat(client, "Your record: 0%i:0%.1f \nCommand: !toptime !mytime !stages", g_iRecordMinutes[client][g_iClientStage[client]], + g_fRecordSeconds[client][g_iClientStage[client]]); + } else + { + CPrintToChat(client, "Your record: 0%i:%.1f \nCommand: !toptime !mytime !stages", g_iRecordMinutes[client][g_iClientStage[client]], + g_fRecordSeconds[client][g_iClientStage[client]]); } if (l_iZoneCount < 2) { //no start zone, we use round time CPrintToChat(client, "{green}[UNLOZE] Client: %N Time: 0%i:%.1f", client, g_iRoundMinutes, g_fRoundSeconds); if ((g_iRoundMinutes < g_iRecordMinutes[client][g_iClientStage[client]]) - || (g_iRoundMinutes == g_iRecordMinutes[client][g_iClientStage[client]] && g_fRoundSeconds < g_fRecordSeconds[client][g_iClientStage[client]])) + || (g_iRoundMinutes == g_iRecordMinutes[client][g_iClientStage[client]] && g_fRoundSeconds < g_fRecordSeconds[client][g_iClientStage[client]]) + || (g_iRecordMinutes[client][g_iClientStage[client]] == 0.0 && g_fRecordSeconds[client][g_iClientStage[client]] == 0.0)) { sendMYSQL(client, g_iRoundMinutes, g_fRoundSeconds, g_iRecordMinutes[client][g_iClientStage[client]], g_fRecordSeconds[client][g_iClientStage[client]], g_iClientStage[client]); CPrintToChat(client, "Updated timer"); @@ -444,7 +443,8 @@ public void FinishedStageRaceZone(int client) CPrintToChat(client, "{green}[UNLOZE] Stage: %i", g_iClientStage[client]); CPrintToChat(client, "{green}[UNLOZE] Client: %N Time: 0%i:%.1f", client, l_iCalculateMins, l_fCalculateSecs); if ((l_iCalculateMins < g_iRecordMinutes[client][g_iClientStage[client]]) - || (l_iCalculateMins == g_iRecordMinutes[client][g_iClientStage[client]] && l_fCalculateSecs < g_fRecordSeconds[client][g_iClientStage[client]])) + || (l_iCalculateMins == g_iRecordMinutes[client][g_iClientStage[client]] && l_fCalculateSecs < g_fRecordSeconds[client][g_iClientStage[client]]) + || (g_iRecordMinutes[client][g_iClientStage[client]] == 0.0 && g_fRecordSeconds[client][g_iClientStage[client]] == 0.0)) { sendMYSQL(client, l_iCalculateMins, l_fCalculateSecs, g_iRecordMinutes[client][g_iClientStage[client]], g_fRecordSeconds[client][g_iClientStage[client]], g_iClientStage[client]); CPrintToChat(client, "Updated timer");