Frictional Games Forum (read-only)

Full Version: Checkpoint help
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I see the problem.

PHP Code:
void ReloadCheckpoint2(string &in asNameint alCount)
{
    if(
HasItem("LevelEndKey_1"))
    {
        
SetSwingDoorClosed("prison_1"truefalse);
        
//AddEntityCollideCallback("Player", "LockCellarDoor_01", "CellarChase", true, 1);
        
SetEntityActive("CellarBrute_01"false);
        
RemoveItem("LevelEndKey_1");
        
CreateEntityAtArea("LevelEndKey_1""key_laboratory.ent""RespawnCellarKey"false);
    }


The script is saying "Only do this if the player has the key". Nothing happens if the player doesn't have the key. No doors are unlocked, no callback re-added etc.

I modified it slightly:

PHP Code:
void ReloadCheckpoint2(string &in asNameint alCount)
{
    if(
HasItem("LevelEndKey_1"))
    {
        
SetSwingDoorClosed("prison_*"truefalse);
        
AddEntityCollideCallback("Player""LockCellarDoor_01""CellarChase"true1);
        
SetEntityActive("CellarBrute_01"false);
        
SetSwingDoorLocked("CellarDoor_01",false,false);
        
SetEntityActive("BruteDisappear_01",false);
        
RemoveItem("LevelEndKey_1");
        
CreateEntityAtArea("LevelEndKey_1""key_laboratory.ent""RespawnCellarKey"false);
    }
    
    else
    {
        
SetSwingDoorClosed("prison_*"truefalse);
        
SetSwingDoorLocked("CellarDoor_01",false,false);
        
SetEntityActive("BruteDisappear_01",false);
        
AddEntityCollideCallback("Player""LockCellarDoor_01""CellarChase"true1);
        
SetEntityActive("CellarBrute_01"false);
    }


Adding the else statement ensures everything is reset, regardless of whether or not player has the key.

You'll see that I deactivated "CellarBrute_01" area. This is because it locked the entrance to the maze after I had respawned. Also, be sure to make the "Checkpoint_2" area encompass the entire first room (I was able to bypass it a few times).

Hopefully this solves your issues.
No wait, sorry about the previous post (unless you didn't see it before this edit) but it worked!
Turns out when I was testing our your solution I was working from the .hps I had open in dropbox and not the one in my Amnesia folder! God I'm such a fool. But wow it worked, all doors are closed, the callback works now as well. You are a legend!

And I just realised I need to figure out how to respawn the doors that the Brute breaks down during the playthough.
Happy to help!

I haven't used it, but maybe this work for the doors?
PHP Code:
//Just use "prison_*" like before
void ResetProp(stringasName); 
Awesome, will give that a test soon and let you know the results.

Hopefully I don't have to keep spamming the threads with my "halp plz" threads. No one I know in person or on Steam does CSs for Amnesia :C
Sorry to double post, but that worked perfectly! Thank you again Big Grin
No problem!
Pages: 1 2