Frictional Games Forum (read-only)
First time doing a map, need basic help! - 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: First time doing a map, need basic help! (/thread-13417.html)



First time doing a map, need basic help! - LulleBulle - 02-19-2012

Hello guys.

I bought Amnesia recently just to create maps and mess with my friends and i created a map in the map editor, although very small and basic (only 1 room with a spawnpoint, closet and door with crowbar break). For some reason my map crashes, this is the error.

[Image: OhA3s.png]


So, my map is put in the custom_stories folder and i made a new folder called Test. In the "Test" folder is a folder called map with my map and my .hps file which just says the following
Code:
////////////////////////////
// Run first time starting map
void OnStart()
{
//Add the Lantern and 10 Tinderboxes when in Debug mode, always good to have light!
if(ScriptDebugOn())
{
GiveItemFromFile("lantern", "lantern.ent");

for(int i=0;i<10;i++) GiveItemFromFile("tinderbox_"+i, "tinderbox.ent");
}
}

////////////////////////////
// Run when entering map
void OnEnter()
{

}

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

}
void OnStart()
{
AddUseItemCallback("", "crowbar_1", "door1", "UsedCrowbarOnDoor", true);
AddEntityCollideCallback("crowbar_joint_1", "Crowbar_Area", "CollideAreaBreakDoor", true, 1);
}


void UsedCrowbarOnDoor(string &in asItem, string &in asEntity)
{
AddTimer("", 0.2, "TimerSwitchShovel");
RemoveItem("crowbar_1");
}


void TimerSwitchShovel(string &in asTimer)
{
PlaySoundAtEntity("","puzzle_place_jar.snt", "", 0, false);
SetEntityActive("crowbar_joint_1", true);
}


void CollideAreaBreakDoor(string &in asParent, string &in asChild, int alState)
{
AddPlayerSanity(25);
PlayMusic("10_puzzle01.ogg", false, 0.7, 0.1, 10, false);
SetSwingDoorLocked("door1", false, true);
AddPropImpulse("door1", 0, 0, -50, "World");
SetSwingDoorDisableAutoClose("door1", true);
SetSwingDoorClosed("door1", false, false);
SetMoveObjectState("door1", 1);
PlaySoundAtEntity("","break_wood_metal", "AreaBreakOff", 0, false);
CreateParticleSystemAtEntity("", "ps_hit_wood", "AreaBreakOff", false);
SetEntityActive("crowbar_joint_1", false);
SetLocalVarInt("Door", 1);
}


void OnEnter()
{
}


void OnLeave()
{
}

my scripts folder is empty and in the root folder i have a file called custom_story_settings.cfg
Code:
<Main
    Name="A random story"
    Author="Trollface"
    ImgFile=""

    StartMap="test.map"
    StartPos=""
/>

Can someone help me and tell me what to do to make this map load?


RE: First time doing a map, need basic help! - Your Computer - 02-19-2012

Do research on function overloading if you're going to be defining the same functions with the same signatures. Otherwise, remove the duplicates.


RE: First time doing a map, need basic help! - LulleBulle - 02-19-2012

(02-19-2012, 12:37 AM)Your Computer Wrote: Do research on function overloading if you're going to be defining the same functions with the same signatures. Otherwise, remove the duplicates.
But where are there same functions with same signatures? I do not intend to have that. Could you tell me how to rearrange my code to make it work?


RE: First time doing a map, need basic help! - Your Computer - 02-19-2012

(02-19-2012, 12:40 AM)LulleBulle Wrote: But where are there same functions with same signatures? I do not intend to have that. Could you tell me how to rearrange my code to make it work?

Rearranging the code won't fix the errors shown in the image. You have to either define the functions differently or remove them entirely. The error message tells you where they are located: (line, column).


RE: First time doing a map, need basic help! - LulleBulle - 02-19-2012

(02-19-2012, 12:50 AM)Your Computer Wrote:
(02-19-2012, 12:40 AM)LulleBulle Wrote: But where are there same functions with same signatures? I do not intend to have that. Could you tell me how to rearrange my code to make it work?

Rearranging the code won't fix the errors shown in the image. You have to either define the functions differently or remove them entirely. The error message tells you where they are located: (line, column).
I figured this out, because when i removed the entire .hps file i could load the map. I'll just give it another try, thank you. And also, i checked your tutorials, they are awesome!





RE: First time doing a map, need basic help! - Acies - 02-19-2012

As answered before, but to clarify:
You have named a certain function the same name 3 times. The numbers show which lines to look at:
27, 64 & 69.


RE: First time doing a map, need basic help! - JenniferOrange - 02-20-2012

You doubled void OnStart(), void OnEnter(), and void OnLeave(). They're only put once.

Code:
////////////////////////////
// Run first time starting map
void OnStart()
{
//Add the Lantern and 10 Tinderboxes when in Debug mode, always good to have light!
if(ScriptDebugOn())
{
GiveItemFromFile("lantern", "lantern.ent");

for(int i=0;i<10;i++) GiveItemFromFile("tinderbox_"+i, "tinderbox.ent");
}
AddUseItemCallback("", "crowbar_1", "door1", "UsedCrowbarOnDoor", true);
AddEntityCollideCallback("crowbar_joint_1", "Crowbar_Area", "CollideAreaBreakDoor", true, 1);
}
}


void UsedCrowbarOnDoor(string &in asItem, string &in asEntity)
{
AddTimer("", 0.2, "TimerSwitchShovel");
RemoveItem("crowbar_1");
}


void TimerSwitchShovel(string &in asTimer)
{
PlaySoundAtEntity("","puzzle_place_jar.snt", "", 0, false);
SetEntityActive("crowbar_joint_1", true);
}


void CollideAreaBreakDoor(string &in asParent, string &in asChild, int alState)
{
AddPlayerSanity(25);
PlayMusic("10_puzzle01.ogg", false, 0.7, 0.1, 10, false);
SetSwingDoorLocked("door1", false, true);
AddPropImpulse("door1", 0, 0, -50, "World");
SetSwingDoorDisableAutoClose("door1", true);
SetSwingDoorClosed("door1", false, false);
SetMoveObjectState("door1", 1);
PlaySoundAtEntity("","break_wood_metal", "AreaBreakOff", 0, false);
CreateParticleSystemAtEntity("", "ps_hit_wood", "AreaBreakOff", false);
SetEntityActive("crowbar_joint_1", false);
SetLocalVarInt("Door", 1);
}


void OnEnter()
{
}


void OnLeave()
{
}

I honestly don't know if I put that all back together right since I never use debug mode but it's worth a try.