Zizilon
Junior Member
Posts: 7
Threads: 4
Joined: Jun 2012
Reputation:
0
|
I need Help
So i'm making custom story and everytime i try to test my Amnesia custom story it gives me an error and it says:
main (27, 1) : ERR : A function with the same name and parameters already exist
main (39, 1) : ERR : A function with the same name and parameters
What did i do wrong in the script?
////////////////////////////
// Run first time starting map
void OnStart()
{
AddUseItemCallback("", "Key", "Mansion", "UsedKeyonDoor", true);
}
void UsedKeyonDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Mansion", false, true);
PlaySoundAtEntity("", "unlock_door", "Mansion", 0, false);
RemoveItem("Key");
}
void OnEnter()
{
AddEntityCollideCallback("Player", "PlayerCollide", "MonsterFunction", true, 1);
}
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_1", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_5", 0.001, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_10", 0, "");
SetEntityActive("servant_brute_1", true);
}
void OnStart()
{
AddEntityCollideCallback("Player", "Message_1", "Message1", true, 1);
}
void Message1(string &in asChild, string &in asParent, int alState)
{
SetMessage("Messages", "Popup1", 0); //This stands for ("Name of category", "Name of entry", time to be displayed on the screen);.
}
void OnEnter()
{
}
void OnLeave()
{
}
(This post was last modified: 01-29-2014, 11:33 AM by Zizilon.)
|
|
01-29-2014, 11:31 AM |
|
daortir
Senior Member
Posts: 422
Threads: 9
Joined: Sep 2013
Reputation:
18
|
RE: I need Help
You had 2 OnEnter functions ^^. That should fix the error : )
void OnStart()
{
AddUseItemCallback("", "Key", "Mansion", "UsedKeyonDoor", true);
}
void UsedKeyonDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Mansion", false, true);
PlaySoundAtEntity("", "unlock_door", "Mansion", 0, false);
RemoveItem("Key");
}
void OnEnter()
{
AddEntityCollideCallback("Player", "PlayerCollide", "MonsterFunction", true, 1);
}
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_1", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_5", 0.001, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_10", 0, "");
SetEntityActive("servant_brute_1", true);
}
void OnStart()
{
AddEntityCollideCallback("Player", "Message_1", "Message1", true, 1);
}
void Message1(string &in asChild, string &in asParent, int alState)
{
SetMessage("Messages", "Popup1", 0); //This stands for ("Name of category", "Name of entry", time to be displayed on the screen);.
}
void OnLeave()
{
}
|
|
01-29-2014, 11:40 AM |
|
Zizilon
Junior Member
Posts: 7
Threads: 4
Joined: Jun 2012
Reputation:
0
|
RE: I need Help
(01-29-2014, 11:40 AM)daortir Wrote: You had 2 OnEnter functions ^^. That should fix the error : )
void OnStart()
{
AddUseItemCallback("", "Key", "Mansion", "UsedKeyonDoor", true);
}
void UsedKeyonDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Mansion", false, true);
PlaySoundAtEntity("", "unlock_door", "Mansion", 0, false);
RemoveItem("Key");
}
void OnEnter()
{
AddEntityCollideCallback("Player", "PlayerCollide", "MonsterFunction", true, 1);
}
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_1", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_5", 0.001, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_10", 0, "");
SetEntityActive("servant_brute_1", true);
}
void OnStart()
{
AddEntityCollideCallback("Player", "Message_1", "Message1", true, 1);
}
void Message1(string &in asChild, string &in asParent, int alState)
{
SetMessage("Messages", "Popup1", 0); //This stands for ("Name of category", "Name of entry", time to be displayed on the screen);.
}
void OnLeave()
{
}
Now there is only one error, but it fixed the other one so there is something else wrong?
ERR : A function with the same name and parameters already exist
|
|
01-29-2014, 11:49 AM |
|
daortir
Senior Member
Posts: 422
Threads: 9
Joined: Sep 2013
Reputation:
18
|
RE: I need Help
Oops. you have two OnStart as well, I'm blind.
void OnStart()
{
AddEntityCollideCallback("Player", "PlayerCollide", "MonsterFunction", true, 1);
AddEntityCollideCallback("Player", "Message_1", "Message1", true, 1);
AddUseItemCallback("", "Key", "Mansion", "UsedKeyonDoor", true);
}
void UsedKeyonDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Mansion", false, true);
PlaySoundAtEntity("", "unlock_door", "Mansion", 0, false);
RemoveItem("Key");
}
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_1", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_5", 0.001, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_10", 0, "");
SetEntityActive("servant_brute_1", true);
}
void Message1(string &in asChild, string &in asParent, int alState)
{
SetMessage("Messages", "Popup1", 0); //This stands for ("Name of category", "Name of entry", time to be displayed on the screen);.
}
void OnLeave()
{
}
|
|
01-29-2014, 11:57 AM |
|
Zizilon
Junior Member
Posts: 7
Threads: 4
Joined: Jun 2012
Reputation:
0
|
RE: I need Help
(01-29-2014, 11:57 AM)daortir Wrote: Oops. you have two OnStart as well, I'm blind.
void OnStart()
{
AddEntityCollideCallback("Player", "PlayerCollide", "MonsterFunction", true, 1);
AddEntityCollideCallback("Player", "Message_1", "Message1", true, 1);
AddUseItemCallback("", "Key", "Mansion", "UsedKeyonDoor", true);
}
void UsedKeyonDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Mansion", false, true);
PlaySoundAtEntity("", "unlock_door", "Mansion", 0, false);
RemoveItem("Key");
}
void MonsterFunction(string &in asParent, string &in asChild, int alState)
{
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_1", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_5", 0.001, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_10", 0, "");
SetEntityActive("servant_brute_1", true);
}
void Message1(string &in asChild, string &in asParent, int alState)
{
SetMessage("Messages", "Popup1", 0); //This stands for ("Name of category", "Name of entry", time to be displayed on the screen);.
}
void OnLeave()
{
}
It fixed the error. So when i tested my CS the script wasn't working.
I really have no idea where to put this thing:
{
AddEntityCollideCallback("Player", "Message_1", "Message1", true, 1);
}
But when i put it here:
{
AddEntityCollideCallback("Player", "Message_1", "Message1", true, 1);
}
void Message1(string &in asChild, string &in asParent, int alState)
{
SetMessage("Messages", "Popup1", 0); //This stands for ("Name of category", "Name of entry", time to be displayed on the screen);.
}
void OnLeave()
{
}
It gives me an error called:
Unexpected token }
And btw i am new to this so i don't really understand much.
EDIT - Nevermind, just fixed it.
Thanks for your help!
(This post was last modified: 01-29-2014, 12:31 PM by Zizilon.)
|
|
01-29-2014, 12:12 PM |
|
FlawlessHappiness
Posting Freak
Posts: 3,980
Threads: 145
Joined: Mar 2012
Reputation:
171
|
RE: I need Help
But do you know how you fixed it? Because, it's important to know.
You can't just place 2 tokens somewhere close to a void.
it has to be:
void Function()
and then the 2 tokens
{
}
so it's:
void Function()
{
}
No matter if it's a collide function or anything else
Trying is the first step to success.
|
|
01-29-2014, 01:46 PM |
|
|