Manakind
Junior Member
Posts: 4
Threads: 1
Joined: Oct 2011
Reputation:
0
|
monster script setup
hello i was following the wiki guide setting up a monster as im new to scripting i need some help here i think ive made an error somewhere in the script.
void TimerTutorial01(string &in asTimer)
{
SetMessage("Inventory", "CombineLevel12Error", 0);
}
void OnStart()
{
AddTimer("tut01", 5, "TimerTutorial01");
{
GiveItemFromFile("lantern", "lantern.ent");
for(int i=0;i<10;i++) GiveItemFromFile("tinderbox_"+i, "tinderbox.ent");
}
{
AddEntityCollideCallback("Player", "ScriptArea_1", "MonsterFunction", true, 1);
}
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_grunt_1", true);
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_1", 2, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_5", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_6", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_7", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_8", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_9", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_10", 4, "");
}
void OnEnter()
{
}
void OnLeave()
{
}
this is my whole script thus far and i wanted my monster to spawn from a point and follow path nodes. but every time i start my level he doesnt spawn when i hit my scripted area spot. any ideas as to what im doing wrong? mucho help appriciate
|
|
10-03-2011, 09:42 PM |
|
Urkle
FG - Associate
Posts: 1,172
Threads: 31
Joined: Jul 2006
Reputation:
21
|
RE: monster script setup
I moved this over to the Customstories/modifications thread for Amnesia as the HPL1 forum is for the Opensource Penumbra engine.
Developing away on one of
Multiple Macs running 10.6, 10.7, 10.8, and 10.9.
Linux, 8-core AMD, 8GB RAM, Fedora 18, nVidia 450 1GB
|
|
10-03-2011, 09:50 PM |
|
Manakind
Junior Member
Posts: 4
Threads: 1
Joined: Oct 2011
Reputation:
0
|
RE: monster script setup
bump bump =) still cant figure out where ive gone wrong. would love some help.
|
|
10-04-2011, 01:00 PM |
|
Your Computer
SCAN ME!
Posts: 3,456
Threads: 32
Joined: Jul 2011
Reputation:
235
|
RE: monster script setup
Wait, the map worked for you without the game exiting with a script error?
Try replacing your code with this:
void TimerTutorial01(string &in asTimer)
{
SetMessage("Inventory", "CombineLevel12Error", 0);
}
void OnStart()
{
AddTimer("tut01", 5, "TimerTutorial01");
GiveItemFromFile("lantern", "lantern.ent");
for(int i=0;i<10;i++) GiveItemFromFile("tinderbox_"+i, "tinderbox.ent");
AddEntityCollideCallback("Player", "ScriptArea_1", "MonsterFunction", true, 1);
}
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_grunt_1", true);
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_1", 2, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_5", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_6", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_7", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_8", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_9", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_10", 4, "");
}
void OnEnter()
{
}
void OnLeave()
{
}
|
|
10-04-2011, 01:20 PM |
|
i3670
Posting Freak
Posts: 1,308
Threads: 74
Joined: Oct 2011
Reputation:
36
|
RE: monster script setup
Hi Your Computer, you may remember me from yesterday
I got the same problem with my monster, he just won't spawn.
Script:
void MyFunc(string &in asParent, string &in asChild, int alState)
{
AddEntityCollideCallback("Player", "Sound_5", "StartMusic", true, 1);
AddEntityCollideCallback("Player", "Sound_3", "StartMusic", true, 1);
AddEntityCollideCallback("Player", "Music_1", "StartMusic", true, 1);
AddEntityCollideCallback("Player", "ScriptArea_1", "MonsterFunction", true, 1);
}
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_grunt_1", true);
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_1", 2, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_5", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_6", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_7", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_8", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_9", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_10", 4, "");
}
|
|
10-04-2011, 03:24 PM |
|
Manakind
Junior Member
Posts: 4
Threads: 1
Joined: Oct 2011
Reputation:
0
|
RE: monster script setup
(10-04-2011, 01:20 PM)Your Computer Wrote: Wait, the map worked for you without the game exiting with a script error?
Try replacing your code with this:
void TimerTutorial01(string &in asTimer)
{
SetMessage("Inventory", "CombineLevel12Error", 0);
}
void OnStart()
{
AddTimer("tut01", 5, "TimerTutorial01");
GiveItemFromFile("lantern", "lantern.ent");
for(int i=0;i<10;i++) GiveItemFromFile("tinderbox_"+i, "tinderbox.ent");
AddEntityCollideCallback("Player", "ScriptArea_1", "MonsterFunction", true, 1);
}
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_grunt_1", true);
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_1", 2, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_5", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_6", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_7", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_8", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_9", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_10", 4, "");
}
void OnEnter()
{
}
void OnLeave()
{
}
yep my script works without an error, now ive replaced my script with yours and the same thing is happening my map works but when i goto my designated area my inactive mob doesnt spawn. any suggestions?
(This post was last modified: 10-04-2011, 03:54 PM by Manakind.)
|
|
10-04-2011, 03:26 PM |
|
Your Computer
SCAN ME!
Posts: 3,456
Threads: 32
Joined: Jul 2011
Reputation:
235
|
RE: monster script setup
I'm going to need you guys to add this function to your script:
MonsterCheck(string &in entity, string &in type)
{
AddDebugMessage(type, false);
}
Then in the level editor, select your monster and on the right, under the Entity tab, type in MonsterCheck for the CallbackFunc field. Be sure to save.
Also, update the MonsterFunction function so that it looks like this:
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
AddDebugMessage(asChild+" has activated!", false);
SetEntityActive("servant_grunt_1", true);
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_1", 2, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_5", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_6", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_7", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_8", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_9", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_10", 4, "");
}
Save. Now load your map and make sure show debug messages is enabled in your debug menu. Now activate the area by colliding with it and tell me if you see any text at the bottom left that says either "ScriptArea_1 has activated!" or "OnAutoDisabled" or both.
|
|
10-04-2011, 05:34 PM |
|
Manakind
Junior Member
Posts: 4
Threads: 1
Joined: Oct 2011
Reputation:
0
|
RE: monster script setup
(10-04-2011, 05:34 PM)Your Computer Wrote: I'm going to need you guys to add this function to your script:
MonsterCheck(string &in entity, string &in type)
{
AddDebugMessage(type, false);
}
Then in the level editor, select your monster and on the right, under the Entity tab, type in MonsterCheck for the CallbackFunc field. Be sure to save.
Also, update the MonsterFunction function so that it looks like this:
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
AddDebugMessage(asChild+" has activated!", false);
SetEntityActive("servant_grunt_1", true);
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_1", 2, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_5", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_6", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_7", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_8", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_9", 0, "");
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_10", 4, "");
}
Save. Now load your map and make sure show debug messages is enabled in your debug menu. Now activate the area by colliding with it and tell me if you see any text at the bottom left that says either "ScriptArea_1 has activated!" or "OnAutoDisabled" or both. silly question but how do you activate debug mode? ive tested the map and its not activating for me. would like to check if it says activated or onautodisabled =)
|
|
10-04-2011, 07:40 PM |
|
i3670
Posting Freak
Posts: 1,308
Threads: 74
Joined: Oct 2011
Reputation:
36
|
RE: monster script setup
Same question as above. activate debug?
Tried to run the map. Gave me the error message: main(25,13): ERR : Expected identifier
|
|
10-04-2011, 07:51 PM |
|
Your Computer
SCAN ME!
Posts: 3,456
Threads: 32
Joined: Jul 2011
Reputation:
235
|
|
10-05-2011, 12:47 AM |
|
|