Introducing LocatorMod Version 1, find objects in your game

LocatorMod Version 1

After long hours of debugging and making this module user convenient, I have finally finished my first ever publicly usable module, LocatorMod. This took me around 2 days to make, please read on!

Why did I make LocatorMod?

Recently, a group that I work for paid for a map that ended up having loads of viruses and unwanted items hidden throughout the game. I’m talking inside Models of Models of Models of Models of Models, etc.

In fact, I searched high and low for plugins or scripts that would allow me to efficiently delete named objects or scripts. I couldn’t find it. This led me to have to loop through the workspace’s descendants and find each script and destroy them from there, which honestly was a pain. I made this module for others who may be experiencing this same problem… with some other perks aswell!

Features

LocatorMod V1 currently allows you to:

  • Locate Objects (in any area) that are named a certain name.
  • Locate Objects (in any area) that are in a certain class.
  • Locate All Scripts in an area.
  • Search for Common Viruses inside of your game.

Keep reading!

Usage & Information

Documentation
Locator.LocateObject(ObjectName,Area)

This will locate any object that has the name of the string “ObjectName” inside of “Area”

Locator.LocateObjectOfClass(ObjectClass,Area)

This will locate any object class that has the classname of the string “ObjectClass” inside of “Area”

Locator.LocateAllScripts(Area)

This will locate any type of script (“Script”,“LocalScript”,“ModuleScript”) inside of “Area”

Locator.ShowCommonViruses(Area)
  • [GOLDEN] This will search for any objects that have Unicode in their name inside of the “Area”. Example: :female_sign:
  • This will search for anything inside of the table “CommonVirusNames”, which can be found inside of the actual module script.
  • This will also search for any “Fires”'s that have a script named anything inside the “CommonVirusNames” table, or any script name that has unicode.

Remember, it must be (Module).(Function) and not (Module):(Function)
Correct: Locator.ShowCommonViruses(Area)
Incorrect: Locator:ShowCommonViruses(Area)

Short Example (How-To)
local Locator = require(6243124510)
local ShowCommonViruses = Locator.ShowCommonViruses(workspace)
print(ShowCommonViruses)

Paste that code into the command bar (Located in View → CommandBar), open your output and boom! Done.

Remember, You can use the assetId to require the module or get the module below.

Constructive Criticism, Suggestions, Feedback, ETC.

If you have any constructive criticism, suggestions, bug reports or feedback, please do leave them below!

Open Sourced Module

Have fun with the source code here! If you want to stay updated with the features, I reccomend using the AssetID instead.

https://www.roblox.com/library/6243124510/LocatorMod-V1

6 Likes

LocatorMod Version 1.1

First update of LocatorMod! Excited to show you what’s new:

New Function!

After some time of thinking, I have decided to create a new function. ReparentObjects
This function can be used with one or more objects. You can find an example of the new how-to and documentation below

Documentation
Locator.ReparentObjects(ObjectName,StartParent,EndParent)
ObjectName must be a string!

Correct Usage: (Module).(Function(param1,param2,param3)
Incorrect Usage: (Module):Function(param1,param2,param3)
This will get you an error, use “.” and not “:”

Code Example:

local Locator = require(6243124510) -- Require the AssetId from RBLX Library.
local ReturnedReparentObjects = Locator.ReparentObjects("Brick1",workspace,workspace.MyFolder)
print(ReturnedParentObjects)

Paste that code into your Command Bar (Found in View → Command Bar), Open your output (Found in View → Output), and you’re done. You’ve successfuly reparented (one or more) objects to your new parent “MyFolder”!

Hope you enjoy! Let me know if there is an incorrect statement in this documentation.
:slightly_smiling_face:

I’m confused. I like the common virus feature, but what about the script destroy? Can’t we just run:

for _, v in ipairs(area:GetChildren()) do
  if v:IsA(“Script”) then
   v:Destroy()
 end
end

LocatorMod makes it easier. You require the asset, set a variable to the function (which will return a table if the object is found).

I introduced the ReparentObjects for this reason, this is because lets say you found an object but you want to know if what you’re deleting is in fact what you want to delete. No one wants scripts that take a long time to make to go to waste, and I don’t want my module to be the reason a developer basically gave up on their game. So instead of immediately deleting the virus, they can reparent the returned values of the table (from the ShowCommonViruses function) to a folder in workspace to ensure that they are deleting the correct things.

To add onto that, instead of using the script you provided, you could simply do

Locator.LocateAllScripts(Area)
This will locate all scripts in the area.

1 Like

Is there a way to utilize this for unanchored parts - and if somebody could be kind enough to elaborate on how?

I’ve been looking for something where I can locate all of the unanchored parts in my game. I’m a messy builder myself and tend to fail to anchor some parts when inserting them. Now I deal with the punishment of exploiters taking advantage of NetworkOwnership due to this.

1 Like

I will think about this, it may be coming in the next update! Thanks for the suggestion.