Yes, you should :) Use it like this:
AddEntityCollideCallback(string& asParentName, string& asChildName, string& asFunction, bool abDeleteOnCollide, int alStates);
string& asParentName: the main object - in this case, it's "Player"
string& asChildName: the thing being collided with - in this case, it's whatever you called the area
string& asFunction: the script you're calling
bool abDeleteOnCollide: true or false, it wants to know if the function should occur every time you collide with the area
int alStates: when the collision starts; on entering the area (1), on leaving the area (-1) or both (0)
The program is case-sensitive, so watch for capitals, and make sure you use quotation marks where it says string, or the script won't work!
I should add an example:
void OnStart()
{
AddEntityCollideCallback("Player", "area_monster", "script_ahhh", true, 0);
//The player is colliding with area_monster to trigger a script later in the file, which is called script_monster
//It will be deleted after the player triggers it, so it won't happen again
// The script will be triggered when the player enters or leaves the area
}
void script_ahhh(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("monster_grunt_1", true);
//This sets a pre-determined grunt model into existence in the player's world
}
Also, the lines with // in front of them are just comments (me explaining stuff)