Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

FPSC Classic Scripts / [LOCKED] Everything you've ever wanted to know about scripting...

Author
Message
BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 7th Oct 2005 22:42 Edited at: 21st Oct 2007 00:21
Welcome to my first scripting tutorial.

before this tutorial begins, i recomend checking out other similar tutorials listed below:

A Complete Newb's Guide to Scripting - Plystire
http://forum.thegamecreators.com/?m=forum_view&t=116527&b=23

This tutorial is aimed specifically at the newbs that FPSC V1 brought in. Actually, i wrote it because sarusx asked me to...but it should help out the newbs a lot. For the purposes of this tutorial, we will be creating a flashing light script, that will flash dynamic lights on and off at set intervals. This type of script can be useful for alarms, warning lights, or whatever else you can think of to use it with.

so...enough talk, on with the tutorial.

firstly: start up notepad. its located in

"start > All programs > accssosories > notepad"

NOTE:not everybody uses notepad, infact, it would probbably be better for the people new to scripting to use rlopez's Fpi maker, but, for the purposes of teaching, we will use notepad for this tutorial. you can find fpi maker here:

http://forum.thegamecreators.com/?m=forum_view&t=62056&b=23
FPI commands in this tutorial:

(conditions)

TIMERGREATER=X
is true when the internal FPI timer exceeds X in milliseconds
STATE=X
is true when the value stored in the FPI script is equal to X

(Actions)

LIGHTON
Turns Dynamic light on
LIGHTOFF
Turns Dynamic light off


Headers and footers

although these are not required for a script to run, the default FPI scripts (the ones that came with FPSC)
all basically look like this:



Definitions:

;Artificial Intelligence Script
= this is basically telling you what the script is. it never changes.

;Header
= this is the start of the header. it also never changes.

desc
= the description of the object or script.

;Triggers
= this is the start of the triggers. it also never changes.

;End of Script
= The end of the script. it never changes.



FPI "separators"

there is nothing in FPI scripting really called separators, but i have called the commas and colons that we will use this name according to there purpose.

commas

you put a comma (,) between 2 conditions or 2 actions. this enables you to have a lot of different requirements in

your code that the game has to meet before your actions can be carried out.

for example: if you wanted 2 conditions in one line, it would look like this:

(condition),(condition)

notice there are no spaces. the same exact thing applies to actions:

(Action),(Action)

there is no limit to the number of conditions or actions you can have in one line or even 1 script, but be
weary, you dont want 100 actions to initiate at the same time, that might mess the frame rate up...


colons

You put colons ( between actions and conditions to separate them.
for example:

(condition)action)

colons, in a way, kind of represent the word "then". so, you could translate the above line as:

"if (condition) then (action)

so, if the condition is met, then activate the action. the one exeption to this, is that you ALWAYS put a colon as the very first thing on every line, like this:

:state=x,(condition),(condition)action),(action)

The "state" command

secondly, lets learn about states. This is probbably the most confusing command to newcomers, which is sad, but they just dont seem to get it despite the fact of how easy it is to grasp. The most confusing thing about this command is that it acts as both a global variable, and an action. this is explained in more detail below under "Code line format".

The STATE command is simple...its a global variable for your specific script that regulates the
conditions and actions within your script so that they all dont happen at the same time.

For example: if there was no STATE command, the script would initiate all the conditions and actions at the same
time, which would make for some very odd results.

in our flashing light script, if there was no state command to regulate the LIGHTON and LIGHTOFF commands,
then they would initiate at the same time, which would probbably cause FPSC to crash.


Note: FPI scripting puts the default state at zero, so it would be wise to include the line:

:state=0:state=1

at the begining of your code, unless you need an imediate action to be present at the exact second the game starts.

It just so happens that our code does require this. when the game starts, we want our light to start in the
"off" position. we also need our timer to start at the very begining of the game, so our first line of code will

look like this:

:state=0:lightoff,timerstart,state=1



conditions

conditions are easy to understand as well if it is explained to you well, so i will try to do just that.
every condition is basically a requirement. think of it this way, take any FPI condition, add the word "IF"
before it, and you have your requirement.

