[Resource] Advanced NoClip Script "Module"

Adv. NoClip Script Module

After creating a good enough proof of concept, I’ve come back with version 2 - nice and polished.

I’ve tried to design this script to be a “module” so that it’s able to fit into other scripts easily. Unfortunately, I could only get it down to using 1 global variable (N) and 2 player variables (N & P).

I’ve been optimising the script a little here and there, but it’s still a little heavy at a total 4 rules - 5 conditions & 61 53 (v1.1.2) actions. Don’t worry though, I already have a few ideas of ways I can cut down and will keep working on it to do so.


Read Me
This is now being continued on the Elo Hell Workshop page: https://workshop.elohell.gg/C5vseccq2
For updates, help & support and other useful information, feel free to join the Discord: https://discord.gg/fmsu6ba

Features:

  • Allow/disallow specific players to use NoClip.
  • Show name tags of the positions of players using NoClip
  • Very easy to set/change the activation method. (Keybind)
  • Fly in the direction your're facing, and even pass through walls into out-of-bounds areas.
  • As you'd expect, you go back to regular form once you exit NoClip, continuing from that position.
  • Easy to configure, allowing you to change the global properties such as permissions, name-tag visibility, default speed, boost speed and camera smoothing.

Controls & Properties:

Controls:
  • Toggle NoClip (configurable): Q/Ultimate
  • Up: Space/Jump
  • Down: Ctrl/Crouch
  • Shift/Ability 2: Speed Boost
  • Forwards
  • Backwards
  • Left
  • Right
Default Properties (All Configurable)
  • Access: 1 - Everyone has the ability to use NoClip
  • Name-Tag Visibility: 1 - Everyone can see the position of a NoClip user.
  • Normal flight speed (Meters/s): 10
  • Boosted flight speed (Meters/s): 20
  • Camera Smoothing: 25

Configurable Properties:

In rule {1/4}, the first 2 actions are vector values with each component being used as a property. You can change these values to better suit your preferences.

Action 1:

  • [X]: Default NoClip Access - This determines if by default, players will be able to use NoClip or not.
    • 0 = False
    • 1 = True
  • [Y]: Name-tag Visibility - When someone is using NoClip, their name can be placed above their head to show others where they are.
    • 0 = The positions of NoClip users are hidden from everyone. (A text entity will not be created.)
    • 1 = Everyone can see the position of a NoClip user.
    • 2 = Only those with permission can see the position of a NoClip user.
    • 3 = Only when using NoClip can you see the position of another NoClip user.
  • [Z]: *Not Used*

Action 2:

  • [X]: The default move speed of the NoClip camera in Meters/s.
  • [Y]: The boost move speed of the NoClip camera in Meters/s. This is when the player is holding Shift/Ability1
  • [Z]: NoClip Camera Smoothing - The higher the value, the faster the transition speed but 0 is instant.
    • I recommend using between 10-60 (Default: 25).

Useful Information & Tricks:

  • To get the current position of a player using NoClip, it's stored in Player Variable P.
  • To give/take permission from a player, set the value at P.Var N[0] to true or false. A few examples of how this can be used:
    • If there were some kind of currency/shop in your game, you should set this to true when a player purchases it.
    • Having set boundaries where NoClip is/isn't allowed. You could give/take permission once a player enters/exits these bounds.
    • Enabling NoClip for players that have been eliminated from the gamemode - kind of like an alternate spectate mode.
  • To check if a specific player is currently using NoClip, the value is stored at P.Var N[1] (true/false).

READ ME: Unfortunately, There's a bug in the Workshop at the minute that's forcing me to add a 4th rule. Once the bug is fixed, I'll update this post. I've made it so instead of having to re-import the whole script, you'll just be able to delete the 4th rule without everything breaking. This bug is also the reason you might notice a slight "bouncing" when starting/stopping NoClip movement - especially when using high movement speeds.
Bug: https://us.forums.blizzard.com/en/overwatch/t/workshop-bug-very-strange-chase-behaviour-wen-using-throttleof/344059

Enjoy!

