Master Script Controller

If you liked this item, please rate it up on Steam Workshop page.

Author: [FoRcE]army_guy3

Last revision: 13 Jul, 2022 at 05:10 UTC

File size: 104.39 KB

On Steam Workshop

Description:

If you like my works you can show your appreciation by donating to support me here[www.patreon.com].

This script is designed to control many different scripts from one master system.

This allows you to run multiple (MSC) valid scripts at once.

Here is a list of current available scripts that work with this system:
https://steamcommunity.com/sharedfiles/filedetails/?id=2209484504

My end goal is to allow people to run global scripts together without conflicts. This project is in alpha stages and only has around 16 valid (MSC) scripts atm.

(MSC) script addons will have instructions on how to install them to the master script controller.

Each script requires the scripts unique MSC_ID to be included in the "Left 4 Dead 2left4dead2emsmasterload_scriptlist.txt".

NEW METHOD:
The MSC now has an auto load system. If the script supports it then it will auto load into the MSC.

If the script doesn’t support auto load then you still have to use OLD METHOD 1 or OLD METHOD 2.

OLD METHOD 1:
If the script doesn’t support auto load then you stlll have to do it the old way

Host a local server.

The MSC will automatically authorize the host as a valid MSC user.

You should now be able to type /MSC_ADDSCRIPT followed by the MSC ID to add the script to your "emsmasterload_scriptlist.txt" file.

You can open your console to see if it worked.

Example:
Master Script Controller: Added new subscript "MSC_All_Melee_Weapons" to masterload_scriptlist.txt file

If for some reason this doesn’t work you can still do it the old way.

OLD METHOD 2:

You can manually create this file or host a local server once with the Master Script Controller enabled to auto create it.

If you’re having trouble finding the ems directory. Go to Library – Left4dead2 – properties – browse local files.. – left4dead2 – ems

ADMIN Controller:
The MSC now includes admin access with access flags and immunity levels. NOTE: IMMUNITY and FLAG System has been added but has not been added to functions just yet. Will be added soon.

/MSC_ADDADMIN army abcdefgz 0

This would search for player "army" and give him admin access flags A B C D E F G Z.

Each function will be tied to a flag required to use it. The exception to this is the Z flag which is known as the root access flag. Root access will be able to use any functions.

Immunity levels will prevent other admins from targetting you. This also means they can’t do fun things with you so in most cases i’d leave it at default 0.

The admins.txt file can be altered to add new or change old admin values. Note that I have not added the ability to add comments to the files so don’t put anything extra in there.

structure is:

STEAM_ID ADMIN_FLAGS IMMUNITY

Only ONE admin per line.

Command Controller:

The MSC now has an advanced command processing controller.

This includes access to "enable", "disable", "S", "sessionsave", and "sessionreset".

These are special flags placed before the command to add extra control to it.

For instance paired with the new AG3 Admin Script https://steamcommunity.com/sharedfiles/filedetails/?id=2222234434 :

/god @human

Would toggle god on and off for all human players.

but what if we only want to turn it on for new players but not turn it off for old players?

Now we can use the enable control.

/enable god @human

This would ONLY enable god.

More examples:

/enable noclip @human

/disable noclip @all

The "S" (Single) flag works a bit differently. It was designed to force a command to ONLY find a player name. Sometimes a player name may be too similar to a filter name. For instance @Me

In this case we could use

/s kick @Me

The s flag prevents any filters from being applied. Most people will never need to use it.

These controls can also be stacked as long as they come BEFORE the command itself.

/s disable noclip @Me

Advanced target filtering system (NOT CASE SENSITIVE):
@Me
@Invert
@Z
@Zombie
@Infected
@S
@Survivor
@Spec
@Spectator
@H
@Human
@Bot
@All
@Smoker
@Hunter
@Jockey
@Spitter
@Charger
@Tank
@Alive
@Dead
@Closest
@Nearest
@Farthest
@Single
@Aim
@Bill
@Zoey
@Francis
@Louis
@Coach
@Nick
@Rochelle
@Ellis

Including one advanced filter:

@Range_#_#

Examples in chat:

/slay @all
/slay @Smoker
/revive @Survivor

These filters can also be paired using the | character to create stacked filters. Remember that only the first filter in a chain should have a @ character AND filter chains should never have a space between any chained filters!

Examples in chat:

/teleport @Survivor|Farthest @me

/slay @Zombie|Bot|Alive

This will first filter to only survivors then among those it will apply the Farthest filter to return which survivor is farthest away.

We can also make it more advanced with:

/teleport @Survivor|alive|Farthest @me

Now it filters survivors.. who are alive… then finds the farthest target.

We could also use the range filter. Remember that the underscores are not optional and are used for parameter splitting. First we need either > or < to indicate less than or greater than distance.

@Range_<_

Now we need a number to compare to.

@Range_<_500 would mean only players with range smaller than 500 to the person activating the chat command.

So an example in chat would be:

/teleport @Range_<_500|Range_>_50 @me

Here we are creating two range filters so only players smaller than 500 in distance AND larger than 50 in distance would be teleported.

Keep in mind that this is an alpha build and some things may change in future builds.

Note: If you crash when returning to main menu it is most likely caused by a script running VSLIB.

If your game freezes at around 30% during load then a non MSC script may be conflicting and needs to be disabled.

If your game crashes while loading, Make sure that none of your other scripts are using VSLIB. Remember that some campaigns also include VSLIB.

Keep in mind that there are hundreds of thousands of scripts made by other people. If someone’s script changes something that the MSC is using then things can break. The issue may not be with the MSC itself and making the MSC work with everything is 100% impossible.

These scripts take a lot of time and effort to produce. If you like them and/or want to see more, you can show your appreciation by throwing some money my way at:

https://www.patreon.com/ag3_killstreak