Frictional Games Forum (read-only)
[HowTo] If player walks into area a text pops up. - 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 Articles (https://www.frictionalgames.com/forum/forum-40.html)
+---- Thread: [HowTo] If player walks into area a text pops up. (/thread-9947.html)



[HowTo] If player walks into area a text pops up. - BubbleTroll - 08-23-2011

So i really dont know where to post these but if anyone wants to make a thread about this they dont have to do it :U

So lets get started.
at first we need the function that we can find at http://wiki.frictionalgames.com/hpl2/amnesia/script_functions#inventory
this is a great webside where all of the functions are.
just use CTRL + F and search for a function.
so for now on we are going to use the
Code:
SetMessage(string& asTextCategory, string& asTextEntry, float afTime);
asTextCategory - the category in the .lang file
asTextEntry - the entry in the .lang file
afTime - determines how long the message is displayed. If time is < =0 then the life time is calculated based on string length.
so there we have it.
now go to your extra_english.lang file and create a new category called MessageOnEntry.
You can call it whatever you want i really dont care.
and add a new entry to the category MessageOnEntry.
example.
Code:
<LANGUAGE>
<CATEGORY Name="CustomStoryMain">
    <Entry Name="Description">Blargh is eating u</Entry>
</CATEGORY>
<CATEGORY Name="Inventory">
    <Entry Name="ItemDesc_MansionKey_1">"Key to open the door"</Entry>
    <Entry Name="ItemName_MansionKey_1">"Key for a door"</Entry>
</CATEGORY>
<CATEGORY Name="MessageOnEntry">
    <Entry Name="EntryOnMessage">"Blargh is going to eate verone hide."</Entry>
</CATEGORY>
</LANGUAGE>
so as you can see EntryOnMessage is the entry for the category MessageOnEntry.
So what do we add to the function?
Well thats really simple just do it like this.
Code:
SetMessage(string& asTextCategory, string& asTextEntry, float afTime);
SetMessage("asTextCategory", "asTextEntry", 3.0f);
so as you can see i deleted string& and added two "" around asTextEntry
and on float i added a f behind the value.
now you only have to add a area and a timer.
just go search on some threads around this helpful forum im sure theres someone that already typed how to use a timer and a area that activateds a function.
Note:for the love of god i chanced it, so everone can read it.
And i agree it's hard to read it when its aligned to the center


RE: [HowTo] If player walks into area a text pops up. - Tanshaydar - 08-23-2011

Why centered everything to make it harder for us to read?


RE: [HowTo] If player walks into area a text pops up. - BubbleTroll - 08-23-2011

cause i kinda like it :U
should i chance it?


RE: [HowTo] If player walks into area a text pops up. - Tanshaydar - 08-23-2011

You kinda like it, I kinda can't read it :/
Can you read it?


RE: [HowTo] If player walks into area a text pops up. - Kyle - 08-23-2011

You should change it for the sake of the people you're trying to help. :/


RE: [HowTo] If player walks into area a text pops up. - Phoroneus - 08-23-2011

Best to left-justify it so that the indentations line up the way they should in proper code, IMO.

Of course, real coders use Notepad, and code in Wingdings. :3


RE: [HowTo] If player walks into area a text pops up. - BubbleTroll - 08-23-2011

fixed it ^-^
hope that helps you.


RE: [HowTo] If player walks into area a text pops up. - Tanshaydar - 08-23-2011

Just this:
SetMessage("MessageOnEntry", "EntryOnMessage", 3.0f);