Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
This was never a problem in L4D1 because Vscripts weren't a thing then. L4D1 finales were kept very simple and were handled solely by a trigger_finale entity. When it comes to L4D2, Vscripts offer amazing possibilities except for the unfortunate fact that over-reliance in them has likely caused this bug, illustrated by the fact that all L4D1 maps in L4D2 now use Custom _finale.nut Vscripts[github.com] to do all the work instead. When this bug occurs, it's most likely because the Vscript read fails, resulting in a finale with 0 stages that is effectively equivalent to the finale being completed.
I'm going to chronicle every historic public record of this bug right here to illustrate how unacceptably prevalent it has been, in my pursuit of actually fixing it, largely thanks to ArchiveTeam[www.archiveteam.org] and their efforts preserving SPUF.
Several Valve developers have commented on this glitch, such as Chet Faliszek[en.wikipedia.org]. I will be extracting all of them here, per discovered thread.
Valve developers have done the best job in the time they have investigating this bug, but honestly it's brutally clear they had no clue about how specific it is. I don't think this is a server performance problem but I'm also unsure. But it is definitely a Vscript problem. And only trigger_finale Vscripts.
The problem is its apparent impossible reproducibility.
Nov 11, 2012 -- Space-Man Gympy -- 24 posts
L4D2 Finale glitch (Steam Community)
Jan 8, 2013 -- Buick72 -- 10 pages
Broken finales (SPUF ArchiveTeam)[web.archive.org]
Chet Faliszek:
Mar 19, 2013 -- sg6970 -- 9 pages
Broken Finale's Part II List Your IP's (SPUF ArchiveTeam)[web.archive.org]
Chet Faliszek:
Jun 5, 2019 -- scrubbles -- 7 posts
What's with all the bugged finales recently? (Steam Community)
The following code excerpts are from both the decompiled map[raw.githubusercontent.com] and its c1m4_atrium.nut Vscript[github.com] and c1m4_atrium_finale.nut Vscript[github.com].
Dead Center 4 is an exceptional case because its escape vehicle doesn't activate instantly like other maps. No matter how many hours you hold off the hordes, it never will as it's handled differently than others. So I'm getting that one out of the way first.
If you noclipped out into the atrium without riding the elevator, you'd notice that there is a manual button to start the event originally meant for development testing (and later used in cool tricks for pre-gathering cans):
The c1m4_atrium.nut Vscript[github.com] doesn't do anything notable beyond setting it so Single Players only need to pour 8 cans. It is executed by logic_auto as soon as the map loads via:
Note already how this is the only Vscript that's explicitly called within the map file. The "_finale.nut" Vscript is never referenced by name at all.
Its biggest significance is to know that it's not the Vscript that's bugging out... but the fact it also never fails, is of extreme value.
In fact this line within that Vscript:
Is extremely fascinating because whenever the instant escape vehicle bug occurs, you're still fully capable of pouring all the cans. It's just that the escape vehicle will never activate after all of them are poured.
I have never seen or heard of any instances of this Vscript falling to execute. If you've seen Official Dedicated server instances of having no can counter whatsoever, let me know, because I'm adamant it's impossible.
So, we can presume that it's not a generic Vscript read or precaching flaw but rather a problem with the trigger_finale entity itself.
When you reach the bottom of the elevator:
The logic_relay "relay_force_finale_start" is Triggered, which does this:
So, that mall display mentioned earlier? It's effectively automatically pressing that button for you, when you reach the bottom of the elevator. Every map where you don't manually press a button to start a finale has one of these, in various forms.
With c1m4_atrium_finale.nut Vscript[github.com] now finally running, the Director detects when gas cans are poured through its "OnTeamScored" output that's only relevant for Scavenge mode:
This line in particular:
Executes this Vscript:
So, remember how Dead Center 4's escape vehicle will never activate? it's because this "relay_car_ready" is supposed to do that. But because c1m4_atrium_finale.nut Vscript[github.com] isn't running at all, that will never happen.
And since c1m4_atrium_finale.nut Vscript[github.com] is demonstrably not running, this isn't a generic Vscript issue but rather one solely with regard to trigger_finale.
And I'm betting that it's a failure of Vscript filename reconciliation, because this type of behavior isn't present anywhere else with Vscripts, and all those other Vscripts work just fine:
All L4D1 finales are identical with regard to this issue. Frequency of occurrence is solely based around anecdote, because functionally they're not different at all.
Most L4D2 finales are also identical. The exceptions are Parish[raw.githubusercontent.com] and Cold Stream[raw.githubusercontent.com] as the only 2 finales where it's impossible for this bug to occur. It's not because they're gauntlets. It's because they don't have a "_finale.nut" to mess up.
These are the finale types available with trigger_finale:
And this is Parish:
Parish and Cold Streams are both "type 1" Gauntlets.
Every single other finale is covered by either the DEAD CENTER 4 ANALYSIS with regard to Scavenge, or is "type 2" for Custom that then calls upon Vscripts.
Given that all L4D1 maps are identical, I have been using Blood Harvest 5[github.com] for all my tests.
Blood Harvest 5's trigger_finale:
It does the following:
I made a very simple modification to that trigger_finale that's identical to the above except for one key difference:
When the finale finishes, the radio model deletes itself.
My goal is to prove that a trigger_finale with no stages read from Vscript results in the instantly-arriving escape vehicle and "infinite panic" that players experience.
Blood Harvest 4[raw.githubusercontent.com]'s barn is a convenient place to inject a custom finale for alternative tests, of which I've been through dozens:
https://steamcommunity.com/sharedfiles/filedetails/?id=1769488402
There, too -- on a map that's never had a finale -- I was able to replicate the bug. Just, it's unfortunate this is absolutely meaningless because of all the modding required.
Almost none. Because it's a nightmare.
This looks interesting to me
That's a great question because you know what? I have no clue yet. I'm in the process of bothering literally everyone about this bug until I find someone who is smarter than me about it.
That's the brutal truth.
This thread is outreach for finding someone who knows their stuff. It's do or die time, because I'm sick of how old and un-addressed this bug is.