Left 4 Dead 2

Left 4 Dead 2

Special Infected Synchronization (AI+)
101 Comments
Thumos  [author] 27 Jul @ 10:16am 
@Rtma Eros Paragon The `EFL_NO_THINK_FUNCTION` constant variable prevents the entity from performing its think functions.

To learn more about these constant variables, I recommend viewing the Garry's Mod Wiki. [wiki.facepunch.com]
Rtma Eros Paragon 27 Jul @ 2:11am 
What exactly does this function do that is missing currently?
Thumos  [author] 27 Jul @ 12:23am 
@Rtma Eros Paragon It turns out I forgot to add the `EFL_NO_THINK_FUNCTION` constant variable to the `Sync Only` and `AI+` versions of the `Special Infected Synchronization` add-ons. I'll have to fix this error in the next update.
Rtma Eros Paragon 26 Jul @ 11:59pm 
I am experiencing my console being filled with these error messages lately, any idea on how to fix?

LOCALS
[@ITERATOR@] 1
[camera] INSTANCE
[@INDEX@] 0
[cameras] ARRAY
[this] TABLE
[alive_survivors] TABLE
[this] TABLE
[specials] TABLE
[alive_survivors] TABLE
[total_survivors] TABLE
[this] TABLE

AN ERROR HAS OCCURED [the index 'EFL_NO_THINK_FUNCTION' does not exist]

CALLSTACK
*FUNCTION [IsCameraActive()] scripts/vscripts/sisync-ai+_logicmanager.nut line [23]
*FUNCTION [IsCutscenePlaying()] scripts/vscripts/sisync-ai+_logicmanager.nut line [10]
*FUNCTION [UpdateScope()] scripts/vscripts/sisync-ai+_scopemanager.nut line [33]
DELTA_SHARk_67 4 Jul @ 3:02am 
Is it normal that it disables my means of finding the dead locked up?
Thumos  [author] 4 May @ 2:32pm 
ツ Apparently, I forgot to add the link to the guide while I was editing my comment. Nevertheless, you can set up a local Versus server to use this add-on. Here's the guide that'll show you how to modify the `addonconfig.cfg` file in the `./left4dead2/cfg/` directory.
K1ll3r 4 May @ 12:57pm 
Can it be done if the vpk method is used?
Thumos  [author] 2 May @ 6:00pm 
ツ Since this add-on uses VScripts, the only way you can use it in Versus would be to set the value of the `versus` variable underneath `RestrictAddons` to `0` and then create a local server. For more details, you can view this guide which shows you how to enable add-ons in Versus on local servers.
K1ll3r 2 May @ 3:18pm 
works on vs?
Thumos  [author] 20 Apr @ 11:51am 
@exactly 1 knight If you want to play campaigns as if it were Versus, then I recommend installing the `Special Infected Synchronization (Competitive)` add-on instead as the `MaxSpecials` option is set to `4` by default which will allow up to four special infected to spawn at once.
exactly 1 knight 20 Apr @ 9:54am 
Is making all 4 special infected spawn at the same time as simple as changing "MaxSpecials" to 4? I wonder if you could pseudo-recreate a VS mode like experience this way? (Without the kicking and racial slurs, of course.)
Thumos  [author] 5 Mar @ 1:47pm 
@Sasha Pines (no brain) At one point, the `MaxSpecials` variable was set to `3` as I figured that three special infected normally spawned in official campaigns. However, I realized that the third special infected only spawned as soon as one of the active special infected was killed.

Because I figured that some campaigns would modify either the `cm_MaxSpecials` or `MaxSpecials` variable at certain times (ex. the finale in Chapter 3 of The Passing), I let the Director handle those two variables automatically instead of manually setting them at specified values.
Sasha Pines (no brain) 5 Mar @ 6:22am 
question why there only 2 si spawn at a time instead 4 like older version i renember ?
Thumos  [author] 26 Feb @ 8:44pm 
@Wenda I don't think this add-on has any impact on the amount of Witches that spawn in a map.
I STAPLE TAPEWORMS ON MY 26 Feb @ 8:22pm 
does this increase the amount of witches per map?
I STAPLE TAPEWORMS ON MY 23 Feb @ 2:01pm 
oh thank you
Thumos  [author] 23 Feb @ 1:59pm 
@Wenda I played the first chapter of The Passing with this add-on disabled, and the Tank still spawns before I reached the primary weapons. The only difference I encountered is that the Tank didn't attack until I actually saw him because the `cm_AggressiveSpecials` variable is normally set to `false` by default.

