View Single Post
Proaxel
Member
Join Date: Oct 2014
Old 05-05-2021 , 14:21   Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Reply With Quote #10

So I've tried this on live gameplay for a few weeks now and after many tweaks to the configuration, I think it's in a mostly good spot. There are a few problems I listed below and how I fixed them. There are some problems I've been unable to fix, I've listed at the bottom. If any of you know how to fix these it would be greatly appreciated if you shared how.

All maps
Deleted everything that involves replacing Hunting Rifle spawns or nerfing weapon spawns in general.

Blood Harvest Map 2
Survivors must pick up a lever from a train car and place it on a different train. As mentioned earlier putting the lever on the train car doesn't work, and thus the survivors cannot advance
Fix: See Martt's reply above, thank you!

Dark Carnival Map 3

A similar situation occurs, survivors are tasked with picking up a bomb and using it to blow open a wall at the exit of the tunnel. Setting the bomb on the wall doesn't work, thus survivors cannot advance.

Fix: I applied a similar fix to what Martt mentioned earlier; Add the entry
Code:
"OnTimeUp" "sky_button_01,Unlock"
to func_button_timed, so this looks like so:
PHP Code:
{
    
"classname" "func_button_timed"
    "targetname" "sky_button_02"
    "auto_disable" "1"
    "origin" "-35 3543 2"
    "spawnflags" "1025"
    "use_string" "Search items"
    "use_sub_string" "Search items"
    "use_time" "3"
    "OnTimeUp" "sky_dead_body,stopglowing,,0,-1"
    "OnTimeUp" "sky_pipe_spawn,ForceSpawn,,0,-1"
    "OnTimeUp" "sky_instructor_hint,EndHint,,0,-1"
    "OnTimeUp" "sky_instructor_hint,Kill,,0.1,-1"
    "OnTimeUp" "sky_instructor_hint_plant,ShowHint,,0.2,-1"
    "OnTimeUp" "sky_button_01,Unlock"
    "OnTimeUp" "!self,Kill,,0.1,-1"

The bomb now properly appears on the wall upon interaction and detonates shortly afterward.
(Question: Were these two events broken without this fix because they relied on something else, maybe ProMod? Or is there some other plugin that is missing?)

Dead Center Map 4:
A tank appears as soon as the elevator opens at the bottom floor, then suicides shortly afterward. Examination shows that this tank spawns back at the corridor just outside the safe room. Apparently the AI can't figure out how to get out of there fast enough before it suicides from not seeing any survivors.

Fix: I moved the spawn location somewhere else by changing the "origin" attribute to a place where the AI won't suicide due to not seeing a survivor. In the example below I set it to the very top floor behind the railing that Jimmy's banner is mounted on. The AI still takes a bit of time finding its way down to the bottom floor and will occasionally stop to throw rocks a few times before doing so. This in itself is good as it still gives the survivors time to ready themselves. If you're in a coop only game and still want this tank spawn, then replace the section with this one below.

If you don't want the tank at all, then just delete this entire section.


PHP Code:
; =====================================================
; ================  
PROMOD ELEV TANK  =================
; =====================================================
modify:
{
    
match:
    {
        
"targetname" "button_elev_3rdfloor"
    
}
    
insert:
    {
        
"OnPressed" "promod_tankSpawnZombie29-1"
    
}
}
add:
{
    
"targetname" "promod_tank"
    "origin" "-9293 6344 740"
    "population" "tank"
    "offer_tank" "1"
    "angles" "0 0 0"
    "classname" "info_zombie_spawn"
}
It is very important to leave the timer at 29 secondsThis spawns tank before the finale officially startsfreezing the finale
Map 4 of The Parish
a plywood is blocking the ladder up in the safe room at the end of the level.


Fix: Delete the following
PHP Code:
{
    
"classname" "prop_dynamic"
    "angles" "0 270 0"
    "disableshadows" "1"
    "model" "models/props_highway/plywood_02.mdl"
    "rendercolor" "255 255 255"
    "solid" "6"
    "origin" "1590 -3534 448.244"
}
{
; --- 
blocked SI from griefing by going to the top of the end saferoom
    
invisible block to block getting up top
    
"origin" "1474 -3451 681"
    "mins" "-195 -102 -242"
    "maxs" "195 102 242"
    "initialstate" "1"
    "BlockType" "2"
    "classname" "env_physics_blocker"


Map 5 of The Parish:
This was not documented on the GitHub page. When survivors first interact with the radio, before the bridge is even lowered, a tank spawns on the raised part of the bridge, then suicides shortly afterward probably due to lack of sight on survivors. Why would anyone want to fight a tank before the bridge is even lowered? I don't know anything about competitive L4D, Is this some competitive thing that I don't know about?

Fix: I changed the trigger for the tank to spawn from the radio to the actual switch that lowers the bridge. I then set the delay it waits until spawning the tank to 29 seconds, this allows the bridge to lower first. I also changed the spawn location ("origin") to atop one of the semi trucks, this should be far enough to allow survivors to prepare but still allow the tank to see the survivors and thus not suicide. If you're in a Coop only game and still want this tank spawn, then replace that section with this one below.

If you don't want this tank, then delete this section.
PHP Code:
; =====================================================
; ============  
PROMOD EARLY TANK ADDITION  ===========
; =====================================================
modify:
{
    
match:
    {
        
"targetname" "finale"
    
}
    
insert:
    {
        
"UseStart" "zombie_tankSpawnZombie29-1"
    
}
}
add:
{
    
"targetname" "zombie_tank"
    "origin" "-5915 6368 692"
    "population" "tank"
    "offer_tank" "1"
    "angles" "0 0 0"
    "classname" "info_zombie_spawn"

Map 2 of No Mercy:
Quote:
The event area is cleared, Survivors are free to pass through.
I still wanted this event as well as the additional one with the truck crash. I found that deleting the following at the very bottom of the cfg restores this event:

PHP Code:
filter:
    {
    
"hammerid" "8781472"
    
}
    {
    
"hammerid" "8781511"
    
}
    {
    
"hammerid" "8797016"
    
}
    {
    
"hammerid" "8797228"
    
}
    {
    
"hammerid" "8797231"
    
}
    {
    
"hammerid" "8825294"
    
}    
    {
    
"hammerid" "9304951"
    
}
    {
    
"hammerid" "8825297"
    
}
    {
    
"hammerid" "8825300"
    
}
    {
    
"hammerid" "8825616"
    
}
    {
    
"hammerid" "9404514"
    
}
    {
    
"hammerid" "6912133"
    
}
    {
    
"hammerid" "6980665"
    
}    
    {
    
"hammerid" "7119483"
    
}
    {
    
"hammerid" "7160893"
    
}
    {
    
"hammerid" "7416828"
    
}
    {
    
"hammerid" "9256048"
    
}
    {
    
"hammerid" "6912326"
    
}
    {
    
"hammerid" "6967802"
    
}
    {
    
"targetname" "generatorroom_lightshafts"
    
}
    {
    
"targetname" "generatorlamp_spark1"
    
}
    {
    
"targetname" "generator_spark1"
    


No Mercy Map 3:

The config disables opening the warehouse shortcut door.
Fix: If you still want this, delete the following
PHP Code:
; =====================================================
; ================  
PROMOD EVENT BUFF  ================
; =====================================================
; --- 
survivors can no longer open the door below.
modify:
{
    
match:
    {
        
"hammerid" "3901541"
    
}
    
delete:
    {
        
"OnPressed" "door_slidingOpen0-1"
    
}
    
insert:
    {
        
"OnPressed" "door_slidingOpen20-1"
    
}


Dead Air Map 4:
This was not documented on the Github page, the metal detector that triggers the endless horde event was disabled.

Fix: Thankfully this was clearly labelled. If you still want this event, you can simply delete this:
PHP Code:
; =====================================================
; ==================  
EVENT REMOVAL  ==================
; =====================================================

; --- 
Remove the metal detector event and add some changes to compensate for difficulty change

filter
:
{
    
"targetname" "securityalarmtrigger1"
}
{
    
"targetname" "onslaught_hint_trigger"


Death Toll Map 3
The church event is skipped completely in favor of a new event where survivors blow up a gate into the church and hold out until the fire subsides.

If you still want the original event, delete the following:
PHP Code:
    delete:
    {
        
"OnOpen" "spawn_church_zombieSpawnZombie01"
        "OnOpen" "timer_physexp_chuch_zombieDisable01"
        "OnOpen" "churchguySpeakResponseConceptchurchguy_door_opened whodidit:!Activator01"
    
}
}
{
    
match:
    {
        
"hammerid" "2157553"
    
}
    
delete:
    {
        
"OnPanicEventFinished" "relay_enable_chuch_zombie_loopTrigger0-1"
    
}
}
filter:
    {
    
"hammerid" "2212773"
    
}
    {
    
"hammerid" "3037422"
    
}
    {
    
"hammerid" "3076175"
    
}
    {
    
"hammerid" "2566253"
    
}
    {
    
"hammerid" "2570933"
    
}
    {
    
"hammerid" "3194111"
    
}
    {
    
"hammerid" "2737009"
    
}
    {
    
"hammerid" "3194082"
    
}
    {
    
"hammerid" "2998100"
    
}
    {
    
"hammerid" "2998103"
    
}
    {
    
"hammerid" "2998112"
    
}
    {
    
"hammerid" "2998115"
    
}
    {
    
"hammerid" "3115355"
    
}
    {
    
"hammerid" "2736951"
    
}
    {
    
"hammerid" "2717089"
    
}
    {
    
"hammerid" "2736982"
    
}
    {
    
"hammerid" "2736821"
    

Optional but still recommended:
Since there is still the church event, you may want to adjust the time in the following line in "sky_oxygentank_path2" for the sake of game balance:
HTML Code:
"OnPass" "sky_oxygentank_path_relay_b,Trigger,,65,-1"
With "65" being how long you want the holdout event to last until the fire dies down.

Also, delete the following line in "sky_toll_horde_relay":
HTML Code:
"OnTrigger" "@director,BeginScript,sky_events_c10m3_ranchhouse_front.nut,105,-1"
To stop the endless horde from occurring after the fire dies down.

You should also delete the following if you do not have ProMod:
PHP Code:
; =====================================================
; ================  
PROMOD ONSLAUGHT  =================
; =====================================================

modify:
{
    
match:
    {
        ; 
train engine relay
        
"hammerid" "2029608"
    
}
    
delete:
    {
        
"OnTrigger" "directorBeginScriptc12m3_onslaught0-1"
    
}
    
insert:
    {
        
"OnTrigger" "directorBeginScriptc12m3_onslaught_promod0-1"
    
}

As far as I can tell, the VScript this section replaces with does not come with Sky and thus it effectively does nothing.

Maps with added Scavenge events
Dark Carnival Map 2, Swamp Fever Map 1, Hard Rain Map 2, Death Toll Map 2, Death Air Map 4

On these maps, I found that a logic_auto entity is setting convars so that fires from molotovs and gas cans are heavilly nerfed, in that they only last 2.5 sec and their range is significantly shorter.

Fix: In each of these maps' cfgs, delete the following lines from the logic_auto entry.
PHP Code:
    "OnMultiNewRound" "directorBeginScriptsky_scavenge_cans_cvars.nut0-1"
    "OnMapSpawn" "directorBeginScriptsky_scavenge_cans_cvars.nut0-1" 
Alternatively, you may also delete sky_scavenge_cans_cvars.nut from your server's vscripts folder, however I am not sure what may happen when the entity tries to run the script only for it to not be found.
============================================= ================
Unsolved Problems:
Map 4 of Blood Harvest:
Quote:
Tank spawn will be static at 21%. The Tank spawns in one of the Trucks and has to hit the explosive barrels inside, this will send the Tank flying to the Survivors location, Everyone will see the cut-scene from the Tank's Point of View!
I tried this about half a dozen times, only once did the tank actually trigger the explosion and the cutscene. He didn't even go flying. All the other times, the tank would just stand there doing nothing in the truck and eventually suicide for being stuck. It's obvious this was meant for a human player only.

I have zero knowledge how these scripted sequences work, so I have no clue on how to fix. Perhaps there is a way to force the explosion to happen shortly after the tank spawn is triggered? Then it's just a matter of making sure the AI tank actually flies to where the survivors triggered it.

The Parish Map 3:
Quote:
The route through the Cemetery is modified to be longer.
Roughly 90% of the time, all the entrances are blocked, thus survivors are unable to proceed.


I'm unable to determine what is causing this issue. I can't find any entry or comment in the cfg that suggests what may be causing this.
The closest lead I have is that deleting everything in the section labelled "Sky.cfg by: Electrik, JaneDoe, Visor, vintik" seems to stop this from happening, but that also deletes the exploding barrels event as well. But it's reason to believe the cause is somewhere in that section.

Dead Center Map 3:
The config seems to be forcing the map to spawn with the lower route with the emergency exit doors. I tried deleting various parts with the goal of returning it to default behavior of randomly picking between that route and the route where you shoot out the glass in the toy store, but I always seemed to get broken results with whatever I tried deleting; examples include both routes ending up blocked, or the lower route is open but the emergency exit doors are locked. Deleting the "All Changes" section seems to return it, but I do like the harder escalator placement just before the safe room and doing that gets rid of that too.
Proaxel is offline