Facebook Twitter YouTube Frictional Games | Forum | Privacy Policy | Dev Blog | Dev Wiki | Support | Gametee


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
I need Help
Zizilon Offline
Junior Member

Posts: 7
Threads: 4
Joined: Jun 2012
Reputation: 0
#1
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
Find
daortir Offline
Senior Member

Posts: 422
Threads: 9
Joined: Sep 2013
Reputation: 18
#2
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
Find
Zizilon Offline
Junior Member

Posts: 7
Threads: 4
Joined: Jun 2012
Reputation: 0
#3
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
Find
daortir Offline
Senior Member

Posts: 422
Threads: 9
Joined: Sep 2013
Reputation: 18
#4
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
Find
Zizilon Offline
Junior Member

Posts: 7
Threads: 4
Joined: Jun 2012
Reputation: 0
#5
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! Smile
(This post was last modified: 01-29-2014, 12:31 PM by Zizilon.)
01-29-2014, 12:12 PM
Find
FlawlessHappiness Offline
Posting Freak

Posts: 3,980
Threads: 145
Joined: Mar 2012
Reputation: 171
#6
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 Smile

Trying is the first step to success.
01-29-2014, 01:46 PM
Find




Users browsing this thread: 1 Guest(s)