If you want an easier time going against the Tank in the first chapter of The Passing, I recommend setting the `AllowAggressiveSpecials` option in the `settings.txt` file to `false` so he doesn't immediately attack as soon as he spawns.
I STAPLE TAPEWORMS ON MY 21 Feb @ 4:00am 
also with multiple witches spawning a map
I STAPLE TAPEWORMS ON MY 21 Feb @ 3:26am 
im having an issue on some campaigns where a tank can spawn a lot earlier than he should
examples being on the passing before you can get to the tier 1 guns or during the intro of cold stream
I STAPLE TAPEWORMS ON MY 21 Feb @ 3:20am 
does this effect tank spawns at all?
thanks to your detailed explanation! :krstar::krstar::krstar::krstar::krstar:
Thumos  [author] 17 Feb @ 8:25am 
@.√ᴇɴℊᴇᴀɴᴄᴇ While this add-on doesn't disable the Charger's damage resistance during his charge animation, the `Special Infected Synchronization (Competitive)` add-on includes the `ModifyChargeHealth` option in the `settings.txt` file located in the `./ems/sisync-comp/` directory which will allow the Charger to take normal damage while charging.
does this script disable the 66% melee attack resistance on Charger? (while in charging)
Thumos  [author] 13 Feb @ 1:00pm 
@Destructible Dummy After looking through my VScripts in this add-on, it turns out the `DynamicSpecialTimer` option wasn't actually in the `settings.txt` file. I'll have to update this add-on to resolve this issue.
Mitochondria 13 Feb @ 7:51am 
Instead of actually working, it got me an error:
AN ERROR HAS OCCURED [the index 'DynamicSpecialTimer' does not exist]

CALLSTACK
*FUNCTION [ManualRespawnOverrider()] scripts/vscripts/sisync-ai+_infectedmanager.nut line [145]
*FUNCTION [SpecialRespawnModifier()] scripts/vscripts/sisync-ai+_infectedmanager.nut line [180]
*FUNCTION [UpdateScope()] scripts/vscripts/sisync-ai+_scopemanager.nut line [47]

LOCALS
[survivor_percentage] 1
[total_survivors] TABLE
[alive_survivors] TABLE
[this] TABLE
[total_survivors] TABLE
[alive_survivors] TABLE
[this] TABLE
[specials] TABLE
[alive_survivors] TABLE
[total_survivors] TABLE
[this] TABLE
Mitochondria 13 Feb @ 7:51am 
There's an error whenever I change the variable in the settings confg:

InitialSpawnDelayMax = 120
InitialSpawnDelayMin = 60

OverrideInitialSpawnDelay = true
OverrideRespawnInterval = true
RespawnIntervalMax = 60
RespawnIntervalMin = 60

Additionally, I've tested without some addons that modifies Special AI like (Competitive Bots), yet again, it's not working for some reason; deleting the ems file is a thing to reboot this issue but its still persists. Thank you:health:
Rtma Eros Paragon 7 Feb @ 9:48pm 
Thanks for the information, I am testing those now.
Thumos  [author] 6 Feb @ 6:20am 
@Rtma Eros Paragon You can modify the options in the `settings.txt` file located in the `sisync-ai` folder.

As for the mob and special directions, here are the options the numbers are referring to according to the Director Scripts wiki page :
---
SPAWN_NO_PREFERENCE = -1
SPAWN_ANYWHERE = 0
SPAWN_BEHIND_SURVIVORS = 1
SPAWN_NEAR_IT_VICTIM = 2
SPAWN_SPECIALS_IN_FRONT_OF_SURVIVORS = 3
SPAWN_SPECIALS_ANYWHERE = 4
SPAWN_FAR_AWAY_FROM_SURVIVORS = 5
SPAWN_ABOVE_SURVIVORS = 6
SPAWN_IN_FRONT_OF_SURVIVORS = 7
SPAWN_VERSUS_FINALE_DISTANCE = 8
SPAWN_LARGE_VOLUME = 9
SPAWN_NEAR_POSITION = 10
Rtma Eros Paragon 6 Feb @ 2:44am 
I still do not know what the numbers used for direction of mobs/si and a descriptive list to choose from.
Rtma Eros Paragon 6 Feb @ 2:25am 
Which file actually applies the settings? the one in the aisync-ai folder or cfg?
Thumos  [author] 29 Nov, 2024 @ 12:39pm 
@Dread-Captain Ephrer Atargrius That's not good. I've tried running this add-on without any other add-ons enabled and special infected were able to spawn after waiting for the initial spawn delay to be met (usually 30-60 seconds).

