Facebook Twitter YouTube Frictional Games | Forum | Newsletter | Dev Blog | Dev Wiki | Support | Shelf | Store

Privacy Policy


Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Triggering Monsters
Author Message
HansEnMilan Offline
Junior Member

Posts: 6
Joined: Aug 2011
Reputation: 0
Post: #1
Triggering Monsters
Hello,

I don't know if this is the right place to post this thread but I am new here.

Well I have tried everything to trigger a monster and make it walk from one position to another and then dissapear.

I've added a monster and 1 PathNode and I added a script area.

But everytime I end up getting different kinds of errors like : Invalid Token ''{'', etc

This is what I've got so far :

////////////////////////////
// Run first time starting map
void OnStart()
{
AddEntityCollideCallback("Player", "AreaEen", "CollideRoomEen", true, 1);
}

void CollideRoomEen(string &in asParent, string &in asChild, int alState)

{
SetSwingDoorLocked("hanskamerdeur", true, true);
}

////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "hanskamerdeurkey_1", "hanskamerdeur", "UsedKeyOnDoor", true);
}

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

////////////////////////////
// Run when leaving map
void OnLeave()
{

}

As you can see I can trigger a door to close itself but I can't seem to trigger a monster, I started off the same way as I started with the door but then instead of CloseDoor I used this scripts :

void AddEnemyPatrolNode(string& asName, string& asNodeName, float afWaitTime, string& asAnimation);

Could someone Please help me, I've searched all of the internet but no one can give me a answer.
08-12-2011 05:54 PM
Find all posts by this user Quote this message in a reply
Tanshaydar Offline
From Beyond

Posts: 3,091
Joined: Mar 2009
Reputation: 66
Post: #2
RE: Triggering Monsters
Hi and welcome to forum.
Yes, this is correct section.

You need to place a monster where you want to spawn it, then deactivate it in the editor. This can be done with unchecking "active" checkbox.
After that, you need to activate the monster, with setentityactive function; then add the patrols.

You need to add patrol nodes in level editor first.
You can find the exact functions here: http://wiki.frictionalgames.com/hpl2/amn..._functions

08-12-2011 06:06 PM
Visit this user's website Find all posts by this user Quote this message in a reply
HansEnMilan Offline
Junior Member

Posts: 6
Joined: Aug 2011
Reputation: 0
Post: #3
RE: Triggering Monsters
(08-12-2011 06:06 PM)Tanshaydar Wrote:  Hi and welcome to forum.
Yes, this is correct section.

You need to place a monster where you want to spawn it, then deactivate it in the editor. This can be done with unchecking "active" checkbox.
After that, you need to activate the monster, with setentityactive function; then add the patrols.

You need to add patrol nodes in level editor first.
You can find the exact functions here: http://wiki.frictionalgames.com/hpl2/amn..._functions

I tried this but I seem to fail haha, So If I'm correct I use :
void AddEntityCollideCallback(string& asParentName, string& asChildName, string& asFunction, bool abDeleteOnCollide, int alStates);

then link it with :
void SetEntityActive(string& asName, bool abActive);

and link that up with :
void AddEnemyPatrolNode(string& asName, string& asNodeName, float afWaitTime, string& asAnimation);

Mind giving me an example that fits in with this:

////////////////////////////
// Run first time starting map
void OnStart()
{
AddEntityCollideCallback("Player", "AreaEen", "CollideRoomEen", true, 1);
}

void CollideRoomEen(string &in asParent, string &in asChild, int alState)

{
SetSwingDoorLocked("hanskamerdeur", true, true);
}


////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "hanskamerdeurkey_1", "hanskamerdeur", "UsedKeyOnDoor", true);
}

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


////////////////////////////
// Run when leaving map
void OnLeave()
{

}

I would be very very happy.
08-12-2011 06:25 PM
Find all posts by this user Quote this message in a reply
Tanshaydar Offline
From Beyond

Posts: 3,091
Joined: Mar 2009
Reputation: 66
Post: #4
RE: Triggering Monsters
If you already have a deactivated monster in your map, then:
void OnStart()
{
AddEntityCollideCallback("Player", "AreaEen", "CollideRoomEen", true, 1);
}

