summaryrefslogtreecommitdiff
path: root/sourcemod-1.5-dev/scripting/ljstats.sp
diff options
context:
space:
mode:
Diffstat (limited to 'sourcemod-1.5-dev/scripting/ljstats.sp')
-rw-r--r--sourcemod-1.5-dev/scripting/ljstats.sp192
1 files changed, 95 insertions, 97 deletions
diff --git a/sourcemod-1.5-dev/scripting/ljstats.sp b/sourcemod-1.5-dev/scripting/ljstats.sp
index f220d39..f755835 100644
--- a/sourcemod-1.5-dev/scripting/ljstats.sp
+++ b/sourcemod-1.5-dev/scripting/ljstats.sp
@@ -34,7 +34,7 @@
#define BJ_HEIGHT_DELTA_MAX 2.0
#define LAJ_HEIGHT_DELTA_MIN -6.0
#define LAJ_HEIGHT_DELTA_MAX 0.0
-#define JB_HEIGHT_DELTA_MIN -1.0
+#define JB_HEIGHT_DELTA_MIN -2.0
#define JB_HEIGHT_DELTA_MAX 1.5
#define HUD_HINT_SIZE 256
#define STRAFE_TRAINER_TICKS 9
@@ -538,7 +538,7 @@ public OnPluginStart()
#if defined LJSERV
RegConsoleCmd("sm_wr", Command_LJTop);
#endif
- RegConsoleCmd("sm_tpmenu", Command_CheckpointPanel);
+ //RegConsoleCmd("sm_tpmenu", Command_CheckpointPanel);
RegAdminCmd("sm_ljtopdelete", Command_LJTopDelete, ADMFLAG_RCON);
RegAdminCmd("sm_kz", Command_KZ, ADMFLAG_RCON);
@@ -2842,8 +2842,7 @@ PlayerJump(client, JUMP_TYPE:JumpType2 = JT_LONGJUMP)
GetEntPropVector(client, Prop_Data, "m_vecVelocity", vVel);
// ducking lowers u by 8.5 units
- if( GetEntProp(client, Prop_Send, "m_bDucking", 1) )
- vOrigin[2] -= 8.5;
+ vOrigin[2] -= 8.5;
}
Array_Copy(vOrigin, g_PlayerStates[client][vJumpOrigin], 3);
@@ -3010,34 +3009,6 @@ CheckValidJump(client)
PrintToChat(client, "teleported %f, %f (%f)", GetVectorDistance(vLastOrig, vOrigin), GetVectorLength(vVel) / (1.0 / GetTickInterval()) + 0.001, GetVectorLength(vLastVel) / (1.0 / GetTickInterval()));
#endif
- if(g_PlayerStates[client][bBlockMode])
- {
- if(g_PlayerStates[client][bFailedBlock])
- {
- #if defined DEBUG
- PrintToChat(client, "failedblock; returning");
- #endif
-
- return;
- }
- else
- {
- #if defined DEBUG
- PrintToChat(client, "failedblocklongjump 3 tp %s %f %f %d",
- g_PlayerStates[client][vLastOrigin][2] >= g_PlayerStates[client][vJumpOrigin][2] + HEIGHT_DELTA_MIN(JT_LONGJUMP) ? "saved" : "not saved",
- g_PlayerStates[client][vLastOrigin][2], g_PlayerStates[client][vJumpOrigin][2] + HEIGHT_DELTA_MIN(JT_LONGJUMP), GetGameTickCount());
- #endif
-
- if(g_PlayerStates[client][vLastOrigin][2] >= g_PlayerStates[client][vJumpOrigin][2] + HEIGHT_DELTA_MIN(JT_LONGJUMP))
- {
- GetJumpDistanceLastTick(client);
- g_PlayerStates[client][bFailedBlock] = true;
-
- return;
- }
- }
- }
-
g_PlayerStates[client][IllegalJumpFlags] |= IJF_TELEPORT;
}
}
@@ -3392,7 +3363,12 @@ _OnPlayerRunCmd(client, buttons, const Float:vOrigin[3], const Float:vAngles[3],
g_PlayerStates[client][nStrafeTicks][g_PlayerStates[client][nStrafes] - 1]++;
g_PlayerStates[client][fTotalAngle] += fAngleDelta;
-
+ new Float:delta = vAngles[1] - v2[1];
+ while(delta < -180.0)
+ delta += 360.0;
+ while(delta > 180.0)
+ delta -= 360.0;
+
new tick = g_PlayerStates[client][nTotalTicks];
if(fVelDelta > 0.0)
{
@@ -3402,11 +3378,7 @@ _OnPlayerRunCmd(client, buttons, const Float:vOrigin[3], const Float:vAngles[3],
g_PlayerStates[client][nStrafeTicksSynced][g_PlayerStates[client][nStrafes] - 1]++;
g_PlayerStates[client][fSyncedAngle] += fAngleDelta;
- new Float:delta = vAngles[1] - v2[1];
- while(delta < -180.0)
- delta += 360.0;
- while(delta > 180.0)
- delta -= 360.0;
+
if( tick < MAX_JUMP_TICKS )
g_PlayerStates[client][nMouseDir][tick] = delta > 0.0 ? -1 : 1;
@@ -3415,8 +3387,12 @@ _OnPlayerRunCmd(client, buttons, const Float:vOrigin[3], const Float:vAngles[3],
{
g_PlayerStates[client][fStrafeLoss][g_PlayerStates[client][nStrafes] - 1] -= fVelDelta;
g_PlayerStates[client][fLoss] -= fVelDelta;
- if( tick < MAX_JUMP_TICKS )
- g_PlayerStates[client][nMouseDir][tick] = 0;
+ if( tick < MAX_JUMP_TICKS ) {
+ if( FloatAbs( delta ) > 0.0 )
+ g_PlayerStates[client][nMouseDir][tick] = delta > 0.0 ? -2 : 2;
+ else
+ g_PlayerStates[client][nMouseDir][tick] = 0;
+ }
}
if( tick < MAX_JUMP_TICKS ) {
@@ -3545,6 +3521,14 @@ public PrintSyncStats(client) {
Append( strMouseLeft, sizeof( strMouseLeft ), " " );
Append( strMouseRight, sizeof( strMouseRight ), "|" );
}
+ else if( g_PlayerStates[client][nMouseDir][i] == -2 ) {
+ Append( strMouseLeft, sizeof( strMouseLeft ), "." );
+ Append( strMouseRight, sizeof( strMouseRight ), " " );
+ }
+ else if( g_PlayerStates[client][nMouseDir][i] == 2 ) {
+ Append( strMouseLeft, sizeof( strMouseLeft ), " " );
+ Append( strMouseRight, sizeof( strMouseRight ), "." );
+ }
else {
Append( strMouseLeft, sizeof( strMouseLeft ), " " );
Append( strMouseRight, sizeof( strMouseRight ), " " );
@@ -3577,68 +3561,77 @@ public PrintSyncStats(client) {
}
PrintToConsole( client, strFull );
+ if( !g_PlayerStates[client][bSyncStats] || g_PlayerStates[client][nTotalTicks] > 65 )
+ return;
- if( g_PlayerStates[client][bSyncStats] ) {
- Format( strLeft, sizeof( strLeft ), "[ " );
- Format( strRight, sizeof( strRight ), "[ " );
- Format( strMouseLeft, sizeof( strMouseLeft ), "[ " );
- Format( strMouseRight, sizeof( strMouseRight ), "[ " );
-
- new String:char1[] = "|";
- new String:char2[] = "_";
- new String:strFull2[1024];
+ Format( strLeft, sizeof( strLeft ), "[ " );
+ Format( strRight, sizeof( strRight ), "[ " );
+ Format( strMouseLeft, sizeof( strMouseLeft ), "[ " );
+ Format( strMouseRight, sizeof( strMouseRight ), "[ " );
- for( new i = 0; i < g_PlayerStates[client][nTotalTicks]; ++i ) {
- if( g_PlayerStates[client][nMouseDir][i] == -1 ) {
- Append( strMouseLeft, sizeof( strMouseLeft ), char1 );
- Append( strMouseRight, sizeof( strMouseRight ), char2 );
- }
- else if( g_PlayerStates[client][nMouseDir][i] == 1 ) {
- Append( strMouseLeft, sizeof( strMouseLeft ), char2 );
- Append( strMouseRight, sizeof( strMouseRight ), char1 );
- }
- else {
- Append( strMouseLeft, sizeof( strMouseLeft ), char2 );
- Append( strMouseRight, sizeof( strMouseRight ), char2 );
- }
+ new String:char1[] = "|";
+ new String:char2[] = "_";
+ new String:char3[] = " ,";
+ new String:strFull2[1024];
- if( g_PlayerStates[client][nMoveDir][i] == -1 ) {
- Append( strLeft, sizeof( strLeft ), char1 );
- Append( strRight, sizeof( strRight ), char2 );
- }
- else if( g_PlayerStates[client][nMoveDir][i] == 1 ) {
- Append( strLeft, sizeof( strLeft ), char2 );
- Append( strRight, sizeof( strRight ), char1 );
- }
- else {
- Append( strLeft, sizeof( strLeft ), char2 );
- Append( strRight, sizeof( strRight ), char2 );
- }
+ for( new i = 0; i < g_PlayerStates[client][nTotalTicks]; ++i ) {
+ if( g_PlayerStates[client][nMouseDir][i] == -1 ) {
+ Append( strMouseLeft, sizeof( strMouseLeft ), char1 );
+ Append( strMouseRight, sizeof( strMouseRight ), char2 );
+ }
+ else if( g_PlayerStates[client][nMouseDir][i] == 1 ) {
+ Append( strMouseLeft, sizeof( strMouseLeft ), char2 );
+ Append( strMouseRight, sizeof( strMouseRight ), char1 );
+ }
+ else if( g_PlayerStates[client][nMouseDir][i] == -2 ) {
+ Append( strMouseLeft, sizeof( strMouseLeft ), char3 );
+ Append( strMouseRight, sizeof( strMouseRight ), char2 );
+ }
+ else if( g_PlayerStates[client][nMouseDir][i] == 2 ) {
+ Append( strMouseLeft, sizeof( strMouseLeft ), char2 );
+ Append( strMouseRight, sizeof( strMouseRight ), char3 );
+ }
+ else {
+ Append( strMouseLeft, sizeof( strMouseLeft ), char2 );
+ Append( strMouseRight, sizeof( strMouseRight ), char2 );
}
- Format( strLeft, sizeof( strLeft ), "%s ]", strLeft );
- Format( strRight, sizeof( strRight ), "%s ]", strRight );
- Format( strMouseLeft, sizeof( strMouseLeft ), "%s ]", strMouseLeft );
- Format( strMouseRight, sizeof( strMouseRight ), "%s ]", strMouseRight );
-
- if( g_PlayerStates[client][JumpDir] == JD_SIDEWAYS ) {
- Format( strFull, sizeof( strFull ), "W: %s\nS: %s\n", strLeft, strRight );
+ if( g_PlayerStates[client][nMoveDir][i] == -1 ) {
+ Append( strLeft, sizeof( strLeft ), char1 );
+ Append( strRight, sizeof( strRight ), char2 );
+ }
+ else if( g_PlayerStates[client][nMoveDir][i] == 1 ) {
+ Append( strLeft, sizeof( strLeft ), char2 );
+ Append( strRight, sizeof( strRight ), char1 );
}
else {
- Format( strFull, sizeof( strFull ), "A: %s\nD: %s\n", strLeft, strRight );
+ Append( strLeft, sizeof( strLeft ), char2 );
+ Append( strRight, sizeof( strRight ), char2 );
}
+ }
+
+ Format( strLeft, sizeof( strLeft ), "%s ]", strLeft );
+ Format( strRight, sizeof( strRight ), "%s ]", strRight );
+ Format( strMouseLeft, sizeof( strMouseLeft ), "%s ]", strMouseLeft );
+ Format( strMouseRight, sizeof( strMouseRight ), "%s ]", strMouseRight );
- Format( strFull2, sizeof( strFull2 ), "L: %s\nR: %s", strMouseLeft, strMouseRight );
+ if( g_PlayerStates[client][JumpDir] == JD_SIDEWAYS ) {
+ Format( strFull, sizeof( strFull ), "W: %s\nS: %s\n", strLeft, strRight );
+ }
+ else {
+ Format( strFull, sizeof( strFull ), "A: %s\nD: %s\n", strLeft, strRight );
+ }
- new Handle:hText = CreateHudSynchronizer();
- if(hText != INVALID_HANDLE)
- {
- SetHudTextParams(-1.0, 0.06, 3.0, 255, 255, 255, 255, 0, 0.0, 0.15, 0.5);
- ShowHudText(client, 2, strFull);
- SetHudTextParams(-1.0, 0.14, 3.0, 180, 180, 255, 255, 0, 0.0, 0.15, 0.5);
- ShowHudText(client, 3, strFull2);
- CloseHandle(hText);
- }
+ Format( strFull2, sizeof( strFull2 ), "L: %s\nR: %s", strMouseLeft, strMouseRight );
+
+ new Handle:hText = CreateHudSynchronizer();
+ if(hText != INVALID_HANDLE)
+ {
+ SetHudTextParams(-1.0, 0.06, 3.0, 255, 255, 255, 255, 0, 0.0, 0.15, 0.5);
+ ShowHudText(client, 2, strFull);
+ SetHudTextParams(-1.0, 0.14, 3.0, 180, 180, 255, 255, 0, 0.0, 0.15, 0.5);
+ ShowHudText(client, 3, strFull2);
+ CloseHandle(hText);
}
}
@@ -3651,8 +3644,12 @@ PlayerLand(client)
if(!g_PlayerStates[client][bLJEnabled] && !g_PlayerStates[client][nSpectators] || !g_PlayerStates[client][bShowBhopStats] && g_PlayerStates[client][nBhops] > 1)
return;
- PrintSyncStats( client );
-
+ if( g_PlayerStates[client][IllegalJumpFlags] & IJF_TELEPORT )
+ return;
+
+ if( g_PlayerStates[client][IllegalJumpFlags] & IJF_NOCLIP )
+ return;
+
// Final CheckValidJump
//CheckValidJump(client);
@@ -3868,16 +3865,17 @@ PlayerLand(client)
g_PlayerStates[client][fMaxSpeed],
g_PlayerStates[client][fMaxSpeed] - g_PlayerStates[client][fPrestrafe]);
- Append(buf, sizeof(buf), "\nHeight diff: %s%.2f; jump height: %.2f; efficiency: %.4f; ticks: %d; degrees synced/degrees turned: %.2f/%.2f",
+ Append(buf, sizeof(buf), "\nHeight diff: %s%.2f; jump height: %.2f; ticks: %d\nEfficiency: %.4f; degrees synced/degrees turned: %.2f/%.2f",
g_PlayerStates[client][fHeightDelta] >= 0.0 ? "+" : "",
g_PlayerStates[client][fHeightDelta],
g_PlayerStates[client][fJumpHeight],
- (g_PlayerStates[client][fJumpDistance] - 32.0) / g_PlayerStates[client][fTrajectory],
g_PlayerStates[client][nTotalTicks],
+ (g_PlayerStates[client][fJumpDistance] - 32.0) / g_PlayerStates[client][fTrajectory],
g_PlayerStates[client][fSyncedAngle], g_PlayerStates[client][fTotalAngle]);
PrintToConsole(client, buf);
-
+ PrintSyncStats( client );
+
new Handle:hBuffer = StartMessageOne("KeyHintText", client);
BfWriteByte(hBuffer, 1);