Frictional Games Forum (read-only)

Full Version: Brute doesn't want to go away.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Okay, so I've scripted an event, but would like the brute to despawn at the area "brute1stoparea".

I'm sure there's something wrong with my script, I just can't see it.

Here's my relevant script:
PHP Code:
void OnEnter()
{
AddUseItemCallback("""room101key""room101""UsedKeyOnDoor"true);
AddUseItemCallback("""room100key""room100""UsedKeyOnDoor"true);
AddUseItemCallback("""hollow_needle_1""padlock_rusty_1""unlock_prison_section_1"true);
AddEntityCollideCallback("Player""prison_1swingarea""func_slam"true1);
AddEntityCollideCallback("Player""intromusic1""playintromusic1"true1);
AddEntityCollideCallback("brute1""brute1stoparea""endbrute1"true1);
SetEntityPlayerInteractCallback("prison_1""func_slam"true);
SetEntityCallbackFunc("room100key""OnPickup");
SetEntityCallbackFunc("NOTETWO""OnPickup");
}

void endbrute1(string &in asEntity)
{
SetEntityActive("brute1"false);


I get no errors, but he doesn't deactivate at the area.
Improper syntax for the endbrute1 script (syntax is the stuff inside the "()"). You have:

void endbrute1(string &in asEntity)
{
SetEntityActive("brute1", false);
}

it should be


void endbrute1(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("brute1", false);
}

Also, you should have all callbacks under the "void OnStart()", not OnEnter.
(06-21-2012, 05:58 PM)andyrockin123 Wrote: [ -> ]Improper syntax for the endbrute1 script (syntax is the stuff inside the "()"). You have:

void endbrute1(string &in asEntity)
{
SetEntityActive("brute1", false);
}

it should be


void endbrute1(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("brute1", false);
}

Also, you should have all callbacks under the "void OnStart()", not OnEnter.
Thanks alot. How do I know which arguments to use in the bracket? For future reference.
I'm also wondering - how do I change the amount of oil in the lantern when it's picked up? There are no tutorials for it.
SetPlayerLampOil(float afOil);

max amount is 100.0f, min is 0.0f
(06-21-2012, 06:34 PM)FastHunteR Wrote: [ -> ]SetPlayerLampOil(float afOil);

max amount is 100.0f, min is 0.0f
Great, thanks a bunch.
This page:

http://wiki.frictionalgames.com/hpl2/amn..._functions


has all of the callback syntax listed; just search for the function using "ctrl+f", (for example, search entitycollidecallback). Generally, after the function is listed there will be details; most callbacks will have this afterwards:


Calls a function when two entites collide.
Callback syntax: void MyFunc(string &in asParent, string &in asChild, int alState)
^^ Callback syntax is what you need.


The bolded part is what you need. It is note worthy that sometimes they're not fully written out, like in some cases a part will be written like: "string &in entity" instead of "string &in asEntity", but that shouldn't cause too many problems within the script Big Grin
(06-21-2012, 06:46 PM)andyrockin123 Wrote: [ -> ]This page:

http://wiki.frictionalgames.com/hpl2/amn..._functions


has all of the callback syntax listed; just search for the function using "ctrl+f", (for example, search entitycollidecallback). Generally, after the function is listed there will be details; most callbacks will have this afterwards:


Calls a function when two entites collide.
Callback syntax: void MyFunc(string &in asParent, string &in asChild, int alState)
^^ Callback syntax is what you need.


The bolded part is what you need. It is note worthy that sometimes they're not fully written out, like in some cases a part will be written like: "string &in entity" instead of "string &in asEntity", but that shouldn't cause too many problems within the script Big Grin
Oh, got it! So I'll just search for callback and keep going till it looks like the one I need :p Thanks mate, you've been a great help. And FastHunteR too! Always there for me Big Grin +1 rep.