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


Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Level door
Karai16 Offline
Member

Posts: 164
Threads: 24
Joined: Apr 2011
Reputation: 0
#1
Level door

Hey guys,
I need to fix something: I've locked my level door, but I can still go through it, even though it's locked. Is there a way I can only make the shifting map code of my script work if the door is open?

Custom stories:
Her Games (100% Complete)
Her Games, All Bugs Fixed (100% Complete)
05-06-2011, 11:46 PM
Find
dragonlordsd Offline
Member

Posts: 112
Threads: 7
Joined: May 2011
Reputation: 0
#2
RE: Level door

you mean you can still open it, or that you can walk through it?
05-06-2011, 11:49 PM
Find
Karai16 Offline
Member

Posts: 164
Threads: 24
Joined: Apr 2011
Reputation: 0
#3
RE: Level door

(05-06-2011, 11:49 PM)dragonlordsd Wrote: you mean you can still open it, or that you can walk through it?

I am able to use it, as in opening it, and go to the other map, even though it's locked.

Custom stories:
Her Games (100% Complete)
Her Games, All Bugs Fixed (100% Complete)
05-06-2011, 11:51 PM
Find
Kyle Offline
Posting Freak

Posts: 911
Threads: 36
Joined: Sep 2010
Reputation: 7
#4
RE: Level door

If in the editor it says it is locked, then check your files and delete the .mapcache file for your map if it is there.

05-06-2011, 11:57 PM
Find
Karai16 Offline
Member

Posts: 164
Threads: 24
Joined: Apr 2011
Reputation: 0
#5
RE: Level door

(05-06-2011, 11:57 PM)Kyle Wrote: If in the editor it says it is locked, then check your files and delete the .mapcache file for your map if it is there.

I tried it, it doesn't work, to help you think of a solution, I'll give you the code I'm using:
void OnStart()
{
    AddUseItemCallback("", "TowerKey", "TowerDoor", "UsedKeyOnDoor", true);
SetEntityPlayerInteractCallback("TowerDoor", "TeleportFunction", true);
}


void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
    SetSwingDoorLocked("TowerDoor", false, true);
    PlaySoundAtEntity("", "unlock_door", "TowerDoor", 0, false);
    RemoveItem("TowerKey");
}

void TeleportFunction(string &in asEntity)
{
ChangeMap("Custom02", "PlayerStartArea_1", "", "");
}
do I maybe have to do something with an if-statement? It does look like it, but I don't know how to use it, or if it can be used in hps language.

Custom stories:
Her Games (100% Complete)
Her Games, All Bugs Fixed (100% Complete)
05-07-2011, 12:27 AM
Find
dragonlordsd Offline
Member

Posts: 112
Threads: 7
Joined: May 2011
Reputation: 0
#6
RE: Level door

Umm... why are you teleporting the player to change maps? Doesn't the door just automatically link to the next map?
05-07-2011, 12:41 AM
Find
Kyle Offline
Posting Freak

Posts: 911
Threads: 36
Joined: Sep 2010
Reputation: 7
#7
RE: Level door

(05-07-2011, 12:41 AM)dragonlordsd Wrote: Umm... why are you teleporting the player to change maps? Doesn't the door just automatically link to the next map?

Yeah, it does.

I see your mistake, you added a interact callback; that means that when ever the player touches the door, he teleports.
void OnStart()
{
AddUseItemCallback("", "TowerKey", "TowerDoor", "UsedKeyOnDoor", true);
SetEntityPlayerInteractCallback("TowerDoor", "TeleportFunction", true);
}


void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
    SetSwingDoorLocked("TowerDoor", false, true);
    PlaySoundAtEntity("", "unlock_door", "TowerDoor", 0, false);
    RemoveItem("TowerKey");
}

void TeleportFunction(string &in asEntity)
{
if (GetSwingDoorLocked("TowerDoor") == false)
{
ChangeMap("Custom02", "PlayerStartArea_1", "", "");
}
}
This might work? But it's not a swing door. :/

Whoops... Alright, fixed that.

(This post was last modified: 05-07-2011, 12:48 AM by Kyle.)
05-07-2011, 12:43 AM
Find
Roenlond Offline
Senior Member

Posts: 331
Threads: 3
Joined: Apr 2011
Reputation: 0
#8
RE: Level door

I'd remove all the scripting and just go via the level editor for level doors, it's a lot easier.
05-07-2011, 01:54 AM
Find
Karai16 Offline
Member

Posts: 164
Threads: 24
Joined: Apr 2011
Reputation: 0
#9
RE: Level door

I tried doing it in the level editor, but now the key won't unlock the door... :/

Custom stories:
Her Games (100% Complete)
Her Games, All Bugs Fixed (100% Complete)
05-07-2011, 09:37 AM
Find
Russ Money Offline
Senior Member

Posts: 360
Threads: 25
Joined: Dec 2010
Reputation: 4
#10
RE: Level door

(05-07-2011, 09:37 AM)Karai16 Wrote: I tried doing it in the level editor, but now the key won't unlock the door... :/

The command you're looking for, to set the level door unlocked is this:
SetLevelDoorLocked(string& asName, bool abLocked);

Swing doors are the doors that move when push or pulled.

05-07-2011, 10:19 AM
Find




Users browsing this thread: 2 Guest(s)