NylePudding
Member
Posts: 77
Threads: 23
Joined: Apr 2011
Reputation:
0
|
What's wrong with this script?
What's wrong with this script? It says this line: "void Timer02 (string &in asTimer)" has a missing "(" but I can't see how. So I guess I've made a mistake somewhere else?
void Timer01(string &in asTimer)
{
int RanEve_1 = RandInt(1,2);
if (RanEve_1 == 1)
{
SetEntityActive("servant_grunt_1", true);
}
else if (RanEve_1 == 2)
{
SetEntityActive("servant_brute_1", true);
}
SetEntityActive("ScriptArea_1", true);
SetMessage("Example", "Entry2", 0);
PlayMusic("10_event_coming.ogg", false, 1.0f, 0, 0, true);
void Timer02 (string &in asTimer)
{
if (RanEve_1 == 1)
{
ShowEnemyPlayerPosition("servant_grunt_1");
}
if (RanEve_1 == 2)
{
ShowEnemyPlayerPosition("servant_brute_1");
}
SetSwingDoorLocked("mansion_1", false, false);
}
}
And I thought I was just getting a grip with C++... Thanks for any help.
|
|
05-02-2011, 07:41 AM |
|
Tanshaydar
From Beyond
Posts: 3,085
Threads: 17
Joined: Mar 2009
Reputation:
67
|
RE: What's wrong with this script?
This is whole script? You don't have an "OnStart" section, and you have placed a second timer function inside first timer which you shouldn't. The functions you want to call should be same level with others.
|
|
05-02-2011, 08:08 AM |
|
NylePudding
Member
Posts: 77
Threads: 23
Joined: Apr 2011
Reputation:
0
|
RE: What's wrong with this script?
(05-02-2011, 08:08 AM)Tanshaydar Wrote: This is whole script? You don't have an "OnStart" section, and you have placed a second timer function inside first timer which you shouldn't. The functions you want to call should be same level with others.
This isn't the whole script only the area which has the problem.
Here's the whole script if it helps:
void OnStart()
{
AddTimer("tut01", 3, "Intro");
AddTimer("tut02", 30, "Timer01");
SetEnemyIsHallucination("servant_grunt_1", true);
SetEnemyIsHallucination("servant_brute_1", true);
SetSwingDoorLocked("mansion_1", true, false);
PlayMusic("ambience_wind_eerie.ogg", true, 0.5f, 0, 0, true);
AddEntityCollideCallback("Player" , "ScriptArea_1" , "BodyFunc1" , true , 1);
}
void BodyFunc1(string &in asParent , string &in asChild , int alState)
{
SetEntityActive("corpse_male_1" , true);
AddTimer("tut03", 10, "Timer02");
AddTimer("tut03", 10, "Timer03");
}
void Intro(string &in asTimer)
{
SetMessage("Example", "Entry1", 0);
}
void Timer01(string &in asTimer)
{
int RanEve_1 = RandInt(1,2);
if (RanEve_1 == 1)
{
SetEntityActive("servant_grunt_1", true);
}
else if (RanEve_1 == 2)
{
SetEntityActive("servant_brute_1", true);
}
SetEntityActive("ScriptArea_1", true);
SetMessage("Example", "Entry2", 0);
PlayMusic("10_event_coming.ogg", false, 1.0f, 0, 0, true);
void Timer02 (string &in asTimer)
{
if (RanEve_1 == 1)
{
ShowEnemyPlayerPosition("servant_grunt_1");
}
if (RanEve_1 == 2)
{
ShowEnemyPlayerPosition("servant_brute_1");
}
SetSwingDoorLocked("mansion_1", false, false);
}
}
void OnEnter()
{
}
void OnLeave()
{
}
(05-02-2011, 08:08 AM)Tanshaydar Wrote: This is whole script? You don't have an "OnStart" section, and you have placed a second timer function inside first timer which you shouldn't. The functions you want to call should be same level with others.
Okay, I'll arrange my script differently.
So you can't have another timer function within another? I just thought it would save time with the RanEve_1 variable.
So how would you make a variable effective throughout the script?
(This post was last modified: 05-02-2011, 08:16 AM by NylePudding.)
|
|
05-02-2011, 08:13 AM |
|
jens
Frictional Games
Posts: 4,093
Threads: 199
Joined: Apr 2006
Reputation:
202
|
RE: What's wrong with this script?
you should move one of the } above void OnEnter to above void Timer02. Currently you have (short version)
void Timer01()
{
void Timer02()
{
}
}
which will result in an error.
|
|
05-02-2011, 08:17 AM |
|
Tanshaydar
From Beyond
Posts: 3,085
Threads: 17
Joined: Mar 2009
Reputation:
67
|
RE: What's wrong with this script?
One local variable can be used in one hps file and all functions will see it.
|
|
05-02-2011, 08:35 AM |
|
NylePudding
Member
Posts: 77
Threads: 23
Joined: Apr 2011
Reputation:
0
|
RE: What's wrong with this script?
(05-02-2011, 08:35 AM)Tanshaydar Wrote: One local variable can be used in one hps file and all functions will see it.
Okay thank you, with everyone's help I've managed to see sense and I've fixed my script.
|
|
05-02-2011, 08:43 AM |
|
|