If you’re looking for help setting up, please scroll down.
If you’re making a bug report or a suggestion, please make sure it’s not already under Known Issues or Planned Features
Current Version: V1.1
V1.1 changes
+ Auto update checking+ Better detection from different angles
+ Efficiency upgrade
+ General code cleanup (I wrote this at 1am so I wasn't going for the cleanest script when I made this originally)
+ New documentation
Background
Hi there! I’m 99% sure if you’ve been in any semi-popular roblox game as of late you’ve seen people doing something that I like to call “WSing” It’s also known as Ro-banging. This is where one person moves back and forth by spamming W and S behind another player, usually a girl. Even as a “joke” this is seen as weird and uncomfortable. This script aims to help manage this behaviour!
How it works
This works by watching a player’s movements and if it detects that a player is moving back and forth rapidly, it raycasts to see if a player is directly in-front or behind them
Setup
- Get the model from the Creator Hub and insert it into
Server Script Service
-
Edit the settings you wish to modify
-
Profit!
Settings
local config = {
Tolerance = 2, --//The tolerance. Suggested value of 2. too low and you'll get false positives, too high and it won't trip
KillUser = true, --//Will it kill the user who is doing it?
Bypass = {}, --//A list of userids or names (case sensitive) who have bypass
IncludeDummies = {workspace.TESTRIG}, --//A list of objects which have Humanoids in them which are considered players. Good for testing on NPCs
VersionCheck = true, --//If true, this will use MarketPlaceService to automatically check to see if this is out-of-date
CustomDetectFunction = function(plr:Player)
--//A custom function which is called when an action is detected.
--//NOTE: If killuser is enabled, the player is killed before this function is called
return
end,
}
Tolerance
int
Default: 2
This describes how ‘lenient’ the script is. If it’s set too low, it’ll lead to false positives. If it’s set too high it won’t trigger properly. Internally this is used for distance checking, timing, and a few other variables
KillUser
bool
Default: true
If true, the user who is doing the action will be killed upon detection.
If true, this is ran BEFORE CustomDetectFunction
VersionCheck
bool
Default: true
If true, this will automatically check for updates and alert you if one is needed.
Bypass
list
Default: {}
This is a list of userids and usernames who can bypass detection.
Names are CASE SENSITIVE
IncludeDummies
list
Default: {}
This is a list of Models in the workspace which are considered player characters. Good if you want to test or if you have an NPC in your game.
The models MUST have a humanoid in them
CustomDetectFunction
function
Default: return
This is a function that is ran whenever a detection is made. It’s suggested to use this for public humiliation or logging with another system such as Adonis
If KillUser is true, this function is ran AFTER the user is killed
Known issues
-
If the user is really slow, the script won’t trip
-
if the user is in a different direction, the script won’t tripResolved V1.1 -
If the user is angled a different way detection has a chance at failingResolved V1.1 -
Somewhat inefficient - Work in progress
Planned Features
-
Automatically moving to Server Script Service if the script is in workspaceAdded V1.1 -
Module version for easy integration into pre-existing systems
-
General error catching/efficiency upgradesAdded V1.1 -
Adonis plugin
-
Automatically validating your settings you set
FAQ
aka questions that have been asked or ones i forsee being asked
Q: Does ping/lag effect it?
Not too badly. I’ve tested this with a program called Clumsy which adds in artificial packet loss and network delay. Up to 600 miliseconds of ping the script still runs fine, albiet slow.
Q: Can it handle multiple players at once
Yes
Q: Why make this?
WSing is seen as weird and gross to a lot of people such as me. At the best it’s just irritating, at the worst is uncomfortable. As a personal anecdote I tend to use avatars with less skin showing to prevent this (among other things) but if a system like this exists I’ll be able to dress more freely on Roblox.
Contributors and License
Contributors
@Claym1x - Main developer
@driedfxrn - Ideas/raycast and detection improvements
@ZappyZooms - Suggestions/motivation
License/terms of reuploading
This project falls under the MIT License, basically meaning you can reupload this, modify it, and redistribute this under your own name. All I ask for is a bit of credit