MrCookieh
Member
Posts: 157
Threads: 8
Joined: Jul 2011
Reputation:
0
|
RE: Scripting, need urgent help!
Kyle Wrote:There is no SetEntityCallbackFunc. There is:
void OnEnter ()
{
AddUseItemCallback("", "keyone", "door1", "UsedKeyOnDoor", true);
SetEntityCallbackFunc("notethree", "Func");
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door1", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "door1", 0, false);
RemoveItem("keyone");
}
void Func(string &in asEntity, string &in type)
{
if(type == "OnPickup")
{
PlaySoundAtEntity("", "15_body_impact.snt", "Player", 0, false);
PlaySoundAtEntity("", "react_pant5.snt", "Player", 0, false);
StartPlayerLookAt("Player", 3.0f, 3.0f, "");
AddTimer("atticscare", 1, "Func2");
}
}
void OnLeave ()
{
}
This is your fixed code.
A function works like this:
First you need a callback, which 'calls' the function: (for example)
SetEntityCallbackFunc("notethree", "Func");
-> This will call the function "Func".
A function is a part of the code, which only runs through, if it's called.
It starts with void FuncNameHere(ParametersHere){}
In the brackets are the actions, which should be triggered, when the
callback happens
|
|
07-27-2011, 11:15 AM |
|
JetlinerX
Senior Member
Posts: 599
Threads: 49
Joined: Jun 2011
Reputation:
19
|
RE: Scripting, need urgent help!
OMG!!! I GET IT NOW!!! I totally see what everyone was talking about! That code also works to play the sound! YESSSSSSS!!!
One last thing, this is probably in the extra_eng most likely, but how do I make some sort of subtitle on the bottom after the sound, for instance:
"That sound came from the attic right above me, whats going on?"
Also, my second key is not working with this code and I have tried everything I can...
void OnEnter ()
{
AddUseItemCallback("", "keyone", "door1", "UsedKeyOnDoor", true);
AddUseItemCallback("", "key_attic", "atticdoor", "UsedKeyOnDoor", true);
SetEntityCallbackFunc("key_attic", "Func");
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door1", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "door1", 0, false);
RemoveItem("keyone");
}
void UsedKeyOnDoor2(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("atticdoor", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "atticdoor", 0, false);
RemoveItem("key_attic");
}
void Func(string &in asEntity, string &in type)
{
if(type == "OnPickup")
{
PlaySoundAtEntity("", "15_body_impact.snt", "Player", 0, false);
PlaySoundAtEntity("", "react_pant5.snt", "Player", 0, false);
StartPlayerLookAt("Player", 3.0f, 3.0f, "");
AddTimer("atticscare", 1, "OnPickup");
}
}
void OnLeave ()
{
}
(This post was last modified: 07-27-2011, 05:11 PM by JetlinerX.)
|
|
07-27-2011, 04:30 PM |
|
xiphirx
Senior Member
Posts: 662
Threads: 16
Joined: Nov 2010
Reputation:
5
|
RE: Scripting, need urgent help!
Check your syntax, you're missing a closing bracket for "UsedKeyOnDoor".
Also, refer to http://wiki.frictionalgames.com/hpl2/amn..._functions
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.
|
|
07-27-2011, 06:24 PM |
|
JetlinerX
Senior Member
Posts: 599
Threads: 49
Joined: Jun 2011
Reputation:
19
|
RE: Scripting, need urgent help!
On the first "UsedKeyOnDoor" or the second? I cant see what one you mean as they both look the same.
Also, where does that SetMessage go so that it knows when to come up?
Also, I totally forgot about the Scripts Func page! Thanks for reminding me!
(This post was last modified: 07-27-2011, 06:40 PM by JetlinerX.)
|
|
07-27-2011, 06:33 PM |
|
xiphirx
Senior Member
Posts: 662
Threads: 16
Joined: Nov 2010
Reputation:
5
|
RE: Scripting, need urgent help!
Ah, I didn't notice the scrollbar for your script
void OnEnter ()
{
AddUseItemCallback("", "keyone", "door1", "UsedKeyOnDoor", true);
AddUseItemCallback("", "key_attic", "atticdoor", "UsedKeyOnDoor", true);
SetEntityCallbackFunc("key_attic", "Func");
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door1", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "door1", 0, false);
RemoveItem("keyone");
}
void UsedKeyOnDoor2(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("atticdoor", false, true);
PlaySoundAtEntity("", "unlock_door.snt", "atticdoor", 0, false);
RemoveItem("key_attic");
}
void Func(string &in asEntity, string &in type)
{
if(type == "OnPickup")
{
PlaySoundAtEntity("", "15_body_impact.snt", "Player", 0, false);
PlaySoundAtEntity("", "react_pant5.snt", "Player", 0, false);
StartPlayerLookAt("Player", 3.0f, 3.0f, "");
AddTimer("atticscare", 1, "OnPickup");
}
}
void OnLeave ()
{
}
Now pay attention to this part
AddUseItemCallback("", "keyone", "door1", "UsedKeyOnDoor", true);
AddUseItemCallback("", "key_attic", "atticdoor", "UsedKeyOnDoor", true);
You're calling the same key function for both doors here, you just forgot the "2" for the second door
AddUseItemCallback("", "keyone", "door1", "UsedKeyOnDoor", true);
AddUseItemCallback("", "key_attic", "atticdoor", "UsedKeyOnDoor2", true);
|
|
07-27-2011, 06:41 PM |
|
JetlinerX
Senior Member
Posts: 599
Threads: 49
Joined: Jun 2011
Reputation:
19
|
RE: Scripting, need urgent help!
OH CRAP! Nice call! Dang it, this stuff is so tedious!
Hm, It would appear the door remains locked after using the key... ideas?
(This post was last modified: 07-27-2011, 06:56 PM by JetlinerX.)
|
|
07-27-2011, 06:46 PM |
|
JenniferOrange
Senior Member
Posts: 424
Threads: 43
Joined: Jun 2011
Reputation:
33
|
RE: Scripting, need urgent help!
To set a message after the sound:
{
PlaySoundAtEntity("", "15_body_impact.snt", "Player", 0, false);
PlaySoundAtEntity("", "react_pant5.snt", "Player", 0, false);
StartPlayerLookAt("Player", 3.0f, 3.0f, "");
AddTimer("atticscare", 1, "OnPickup");
SetMessage("Messages", "scare", 0);
}
thats for your .hps .
This is for your .lang file=
Add this Category, if you don't already have it:
<CATEGORY Name="Messages">
<Entry Name="scare">yourtexthere</Entry>
</CATEGORY>
And there you go!
Ba-da bing, ba-da boom.
|
|
07-27-2011, 07:54 PM |
|
JetlinerX
Senior Member
Posts: 599
Threads: 49
Joined: Jun 2011
Reputation:
19
|
RE: Scripting, need urgent help!
So the script is just reading it in order, so when the sounds play, it will read the message next? Interesting as 99% of the other parts of the code dont do that, which is why its so confusing! XD
Thanks again "Jennifer" you always come through
Ill let you all know what the results are.
|
|
07-27-2011, 08:57 PM |
|
JetlinerX
Senior Member
Posts: 599
Threads: 49
Joined: Jun 2011
Reputation:
19
|
RE: Scripting, need urgent help!
The message did not pop up after picking up the key :/
|
|
07-27-2011, 11:15 PM |
|
JetlinerX
Senior Member
Posts: 599
Threads: 49
Joined: Jun 2011
Reputation:
19
|
RE: Scripting, need urgent help!
Got it working ^^^^
|
|
07-28-2011, 04:37 AM |
|
|