Is this possible? Bullet Time

I wanted to make this a buy menu item in TTT it would last 3-5 seconds then return to normal see bottom. Well I am assuming this is possible rewrite in lua with RunConsoleCommand or game.ConsoleCommand. Only problem is you have to enable sv_cheats and I’m pretty sure that would announce that in chat. So if someone wanted to be an asshole they could squeeze in a command in that 3-5 second window. Any way to make it not announce that in chat?

Also if you guys think this is asking for trouble is it possible to write actual code to do bullet time instead of using console commands?

alias +bullettime “bloom; sv_cheats 1; host_timescale 0.200000; phys_physicalbullets 1; play bullettimeon.wav; bulletblur; phys_timescale 0.184000; bulletspeed 0.1”
alias -bullettime “bloom; host_timescale 1; play bullettimeoff.wav; pp_motionblur 0; phys_timescale 1”
alias bulletblur “pp_motionblur_delay 0.01; pp_motionblur_addalpha 0.1; pp_motionblur_drawalpha 0.50; pp_motionblur 1”
bind “ALT” “bullet_t”
alias bloom “pp_bloom 1; pp_bloom_darken 0; wait 9; pp_bloom_darken 0.10; wait 9; pp_bloom_darken 0.20; wait 9; pp_bloom_darken 0.20; wait 9; pp_bloom_darken 0.30; wait 9; pp_bloom_darken 0.40; wait 9; pp_bloom_darken 0.50; bloom1”
alias bloom1 “wait 5; pp_bloom_darken 0.60; wait 9; pp_bloom_darken 0.70; wait 9; pp_bloom_darken 0.80; wait 9; pp_bloom_darken 0.90; wait 9; pp_bloom_darken 1”

alias +bulletfire “bloom; sv_cheats 1; phys_physicalbullets 1; play bullettimeon.wav; bulletblur; phys_timescale 0.184000; bulletspeed 0.1”
alias -bulletfire “bloom; play bullettimeoff.wav; pp_motionblur 0; phys_timescale 1; bulletspeed 1”

alias bullet_t “bullet_on”
alias bullet_on “alias bullet_t bullet_off; +bullettime”
alias bullet_off “alias bullet_t bullet_on; -bullettime”

bind “x” “bullet_t”

mat_picmip -10

Wut…? That’s not lua, thats a console script… You’ll have to make a lua code for this to work on the server.

I Prefer you make it from scratch in lua.

ya i meant if i was to rewrite that in lua

Then you would have to make some think hooks for smooth transition and some cheat proof function so it works.

Awesome so its sounding like its possible then. Also I was wondering if i could put a radius function on this? And how would I go about a cheat proof function?

http://www.garrysmod.org/downloads/?a=view&id=44260 Maybe this will help you abit?

thats what that console script is

Can I get an example on how this would work?

Assuming you want to achive “true” bullet time, this is only achiveable in singleplayer. This is because when one person enters “bullet time”, you would have to slow down the entire server (to create the proper illusion) thus giving everyone bullet time. You could speed the player up and give them a blur effect, but that’s not really bullet time either.

Killing Floor has a similar feature with it’s ZED Time feature. It slows the entire server down for x seconds (or annoyingly, minutes), however it has to be applied to everyone.

So you can have either; Slowing the entire server down or speeding the player up.

Ya I was afraid of that using this method of Bullet Time, thats ok though it only will last 3 seconds and usable once. In the specialists it would slow down people within a radius and it was awesome :stuck_out_tongue:

This is also possible, however what I mean is that the whole idea behind bullet time is that the person is in their own time lapse. To get proper bullet-time (like in films / singleplayer) isn’t really possible to achive.

You can adjust settings per-player to get the affect you want, though.

Increase their movement speed, mouse sensitivity and playbackrate to scale with the time ( So if you slow down time by 80%, make them 80% faster ).

It might not be perfect, but it is probably the best thing you could do.

Then, you do neat stuff like drawing after-images of the player depending on how slowed down time is.

Well thats alright the games I have played with bullet time it didn’t put one player in their own time lapse it put every1 with in a radius in a time lapse. I’m gonna work on this today then I will get back to you guys :p. Also is it possible to do this w/o console commands and actually code real bullet time?