Frictional Games Forum (read-only)
[LVL ED] How to get Grunt to open cabinet doors - Printable Version

+- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum)
+-- Forum: Amnesia: The Dark Descent (https://www.frictionalgames.com/forum/forum-6.html)
+--- Forum: Custom Stories, TCs & Mods - Development (https://www.frictionalgames.com/forum/forum-38.html)
+---- Forum: Development Support (https://www.frictionalgames.com/forum/forum-39.html)
+---- Thread: [LVL ED] How to get Grunt to open cabinet doors (/thread-16400.html)

Pages: 1 2


RE: How to get Grunt to open cabinet doors - drunkmonk - 06-22-2012

Ok so what you want to do for this case is delete the AddTimer("", 1.0, "MonsterPath"); in the void OnStart
and replace it with this
SetEntityPlayerInteractCallback("name of your key in here", "MonsterPath", false);
and then change your void MonsterPath from
void MonsterPath(string &in asTimer)
to
void MonsterPath(string &in asEntity)
leave everything else in this void the same.


RE: How to get Grunt to open cabinet doors - Bridge - 06-22-2012

(06-22-2012, 06:46 PM)drunkmonk Wrote: Ok so what you want to do for this case is delete the AddTimer("", 1.0, "MonsterPath"); in the void OnStart
and replace it with this
SetEntityPlayerInteractCallback("name of your key in here", "MonsterPath", false);
and then change your void MonsterPath from
void MonsterPath(string &in asTimer)
to
void MonsterPath(string &in asEntity)
leave everything else in this void the same.
Just FYI, it's called a function. Void is the return type (which means the function doesn't return anything).


RE: How to get Grunt to open cabinet doors - drunkmonk - 06-22-2012

I know but being that Jagsrs28 is really new to scripting and that I didn't want to confuse him


RE: How to get Grunt to open cabinet doors - Jagsrs28 - 06-23-2012

(06-22-2012, 07:37 PM)drunkmonk Wrote: I know but being that Jagsrs28 is really new to scripting and that I didn't want to confuse him
I would like to thank you for understanding this. We all have to start somewhere. Now when you say "name of your key here" does the key mean the area the player has to walk into?

////////////////////////////
// Run first time starting map
void OnStart()
{
SetEntityPlayerInteractCallback("name of your key in here", "MonsterPath", false);
AddEntityCollideCallback("Grunty1", "monster_opendoor_area", monster_opendoor", true, 1);
}

void MonsterPath(string &in asEntity)
{
AddEnemyPatrolNode("Grunt1", "PathNodeArea1", 0, "");
AddEnemyPatrolNode("Grunt1", "PathNodeArea1", 0, "");
AddEnemyPatrolNode("Grunt1", "PathNodeArea2", 0, "");
AddEnemyPatrolNode("Grunt1", "PathNodeArea3", 0, "");
AddEnemyPatrolNode("Grunt1", "PathNodeArea4", 0, "");
AddEnemyPatrolNode("Grunt1", "PathNodeArea5", 0, "");
}
void monster_opendoor(string &in asParent, string &in asChild, int alState)
{
AddPropImpulse("Cabby1", -10.0 , 0, 0, "World");
AddTimer("", 1.0, monsterdisable);
}
void monsterdisable(string &in asTimer)
{
SetEntityActive("Grunt1", false);
}
////////////////////////////
// Run when leaving map
void OnEnter()
{

}

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

}


RE: How to get Grunt to open cabinet doors - DragonRuins - 06-24-2012

(06-23-2012, 06:59 AM)Jagsrs28 Wrote:
(06-22-2012, 07:37 PM)drunkmonk Wrote: I know but being that Jagsrs28 is really new to scripting and that I didn't want to confuse him
I would like to thank you for understanding this. We all have to start somewhere. Now when you say "name of your key here" does the key mean the area the player has to walk into?

////////////////////////////
// Run first time starting map
void OnStart()
{
SetEntityPlayerInteractCallback("name of your key in here", "MonsterPath", false);
AddEntityCollideCallback("Grunty1", "monster_opendoor_area", monster_opendoor", true, 1);
}

void MonsterPath(string &in asEntity)
{
AddEnemyPatrolNode("Grunt1", "PathNodeArea1", 0, "");
AddEnemyPatrolNode("Grunt1", "PathNodeArea1", 0, "");
AddEnemyPatrolNode("Grunt1", "PathNodeArea2", 0, "");
AddEnemyPatrolNode("Grunt1", "PathNodeArea3", 0, "");
AddEnemyPatrolNode("Grunt1", "PathNodeArea4", 0, "");
AddEnemyPatrolNode("Grunt1", "PathNodeArea5", 0, "");
}
void monster_opendoor(string &in asParent, string &in asChild, int alState)
{
AddPropImpulse("Cabby1", -10.0 , 0, 0, "World");
AddTimer("", 1.0, monsterdisable);
}
void monsterdisable(string &in asTimer)
{
SetEntityActive("Grunt1", false);
}
////////////////////////////
// Run when leaving map
void OnEnter()
{

}

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

}
The key should be the actual 'Key' that the player picks up. So whatever you called the key that is placed in the map, that is what you would use.