Facebook Twitter YouTube Frictional Games | Forum | Privacy Policy | Dev Blog | Dev Wiki | Support | Gametee


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Script Help Checkpoint help
Tomato Cat Offline
Senior Member

Posts: 287
Threads: 2
Joined: Sep 2012
Reputation: 20
#11
RE: Checkpoint help

I see the problem.

PHP Code: (Select All)
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: (Select All)
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.

RAISE YOUR DONGERS ヽ༼ຈل͜ຈ༽ノ
04-25-2013, 05:07 PM
Find
Dominic0904 Offline
Member

Posts: 63
Threads: 14
Joined: Apr 2011
Reputation: 0
#12
RE: Checkpoint help

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.
(This post was last modified: 04-25-2013, 07:29 PM by Dominic0904.)
04-25-2013, 06:47 PM
Find
Tomato Cat Offline
Senior Member

Posts: 287
Threads: 2
Joined: Sep 2012
Reputation: 20
#13
RE: Checkpoint help

Happy to help!

I haven't used it, but maybe this work for the doors?
PHP Code: (Select All)
//Just use "prison_*" like before
void ResetProp(stringasName); 

RAISE YOUR DONGERS ヽ༼ຈل͜ຈ༽ノ
(This post was last modified: 04-25-2013, 08:09 PM by Tomato Cat.)
04-25-2013, 08:08 PM
Find
Dominic0904 Offline
Member

Posts: 63
Threads: 14
Joined: Apr 2011
Reputation: 0
#14
RE: Checkpoint help

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
04-25-2013, 09:21 PM
Find
Dominic0904 Offline
Member

Posts: 63
Threads: 14
Joined: Apr 2011
Reputation: 0
#15
RE: Checkpoint help

Sorry to double post, but that worked perfectly! Thank you again Big Grin
04-27-2013, 06:36 PM
Find
Tomato Cat Offline
Senior Member

Posts: 287
Threads: 2
Joined: Sep 2012
Reputation: 20
#16
RE: Checkpoint help

No problem!

RAISE YOUR DONGERS ヽ༼ຈل͜ຈ༽ノ
04-27-2013, 07:07 PM
Find




Users browsing this thread: 3 Guest(s)