Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Lazer

Fragglescript?

Recommended Posts

Closest I could come up with was a FraggleScript Function Reference, which you can find here.

Share this post


Link to post

A good way to learn FS is to look at the scripts in existing levels.

Share this post


Link to post

Yeah and there's a total of 3 released levels that use FS.

1. Rainbow something map. that come with Legacy as a demonstration map.
2. A DM map by Alastair montgomery (forgot it's name.) Also for Legacy, and it don't use much.
3. My map. Phobia.

Share this post


Link to post
kristus said:

Yeah and there's a total of 3 released levels that use FS.

1. Rainbow something map. that come with Legacy as a demonstration map.
2. A DM map by Alastair montgomery (forgot it's name.) Also for Legacy, and it don't use much.
3. My map. Phobia.


eh...you forgot my map as well, Demon Sanctuary 2.

but it uses very little though........

Share this post


Link to post

fragglescript is really easy .... read legacy.doc/fsbasic.html and legacy.doc/fsfunc.html shipped with legacy....

if/elseif/else seems to have some severe bugs tho. (in legacys implementation that is)

Share this post


Link to post

You're right, btw, if-elseif constructs do not work properly in the current implementation of FraggleScript -- which btw SoM wrote, so get on his back and not mine ;)

*IF AND WHEN* I ever get the new compiler finished, FraggleScript should be a flawless subset of the C programming language, and none of these silly syntax-related errors should be present. The current implementation of FS is ad hoc, and there really is no precise statement of the language. In contrast, I've used tools like flex and bison, and the standard technique of abstract syntax trees, so the language's behavior is known exactly.

Plus, the new FS will be compiled to FSASM and ran at a much lower level, so that the game engine doesn't have to worry about bugs in parsing or having to have 400 kilobytes of code to do it with (the present FS system is about that much code, btw).

Share this post


Link to post

I've used Fraggle script in two of my levels now.
"YrStick" and "Shape of Things to Come" you can get both at Doom Heaven.

Here's the script from "Shape of Things to Come", enjoy.

[level info]
levelname = The Shape of things to come
creator = Alastair Montgomery

[scripts]

include("things.h");

script 0
{
message("Extra Graphics by Andy Mckie.");
message("Level desing by Alastair Montgomery.");
message("http://www.doomheaven.com");
message("The Shape of things to come.");

wait(500);

int a, b, c, d, e;

while (1)
{
a = 0;
b = 980;
c = -273;
d = 1192;
e = -16;
while (a < 12 )
{
spawn(CANDLE,b,115,0,48);
spawn(CANDLE,1330,c,0,48);
spawn(CANDLE,d,-431,0,48);
spawn(CANDLE,785,e,0,48);
c=c+28;
b=b+28;
d=d-28;
e=e-28;
a=a+1;
wait(25);
}
wait(50);
}
}

script 1
{
wait(2000);
int randy, bonus;
mobj thing;
while (1)
{
randy = rnd() % 7;
if (randy == 0)
{
bonus = INVISIBILITY;
message("An Invisibilty has been spawned\n");
}
if (randy == 1)
{
bonus = SUPERCHARGE;
message("A Super Charge has been spawned\n");
}
if (randy == 2)
{
bonus = BFG;
message("A BFG has been spawned\n");
}
if (randy == 3)
{
bonus = BESERKPACK;
message("A Beserker has been spawned\n");
}
if (randy == 4)
{
bonus = BLUEARMOR;
message("A Blue Armor has been spawned\n");
}
if (randy == 5)
{
bonus = PLASMAGUN;
message("A Plasma Gun has been spawned\n");
}
if (randy == 6)
{
bonus = RLAUNCHER;
message("A Rocket Launcher has been spawned\n");
}

thing = spawn(bonus,1084,-186,0,100);
startsound(thing,"ITMBK");
wait(10000);
}
}

script 2
{
int a,b,c;
while (1)
{
a=0;
b = 112;
c = -432;
while(a < 9)
{
spawn(CANDLE,1520,b,0,96);
spawn(CANDLE, 592,b,0,96);
spawn(CANDLE,1520,c,0,96);
spawn(CANDLE, 592,c,0,96);
wait(25);
a=a+1;
c=c+27;
b=b-27;
}
wait(50);
}
}


startscript(0);
startscript(1);
startscript(2);

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
×