Page 1 of 1

OK need a big fat how to

Posted: Fri Mar 31, 2006 5:10 am
by Tabulanis
I am doing a mystery riddle action thriller and I need a push button combonation lock to work so I would like suggestions on making a close up view of it and how to make it function.

Posted: Fri Mar 31, 2006 3:20 pm
by Kamazy
Use scripts for the button combo.
Have each button have a triger it will set to "true".(When it's been pushed)
And have another script check if all the trigers are "true". And if so, Set another triger to "true" that the door (or locked object will check) will check.

If the buttons need to be in order to unlock the door.
Have the button check the buttons before it if thay are active. And if not set all the button trigers to false.

Check the docs for the triger script commands. (and other things you might need)

As for a close up view just use a camera that if trigered by sothing the player will step on.

The sample level in RF has a camera triger example you can use to see how it works.

Posted: Fri Mar 31, 2006 4:56 pm
by animatrix
Pickles has a demo with this kind of scripting I think,

yeah but i wnt to use a mouse curser to do the pushin

Posted: Sat Apr 01, 2006 12:26 am
by Tabulanis
Yeah but I want to use a mouse curser to to the pushin.
Any way I can do that?

Also I have a friend that is killer with flash scrioting and posting datta can I get flash to talk to RF? And can I get RF to talk to flash?
Or quick time? That would pretty much solv all my problems.
I am sure there is a way I just don tknow it. I hate when you ask a question and all you get for an answer is "NO" Becuase it is seldom true. But I see it alot.

Posted: Sat Apr 01, 2006 12:37 am
by Kamazy
i don't know any way for RF to talk to flash.
What do you mean "mouse curser to do the pushin".
Like a key pad?
Or do you want as you move the mouse up the button gets pished?

[edit]
Is you'r site( http://www.frogfaith.com/ )done cuz the buttons don't work. :?

[edit]

And it says.
"Prosecutors will be violated"
Souldn't it be.
"Violaters will be Prosecuted"
:?

Posted: Sat Apr 01, 2006 12:47 am
by Tabulanis
I know about the sit it is still under construction I have been workin on RF to much. I have proted the site out to a tem so it should be up soon I'll post a deal about it.

If it can talk to flash that would really help make RF a more professional tool. The possobillities would really open up.

I mean a muose curser. Just a plain m muose curser.

Posted: Sat Apr 01, 2006 12:50 am
by Kamazy
Flash it self is great for games but i don't know any engines that use it.
Like a key pad?
Or do you want as you move the mouse up the button gets pished?
???

Posted: Sat Apr 01, 2006 2:22 am
by Tabulanis
I mean you close up on it and the cam is fixed and you have a mouse curser to push buttons with like any other button pushing app. Like web pages etc you get a mouse curser and it pushes buttons.

Posted: Sat Apr 01, 2006 3:01 pm
by Kamazy
Oh... I think thats posible but i don't know how. :)

Posted: Fri Apr 07, 2006 5:51 pm
by Tabulanis
OK got a ways into it. I think the conversation scripting will do it but I dont really know where to start any Suggestions or theroies? (ah creativity even in spelling)

Posted: Sat Apr 08, 2006 6:57 am
by rgdyman
What I did was make a invis. weapon that shot a Proj. called " USEAMMO".
And the weapon was called WorldUse.

You cant see the "weapon" or "bullet"in game but when it shot it would damage any actopr that had th attribute " USE". Just the icon used. I used a hand pointing.

In the script it would run it's " In_ USE" command when it's life reached 0.

Takes a little to get the "USEAMMO" boxsize set to you desire.

And for the boxsize on the actor. I just set the Boxsize to fit the desired " HotSpot" I need for the specific situation.

Heres a script I used for a 6 button combo needed to turn the gears on for a bridge to be created.

Level1_LavaRm_Bridge.s
{
Right [0]
Wrong [0]
delay [1.0]

Spawn[()
{
SetEventState("Wrong_Bridge",false);
//Console(true);
AudibleRadius(2000);
BoxWidth(0.9);
FadeOut(0,0);
LowLevel("First_Check");
}]

First_Check[()
{
self.ThinkTime=1.0;
if(GetEventState("Bridge_1")=true)
{
Right=1;
HighLevel("2_Check");
return 0;
}
if(GetEventState("Bridge_2")=true)
{
Wrong=1;
}
if(GetEventState("Bridge_3")=true)
{
Wrong=1;
}
if(GetEventState("Bridge_4")=true)
{
Wrong=1;
}
if(GetEventState("Bridge_5")=true)
{
Wrong=1;
}
if(GetEventState("Bridge_6")=true)
{
Wrong=1;
}


}]

2_Check[()
{
Delay("",delay,"");
LowLevel("2Check");
}]

2Check[()
{
debug(Right);
self.ThinkTime=1.0;
if(GetEventState("Bridge_2")=true)
{
Right=2;
HighLevel("3_Check");
return 0;

}
if(GetEventState("Bridge_3")=true)
{
Wrong=1;
}
if(GetEventState("Bridge_4")=true)
{
Wrong=1;
}
if(GetEventState("Bridge_5")=true)
{
Wrong=1;
}
if(GetEventState("Bridge_6")=true)
{
Wrong=1;
}


}]

3_Check[()
{
Delay("",delay,"");
LowLevel("3Check");
}]

3Check[()
{
debug(Right);
self.ThinkTime=1.0;
if(GetEventState("Bridge_3")=true)
{
Right=3;
HighLevel("4_Check");
return 0;
}
if(GetEventState("Bridge_4")=true)
{
Wrong=1;
}
if(GetEventState("Bridge_5")=true)
{
Wrong=1;
}
if(GetEventState("Bridge_5")=true)
{
Wrong=1;
}
if(GetEventState("Bridge_6")=true)
{
Wrong=1;
}

}]

4_Check[()
{
Delay("",delay,"");
LowLevel("4Check");
}]

4Check[()
{
debug(Right);
self.ThinkTime=1.0;
if(GetEventState("Bridge_4")=true)
{
Right=4;
HighLevel("5_Check");
return 0;
}
if(GetEventState("Bridge_5")=true)
{
Wrong=1;
}
if(GetEventState("Bridge_6")=true)
{
Wrong=1;
}
}]

5_Check[()
{
Delay("",delay,"");
LowLevel("5Check");
}]

5Check[()
{
debug(Right);
self.ThinkTime=1.0;
if(GetEventState("Bridge_5")=true)
{
Right=5;
HighLevel("6_Check");
return 0;
}
if(GetEventState("Bridge_6")=true)
{
Wrong=1;
}
}]

6_Check[()
{
Delay("",0.5,"");
LowLevel("6Check");
}]

6Check[()
{
debug(Right);
self.ThinkTime=1.0;
if(GetEventState("Bridge_6")=true)
{
Right=6;
HighLevel("Check_Done");
return 0;
}
}]

Check_Done[()
{
Delay("",0.5,"");
LowLevel("CheckDone");
}]

CheckDone[()
{
debug (Right);
self.ThinkTime=0.5;
if(Wrong=1)
{
self.ThinkTime=1.0;
Right=0;
//self.think="Wrong";
HighLevel("Off");
return 0;
}
else
{
if(Wrong=0)
{
HighLevel("Create_Bridge");
return 0;
}
}
}]



Create_Bridge[()
{
SetEventState("Create_Bridge",true);
Delay("",5.0,"Wood_Moving.wav");
SetEventState("Create_Bridge",false);
Delay("",1.0,"");
Delay("",1.0,"Set_Bridge.wav");
NewOrder("Done");
}]

Off[()
{
SetEventState("Wrong_Bridge",true);
SetEventState("Bridge_1",false);
SetEventState("Bridge_2",false);
SetEventState("Bridge_3",false);
SetEventState("Bridge_4",false);
SetEventState("Bridge_5",false);
SetEventState("Bridge_6",false);
Right=0;
Wrong=0;
Delay("",1.0,"");
NewOrder("Spawn");
}]

Done[()
{
RestartOrder();
}]
}


The scripting Gurus or yourself may be able to simplify this script.
But for me it worked. And take my word for it. If it works Leave it.. LOL.
I also think a update of RF does have some mouse commands added in now. I my self havnt attempted using these as of yet. This worked great in it's day.

As for having a close up shot. I made a small version for the player to simply activate. Then in a new area I set a Cam on a detailed verstion of the keypad. In the script I set the cam. A simple teleport player command
or teleport self deal. With a simple text appear in the Lower-center of the screen thatc says "Back" If hit teleport player back to posistion.
Ur set. Works rather well if I dont say so myself.... :P


Anyway. Good Luck. Hope I helped somewhat.