so, for our flashing light script, we would use the "timergreater=x" command. so basically, our command, if we
translated it to endlish from FPI language, it would be "if timer greater=(# in milliseconds)". not very good

english, but i think you get the idea.



Actions

Actions are, well, actions. they execute theire definition. for example: if you have the action "LIGHTOFF", the
definition for that spaecific command is "turns Dynamic light off".

so, if you had the command "LIGHTOFF" in a script...it would turn the dynamic light off...(DUH!)



Code line format

so, "if timer greater=(# in milliseconds) Then (ACTION)" that would be a line of code in english. we add the word

"then" after our condition but before our action, and we have our completed line.

if we transfer our line of code in english to FPI language, it would look like this:

:state=1,timergreater=750:state=2

as you can see, the first part (:state=1) has our global state. when this state is initiated, it reads the condition "timergreater=750"...so, if the timer is greater than 750 (milliseconds), then it moves on to
initiate the action within that state. in this case, it would move on to the action "state=2". this is where
it gets a little confusing for some people. when the "state=x" command appears after the ":", it is telling the script to initiate state x.

for example: if you have the above line of code, if your code meets the requirements for the condition "timergreater", then it would go on to state 2, like this:

:state=0:lightoff,timerstart,state=1
:state=1,timergreater=750:state=2
:state=2:lighton,timerstart,state=3

so, our code plays state 1, then, when the timer is greater than 750 milliseconds, it goes to state 2. in state 2,
the light turns on, and the timer restarts...got it?

if you have the format down, then our last line should be easy. all we need is another state that waits 300 miliseconds before going back to state 0.
the last line of code would look like this:

:state=3,timergreater=300:state=0

you should be catching on by now, but just incase your not, this line means that when state 3 is activated, and
the timer is greater than 300 milliseconds, then it goes back to state 0 and the code starts all over again, making it a never ending loop.


The simple Script

So...if youve been folowing this, your code should look like this:




FPSC compatability

ok, now that we have our flashing light script(see above), we want to use it. so in notepad, go to "file >save as"
and type in "flashinglight.fpi" in the file name part, and where it says "save as type", you should see "text documents (.txt)" in that area. we dont want this, so click the arrow and scroll down to "any type". then, at the top, navagate to your FPSC scriptbank/user directory. by default it is:

C:program files/the game creators/fps creator/files/scriptbank/user

click "save" to save your script. then open up FPSC, place down any prefab or anything. go to markers, and place any color light. once youve placed the light, right click on it and change the "static mode" property from "yes" to "no".then click on where it says "main" under "AI scripts" and change light1.fpi to your new flashing light script in the user folder. then click apply changes. after that, go up to "file" and click "preferences" and make sure that the boxes for "dynamic lights" and either "quick light mapping" or "full light mapping" are checked. then test your game to watch your light flash!


closing

i hope this helps everybody out...
you shouldent need this, but if you guys are still having trouble, i can post a download with pictures and stuff.

http://www.seqoiagames.com
SarusX
19
Years of Service
User Offline
Joined: 21st Jul 2005
Location: Behind u- thats where a rangers gonna be
Posted: 8th Oct 2005 00:52 Edited at: 8th Oct 2005 00:57
bravo, bullshock, bravo. thanks so much for your help.

EDIT: oh, i just noticed that when you put in a ) and then ; (meaning a parenthesis and a semicolon) the boards changed it to a smiley. lol.

BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 8th Oct 2005 00:56
glad to help...did it help you at all?

SarusX
19
Years of Service
User Offline
Joined: 21st Jul 2005
Location: Behind u- thats where a rangers gonna be
Posted: 8th Oct 2005 01:00
very much... although im stil figuring stuff out, this is a great, great guide.


200000000000000000 points for you.

BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 9th Oct 2005 06:03
thats a lot of points...it seems your like the only one that noticed it was here...

SarusX
19
Years of Service
User Offline
Joined: 21st Jul 2005
Location: Behind u- thats where a rangers gonna be
Posted: 9th Oct 2005 06:20
pfft... people. tgc should sticky this, its very helpful.

