-
Couldn't load subscription status.
- Fork 110
shavit_core_pause_movement - add extra 2 cvars for pause #1250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
add extra 2 cvar for pause
|
I don't really see the point in this change, but here's a suggestion anyway. These are worded poorly and confusing: Better to make it something like: Also 2 and 3 should be switched around in the order, in my opinion.. but tbh 2 and 3 shouldn't exist anyway, so.. Also, also, this would also need to be handled in |
|
I did not understand conditions you mentioned but there are already lines use shavit_canpause for conditions which are >1. I thought to switch 2 and 3 but lazy :). For 2 i agree that it shouldnt be exist but if i did 3, why not 2? After all, we are not forcing anyone to use it. I already stated that it's not recommended. I'll change the description. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestions
| } | ||
|
|
||
| if((iFlags & CPR_Duck) > 0) | ||
| if((iFlags & CPR_Duck) && (gCV_PauseMovement.IntValue == 0 || gCV_PauseMovement.IntValue == 1)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not that it seems completely necessary, but the
> 0could have been retained with your addition
i dont understand, it is just for 0 and 1 cuz you have to stand to pause
|
|
||
| Shavit_PrintToChat(client, "%T", "MessageUnpause", client, gS_ChatStrings.sText, gS_ChatStrings.sVariable, gS_ChatStrings.sText); | ||
| } | ||
| else if(gA_Timers[client].bClientPaused & (gCV_PauseMovement.IntValue == 2 || gCV_PauseMovement.IntValue == 3)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
couldn't this be
else if(gA_Timers[client].bClientPaused && gCV_PauseMovement.IntValue >= 2)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
couldn't this be
else if(gA_Timers[client].bClientPaused && gCV_PauseMovement.IntValue >= 2)
still same shit, i just wrote that way
| public Action Shavit_OnStartPre(int client, int track) | ||
| { | ||
| if (GetTimerStatus(client) == Timer_Paused && gCV_PauseMovement.BoolValue) | ||
| if (GetTimerStatus(client) == Timer_Paused && (gCV_PauseMovement.IntValue == 1 || gCV_PauseMovement.IntValue == 2 || gCV_PauseMovement.IntValue == 3)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i believe .BoolValue will return true as long as the value is > 0 so this can remain unchanged.. or you can just check .IntValue > 0 instead of specifying each individual case
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i believe .BoolValue will return true as long as the value is > 0 so this can remain unchanged.. or you can just check .IntValue > 0 instead of specifying each individual case
not to keep that as bool but it will work
| int flags = GetEntityFlags(client); | ||
|
|
||
| if (gA_Timers[client].bClientPaused && IsPlayerAlive(client) && !gCV_PauseMovement.BoolValue) | ||
| if (gA_Timers[client].bClientPaused && IsPlayerAlive(client) && gCV_PauseMovement.IntValue == 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as before on line 2471, this should be able to remain unchanged
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as before on line 2471, this should be able to remain unchanged
not necessary but i dont want to keep it bool, just remember why i put 0 in here
| if (gA_Timers[client].bClientPaused && IsPlayerAlive(client) && gCV_PauseMovement.IntValue == 3) | ||
| { | ||
| buttons = 0; | ||
| TeleportEntity(client, gF_PauseOrigin[client], gF_PauseAngles[client], view_as<float>({0.0, 0.0, 0.0})); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe i'm missing something.. but why teleport the client every tick if their movement is prevented? also this whole block can be removed and handled in line 3352 by checking if (gCV_PauseMovement.IntValue == 0 || gCV_PauseMovement.IntValue == 3) right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe i'm missing something.. but why teleport the client every tick if their movement is prevented? also this whole block can be removed and handled in line 3352 by checking if
(gCV_PauseMovement.IntValue == 0 || gCV_PauseMovement.IntValue == 3)right?
it doesnt work as you said, i have to teleport client to that position
| } | ||
|
|
||
| if((iFlags & CPR_Duck) > 0) | ||
| if((iFlags & CPR_Duck) && (gCV_PauseMovement.IntValue == 0 || gCV_PauseMovement.IntValue == 1)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not that it seems completely necessary, but the
> 0could have been retained with your addition
i dont understand, it is just for 0 and 1 cuz you have to stand to pause
the whole conditions works fine, i didnt find any buggy thing. If you find any broken thing let me know |
|
nobody cares about preventing/stopping cheats in 2025, but allowing pausing while moving will let players essentially get the same cheater effect as that kz noslide plugin. just spam pause when jumping onto a block with a million vel and it'll stop you in place with values >1 i'll let avo review/comment before saying anything else |
ofc allowing movement in pause is cheat for someone who also thinks null and other things which are based on game commands and alias are cheat in 2025. However i do not want to argue this topic. My purpose to make this pr is that i do not ruin my good run when i have to be afk during the run so i can pause my run with 3. movement cvar. |
|
of course, i understand. i don't believe movement while paused is a cheat, for the record. i am the one who originally added this cvar and functionality. not trying to be mean or critical to your PR, i just don't think it should be a part of the core timer, given the inherent abusive nature of it (noslide). there's a reason you are not allowed to pause while moving currently. also, nulls and things based on built in game commands are completely different to plugins modifying movement mechanics! edit: "core timer" not meaning "shavit-core", i meant it as "part of the timer itself" as opposed to an edit in a fork or something else. |
|
oops said something else ^^ |
i did not compare nulls and others with plugins. I just emphasized how people with ideas like yours think about cheating. Also why dont i put those cvar into shavit-core if it is in shavit-core.sp |
|
Russian cheaters crying about stuff that people still consider cheating, even in 2025 is fucking hilarious 🤡 |
c286c5f to
f2739af
Compare
No description provided.