Frictional Games Forum (read-only)

Full Version: Level door text
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello!
How do i make a text appear in the screen when the player looks at a level door? Here is my script file:
////////////////////////////
// Run when the map starts
void OnStart()
{
AddUseItemCallback("", "Khii", "Lockedd", "KeyOnDoor", true);
SetEntityCallbackFunc("Khii", "OnPickup");
AddEntityCollideCallback("Player", "FlyingJesus_1", "HolyJesus", true, 1);
AddEntityCollideCallback("Jesus1", "FlyingJesus_1", "Sound", true, 1);
AddEntityCollideCallback("Player", "Closett", "Monstar", true, 1);
AddEntityCollideCallback("Player", "Slam1", "func_slam", true, 1);
SetEntityCallbackFunc("Avain", "OnPickup");
}

void HolyJesus(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("Jesus1", true);
AddPropForce("Jesus1", 0, 0, 20000, "World");
}

void Sound(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "24_iron_maiden.snt", "FlyingJesus_1", 0, false);
}

void OnPickup(string &in asEntity, string &in type)
{
SetEntityActive("grunt_1", true);
GiveSanityDamage(10.0f, true);
AddEnemyPatrolNode("grunt_1", "PathNodeArea_1", 2, "");
AddEnemyPatrolNode("grunt_1", "PathNodeArea_2", 1, "");
AddEnemyPatrolNode("grunt_1", "PathNodeArea_3", 1, "");
AddEnemyPatrolNode("grunt_1", "PathNodeArea_4", 1, "");
AddEnemyPatrolNode("grunt_1", "PathNodeArea_5", 1, "");
AddEnemyPatrolNode("grunt_1", "PathNodeArea_6", 1, "");
AddEnemyPatrolNode("grunt_1", "PathNodeArea_7", 1, "");
AddEnemyPatrolNode("grunt_1", "PathNodeArea_8", 2, "");
AddEnemyPatrolNode("grunt_1", "PathNodeArea_9", 1, "");
}

void func_slam(string &in asParent, string &in asChild, int alState)
{
SetSwingDoorClosed("Slammer", true, true);
PlaySoundAtEntity("", "react_breath_slow.snt", "Player", 0, false);
PlaySoundAtEntity("", "react_scare", "Player", 0, false);
PlaySoundAtEntity("", "close_door.snt", "Player", 0, false);
GiveSanityDamage(10.0f, true);
}

void Monstar(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("Closet", true);
}

void KeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Lockedd", false, true);
PlaySoundAtEntity("", "unlock_door", "Lockedd", 0, false);
RemoveItem("Khii");
}
////////////////////////////
// Run when entering map
void OnEnter()
{
}
////////////////////////////
// Run when leaving map
void OnLeave()
{
}

And here is my extra_english.lang file:

<LANGUAGE>
<CATEGORY Name="CustomStoryMain">
<Entry Name="Description">It is year 1898 and your name is John Martin.You are a crazy torturer,who doesnt feel mercy.Now the spirits of the dead people are haunting you and causing strange events.You need to find a potion that will free you from the spirits.</Entry>
</CATEGORY>
<CATEGORY Name="Journal">
<Entry Name="Note_Test01_Name">Secret Passage</Entry>
<Entry Name="Note_Test01_Text">I've succesfully hidden the hole with a carpet that leads to my torture chambers.Unfortunately my door that was leading there collapsed.So i had to dig a tunnel because the rocks were too heavy to be moved.</Entry>
</CATEGORY>
</LANGUAGE>

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
Ok.What about the language file?And does the text appear when i look at the door?
Do you mean like a sign? Like it appears every time you look at it?
Yes,whenever the player looks at it.
Sorry, the only thing I would know is to add a script area over it and make it a "sign". That's all I know about it :/
Should there be this script in the hps file? SetEntityPlayerLookAtCallback(string& asName, string& asCallback, bool abRemoveWhenLookedAt);
(01-19-2012, 05:45 PM)oscar1007 Wrote: [ -> ][url]http://www.youtube.com/watch?v=2BNFw7PR6d4[/url]

Easy Smile
Thanks!