(in case you didnt know, that pfft was me blowing air through my lips and roaling my eyes.)

and yes, i have many points to give. i give you 10 more.. becuase i have so many.

Bullshock2=
0+200000000000000000=200000000000000000
200000000000000000=10=200000000000000010
Total= 200000000000000010

Merranvo's still in the lead... i almost got slapped for the # of points i gave him.

what can i say, im a giver.

Merranvo
19
Years of Service
User Offline
Joined: 24th May 2005
Location: That ^ is a Orange
Posted: 9th Oct 2005 20:56
I wanna script a troll. How do you script a Troll. I WANNA, I WANNA, I WANNA!

Great Job BullShox, did what I couldn't do, sit down for an hour and explain some simple scripting. But reading QBasic For Dummies will do the same thing, just less work for you. You know what you need, Bullshox, a Hello World! lol.

P.S. Instant stickies, post a lot in a thread, and it will stay at the top! Who needs TGC? They never give us any of our SIMPLE requests, why would they give us any of our bigger requests. Like stickies.

Merranvo, taking over the net, one forum at a time.

"ye oft de adopte early shalt move mountains, and be gods among men"
SarusX
19
Years of Service
User Offline
Joined: 21st Jul 2005
Location: Behind u- thats where a rangers gonna be
Posted: 10th Oct 2005 01:25
oh, come now, hail, dont be mean to TGC. they've given us so much.

BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 10th Oct 2005 17:54
yeah...i guess i was a little TO specific on certain parts...like the saving part ...lol

any way... i guess no one really needs it...

Vlad
19
Years of Service
User Offline
Joined: 5th Oct 2005
Location:
Posted: 10th Oct 2005 19:46
Believe it or not, I think it was the first time I ever understood what that : ; = thing was all about. True that I'm not doing the AI but I should understand some I guess... now I do.

Thank you.

V
Evil stick
19
Years of Service
User Offline
Joined: 27th Mar 2005
Location:
Posted: 12th Oct 2005 04:17
Check your email Bullshock.

I ALWAYS have flame proof jacket...just in case...and a shotgun. If you want any, just ask!

We are all nice,except for that one who's name starts in a m and ends in erranvo.
guerilla
19
Years of Service
User Offline
Joined: 5th Aug 2005
Location:
Posted: 16th Oct 2005 14:47
Thanks a lot for this tutorial I really need it!

CCC-GAMES
BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 16th Oct 2005 23:08
glad to help

Evil stick
19
Years of Service
User Offline
Joined: 27th Mar 2005
Location:
Posted: 19th Oct 2005 13:34
No, it checks the conditions, if one is unmet, nothing will happen, they all have to be met to move on.

I ALWAYS have flame proof jacket...just in case...and a shotgun. If you want any, just ask!

We are all nice,except for that one who's name starts in a m and ends in erranvo.
BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 19th Oct 2005 15:23
ya, hes right, everything on that line has to be met for it to execute that action.

Les Horribres
19
Years of Service
User Offline
Joined: 20th Nov 2005
Location: My Name is... Merry
Posted: 26th Dec 2005 21:04
BLoopity Bum

Merranvo, The Cool One

Anti-Noob Justice League, an ANJL of Mercy.
Nigezu
18
Years of Service
User Offline
Joined: 25th Nov 2005
Location: Oulu, Finland
Posted: 26th Dec 2005 21:48
Thanks for the tutorial!
I hope I learned something!


Intel Pentium 4 Processor 519 3.06 Ghz, 1536 MB DDR, Ati Radeon 9550 256MB
Obbidiah
19
Years of Service
User Offline
Joined: 21st Nov 2005
Location: England
Posted: 26th Dec 2005 23:22
Thanks Bullsock 2 VERY VERY Helpful,Im an OLD man so this will come in useful for learning how to use FPS properly.
DJ Professor K
18
Years of Service
User Offline
Joined: 19th Dec 2005
Location: Somwhr in front of a brokn kyboard.....
Posted: 26th Dec 2005 23:40
good work in here, i think this should go stiky

