Frictional Games Forum (read-only)
Need various information - 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 (https://www.frictionalgames.com/forum/forum-35.html)
+--- Thread: Need various information (/thread-8241.html)

Pages: 1 2 3


Need various information - KenOfAllTrades - 05-25-2011

Okay, so I've been searching both the forum and the wiki, but I feel like I haven't gotten a straight answer, and I need help with a tiny set of things.

First off, notes. I need help on how to make notes show text, how to add voice acting, how to make the voice acting go with each page, etc.

I also need help with level doors. This is minor really. All I need to know is how to make it display text when I look at it.

And then there's the uhh... The memory canister things? The tiny boxes that make you see part of Alexander's memory where he speaks to his loved one (or himself). I've tried to make them display text, but when I click them I don't see any because I probably wrote the text in the wrong place or the wrong way.

I would REALLY appreciate any and all help, as always!


RE: Need various information - palistov - 05-25-2011

Notes/Diaries: First off, notes and diaries are different. Notes do not have any narration. Diaries do. To set a narration to a diary, you must add [voice narrationfilenamehere.ogg][br] before your dairy's entry text. Your lang file entries for a diary would look like this:

Code:
<CATEGORY Name="Journal">
    <Entry Name="Diary_MyDiary_Name">My Diary</Entry>
    <Entry Name="Diary_MyDiary_Text">[voice mydiarynarration.ogg][br]My diary text here!</Entry>
</CATEGORY>

If you want to add multiple pages of text with narration that follows it, you add another [voice narrationfile.ogg][br] in your entry. You must add a [br] before it as well. Your diary's lang file entry will look like this:

Code:
<CATEGORY Name="Journal">
    <Entry Name="Diary_MyDiary_Name">My Diary</Entry>
    <Entry Name="Diary_MyDiary_Text">[voice mydiarynarration1.ogg][br]My diary text here![br][voice mydiarynarration2.ogg][br]My diary's next page here![br][voice mydiarynarration3.ogg][br]My diary's third page here!</Entry>
</CATEGORY>

For the emotion stones and level doors, select them in the viewport and set their text category/entry in the entity tab.

Make sure you create a category and entry in your .lang file that corresponds to your emotion stone or level door.


RE: Need various information - KenOfAllTrades - 05-25-2011

(05-25-2011, 08:00 PM)palistov Wrote: Notes/Diaries: First off, notes and diaries are different. Notes do not have any narration. Diaries do. To set a narration to a diary, you must add [voice narrationfilenamehere.ogg][br] before your dairy's entry text. Your lang file entries for a diary would look like this:

Code:
<CATEGORY Name="Journal">
    <Entry Name="Diary_MyDiary_Name">My Diary</Entry>
    <Entry Name="Diary_MyDiary_Text">[voice mydiarynarration.ogg][br]My diary text here!</Entry>
</CATEGORY>

If you want to add multiple pages of text with narration that follows it, you add another [voice narrationfile.ogg][br] in your entry. You must add a [br] before it as well. Your diary's lang file entry will look like this:

Code:
<CATEGORY Name="Journal">
    <Entry Name="Diary_MyDiary_Name">My Diary</Entry>
    <Entry Name="Diary_MyDiary_Text">[voice mydiarynarration1.ogg][br]My diary text here![br][voice mydiarynarration2.ogg][br]My diary's next page here![br][voice mydiarynarration3.ogg][br]My diary's third page here!</Entry>
</CATEGORY>

For the emotion stones and level doors, select them in the viewport and set their text category/entry in the entity tab.

Make sure you create a category and entry in your .lang file that corresponds to your emotion stone or level door.

Thank you! This explains A LOT! I really appreciate your help bro


RE: Need various information - palistov - 05-25-2011

No problem Smile


RE: Need various information - KenOfAllTrades - 05-26-2011

Okay, so it explained a lot about how the extra_english.lang works, but I still can't seem to make notes. If I want my note to be "Diary_MyDiary_Name", EXACTLY WHAT do I have to write EXACTLY where and EXACTLY how in the note's entity tab? I've tried a number of ways but it simply won't work :<


RE: Need various information - palistov - 05-27-2011

Select your diary paper. Go to the 'Entity' tab. At the bottom there is the DiaryText field. In there, put 'MyDiary', as long as your lang file's corresponding diary entry is labelled Diary_MyDiary_Name & Diary_MyDiary_Text. The label between the underscores is what you put in the DiaryText field. Smile

Also, make sure you start your custom story from the game menu instead of loading it via the debug menu when in another story/map. It can cause issues with lang file entries and such.


RE: Need various information - KenOfAllTrades - 05-27-2011

Ah! Thanks! I put Diary_MyDiary_Name, Diary_MyDiary_Name Diary_MyDiary_Text, both of them with quotes and stuff like that :v I'm silly. Thank you so much!!


RE: Need various information - KenOfAllTrades - 05-27-2011

Ack okay, I'm sorry for once again asking of your help, but my script isn't working. I've looked through it and I'm guessing I don't have the knowledge to see if anything's wrong. Everything looks pretty normal to me, but I MIGHT have missed a detail or two

Code:
void OnStart()
{
     AddEntityCollideCallback("Player", "ScriptArea_1", "Flash", true, 1);
    SetLightVisible("PointLight_1", false);
    SetLightVisible("PointLight_2", false);
    SetLightVisible("PointLight_3", false);
    SetLightVisible("PointLight_4", false);
    SetLightVisible("PointLight_5", false);
    SetLightVisible("PointLight_6", false);
}

void Flash(string &in asParent, string &in asChild, int alState)
{
    PlayMusic("10_event_coming.ogg", true, 1.0f, 0, 0, true);
    float fMin = -300.0f;
    float fMax = -500.0f;
    
    GiveSanityDamage(15, true);
    
    for(int i=1;i<7;i++)    
    
    AddTimer("react", 0.5f, "TimerPlayerReact");
     SetEntityActive("alexander_1", true);
    SetEntityActive("alexander_2", true);
    SetEntityActive("alexander_3", true);
    SetEntityActive("alexander_4", true);
    SetEntityActive("alexander_5", true);
    SetEntityActive("alexander_6", true);
    SetLightVisible("PointLight_1", true);
    SetLightVisible("PointLight_2", true);
    SetLightVisible("PointLight_3", true);
    SetLightVisible("PointLight_4", true);
    SetLightVisible("PointLight_5", true);
    SetLightVisible("PointLight_6", true);
    SetEntityActive("level_engine_1", false);
    SetEntityActive("potion_oil_large_1", false);
    SetEntityActive("potion_oil_large_2", false);
    SetEntityActive("potion_oil_large_3", false);
    SetLightVisible("SpotLight_1", false);
    CreateParticleSystemAtEntity("InternalName",) "ps_guardian_appear_explosion.ps", "alexander_1", true);
    CreateParticleSystemAtEntity("InternalName", "ps_guardian_appear_explosion.ps", "alexander_2", true);
    CreateParticleSystemAtEntity("InternalName", "ps_guardian_appear_explosion.ps", "alexander_3", true);
    CreateParticleSystemAtEntity("InternalName", "ps_guardian_appear_explosion.ps", "alexander_4", true);
    CreateParticleSystemAtEntity("InternalName", "ps_guardian_appear_explosion.ps", "alexander_5", true);
    CreateParticleSystemAtEntity("InternalName", "ps_guardian_appear_explosion.ps", "alexander_6", true);
    AddTimer("tut01", 5, "Part2");
}