In the meantime, could you check the console by pressing the ` key to see if any errors pop up? Afterwards, could you try disabling all your other add-ons besides this one to see if specials are able to spawn? If they do spawn, could you also try re-enabling each one to find the culprit?
DaddyFlapJacks 27 Nov, 2024 @ 9:41pm 
for some reason this made no special infected spawn at all for me
im not sure what the issue is, no conflicting mods
Tri Tran 31 Aug, 2024 @ 10:10pm 
Thanks for the details :steamthumbsup:
Thumos  [author] 31 Aug, 2024 @ 7:42pm 
@Tri Tran The `MaxSpecials` option isn't available for this add-on which is why the option you're trying to add will be removed when the map loads. If you want to modify the `MaxSpecials` option, I recommend using the `Special Infected Synchronization (Competitive)` add-on instead especially since it contains many more options in the `./ems/sisync-comp/` directory.

As for `z_tank_speed 240`, the add-on will simply modify command variables if they exist in-game which is how you're able to add new ones to the `convars.txt` file.
Tri Tran 31 Aug, 2024 @ 7:24pm 
Hello, why I cannot add "MaxSpecials" to "/ems/sisync-ai+/settings.txt"? It will restore default.
but, i can add "z_tank_speed 240" to "convars.txt"
Thumos  [author] 24 Jun, 2024 @ 11:33pm 
@☣ROBLOX, NwiKing☣ Yes, setting the `ShouldAllowSpecialsWithTank` option in the `settings.txt` file located in the `./ems/sisync-ai+/` directory will allow the special infected to spawn while the Tank is active.
☣ROBLOX, NwiKing☣ 24 Jun, 2024 @ 11:19pm 
ShouldAllowSpecialsWithTank = true right?
Tri Tran 22 Jun, 2024 @ 7:49pm 
I trust you'll address the issue promptly. Thank you. :steamthumbsup:
Thumos  [author] 20 Jun, 2024 @ 8:54am 
@Tri Tran That's not good. I'll have to look into this.
Tri Tran 20 Jun, 2024 @ 12:12am 
"AN ERROR HAS OCCURED [the index 'MaxSpecials' does not exist]

CALLSTACK
*FUNCTION [unknown()] scripts/vscripts/sisync-ai+.nut line [167]
*FUNCTION [unknown()] scripts/vscripts/sisync-ai+.nut line [260]

LOCALS
[exception] "the index 'cm_MaxSpecials' does not exist"
[this] TABLE
[specials] TABLE
[survivors] TABLE
[this] TABLE"

Please, help me! SI don't' appear in campaign
Thumos  [author] 13 Jun, 2024 @ 12:54pm 
@Xeno :] That depends on the campaign you're playing and whether the Director decides to modify either the `MaxSpecials` or `cm_MaxSpecials` variable. For instance, The Passing's final chapter will set the `MaxSpecials` variable to `5` once the finale begins and will be changed to `3` during Tank fights.

https://github.com/Stabbath/L4D2-Decompiled/blob/master/Decompiled%20VScripts/c6m3_port_finale.nut
(^^^) Xeno 13 Jun, 2024 @ 10:44am 
So it would be random sometimes it could be 2 or 4 SI will appear?
Thumos  [author] 13 Jun, 2024 @ 8:51am 
@Xeno :] I decided to let the Director automatically handle the amount of special infected for the `Only Sync` and `AI+` version since I originally wanted these add-ons to synchronize their spawns without changing the gameplay too much.
(^^^) Xeno 13 Jun, 2024 @ 4:30am 
Little confused but only 2 of the SI attack or spawn at the same time on my pov
☣ROBLOX, NwiKing☣ 9 Jun, 2024 @ 11:20pm 
Thanks a lot :)
Thumos  [author] 9 Jun, 2024 @ 11:20pm 
@☣ROBLOX, NwiKing☣ After thinking about it for a while, I could probably add an option to change the `ShouldAllowSpecialsWithTank` variable in a future update.
☣ROBLOX, NwiKing☣ 7 Jun, 2024 @ 2:59am 
But i dont want versus gameset what should i do?
Thumos  [author] 6 Jun, 2024 @ 8:06pm 
Unfortunately, the `MaxSpecials` variable doesn't exist in this version. Even if the option was in the `settings.txt` file, that wouldn't allow the special infected to spawn while the Tank is active.

To allow the special infected to spawn, you would need to set the `ShouldAllowSpecialsWithTank` variable to `true`. While the option to do so isn't in the `settings.txt` file for this add-on, it's available for the `Competitive` version which you can find in the `Special Infected Synchronization Bundle`.
☣ROBLOX, NwiKing☣ 6 Jun, 2024 @ 10:06am 
I think when tank appears, special aren't spawned so I added MaxSpecialsTank = 4 in setting.txt
will it work?
Thumos  [author] 29 Apr, 2024 @ 4:53am 
@Rtma Eros Paragon The numbers determine what type of direction the special infected will spawn from. For instance, setting the `PreferredMobDirection` variable to `7` will set it to `SPAWN_IN_FRONT_OF_SURVIVORS` which will make the special infected prefer to spawn ahead of the survivors if they're able to.

If you'd like to know what other options are available for the `PreferredMobDirection` variable, you can view its description at this wiki page .