ya win a [cookie] (since this forum doesn't have cookie emototions, here ya go )

My love is seperated in 2 parts, 1 of them is 3ds Max 7, the other; FPSC.
monchau
18
Years of Service
User Offline
Joined: 24th Dec 2005
Location:
Posted: 30th Dec 2005 15:32
Thanks for the tutorial I hope I learned something
BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 3rd Jan 2006 10:35
ive actually bumped this a lot trying to make the mods reckegnize it and possibly sticky it, since so many peopl ask about scrpiting, but, i guess they dont want to...

=ChrisB=
19
Years of Service
User Offline
Joined: 23rd Jun 2005
Location: starring into a viewfinder
Posted: 5th Jan 2006 07:24
Thanks homey!

Your signature has been erased by a mod
brummel
18
Years of Service
User Offline
Joined: 26th Nov 2005
Location: Sweden
Posted: 5th Jan 2006 12:29
Can you write a tutorial for fpe:s to?

You better were daipers when you play my games, because you´re gonna shit yourself when you play my games
Freddy12
18
Years of Service
User Offline
Joined: 8th Mar 2006
Location:
Posted: 9th Mar 2006 22:41
Does anywhone who this reads know how to show text into your FPS game. Just a line like: This door is locked, mayby there is a key somewhere at the bed. Not a very smart sentence but who cares
Tom0001
18
Years of Service
User Offline
Joined: 30th Dec 2005
Location:
Posted: 13th May 2006 17:38
*bump*
Useful, Bullshock and I think this should get a sticky, so we'll all just have to continue bumping it until it does.

Tom

uman
Retired Moderator
20
Years of Service
User Offline
Joined: 22nd Oct 2004
Location: UK
Posted: 13th May 2006 23:34
A good basic scripting overview from Bullshock - very useful for all useres new to FPSC scripting to read and learn from.

To understand these basic features of scripting is vital to progressing to more advanced scripting and I would agree that in a scripting forum such a thread would be an important addition to bwe kept at the top of the page particularly so that newer users could benefit from its visibility to them.

Sticky might indeed be considered.
Jordan Siddall
20
Years of Service
User Offline
Joined: 1st Mar 2004
Location: UK
Posted: 17th May 2006 13:34
Wow, this really helped! Cheers BULLSHOCK 2!

Hollywood
18
Years of Service
User Offline
Joined: 17th May 2006
Location: name say it all............. or does it?
Posted: 22nd May 2006 22:52
Thanks BULLSHOCK 2 this helped me learn how to script a little bit thanks again.


Hollywood
MR AntiN00B
18
Years of Service
User Offline
Joined: 22nd May 2006
Location:
Posted: 23rd May 2006 05:40
Dude holy crap tysm this helped me out alot npw i can finally make my new game tahnk again keep it up man
BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 23rd May 2006 21:06
glad to help

Avenging Eagle
19
Years of Service
User Offline
Joined: 2nd Oct 2005
Location: UK
Posted: 23rd May 2006 21:22 Edited at: 23rd May 2006 21:23
Quote: "200000000000000010"

200 trillion and ten

...alot...

AE

Tom0001
18
Years of Service
User Offline
Joined: 30th Dec 2005
Location:
Posted: 24th May 2006 02:53
*STIIICKY! STIIICKY! STIIICKY!*

Tom

Me Self
18
Years of Service
User Offline
Joined: 7th Mar 2006
Location:
Posted: 24th May 2006 03:10 Edited at: 24th May 2006 03:13
Quote: ""Hacks to become mod then stickys""

Then people say ->


Attachments

Login to view attachments
BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 24th May 2006 06:46
guys, i wrote this a LOOOOOOOONG time ago...

and it was never stickied then, so i doubt it will be a stcky now...

Me Self
18
Years of Service
User Offline
Joined: 7th Mar 2006
Location:
Posted: 24th May 2006 07:53
so somone bumbed it?

Les Horribres
19
Years of Service
User Offline
Joined: 20th Nov 2005
Location: My Name is... Merry
Posted: 26th May 2006 23:28 Edited at: 26th May 2006 23:29
Yep...
I wonder why people are **** I mean, this thread SHOULD be linked in that FAQ I have, and only after tom bumps it is it rediscovered...

Butch Cassidy
Bonnie and Clyde
And Guns and Roses
present...
BOOM BOOM BOOM...
Sir, they keep comming... they keep comming... AHHHHHHHHHHHHHHH.

We all have our inner noob. Join the NJL, and have more fun!
I believe society is flawed; our notions on life, on child rearing, stem too far back to be of relevance in this day and time.
BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 27th May 2006 04:46
what the hell hapened on your super long break?

IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 28th May 2006 21:35
So, why didn't anyone email one of us?

For free Plug-ins and source code http://www.matrix1.demon.co.uk
BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 28th May 2006 22:43
yayyyyyyyyyy!

thanks ianM!!!!

woohooo!

Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 28th May 2006 22:55
Bullshock,

you finaly go the onor you deserved(Sorry for that Onor,dont know how to spell it yet )

Sixty Squares
18
Years of Service
User Offline
Joined: 7th Jun 2006
Location: Somewhere in the world
Posted: 17th Jun 2006 21:25 Edited at: 17th Jun 2006 21:27
OK that was VERY NICE AND AWESOME but just ONE thing i didn't get there...
==When you say to "right click on the light"... Well, When I do it FPSC goes into this "move the light with the arrowkeys instead of inserting your script, YAY!" mode, and it's annoying. Could you help?

Edit: HAHAHAHAHA OK NEVERMIND the editing thing is on the side didn't notice it.. yes I know I am a noob.

I doubt you can draw me/60 by hand, so you REALLY can't draw ME/1, can you?
Tom jerry
18
Years of Service
User Offline
Joined: 25th Jun 2006
Location:
Posted: 26th Jun 2006 07:45
thx i will read it carefully for i am a beginner.
BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 1st Jul 2006 09:03
Glad to help you guys out


http://www.seqoiagames.com/seqoiacorp/
DJ TJJ
18
Years of Service
User Offline
Joined: 8th Jul 2006
Location: mobius
Posted: 15th Jul 2006 10:27
yay! i can script now!
Game Creator21
18
Years of Service
User Offline
Joined: 17th Jul 2006
Location:
Posted: 18th Jul 2006 06:03
Thanks 10000000 points
Snage
18
Years of Service
User Offline
Joined: 12th Jan 2006
Location: UK
Posted: 15th Aug 2006 10:45
Hi Bullshock 2

Im trying to script a charactor to drop a key, i have tried diffrent ways but, sometime the charactor body desapears but no key, other times body stays on floor and when you walk up to it say "you need a key press enter" now i have got my self confused, any ideas please.

Snage
xplosys
18
Years of Service
User Offline
Joined: 5th Jan 2006
Playing: FPSC Multiplayer Games
Posted: 30th Aug 2006 15:50
@BULLSHOCK 2

You wouldn't happen to have a handy list of all the .fpi statements and conditions, would you?

BULLSHOCK 2
Retired Moderator
19
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Shocking Bulls
Posted: 31st Aug 2006 20:51 Edited at: 31st Aug 2006 20:54
Quote: "Conditions list"

These are the condition words, which will perform actions if all are true:
NEVER is never true
ALWAYS is always true
STATE=X is true when the value stored in the FPI script is equal to X
RANDOM=X is true when a random value between 0 and X is equal to one
HEALTH=X is true when health equals X
HEALTHLESS=X is true when the health is less than X
QUANTITY=X is true when quantity is equal to X
SPEED=X is true when speed is equal to X
ASSOCIATED=X is true when entity has been associated with player (lift)
PLRDISTWITHIN=X is true when player is within X units
PLRDISTFURTHER=X is true when player is further than X units
PLRALIVE=X is true when player is alive and X is one
PLRHIGHER=X is true when player is X units higher than entity
PLRELEVWITHIN=X is true when player can be seen within X degrees vertical
PLRELEVFURTHER=X is true when player cannot be seen X degrees vertical
ANYWITHIN=X is true when any other entity moves within X quarter tiles
ANYFURTHER=X is true when no within X quarter tiles
PLRCANBESEEN is true when player can be seen
PLRCANNOTBESEEN is true when player cannot be seen
PLRHASKEY=X is true when player has pressed the key denoted by the value X
PLRUSINGACTION=X is true when player performs the USE action
SHOTDAMAGE=X is true when damage taken exceeds the value X
IFWEAPON=X is true when the weapon being used by entity is ready and X is
one
ACTIVATED=X is true when the activation value of the entity equals X
PLRWITHINZONE is true when player is within the trigger zone
ENTITYWITHINZONE is true when an entity is within the trigger zone
PLRINGUNSIGHT=X is true when an entity has the player is gun sights
NEARACTIVATABLE=X is true when entity is being near activated
NEWWEAPONCANBESEEN=X is true when the entity can see a better weapon
NOISEHEARD=X is true when the entity hears a broadcast noise from scene
RAYCAST=X Y is true when the raycast hits something in front from X to Y
units
RAYCASTUP=X is true when the raycast hits something above from X to Y units
RAYCASTBACK=X is true when the raycast hits something back from X to Y units
FRAMEATEND=X is true when animation X is at an end
FRAMEATSTART=X is true when animation X is at the beginning
FRAMEWITHIN=X Y is true when animation X is within frame Y
FRAMEBEYOND=X Y is true when animation X is beyond frame Y
ANIMATIONOVER=X is true when animation X is complete
ALPHAFADEEQUAL=X is true when the alpha value equals X
REACHTARGET=X is true when the entity has reached its target
LOSETARGET=X is true when the entity has got stuck after X attempts
HEADANGLEGREATER=X is true when the angle of the head is greater than X
HEADANGLELESS=X is true when the angle of the head is less than X
WAYPOINTSTATE=X is true when the waypoint state value equals X.
State 0 means the entity has not yet started following
waypoints
State 1 means the entity is looking for the nearest waypoint
marker to start from
State 2 means the entity is following a waypoint line to its
current waypoint marker
State 3 means the entity has reached the waypoint marker and
needs to decide what to do
State 4 means the entity has reached the waypoint marker and
it splits off in more than one other direction
State 5 means the entity has reached the very end of the
current waypoint structure and requires a decision to be made.
A state of 999 means the entity has been placed in zero-
waypoint mode where the entity simply ignores waypoints.
IFMARKER=X is true when there is a marker previously dropped by entity in
scene
IFPLRTRAIL=X is true when there is a trail left by the player in existence
HUDSELECTIONMADE=X is true when the user has clicked HUD button X
TIMERGREATER=X is true when the internal FPI timer exceeds X in milliseconds
ESCAPEKEYPRESSED=X is true when the Escape Key has been pressed
PLRHEALTHLESS=X is true when the players health falls below X
PLRHEALTHGREATER=X is true when the players health is greater than X
ANYWITHIN=X is true when any entity is closer than X to it
ANYFURTHER=X is true when any entity is further than X from it
CANTAKE is true if the entity can be collected by player
ANYWITHINZONE is true when any entity is within its zone
NORAYCASTUP=X Y is true when no collision upwards X to Y
HUDEDITDONE=X is true when ‘editable’ HUD item X is used
HUDHAVENAME is true when no player-name has been entered









Quote: "Actions list"

NONE no action
DESTROY destroy entity
SUSPEND disable the entity permanently, and keep it visible
RUNFPIDEFAULT=X run a default FPI script by value X (0-init,1-main,2-end)
RUNFPI=X run another FPI script by name X(ie appear1.fpi)
STATE=X sets the value of the internal variable State to X
MOVEUP=X moves the entity up by X units
MOVEFORE=X moves the entity forward by X units
MOVEBACK=X move the entity back by X units
FREEZE=X stop entity from moving
ROTATEY=X set the entity angle around the Y axis for X degrees
ROTATEIY=X rotate the entity around the Y axis incrementally for X degrees
ROTATETOPLR rotate the entity to face the player
RESETHEAD reset the angle of the head if the entity has one
ROTATEHEAD=X rotate the head of the entity by X degrees
ROTATEHEADRANDOM=X rotate the head of the entity at random by X degrees
FORCEBACK=X apply a force to the entity by a factor of X backwards
FORCEFORE=X apply a force to the entity by a factor of X forwards
FORCELEFT=X apply a force to the entity by a factor of X left
FORCERIGHT=X apply a force to the entity by a factor of X right
FORCEBOUNCE=X apply a force to the entity to cause it to bounce back by X
SPINRATE=X spin the entity around the Y axis at a rate of X
FLOATRATE=X cause the entity to float in the air at a hover rate of X
SETFRAME=X set animation X start frame
INCFRAME=X increment another frame in animation X
DECFRAME=X decrement another frame in animation X
ANIMATE=X automatically play animation X.
In regards to characters provided, there are a number of
animations built in which can be played
PLRASS=X associate this entity with the player (lift)
PLRNOASS=X disassociate this entity from the player
PLRMOVEUP=X move the player up by X units
PLRMOVEDOWN=X move the player up by X units
PLRMOVEEAST=X move the player east by X units
PLRMOVEWEST=X move the player west by X units
PLRMOVENORTH=X move the player north by X units
PLRMOVESOUTH=X move the player south by X units
PLRMOVETO=X move the player to a new location described by entity name X
PLRMOVEIFUSED=X if player performs the USE action, move the player as above
ACTIVATEIFUSED=X activate entity described in IFUSED property
ACTIVATEIFUSEDNEAR=X activate entity described in IFUSED and near it
ACTIVATETARGET=X activates the entity previously marked as the target with X
ACTIVATE=X activate this entity using the value X
ACTIVATEALLINZONE=X activate all the entities within the trigger zone with X
PLRADDHEALTH=X adds X points to the players health
SETTARGET sets the internal target for the entity, follows ‘target’ conditions
ROTATETOTARGET rotate the entity to face the target
LOOKATTARGET rotate the head of the entity to face the target
MOVETOTARGET moves to the target
COLLECTTARGET if the target is a collectable, collect the target if close
CHOOSESTRAFE randomly selects a strafe direction (ie left/right/forward)
STRAFE perform the previously chosen strafe to avoid player shots
PIVOTRANDOM=X randomly pivots around to face another direction by X degrees
LOOKATPLR=X look directly at the player even if the player cannot be seen
SOUND=X plays a sound specified by the X filename. Use $0 to specify
soundest
3DSOUND=X plays a 3D sound specified by the X filename. Use $0 for
soundest
LOOPSOUND=X loops a 3D sound specified by the X filename.
ALTTEXTURE=X set the texture used based on X being either zero or one
SETALPHAFADE=X set the alpha value to X which causes entity transparency
INCALPHAFADE=X increment the alpha fade, X being the destination
DECALPHAFADE=X decrement the alpha fade, X being the destination
RUNDECAL=X create a decal from the entity, X being a specific mode 1-6
WAYPOINTSTART instructs the entity to find the closest waypoint
WAYPOINTSTOP stops the entity following waypoints
WAYPOINTREVERSE makes the entity reverse course and go the other way
WAYPOINTNEXT instructs the entity to find the next waypoint
WAYPOINTPREV instructs the entity to find the previous waypoint
WAYPOINTRANDOM instructs the entity choose a random waypoint direction
DROPMARKER drops a marker the entity can later return to
NEXTMARKER instructs the entity to go to the last dropped marker
RESETMARKERS resets all markers dropped by this entity
FOLLOWPLR follows the players trail if one exists
PLRTAKE used to add an entity to the players inventory and acquire its
assets
PLRDROP used to drop an item from the players inventory
SHOOTPLR runs the internal FPI script SHOOT specified in character
properties
USEWEAPON fires any weapon half by an entity in the direction of the target
RELOADWEAPON reloads the weapon from the entities stock of infinite ammo
COLOFF deactivate all player collision with this entity
COLON activate all player collision with this entity
ACTIVATE=X sets the activation value of the entity to X
AMBIENCE=X sets the overall ambient light level within the scene to X
AMBIENCERED=X sets the red component of the ambient light to X
AMBIENCEGREEN=X sets the green component of the ambient light to X
AMBIENCEBLUE=X sets the blue component of the ambient light to X
FOG=X sets the fog mode within the scene when X is one
FOGRED=X sets the red component of the fog to X
FOGGREEN=X sets the green component of the fog to X
FOGBLUE=X sets the blue component of the fog to X
SKY=X sets the skybox to the sky model specified by X filename
SKYSCROLL=X sets the sky scroll texture to the file specified by X filename
BACKDROP=X loads and pastes the screen backdrop using X filename
MUSIC=X loads and plays the WAV using X filename
MUSICVOLUME=X sets the music volume in the range of 0-100
LIGHTON=X lighton
LIGHTOFF=X lightoff
LIGHTRED=X lightred
LIGHTGREEN=X lightgreen
LIGHTBLUE=X lightblue
LIGHTRANGE=X lightrange
HUDRESET=X call this to reset the HUD creation system
HUDX=X sets the X position percentage of where you want your HUD
item to be
HUDY=X sets the Y position percentage of where you want your HUD
item to be
HUDZ=X sets the Z position percentage of where you want your HUD
item to be
HUDSIZEX=X sets the X size of your HUD item
90
HUDSIZEY=X sets the Y size of your HUD item
HUDSIZEZ=X sets the X size of your HUD item
HUDRED=X sets the red component of your HUD item
HUDGREEN=X sets the green component of your HUD item
HUDBLUE=X sets the blue component of your HUD item
HUDIMAGE=X sets the image filename of your HUD item
HUDFONT=X sets the font name of your HUD item
HUDSIZE=X sets the font size of your HUD item
HUDTEXT=X sets the text that will be used in place of no image of the HUD
item
HUDTYPE=X set the HUD type (1-lives,2-health,3-weapon)
HUDHIDE=X set X to the name of the HUD item to hide it
HUDSHOW=X set X to the name of the HUD item to reveal it
HUDUNSHOW=X set X to the name of the HUD item to un-hide it
HUDNAME=X set the name of the HUD item you are creating
HUDANIM=X set the filename X of the animation sequence (exclude #.TGA)
HUDMAKE=X when all HUD items set, use this action to finally create the HUD
NEWGAME=X trigger the running of a new game (typically from title page)
LOADGAME=X trigger the loading of a saved game
SAVEGAME=X trigger the saving of a current game
CONTINUEGAME=X continue game action issued to move onto the next page
QUITGAME=X trigger the current game to quit back to the title page
PAUSEGAME=X trigger the game to pause, and typically enter the game menu
RESUMEGAME=X trigger the game to resume, after previously being paused
TIMERSTART reset the FPI script timer to zero, allowing timing to take place
FLOORLOGIC=X if X is one, entity never leaves its Y position
INCSTATE=X increments the state variable by X
RUNFORE makes the entity move forward at a run
ADVFRAME=X advances the animation by X percent
SHAPEDECAL=X changes the decal mode to X for the entity
TRIGGERFORCE=X applies a force to the entity by a magnitude of X
SOUNDSCALE=X changes the 3D sound scale by percentage X
HUDIMAGEFINE=X loads the image for the HUD using high quality
HUDFADEOUT causes the HUD item to fade from the screen
HOSTGAME triggers a multiplayer game to be HOSTED
JOINGAME triggers a multiplayer game to be JOINED
REPEATGAME triggers a multiplayer game to repeat play
NOGRAVITY Switches off gravity for physics entity
ACTIVEALLINZONE Activates everything within entity zone
SPAWNON Switches on entity’s ability to spawn
SPAWNOFF Switcjes off entities ability to spawn
VIDEO Plays an animation file full screen once


Hope that helps


http://www.seqoiagames.com/seqoiacorp/
xplosys
18
Years of Service
User Offline
Joined: 5th Jan 2006
Playing: FPSC Multiplayer Games
Posted: 31st Aug 2006 22:43
Yoo da' maan. Thanks!

Blades
18
Years of Service
User Offline
Joined: 1st Oct 2006
Location:
Posted: 1st Oct 2006 21:41
Cool thanks this will help a newb like me out a lot!

-It's not over till you win

Login to post a reply

Server time is: 2024-11-23 11:48:10
Your offset time is: 2024-11-23 11:48:10