Frictional Games Forum (read-only)
Brute doesn't want to go away. - Printable Version

+- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum)
+-- Forum: Amnesia: The Dark Descent (https://www.frictionalgames.com/forum/forum-6.html)
+--- Forum: Custom Stories, TCs & Mods - Development (https://www.frictionalgames.com/forum/forum-38.html)
+---- Forum: Development Support (https://www.frictionalgames.com/forum/forum-39.html)
+---- Thread: Brute doesn't want to go away. (/thread-16376.html)



Brute doesn't want to go away. - The Shanus - 06-21-2012

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.


RE: Grunt doesn't want to go away. - Adny - 06-21-2012

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.


RE: Grunt doesn't want to go away. - The Shanus - 06-21-2012

(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.


RE: Brute doesn't want to go away. - Cruzore - 06-21-2012

SetPlayerLampOil(float afOil);

max amount is 100.0f, min is 0.0f


RE: Brute doesn't want to go away. - The Shanus - 06-21-2012

(06-21-2012, 06:34 PM)FastHunteR Wrote: SetPlayerLampOil(float afOil);

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


RE: Brute doesn't want to go away. - Adny - 06-21-2012

This page:

http://wiki.frictionalgames.com/hpl2/amnesia/script_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


RE: Brute doesn't want to go away. - The Shanus - 06-21-2012

(06-21-2012, 06:46 PM)andyrockin123 Wrote: This page:

http://wiki.frictionalgames.com/hpl2/amnesia/script_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.