FlawlessHappiness
Posting Freak
Posts: 3,980
Threads: 145
Joined: Mar 2012
Reputation:
171
|
2 keys script
I'm having 2 keys in my map.
The first key you can pick up unlocks a door into another room.
On the way to the locked door, you pass another locked door. But when you unlock the door with the valid key, the other door becomes unlocked automatic... However the next key still works on the newly unlocked door...
Here is my script:
////////////////////////////
// Run first time starting map
void OnStart()
{
}
////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "key1", "door1", "KeyOnDoor", true);
AddUseItemCallback("", "key2", "door2", "KeyOnDoor", true);
}
void KeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door1", false, true);
PlaySoundAtEntity("", "unlock_door", "door1", 0, false);
RemoveItem("key1");
SetSwingDoorLocked("door2", false, true);
PlaySoundAtEntity("", "unlock_door", "door2", 0, false);
RemoveItem("key2");
}
////////////////////////////
// Run when leaving map
void OnLeave()
{
}
What is wrong?
Trying is the first step to success.
|
|
03-10-2012, 11:32 AM |
|
flamez3
Posting Freak
Posts: 1,281
Threads: 48
Joined: Apr 2011
Reputation:
57
|
RE: 2 keys script
////////////////////////////
// Run first time starting map
void OnStart()
{
}
////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "key1", "door1", "KeyOnDoor", true);
AddUseItemCallback("", "key2", "door2", "KeyOnDoor", true);
}
void KeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked(asEntity , false, true);
PlaySoundAtEntity("", "unlock_door", "asEntity", 0, false);
RemoveItem(asItem);
}
////////////////////////////
// Run when leaving map
void OnLeave()
{
}
Use this one: They don't figure themselves out. If you put those veents in there, the game will do both of them, not in the order you put them in.
|
|
03-10-2012, 11:45 AM |
|
Stepper321
Senior Member
Posts: 263
Threads: 26
Joined: Nov 2011
Reputation:
8
|
RE: 2 keys script
Quote:////////////////////////////
// Run first time starting map
void OnStart()
{
}
////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "key1", "door1", "KeyOnDoor", true);
AddUseItemCallback("", "key2", "door2", "KeyOnDoor2", true);
}
void KeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door1", false, true);
PlaySoundAtEntity("", "unlock_door", "door1", 0, false);
RemoveItem("key1");
}
void KeyOnDoor2(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door2", false, true);
PlaySoundAtEntity("", "unlock_door", "door2", 0, false);
RemoveItem("key2");
}
////////////////////////////
// Run when leaving map
void OnLeave()
{
}
No it's this one.
Signature to awesome to be displayed.
(This post was last modified: 03-10-2012, 12:16 PM by Stepper321.)
|
|
03-10-2012, 12:14 PM |
|
FlawlessHappiness
Posting Freak
Posts: 3,980
Threads: 145
Joined: Mar 2012
Reputation:
171
|
RE: 2 keys script
Yay it works!!!
I occured another question not related to the keys...
I have a room with 2 locked doors.
In the middle is a table with a note.
Behind one of the doors is a monster.
I already set up the pathnotes (there is only 1)
and made the monster inactive.
Now i want it to go break the door (by just following the pathnote) when i pick up the note.
But i cant make it work.
Script:
////////////////////////////
// Run first time starting map
void OnStart()
{
AddEntityCollideCallback("Player", "PlayerCollide", "MonsterFunction", true, 1);
}
void SetEntityCallbackFunc("note3", "OnPickup");
{
void OnPickup(string &in asItem, string &in asEntity)
{
SetEntityActive("PlayerCollide", true);
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("monster1", true);
AddEnemyPatrolNode("monster1", "PathNodeArea_1", 0, "");
}
}
}
Trying is the first step to success.
|
|
03-10-2012, 12:29 PM |
|
Stepper321
Senior Member
Posts: 263
Threads: 26
Joined: Nov 2011
Reputation:
8
|
RE: 2 keys script
You are doing much wrong, you can't do a void in the callbacks, and there must be an } after any callbacks.
not after you did it all, i can't fix this sorry, its too messed for me
Signature to awesome to be displayed.
(This post was last modified: 03-10-2012, 12:45 PM by Stepper321.)
|
|
03-10-2012, 12:43 PM |
|
flamez3
Posting Freak
Posts: 1,281
Threads: 48
Joined: Apr 2011
Reputation:
57
|
RE: 2 keys script
(03-10-2012, 12:14 PM)Stepper321 Wrote: Quote:////////////////////////////
// Run first time starting map
void OnStart()
{
}
////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "key1", "door1", "KeyOnDoor", true);
AddUseItemCallback("", "key2", "door2", "KeyOnDoor2", true);
}
void KeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door1", false, true);
PlaySoundAtEntity("", "unlock_door", "door1", 0, false);
RemoveItem("key1");
}
void KeyOnDoor2(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door2", false, true);
PlaySoundAtEntity("", "unlock_door", "door2", 0, false);
RemoveItem("key2");
}
////////////////////////////
// Run when leaving map
void OnLeave()
{
}
No it's this one. Correction: Both work.
(03-10-2012, 12:43 PM)Stepper321 Wrote: You are doing much wrong, you can't do a void in the callbacks, and there must be an } after any callbacks.
not after you did it all, i can't fix this sorry, its too messed for me Those are not callbacks.
(This post was last modified: 03-10-2012, 12:49 PM by flamez3.)
|
|
03-10-2012, 12:47 PM |
|
FlawlessHappiness
Posting Freak
Posts: 3,980
Threads: 145
Joined: Mar 2012
Reputation:
171
|
RE: 2 keys script
Instead of editing it, could you then try doing it the right way?
On pickup - Monster spawn..
Trying is the first step to success.
|
|
03-10-2012, 01:08 PM |
|
flamez3
Posting Freak
Posts: 1,281
Threads: 48
Joined: Apr 2011
Reputation:
57
|
RE: 2 keys script
void OnStart()
{
SetEntityPlayerInteractCallback("notename", "MonsterSpawm", true);
}
void MonsterSpawn(string &in asEntity)
{
SetEntityActive("monstername", true);
}
|
|
03-10-2012, 01:33 PM |
|
FlawlessHappiness
Posting Freak
Posts: 3,980
Threads: 145
Joined: Mar 2012
Reputation:
171
|
RE: 2 keys script
It doesn't work... yes my FATAL ERROR messages disappear, but the monster spawn, or begin its pathnode... i tried editing after what you did, with no luck.
I tried making the area get active when i pick up the node and then the area will make the monster spawn... but i guess it is impossible to use notes to trigger anything...
Trying is the first step to success.
|
|
03-10-2012, 02:55 PM |
|
flamez3
Posting Freak
Posts: 1,281
Threads: 48
Joined: Apr 2011
Reputation:
57
|
RE: 2 keys script
No, you can trigger things with notes. Using the exact way I said. Post the scri[t of the edited version.
|
|
03-10-2012, 03:01 PM |
|
|