I am having some trouble making my monster listen to me.
The situation I am dealing with is that I have a monster that is behind a door, what i want to achieve is to make the monster inactive (but visible) until the player hits a particular script area, the thing that is happening right now is that the monster is active regardless of me adding a script making him inactive at the start of the level, and activating him when the player has set a few steps inside the hallway where the monster is hiding in the mist. I have a timer of 15 seconds before the monster should actually become active and attack the player
Can anyone have a look at my script and see if they can find the reason I could be having this trouble with my monster?
Also, if i have this in my script:
if(ScriptDebugOn()) {
}
where do i put my code, i have been looking all over the internet but i can't seem to an find and answer which actually answers my question, where does my code go? between the {}? I have no idea
I am having some trouble making my monster listen to me.
The situation I am dealing with is that I have a monster that is behind a door, what i want to achieve is to make the monster inactive (but visible) until the player hits a particular script area, the thing that is happening right now is that the monster is active regardless of me adding a script making him inactive at the start of the level, and activating him when the player has set a few steps inside the hallway where the monster is hiding in the mist. I have a timer of 15 seconds before the monster should actually become active and attack the player
Can anyone have a look at my script and see if they can find the reason I could be having this trouble with my monster?
Also, if i have this in my script:
if(ScriptDebugOn()) {
}
where do i put my code, i have been looking all over the internet but i can't seem to an find and answer which actually answers my question, where does my code go? between the {}? I have no idea
Is the monster not attacking or what?
What is the problem with the monster?
And Scriptdebug is not easy i can tell you i got it in my script looks like this.
string& asName = enemy's name (eg brute_01)
bool abX = true will prevent the enemy from attacking the player, but it will not be set to inactive (non-existent and invisible) false will make it behave like a normal enemy.
While the ShowEnemyPlayerPosition function isn't entirely incorrect. It will do exactly what it says and, well, show the enemy where the player is no matter what. This means that, no matter how skilled you are at avoiding the gaze of the enemy and no matter how many doors you put between yourself and the enemy, it will know exactly where you are.
Also, I noticed you're using a .txt file. Save it as a .hps or it won't actually let you apply it to the map (at least, not in my past experience)
(This post was last modified: 06-07-2013, 07:26 PM by CarnivorousJelly.)
I am having some trouble making my monster listen to me.
The situation I am dealing with is that I have a monster that is behind a door, what i want to achieve is to make the monster inactive (but visible) until the player hits a particular script area, the thing that is happening right now is that the monster is active regardless of me adding a script making him inactive at the start of the level, and activating him when the player has set a few steps inside the hallway where the monster is hiding in the mist. I have a timer of 15 seconds before the monster should actually become active and attack the player
Can anyone have a look at my script and see if they can find the reason I could be having this trouble with my monster?
Also, if i have this in my script:
if(ScriptDebugOn()) {
}
where do i put my code, i have been looking all over the internet but i can't seem to an find and answer which actually answers my question, where does my code go? between the {}? I have no idea
Is the monster not attacking or what?
What is the problem with the monster?
And Scriptdebug is not easy i can tell you i got it in my script looks like this.
Also if you want the monster to attack you, it should be this Func.
ShowEnemyPlayerPosition("MonsterName");
When you add this script the monster is instant seeing the player and chase him.
If you got any question i like to hear them.
the problem with the monster is, that is should only be activated after the player has walked into a certain trigger area, the problem now is, it is already active and is directly going towards the player once the door is opened. I want the monster to remain inactive for a small period of time before it becomes active and heads towards the player
(06-07-2013, 07:21 PM)Kiandra Wrote: Actually, try this script:
string& asName = enemy's name (eg brute_01)
bool abX = true will prevent the enemy from attacking the player, but it will not be set to inactive (non-existent and invisible) false will make it behave like a normal enemy.
While the ShowEnemyPlayerPosition function isn't entirely incorrect. It will do exactly what it says and, well, show the enemy where the player is no matter what. This means that, no matter how skilled you are at avoiding the gaze of the enemy and no matter how many doors you put between yourself and the enemy, it will know exactly where you are.
Also, I noticed you're using a .txt file. Save it as a .hps or it won't actually let you apply it to the map (at least, not in my past experience)
Kiandra, i don't know if you red my code, but i am already using the SetEnemyDisableTrigger code, that is what i am trying to get working and what does not do what i want.
(This post was last modified: 06-07-2013, 07:55 PM by thaniels.)
(06-07-2013, 08:23 PM)Your Computer Wrote: QuietYou has the wrong callback syntax.
please explain the callback please because im not completely sure what you mean, also could you help me with my timer it seems like every time i walk into my tigger area triggering the activity of my monster he just reacts instantly and comes at my directly instead of waiting the 15 seconds i have indicated with the timer
Entity collide callbacks are supposed to have the syntax string, string, int. However, you have string, bool for QuietYou. Timer callbacks are supposed to have the syntax string. However, Attack has string, bool and DoorClose has string, string, int.
Ok I have changed the syntax but the monster still doesn't wait 14 seconds before it starts moving to my location, it still happens instantly, can anyone help me?
(This post was last modified: 06-09-2013, 07:39 PM by thaniels.)
Exactly the same as code within a function, the way you show that a block of code belongs in a certain group is with { and }
Here's an example, first as you might see it, and in the second example I've marked it up with comments to show what I mean
void Function(stuff)
{
CODE HERE
if (x == y)
{
CODE HERE
}
}
void Function(stuff)
{ // this starts the code block for Function
CODE HERE
if (x == y)
{ // this starts the code block for the 'if'
CODE HERE
}// this ends the code block for the 'if'
} // this ends the code block for Function
It's also worth remembering that it doesn't matter where you put the { and }, so long as they are there
All of these examples are valid
Actually, No. I do want the entity to not notice the player when the player enters the QuietYou volumes and become active when i enter the attack volume, i want the entity to only after a sound file has been played to become active and go towards the player