View Single Post
Beatles
Senior Member
Join Date: Feb 2014
Old 09-25-2021 , 05:15   Re: [L4D] ChurchGuy Bug
Reply With Quote #4

Quote:
Originally Posted by Marttt View Post
From my testing what blocks you to go inside is this entity:

Class: func_button Targetname: button_safedoor_PANIC HammerID: 2570933 Position: -2560.50 48.00 213.36 Angles: 0.00 0.00 0.00

You can unlock the door by typing
"ent_fire checkpoint_entrance unlock" then "ent_fire checkpoint_entrance open" in console.

Then you will notice that this button_safedoor_PANIC entity is on the way to enter.

If you type "ent_fire button_safedoor_PANIC kill" you will be able to go inside.


Checking the stripper dump
The door only opens when the panic event ends, so maybe you have some setup/plugin that prevents the panic horde to finish (maybe my shot warns common plugin or another plugin, don't know for sure)
c10m3 is the only map that has this kind of trigger event (OnPanicEventFinished), even on l4d2

The best would be creating a timer after using the door and triggering the relay_enable_chuch_zombie_loop trigger.

I will share the stripper_dump for this map (l4d_smalltown03_ranchhouse.0000.cfg) in case you need to check more stuff.
Thanks a lot bro, this is what I did and it works fine:
PHP Code:
public Action:ChurchSafeRoomFix(Handle:timer)
{
    new 
client GetRandomClient();
    
int ent = -1;
    
    while ((
ent FindEntityByClassname(ent"prop_door_rotating_checkpoint")) != INVALID_ENT_REFERENCE)
    {
        if (!
IsValidEntity(ent) || !IsValidEdict(ent))
        {
            continue;
        }
        
SetEntProp(entProp_Data"m_hasUnlockSequence"0);
        
AcceptEntityInput(ent"Unlock");
        
AcceptEntityInput(ent"Open");
    }
    new 
flags GetCommandFlags("ent_fire");
    
SetCommandFlags("ent_fire"flags & ~FCVAR_CHEAT);
    
FakeClientCommand(client"ent_fire button_safedoor_PANIC kill");            
    
SetCommandFlags("ent_fire"flags|FCVAR_CHEAT);
}

GetRandomClient()
{
    for (new 
1<= MaxClientsi++) 
    {
        if (
IsClientConnected(i) && IsClientInGame(i) && (!IsFakeClient(i))) 
        {
            return 
i;
        }
    }

Beatles is offline