void TimerPlayerReact(string &in asTimer)
{
    PlaySoundAtEntity("react", "react_breath", "Player", 0.1f, false);
}

void Part2(string &in asTimer)
{
    SetEntityActive("alexander_1", false);
    SetEntityActive("alexander_2", false);
    SetEntityActive("alexander_3", false);
    SetEntityActive("alexander_4", false);
    SetEntityActive("alexander_5", false);
    SetEntityActive("alexander_6", false);
    SetLightVisible("PointLight_1", false);
    SetLightVisible("PointLight_2", false);
    SetLightVisible("PointLight_3", false);
    SetLightVisible("PointLight_4", false);
    SetLightVisible("PointLight_5", false);
    SetLightVisible("PointLight_6", false);
    ShowEnemyPlayerPosition(string& servant_grunt_1);
    ShowEnemyPlayerPosition(string& servant_grunt_2);
    ShowEnemyPlayerPosition(string& servant_grunt_3);
    ShowEnemyPlayerPosition(string& servant_grunt_4);
    SetEntityActive("servant_grunt_1", true);
    SetEntityActive("servant_grunt_2", true);
    SetEntityActive("servant_grunt_3", true);
    SetEntityActive("servant_grunt_4", true);
}



RE: Need various information - Kyle - 05-27-2011

Code:
void OnStart()
{
    AddEntityCollideCallback("Player", "ScriptArea_1", "Flash", true, 1);
    for(int i=1;i<7;i++)
    {
        SetLightVisible("PointLight_"+i, false);
    }
}

void Flash(string &in asParent, string &in asChild, int alState)
{
    PlayMusic("10_event_coming.ogg", true, 1.0f, 0, 0, true);
    float fMin = -300.0f;
    float fMax = -500.0f;
    
    GiveSanityDamage(15, true);
    
    AddTimer("react", 0.5f, "TimerPlayerReact");
    AddTimer("tut01", 5, "Part2");
    
    SetEntityActive("level_engine_1", false);
    SetEntityActive("potion_oil_large_1", false);
    SetEntityActive("potion_oil_large_2", false);
    SetEntityActive("potion_oil_large_3", false);
    SetLightVisible("SpotLight_1", false);
    
    for(int i=1;i<7;i++)
    {
        SetEntityActive("alexander_"+i, true);
        SetLightVisible("PointLight_"+i, true);
        CreateParticleSystemAtEntity("InternalName", "ps_guardian_appear_explosion.ps", "alexander_"+i, true);
    }
}

void TimerPlayerReact(string &in asTimer)
{
    PlaySoundAtEntity("react", "react_breath", "Player", 0.1f, false);
}

void Part2(string &in asTimer)
{
    for (int i=1;i<7;i++)
    {
        SetEntityActive("alexander_"+i, false);
        SetLightVisible("PointLight_"+i, false);
    }
    for (int x=1;x<5;x++)
    {
    ShowEnemyPlayerPosition("servant_grunt_"+x);
    SetEntityActive("servant_grunt_"+x, true);
}



RE: Need various information - KenOfAllTrades - 05-27-2011

Unexpected end of file :v