Version Codes:
Instead of having to re-import the entire script, expand the version notes and just re-import the affected rules.

  • v1.0.0: 1R43C
    4 Rules - 5 Conditions & 61 Actions
    The very first version published.
  • v1.0.1: 5GKJY (Bug fixes)
    Previously: 4 Rules - 5 Conditions & 61 Actions
    This Version: 4 Rules - 5 Conditions & 61 Actions
    Rule 3:
    • Fixed an issue where you were able to see your own name-tag when using value 3 for the Name-tag Visibility property.
    • When using NoClip, you're now invincible instead of being phased out, meaning you can still be collided with if a player bumps into you. This will be changed back later, hopefully along with a big optimisation.
  • v1.1.0: KT6SM (Optimised - Actions reduced by 10)
    Previously: 4 Rules - 5 Conditions & 61 Actions
    This Version: 4 Rules - 5 Conditions & 51 Actions
    Rule 3:
    • Optimised the name-tag creator, reducing the action count by 5.
    • Changed the method of hiding the player, reducing the action count by 5.

    Other Information:
      In an attempt to not conflict with other game settings, players are no longer made to be invisible and so they can be seen at the top of the map by teammates.
  • v1.1.1: 6KSGP (Small QoL Improvement)
    Previously: 4 Rules - 5 Conditions & 51 Actions
    This Version: 4 Rules - 5 Conditions & 54 Actions
    Rule 3:
    • In v1.1.0, you'd exit NoClip and often be thrown in a random direction due to the new method of hiding players. It's not perfect, but I've tried to suppress that a little. Unfortunately, it's came at the cost of having to add 3 more actions but I'll keep trying to find a way to improve this.
    • Fixed an issue where the camera smoothing was reading the wrong value.
  • v1.1.2: QB0W3 (Small QoL Improvement)
    Previously: 4 Rules - 5 Conditions & 54 Actions
    This Version: 4 Rules - 5 Conditions & 53 Actions
    Rule 3:
    • Screen flicker is slightly reduced when entering/exiting NoClip.
    • Suppressed the random velocity a little more when exiting NoClip.
8 Likes

!!! Thats really cool!!! And really polished now =D
Gj!!

Also holy $hit i neve thought nepal maps where together like that, much less fully loaded into memory lol

Thank you! :smiley: Since I’ve literally only just finished it, I’m running a custom game atm to stress test it. I’ve only noticed 1 bug where you’re always phased, but nothing major, yet.

Yea haha, all of the Control maps are just 3 maps in a single world (Ilios, Nepal, Oasis etc). I assume it’s for optimisation - when you switch point, you would have to load an entire map again and this takes time. Having all 3 maps in one world allows for smoother transitions and faster/no load times.

But I’m glad you like it :DD

1 Like

I tried to do this, but I ran into problems. Then I realized pong was more important. So I made that instead.

I think I saw it on Reddit, pretty cool lol. What kind of problems did you run into, I’m curious? :o

I was just learning the system, so I was trying to use “create camera” and setting values to event player. Most of my problem was the fact that I needed to use “position of.” My goal was a noclip specator mode, similar to the replay system. When I get home, I’ll check out your project. I want to take nice pictures of scenary. Right now archives Rialto is my desktop background.

lol I do this far more than I’m willing to admit and then sit there for 30 minutes wondering why my results aren’t what I expected. Just trying to do things quickly and slip up haha.

Yea, I had plans for this too and was also one of the reasons I decided to make it. Arcade-like gamemodes such as Murder Mystery etc. would benefit from it. It also helps in games like Deathmatch were spectate doesn’t exist unless you re-create it.


Let me know if there’s anything you would add, change or do differently. I’m aiming for this to be kind of a “community resource” in a sense so I’m trying to make it as universal as I can.

I like the rule for custom variables, that makes adjusting things so much easier. Also, I love how you solved one of the problems I had. Turning was relative to the player for me when I did it. That’s a problem when the player is across the map. You just put the player inside the camera. It’s honestly funny to think about. Just a Mccree floating around.

Also, in many 3D freecam programs, you can use E and Q to move up and down. It could be jump and crouch or something, but those would make navigation easier.

Thank you. :slight_smile: I was trying to make the NoClip as simple as possible, while also allowing the option to easily customise it so it fits into your game better.

Actually, turning is still relative to the player (somewhat) and the player is always “hidden” way above the map - somewhere along Y = 500. :stuck_out_tongue: If you want to see something funny, set the activator key to be E/Ability 1(?), and add a bunch of Ana bots. Fly way up in the sky and you’ll see yourself as well as a bunch of Ana bots floating around once they’ve tried to throw a grenade. :smiley: (Yes, I used Ana bots to test my NoClip lol)

I’m confused lol. Are you trying to say you’d prefer to use Q & E to go up/down, or are you saying you like the current setup where Ctrl & Space go up and down?

I’m an idiot. I have shift as my crouch, and ability 2 on my lctrl. I pressed lctrl expecting to go down, but it did nothing. I suggested something that I failed to use. Whoops.

1 Like

Semi-continued on the Elo Hell Workshop, though I’ll still update general information here.

Discord: https://discord.gg/fmsu6ba
Elo Hell Post: https://workshop.elohell.gg/C5vseccq2