Frictional Games Forum (read-only)

Full Version: "SetEntityActive" Help.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hello, this time I'm having help with the "SetEntityActive" function, I have made it so if you pick up "potion_oil_1", it is supposed to set 5 "armour_nice_complete"s active, although, it isnt working.


void OnStart()
{
SetEntityPlayerInteractCallback("potion_oil_1", "superscare", true);
}
void superscare(string &in asItem, string &in asEntity)
{
SetEntityActive("armour_nice_complete_1", true);
SetEntityActive("armour_nice_complete_2", true);
SetEntityActive("armour_nice_complete_3", true);
SetEntityActive("armour_nice_complete_4", true);
SetEntityActive("armour_nice_complete_5", true);
}

Any ideas?
Is this the only script in your .hps.
(03-14-2012, 05:28 AM)flamez3 Wrote: [ -> ]Is this the only script in your .hps.
No.


void OnStart()
{
AddEntityCollideCallback("Player", "door_slam", "Slam", true, 1);
AddEntityCollideCallback("Player", "prisonsound1", "Sound1", true, 1);
AddEntityCollideCallback("Player", "prisonsound2", "Sound2", true, 1);
SetEntityPlayerInteractCallback("potion_oil_1", "superscare", true);
}
void Slam(string &in asParent, string &in asChild, int alState)
{
SetSwingDoorClosed("prison_2", true, true);
PlaySoundAtEntity("", "00_laugh.snt", "door_scare", 0, false);
GiveSanityDamage(5.0f, true);
}
void Sound1(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "15_prisoner_scream.snt", "prisonsound1", 0, false);
PlaySoundAtEntity("", "react_scare", "Player", 0, false);
GiveSanityDamage(10.0f, true);
}
void Sound2(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "insanity_baby_cry.snt", "prisonsound2", 0, false);
}
void superscare(string &in asItem, string &in asEntity)
{
SetEntityActive("armour_nice_complete_1", true);
SetEntityActive("armour_nice_complete_2", true);
SetEntityActive("armour_nice_complete_3", true);
SetEntityActive("armour_nice_complete_4", true);
SetEntityActive("armour_nice_complete_5", true);
}

This is my entire .hps.
Do all the other scripts work? Also, is there a error that occurs?
You're using the wrong function to call that function you'd use for oil. SetEntityPlayerInteractCallback is more for when the player interacts with entities like Doors, Chairs etc. For items, use SetEntityCallbackFunc.

Like this:
Code:
void OnStart() {
SetEntityCallbackFunc("potion_oil_1", "superscare");
}

void superscare(string &in asEntity, string &in type) {

SetEntityActive("armour_nice_complete_1", true);
SetEntityActive("armour_nice_complete_2", true);
SetEntityActive("armour_nice_complete_3", true);
SetEntityActive("armour_nice_complete_4", true);
SetEntityActive("armour_nice_complete_5", true);

}
(03-14-2012, 08:14 AM)Equil Wrote: [ -> ]You're using the wrong function to call that function you'd use for oil. SetEntityPlayerInteractCallback is more for when the player interacts with entities like Doors, Chairs etc.

Actually, he just has the wrong callback syntax for the superscare function.
(03-14-2012, 10:05 AM)Your Computer Wrote: [ -> ]
(03-14-2012, 08:14 AM)Equil Wrote: [ -> ]You're using the wrong function to call that function you'd use for oil. SetEntityPlayerInteractCallback is more for when the player interacts with entities like Doors, Chairs etc.

Actually, he just has the wrong callback syntax for the superscare function.

Ah yes, well that too. But Isn't SetEntityCallbackFunc still the more appropriate function to use? Since it includes “OnPickup”, “Break”, “OnIgnite”, etc?

No. I used the same one he is using, works for me with notes; I would imagine it would work with this.
(03-14-2012, 10:25 AM)Equil Wrote: [ -> ]But Isn't SetEntityCallbackFunc still the more appropriate function to use? Since it includes “OnPickup”, “Break”, “OnIgnite”, etc?

Either one should do for whatever scenario, but for most practical cases there is no need to check for the type of interaction made. When determining which one to use, you should ask yourself: Do you need the second parameter? If you're not going to use it, then SetEntityPlayerInteractCallback would be the more logical choice.
I had this problem in my CS, and I asked Statyk. He said that you cannot set static entities active/unactive, so I had to go into the model editor and change the object's properties.
Pages: 1 2