Frictional Games Forum (read-only)

Full Version: Help me please
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Okay i will +rep on anyone who helped me because i have a problem at my editor:
I just want to ask something.

How can i put a text in the middle of the screen when i stepped on to the script area?
Through scripting. These are the things that you will use.
http://wiki.frictionalgames.com/hpl2/amn..._functions - Look here for all of them.
https://www.youtube.com/playlist?list=PL...9BC99530C8 - This covers alot of the basics to scripting (and some mapping stuff.

void AddEntityCollideCallback(string& asParentName, string& asChildName, string& asFunction, bool abDeleteOnCollide, int alStates);
Calls a function when two entites collide.
Callback syntax: void MyFunc(string &in asParent, string &in asChild, int alState)
alState: 1 = enter, -1 = leave

asParentName - internal name of main object
asChildName - internal name of object that collides with main object (asterix (*) NOT supported!)
asFunction - function to call
abDeleteOnCollide - determines whether the callback after it was called
alStates - 1 = only enter, -1 = only leave, 0 = both
--------------------------------------------------------------------
void SetMessage(string& asTextCategory, string& asTextEntry, float afTime);
Displays a message on the screen.

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.


Code:
void OnStart()
{
AddEntityCollideCallback("Player", "Area", callsthis, false, 1);
}

void callsthis(string &in asParent, string &in asChild, int alState)
{
SetMessage("TextCategory", "TextEntry", 2.0f);
}
THERE YOU GO.

Spoiler below!

Put this in your HPS file and adjust them with your names on the Level Editor.

PHP Code:
void OnStart()
{
AddEntityCollideCallback("Player""ScriptAreaName""TextAppear"true1);
}

void TextAppear(string &in asParentstring &in asChildint alState)
{
SetMessage("MessagesEx""ScriptMsg"0);



Spoiler below!

Put this in your LANG file.

PHP Code:
<LANGUAGE>
  <
RESOURCES>
  </
RESOURCES>
  <
CATEGORY Name="CustomStoryMain">
    <
Entry Name="Description">INPUT STORY DESC HERE</Entry>
  </
CATEGORY>
  <
CATEGORY Name="MessagesEx">
    <
Entry Name="ScriptMsg">YOUR MESSAGE HERE.</Entry>
 </
CATEGORY


EDIT: Ninja'd Sad
But you had the Lang part =P
(03-29-2014, 08:21 AM)WIWWM Wrote: [ -> ]Through scripting. These are the things that you will use.
http://wiki.frictionalgames.com/hpl2/amn..._functions - Look here for all of them.
https://www.youtube.com/playlist?list=PL...9BC99530C8 - This covers alot of the basics to scripting (and some mapping stuff.

void AddEntityCollideCallback(string& asParentName, string& asChildName, string& asFunction, bool abDeleteOnCollide, int alStates);
Calls a function when two entites collide.
Callback syntax: void MyFunc(string &in asParent, string &in asChild, int alState)
alState: 1 = enter, -1 = leave

asParentName - internal name of main object
asChildName - internal name of object that collides with main object (asterix (*) NOT supported!)
asFunction - function to call
abDeleteOnCollide - determines whether the callback after it was called
alStates - 1 = only enter, -1 = only leave, 0 = both

void SetMessage(string& asTextCategory, string& asTextEntry, float afTime);
Displays a message on the screen.

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.

no it didn't worked, i want something like when i stepped on to that area, a message will appear on the middle of the screen like " This is my lantern "
You wouldnt do it through the editor.

(03-29-2014, 08:23 AM)SomethingRidiculous Wrote: [ -> ]THERE YOU GO.

Spoiler below!

Put this in your HPS file and adjust them with your names on the Level Editor.

PHP Code:
void OnStart()
{
AddEntityCollideCallback("Player""ScriptAreaName""TextAppear"true1);
}

void TextAppear(string &in asParentstring &in asChildint alState)
{
SetMessage("MessagesEx""ScriptMsg"0);



Spoiler below!

Put this in your LANG file.

PHP Code:
<LANGUAGE>
  <
RESOURCES>
  </
RESOURCES>
  <
CATEGORY Name="CustomStoryMain">
    <
Entry Name="Description">INPUT STORY DESC HERE</Entry>
  </
CATEGORY>
  <
CATEGORY Name="MessagesEx">
    <
Entry Name="ScriptMsg">YOUR MESSAGE HERE.</Entry>
 </
CATEGORY


EDIT: Ninja'd Sad

Follow this.

Follow mine if your actually gonna learn scripting for yourself.
(03-29-2014, 08:23 AM)SomethingRidiculous Wrote: [ -> ]THERE YOU GO.

Spoiler below!

Put this in your HPS file and adjust them with your names on the Level Editor.

PHP Code:
void OnStart()
{
AddEntityCollideCallback("Player""ScriptAreaName""TextAppear"true1);
}

void TextAppear(string &in asParentstring &in asChildint alState)
{
SetMessage("MessagesEx""ScriptMsg"0);



Spoiler below!


Put this in your LANG file.

PHP Code:
<LANGUAGE>
  <
RESOURCES>
  </
RESOURCES>
  <
CATEGORY Name="CustomStoryMain">
    <
Entry Name="Description">INPUT STORY DESC HERE</Entry>
  </
CATEGORY>
  <
CATEGORY Name="MessagesEx">
    <
Entry Name="ScriptMsg">YOUR MESSAGE HERE.</Entry>
 </
CATEGORY


EDIT: Ninja'd Sad

Didn't worked either, am i doing something wrong?
Got a skype mate?

I'll help you out
(03-29-2014, 08:39 AM)WIWWM Wrote: [ -> ]Got a skype mate?

I'll help you out

No, sorry.. But it works now, i just did something wrong..
Thanks for all your help..
Anytime man best of luck to you. Post back in this thread if you need more help.