void CollideRoomEen(string &in asParent, string &in asChild, int alState)
{
SetSwingDoorLocked("hanskamerdeur", true, true);
SetEntityActive("monster_name_here", true);
AddEnemyPatrolNode("monster_name_here", "node_name_here", 0, "");
}


////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "hanskamerdeurkey_1", "hanskamerdeur", "UsedKeyOnDoor", true);
}

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


////////////////////////////
// Run when leaving map
void OnLeave()
{

}

08-12-2011 06:28 PM
Visit this user's website Find all posts by this user Quote this message in a reply
HansEnMilan Offline
Junior Member

Posts: 6
Joined: Aug 2011
Reputation: 0
Post: #5
RE: Triggering Monsters
(08-12-2011 06:28 PM)Tanshaydar Wrote:  If you already have a deactivated monster in your map, then:
void OnStart()
{
AddEntityCollideCallback("Player", "AreaEen", "CollideRoomEen", true, 1);
}

void CollideRoomEen(string &in asParent, string &in asChild, int alState)
{
SetSwingDoorLocked("hanskamerdeur", true, true);
SetEntityActive("monster_name_here", true);
AddEnemyPatrolNode("monster_name_here", "node_name_here", 0, "");
}


////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "hanskamerdeurkey_1", "hanskamerdeur", "UsedKeyOnDoor", true);
}

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


////////////////////////////
// Run when leaving map
void OnLeave()
{

}

Thanks for helping, But I seem to be a total noob at coding.

I made it like this now :

////////////////////////////
// Run first time starting map
void OnStart()
{
AddEntityCollideCallback("Player", "AreaEen", "CollideRoomEen", true, 1);
}

void CollideRoomEen(string &in asParent, string &in asChild, int alState)
{
SetSwingDoorLocked("hanskamerdeur", true, true);
SetEntityActive("Hans", true);
AddEnemyPatrolNode("Hans", "PadTwee", 0, "");
}









////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "hanskamerdeurkey_1", "hanskamerdeur", "UsedKeyOnDoor", true);
}

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





////////////////////////////
// Run when leaving map
void OnLeave()
{

}




But I get this error :

FATAL ERROR: Could not load script file
'custom_stories/DeAvond/maps/Lol.hps'!
main (36,1) : ERR : Unexpected token '--''


Sorry again for not being able to fix it Sad
08-12-2011 06:38 PM
Find all posts by this user Quote this message in a reply
Tanshaydar Offline
From Beyond

Posts: 3,091
Joined: Mar 2009
Reputation: 66
Post: #6
RE: Triggering Monsters
There is something wrong in 36th row, however as far as I can see 36th row is empty.
Check it in your text editor, it should work as it is now.

08-12-2011 06:56 PM
Visit this user's website Find all posts by this user Quote this message in a reply
HansEnMilan Offline
Junior Member

Posts: 6
Joined: Aug 2011
Reputation: 0
Post: #7
RE: Triggering Monsters
(08-12-2011 06:56 PM)Tanshaydar Wrote:  There is something wrong in 36th row, however as far as I can see 36th row is empty.
Check it in your text editor, it should work as it is now.

I looked at Notepad ++ and there isn't anything in at row 36?

So I guess it just doesn't work for me?


(08-12-2011 06:56 PM)Tanshaydar Wrote:  There is something wrong in 36th row, however as far as I can see 36th row is empty.
Check it in your text editor, it should work as it is now.

Never Mind I got it to work, I was saving on the backup file which actually wasn't in the maps folder :$

Thanks for all your help!
(This post was last modified: 08-12-2011 07:03 PM by HansEnMilan.)
08-12-2011 06:59 PM
Find all posts by this user Quote this message in a reply
MegaScience Offline
Member

Posts: 155
Joined: Aug 2011
Reputation: 0
Post: #8
RE: Triggering Monsters
Although you said you figured this out, I felt this might need to be added: I work with Torque Game Code, and I believe the source it uses is the same (or similar) language to this. Although I haven't worked with the source, it appears to be a much more specific variation of the game coding I'm accustom to. As such, you should avoid extra spaces and words out of proper case/capitalization.
08-13-2011 06:20 AM
Find all posts by this user Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)