Noobie Question's
- creekmonkey
- Posts: 116
- Joined: Tue Oct 23, 2007 2:55 pm
Noobie Question's
As I am very new to RF I am in need of help. I want to make a trigger to open a door when a pawn Dies. I have searched the forum and read Dan Valeo's book but am still confused. I am able to make a trigger open the door when the trigger is touched. But I want to trigger the door when a pawn dies. I have read the post on the subject and attempted to put in the ACTIVATETRIGGER("trig1") cammand in the DEATH routine But I keep getting the error "ACTIVATETRIGGER" not found. Do I need to define the trigger elsewhere in the script?
- creekmonkey
- Posts: 116
- Joined: Tue Oct 23, 2007 2:55 pm
You are probably using the right command in the wrong level. RF script has two levels: High-level and Low-level. The latter is quite similar to C and execute the commands as frame loop, the former execute the list of commands as a task manager. The command names usually differ in the two levels. So I don't think ActivateTrigger exists in lowlevel, try SetEventState(your_trigger_name, true); if you are in lowlevel.
Are you in lowlevel? that's the question: your script starts highlevel and executes the orders before the pawn death. So before the last order, somewhere before, there should be a LowLevel(""); command to switch to lowlevel, otherwise you're still in highlevel.
Are you in lowlevel? that's the question: your script starts highlevel and executes the orders before the pawn death. So before the last order, somewhere before, there should be a LowLevel(""); command to switch to lowlevel, otherwise you're still in highlevel.
ActivateTrigger is a LOW LEVEL command and does not exist in high level.
In the death routine replace the command
Remove(true);
with
LowLevel("operatetrig");
then add a new order
operatetrig[()
{
ActivateTrigger("trig1");
HighLevel("Death_2");
}]
then add another order
Death2[()
{
Remove(true);
}]
That should do the job for you
In the death routine replace the command
Remove(true);
with
LowLevel("operatetrig");
then add a new order
operatetrig[()
{
ActivateTrigger("trig1");
HighLevel("Death_2");
}]
then add another order
Death2[()
{
Remove(true);
}]
That should do the job for you
Last edited by bernie on Tue Oct 30, 2007 10:32 am, edited 1 time in total.
Yargh. I've asked this more than once of people, how do we know high level fom low level. I'm sorry, but federico's explanation doesn't really get it for me. Would someone please post a colored-up script showing low and high and denoting the point at which we can tell we have gone from high to low?
Thanks.
*whew* - I just had to get that out. Sorry.
Thanks.
*whew* - I just had to get that out. Sorry.
Steve Dilworth - Resisting change since 1965!
- creekmonkey
- Posts: 116
- Joined: Tue Oct 23, 2007 2:55 pm