Left 4 Dead 2

Left 4 Dead 2

153 ratings
Master Script Controller
   
Award
Favorite
Favorited
Unfavorite
Game Content: Scripts, Miscellaneous
File Size
Posted
Updated
104.395 KB
20 Aug, 2020 @ 7:05pm
12 Jul, 2022 @ 10:10pm
22 Change Notes ( view )

Subscribe to download
Master Script Controller

In 1 collection by [FoRcE]army_guy3
(MSC) Scripts
33 items
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://steamproxy.net/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 2\left4dead2\ems\masterload_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 "\ems\masterload_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://steamproxy.net/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
Popular Discussions View All (3)
3
16 Dec, 2020 @ 11:05pm
PINNED: MSC Script Ideas (Share your ideas here)
[FoRcE]army_guy3
1
11 Oct, 2020 @ 4:46am
PINNED: New changes coming to MSC system.
[FoRcE]army_guy3
0
11 Oct, 2020 @ 7:13pm
Learning how to write your own MSC scripts.
[FoRcE]army_guy3
38 Comments
SheeshMaster420 ✔ 28 Apr @ 5:31am 
how to disable messages of script controller? Annoying that green text appearing everytime when I use custom admin menu
something something house 25 Mar @ 9:35pm 
can i edit the values in the individual scripts because i kind of want to mess around MSC_All_Weapons within a cfg file
Playeroth 11 Sep, 2023 @ 6:31pm 
this mod conflicts with other mods that have menu system. is there any workaround?
StrobaCat 18 Jun, 2023 @ 9:05pm 
weird because there's wasnt any cracks on the door when i was rescued by some unknown entity
[FoRcE]army_guy3  [author] 18 Jun, 2023 @ 8:58pm 
This doesn't sound like an issue related to the MSC.

The rescue closet doesn't rescue you when you open the door, It rescues you when you get line of sight from point A to B.

This means if you stand in the exact spot where a crack in the door is you can trigger rescue without actually opening the door.
StrobaCat 17 Jun, 2023 @ 4:27pm 
the only other scripts i have i think are some css ammo stuff, and setting lock are those incompatible and breaks MSC? (for example yesterday i was with all of these including msc, and got automatically rescued at a rescue closet without anyone actually rescuing me)
[FoRcE]army_guy3  [author] 17 Jun, 2023 @ 3:24pm 
This script allows scripts to co-exist with each other, but it doesn't work if other scripts don't use it.

If someone makes a script that attempts to modify the same script file as the MSC then things will break.

Nothing can be done about that.
StrobaCat 16 Jun, 2023 @ 11:13pm 
yo i got weird behaviors with this and other 2 scripts of these is this normal?
Amainy 16 Nov, 2022 @ 9:34pm 
BaseScriptedDOTable <-
{
ScriptedStageType = STAGE_NONE
ScriptedStageValue = 1000
SpawnSetRule = SPAWN_SURVIVORS
PreferredMobDirection = SPAWN_NO_PREFERENCE
SpawnDirectionCount = 0
SpawnDirectionMask = 0
cm_AggressiveSpecials = 1
}

I think something in there is making the common spawn wanky during the crescendo of c2m4 (no one spawns inside, or besides, the saferoom).
[FoRcE]army_guy3  [author] 11 May, 2022 @ 8:12pm 
Hey peeps, I've corrected an issue with the autoload processor that may have been causing some of you to crash.

Let me know if you're still experiencing crashing issues.