Jump to content
3000AD Forums
Sign in to follow this  
Gallion

The Complete Idiot's Guide to GBS Scripting

Recommended Posts

Game Builder System (GBS) available for download on the BC Download page is a somewhat simple yet difficult endeavour to master. Through out the course of my current project, to script an ACM from the Insurgent point of view, I have made several simple errors that caused script erors when I ran prepare and other in game snafus (events either not firing or misfiring). So I thought that I would pass on what I have learned and how I fixed them.

Stay tuned kids biggrin.gif, scripting with GBS is not as daunting or as intimidating as I first believed.

TTFN

[This message has been edited by Gallion (edited 10-07-2000).]

Share this post


Link to post
Share on other sites

Step 1:

Read all the GBS documentation that comes with the zip file.

Step 2:

Print the following files:

glob_ag.scr - Optional

glob_ai.scr - Optional

glob_dyn.scr - Optional

glob_rg.scr - Optional

glob_ai.scr - Optional

navdata.scr - Optional

objclass.scr - Optional

objects.scr - Optional

static.scr - Optional

acm1tod1.scr - Good for Reference

acm1tod2.scr - Good for Reference

acm1tod3.scr - Good for Reference

acm1tod4.scr - Good for Reference

navlink.txt - Optional

regions.txt - Optional

tradeitm.txt - Good for Reference

bc3k0000.scr (FF Scenerio) - Good for Reference

bc3k0100.scr (ACM Scenario) - Good for Reference

bc3k0200.scr (FF Scenario - Insurgent) - Good for Reference

bc3k0300.scr (FF Scenario - Trader) - Good for Reference

bc3k0400.scr (FF Scenario - Raider) - Good for Reference

bc3k9900.scr (Xtreme Carnage script) - Good for Reference

xc_ag.scr - Good for Reference but Optional

xc_rg.scr - Good for Reference but Optional

Step 3:

Repeat Step 1 biggrin.gif

Step 4:

Develope an outline for the campaign the you wish to script. It does not need to be detailed or exact, just a rough draft of what/how you expect the campaign to unfold.

Know the region where the mission takes place. Refer to the NavChart data.

Think about how long the mission should last, time before Start, End, and Next Mission.

Step 5:

Repeat Step 1 biggrin.gif

Step 6:

Download and print the GBS Design Docs if you haven't done so already.

Step 7:

Repeat Step 1 biggrin.gif

Read the GBS Design Docs

Look at the various acm*.scr docs as you peruse the GBS and GBS design docs. You should start to see/understand how the ACM scripts work.

Step 8:

Try your hand at scripting. I suggest that the first be something simple; create a cargo pod with some stores (radine,plutonium, iridium, etc.) in a nearby region after starting a new game and launching from Galcom HQ.

Repeat Step 7

Fix any event errors in your script

Play test your script

In my next post I will point out some of the simple but fatal errors I made in my first couple of go-arounds with GBS rolleyes.gif

TTFN

[This message has been edited by Gallion (edited 10-08-2000).]

Share this post


Link to post
Share on other sites
Guest aramike01

You forgot step three - get yourself a toupee to cover the hair you'll pull out when things don't go your way. A few months back (when I had more time on my hands) I gave it a shot. I'm going to keep the faith in the SC to keep it interesting if you all don't mind. biggrin.gif

Share this post


Link to post
Share on other sites

If you want I could post some of my findings on editing...(puting new stations, linking to regions WITHOUT planets, edit game objects params etc)

Share this post


Link to post
Share on other sites

aramike01:

GBS scripting is not as intimidating as you may think or feel. Remember back to your shadowy days of youth and yesteryear. Recall the puzzle(s) ye were required to solve with limited number of pieces available. Backward planning helps. If you were able to develope an IA with sketchy and most times inaccurate material, then you will not have a problem scripting with GBS once you get a feel for the syntax.

SpacePhish:

Sounds good, welcome the input. This is a community effort. Though I was gonna try and use the KISS method at first. Once a scriptor masters the fine art of building an ACM, then they could graduate to changing some of the global aspects of BC3K and GBS, though I do not condone this. If something works, as in current BC3K world, then there is no need to fix it IMO.

Objects parameters are easy to adjust. Wait until my project is complete, station capture will not be easy.

Anyway, as promised, here are some of major scripting errors that I have produced so far in my project:

Error number One (of many)

#

# TOD1 2/5

#

[acm]

deleted for brevity

#

:102,earthz,setup_tod1m2,begin_tod1m2,resolve_tod1m2,tod1m2tick,5,45,1#

[dynamic]

terran diplomat,,f1,lrt10.3dc,TER-DIPLOMAT

[ai]

.f1,100,100,100,100,100,100,0

start 120000 near earthz^jmp-12 2000 jmp-10

jump majorisz^wrm-23

stop

events 101

...

endevents

did not match with event in the [ai] EVENTS/ENDEVENTS block. This caused all events for TER-DIPLOMAT to activate in acm mission TOD1 1/5 (first) instead of acm mission TOD1 2/5 second)

The fix: change events 101 to events 102

Error number Two

#

:102,earthz,setup_tod1m2,begin_tod1m2,resolve_tod1m2,tod1m2tick,5,45,1

#

[dynamic]

terran diplomat,,f1,lrt10.3dc,TER-DIPLOMAT

[ai]

.f1,100,100,100,100,100,100,0

start 120000 near earthz^jmp-12 2000 jmp-10

stop

events 102

!begin_tod1m1

...activate this

endevents

Major scripting error in the ACM syntax block. This caused TER-DIPLOMAT actor to enter scene one (TOD1 1/5) instead of scene two (TOD2 2/5).

The fix:

!begin_tod1m2

...activate this

Now the TER-DIPLOMAT actor will activate at its proper time biggrin.gif ... almost that is, one more error rolleyes.gif

Error number Three (Last one for today cool.gif I promise)

#

:102,earthz,setup_tod1m2,begin_tod1m2,resolve_tod1m2,tod1m2tick,5,45,1

#

[dynamic]

terran diplomat,,f1,lrt10.3dc,TER-DIPLOMAT

[ai]

.f1,100,100,100,100,100,100,0

start 120000 near earthz^jmp-12 2000 jmp-10

jump majorisz^wrm-23

stop

events 102

!startup

say TO,"INTEL REPORT, Terran Diplomat has launched"

...other events not included for brevity...

!begin_tod1m2

activate this

endevents

What is suppose happen here is that TER-DIPLOMAT will START 120000 milliseconds (2 minutes gametime time) after the beginning of TOD1 2/5 in the Earth region with a vector on line between jmp-12 and jmp-10, 2000 units (meters?) distance from jmp-10 (Earth/Pluto Jump Point) and will navigate a course from Earth to Majoris (remember ACM TOD1 M1/5?).

Well this didn't happen. What I have here is an EVENTS 102 conflict.

The fix:

[dynamic]

terran diplomat,,f1,lrt10.3dc,TER-DIPLOMAT

[ai]

.f1,100,100,100,100,100,100,0

start 120000 near earthz^jmp-12 2000 jmp-10

stop

events 102

!begin_tod1m2

activate this

jump majorisz^wrm-23

say TO,"INTEL REPORT, Terran Diplomat has launched"

endevents

Now TER-DIPLOMAT actor will make its stage entrance at its proper cue, the beginning of TOD1 2/5.

When I ran PREPARE I received the following error message:

file BC3K0500.SCR line 54

file IACMTOD1.SCR line 244

ERROR: missing ENDEVENTS

activate this

--------------^

Currently active block is [ai]

The fix was easy ONCE I found it. GBS syntax is very exact and unforgiving. Have one to many spaces or something not quite right and your script will not successfully parse. What had happened in the above error message was that I copy/paste an entry to new mission I was working on.

events 102

!begin_tod1m2

activate this

...jump majorisz^wrm-23

say TO,"INTEL REPORT, Terran Diplomat has launched"

endevents

Instead of spaces to indent SYSTEM EVENT ACTION JUMP, I had inadvertently used periods (...). Only way I found this error was to print the Script file and count the lines until I discovered the error of me ways (pun intended).

The fix - replace the periods with blank spaces.

events 102

!begin_tod1m2

activate this

jump majorisz^wrm-23

say TO,"INTEL REPORT, Terran Diplomat has launched"

endevents

Simple right? tongue.gif Once I found the cause of the error yes. Took me 1/2 hour to find it.

TOD1 is complete and I am working on TOD2 now. It is taking me more time write the ACM description(s) than actual mission script (using some ACM mission that work already).

More when I have it biggrin.gif

TTFN

[This message has been edited by Gallion (edited 10-08-2000).]

Share this post


Link to post
Share on other sites

TOD2 is now complete. Had a heck of a time running prepare though. Have to remember to keep that attention to detail going.

Here is the MYACM.BAT I made to prepare my scripts:

cls

prepare bc3k0500.scr

prepare PHRASES bc3k0500.scr

cls

echo FINISHED!

Replace 0500 with what ever numeration you are using for your script.

So what is todays tip?

It is a good idea to copy/paste any error codes that pop-up when one runs prepare. and then document (copy/paste or write down) what you did to fix the error.

Example:

file BC3K0500.SCR line 54

file IACMTOD1.SCR line 244

ERROR: missing ENDEVENTS

activate this

--------------^

Currently active block is [ai]

FIX: add ENDEVENTS

--------------------------------

That was one of my early ones. Here is one that took me a while to fix:

--------------------------------

file BC3K0500.SCR line 54

file IACMTOD1.SCR line 978

ERROR: Id CMDR_MARK could not be found in any region

IF FLAG1 cmdr_mark THEN

------------------^

Currently active block is [ai]

FIX:

!destroyed cmdr_mark

IF FLAG1 cmdr_mark THEN

say CMO,"Incomming Message from Spectre HQ!"

broadcast "Excellent Commander! Mark Stryker Captured!

broadcast "The Raven will be most pleased!"

broadcast "+2500 Experience Points"

ep_add, 2500

ENDIF

resulted in this error:

file BC3K0500.SCR line 54

file IACMTOD1.SCR line 977

ERROR: Id CMDR_MARK could not be found in any region

!destroyed cmdr_mark

--------------------^

Currently active block is [ai]

FIX:

added

[event]

!destroyed cmdr_mark

resulted in this error:

file BC3K0500.SCR line 54

file IACMTOD1.SCR line 1031

ERROR: user event DESTROYED keyword clash

!destroyed cmdr_mark

----------^

Currently active block is [event]

FIX

deleted above entry in [event] block

.ghq

events 105

!cmdrmark_gone

IF FLAG1 cmdr_mark THEN

say CMO,"Incomming Message from Spectre HQ!"

broadcast "Excellent Commander! Mark Stryker Captured!

broadcast "The Raven will be most pleased!"

broadcast "+2500 Experience Points"

ep_add, 2500

ENDIF

[event]

!cmdrmark_gone

resulted in this error:

file BC3K0500.SCR line 54

file IACMTOD1.SCR line 979

ERROR: Id CMDR_MARK could not be found in any region

IF FLAG1 cmdr_mark THEN

------------------^

Currently active block is [ai]

FIX:

added to:

.cmdr_mark

...

events 105

!cmdr_mark_destroyed

destroyed this

create_guest 104,"Mark Stryker",11,CO,"Mark Stryker is on board commander!"

say CMO,"Incomming Message from Spectre HQ!"

signal cmdr_mark_mine

...

endevents

[event]

!cmdr_mark_mine

resulted in this eror

file BC3K0500.SCR line 54

file IACMTOD1.SCR line 966

ERROR: Event CMDR_MARK_DESTROYED not defined

!cmdr_mark_destroyed

--------------------^

Currently active block is [ai]

FIX:

# --NEW

!destroyed this

create_guest 104,"Mark Stryker",11,CO,"Mark Stryker is on board commander!"

say CMO,"Incomming Message from Spectre HQ!"

signal cmdr_mark_mine

Worked-------

I was trying to use the IF FLAG1 cmdr_mark THEN to trigger another event. Went round and round but managed to get event to work without using the FLAG1 ON variable. Never been good at floating variables for some reason. Even back in the highspeed days when PEEK/POKE was the best thing since sliced bread rolleyes.gif

Been studying the ACMTOD1-4 scripts and am starting to get the feel for the FLAG1 ON now. Not quite a warm fuzzy but is starting to sink in some. Not crying fer help either, but will of needed.

All in all project is coming along well. I am not following the advice that the SC made in the GBS docs though, which I will probably pay for latter. I am not playtesting each mission script after I prepare and prepare parse it. I guess that I feel lucky.

Starting on TOD 3 on the 'morrow. Got to get it done real quick-like biggrin.gif

TTFN

[This message has been edited by Gallion (edited 10-09-2000).]

Share this post


Link to post
Share on other sites

Hey thanks for tha tip! I'm been playing around with scripting, trying to make a simple mission.

Share this post


Link to post
Share on other sites

quote:


Been studying the ACMTOD1-4 scripts and am starting to get the feel for the FLAG1 ON now. Not quite a warm fuzzy but is starting to sink in some. Not crying fer help either, but will of needed.


Think of them as variables which can be used

for testing a condition later.

e.g.

code:


events 202

!tod2m2tick

IF FLAG1 ff1 RETURN

IF ff1 TOWED THEN

broadcast "ECV-STARBALL under tow. Returning to Starpath"

dock starpath

FLAG1 ON ff1

ENDIF

endevents


If the above snippet from TOD2 3/5, I use FLAG1 ON on the ff1 object when it docks at Starpath. This tells me that it did in fact, dock there.

So, within the !tod2m2tick event timer if FLAG1 is ON (which it will be if ff1 did dock at Starpath) I immediately exit the condition without processing anything after that tick. Thats what the RETURN condition does.

BUT, if FLAG1 is *not* ON, this means that ff1 has *not* yet been towed to and docked at Starpath, so it moves to the second line to check to see if it is in fact being towed, though it has not yet been towed to Starpath (and docked). And if it sees that it is in fact being towed, then it plays the message which appears on the third line of the condition check.

So, this snippet says: if I'm being towed, it means I have not yet been towed to Starpath, therefore I am not yet docked. So, I will send a message saying that I am being towed to Starpath if I am, in fact, under tow. And if I was successfully towed to Starpath, which means I am docked, set the FLAG1 ON condition so that we don't waste time processing anything beyond the initial !tod2m2tick event because this will just waste CPU cycles since there won't be any further processing from me, now that I am docked.

Share this post


Link to post
Share on other sites

CLICK! The light bulb is on - Thanks SC biggrin.gif

Feeling better about the FLAG1 now and the !todXmYtick makes better sense too. Two birds for the price of one biggrin.gif

Next Tip (I just a knows that ye'll all are dying to read this rolleyes.gif ) -

Problem:

In my TOD1 M1/5 I had an actor that was scripted to enter the stage in TOD1 M2/5 but kept appear before its cue - the cue in my mind that is. Here a snippet from the script:

:102,earthz,setup_tod1m2,begin_tod1m2,resolve_tod1m2,tod1m2tick,5,45,15

#

[dynamic]

terran diplomat,,f1,lrt10.3dc,TER-DIPLOMAT

[ai]

.f1,100,100,100,100,100,100,0

start 120000 near earthz^jmp-12 2000 jmp-10

stop

events 102

...

!begin_tod1m2

activate this

jump majorisz^wrm-23

say TO,"INTEL REPORT, Terran Diplomat has launched"

endevents

start 120000 ... basically means that 120000 milliseconds (2 minutes) after the start of the game (after launching from Galcom HQ) TER-DIPLOMAT appears in Earth region. I thought that I had fixed this by placing the activate this in the !begin_tod1m2 AI events block. NOT!

The fix:

[ai]

.f1,100,100,100,100,100,100,0

start inactive near earthz^jmp-12 2000 jmp-10

stop

events 102

...

!begin_tod1m2

activate this

jump majorisz^wrm-23

say TO,"INTEL REPORT, Terran Diplomat has launched"

endevents

TER-DIPLOMAT now appears on cue at the beginning of my TOD1 M2/5.

Second Tip fer the day - playtest your scripts before bragging about scripting prowness. That way ye (as in me) don't have to eat crow.

BTW - Rattler and aramike01, I like me crow sautee'd gently, not shaken or stirred, in a extra virgin Olive Oil with a dash or two of lemon pepper and smothered with mushrooms biggrin.gif

Check ye inboxs - new zip in distro eek.gif

TTFN

[This message has been edited by Gallion (edited 10-10-2000).]

Share this post


Link to post
Share on other sites

Major reality check and Ego buster. I was under the false inpression that if a script parsed then all would be good to go - not!.

Play tested the mission scripts and encountered several problems.

1. Diplomats that launch from Majoris tend to play bumper-car for the first couple of minutes of mission. The fix is easy - have them "launching" in one minute intervals now.

2. Ran into a ep-add loop that adds 1400 EPs every tod1m4tick. Lasts until next ACM mission begins. The fix - change the ep_add from event block !destroyed f8 and !destroyed f7 to !resolve_tod1m4 in the .ghq events 104 block.

Needless to say this was somewhat disheartening to me for a short time. Here I thought I knew what what I was doing too. Copy/Paste original ACM scripts that SC made fer BC3K, make a couple of minor changes to customize the mission scripts some, parse and walla - new scripts that work.

Well kids, it is not as easy as that. Though I have encountered a minor setback, I am not daunted from completing this project. My error was getting a big ego and not following my tenants or the steps SC outlined in the GBS doc - RTFM and playtest each script after parse-ing it. Once each script plays as intended, copy into a campaign script. Too simple.

My hat be off to ye SC, BCM scripting must be a bugger - though I still wanna try my hand at it one day in the future.

TTFN and more news when I have any cool.gif

[This message has been edited by Gallion (edited 10-22-2000).]

Share this post


Link to post
Share on other sites

Playtest complete of my first two TODs. Script rewrite of first two mission complete along with playtest. Even after rewrites, I found several annomalies, all easy to rectify. Just want to reiterate the need to playtest after each script parse. smile.gif Working on next two mission scripts this eve.

TTFN

Share this post


Link to post
Share on other sites

HELP!!!!!!!! SC

Getting the following error when parse script:

quote:

C:GamesBC3000ADGBS>prepare bc3k0500.scr

DOS/4GW Protected Mode Run-time Version 1.97

Copyright © Rational Systems, Inc. 1990-1994

PREPARE 2.09:

Region total: 333 (108 in space)

Mission: BC3K0500.SCR

file BC3K0500.SCR line 59

file TEST5.SCR line 14

ERROR: Extraneous [acm] block switch

[acm]

^

Currently active block is [acm]

TEST5.SCR SCRIPT:

quote:

# -------------

#

# INSURGENT ADVANCED CAMPAIGN MODE

#

# INSURGENT TOD2 5/5

# ARTIFACTS: NONE

#

# Adapted from original ADVANCED CAMPAIGN MODE TOD2 M2/5

# scripted by Derek Smart

# Creator and developer of Battlecruiser 3000 A.D.

#

# TOD2 5/5

#

[acm]

CAMPAIGN MODE: TOD2 M5/5

THEATRE OF OPS: ARIMA/TAU CETI

MISSION CLASS: CAPTURE

SUCCESS: CAPTURE ECV-STARBALL AND TOW TO SCID-HQ

.

An EarthCOM ship, ECV-Starball, has developed reactor and is about to

pass through Arima. The Starball is completely defenseless.

.

An EarthCOM ship has been dispatched to render assistance and tow the

ECV-Starball to GALCOM-HQ. We cannot allow this to happen Commadander!

.

Proceed to the region and capture that ship. Destroy any GALCOM

ship that arrives, then tow the ECV-Starball to SCID-HQ.

.

END TRANSMISSION

.

:205,arimaz,setup_tod2m5,begin_tod2m5,resolve_tod2m5,tod2m5tick,15,60,15

#

[dynamic]

terran earthcom,,ff1,strwar.3dc,ECV-Starball

terran earthcom,,ff2,aestrom.3dc,ECV-Vagrant

[ai]

.ff1,100,100,100,100,100,100,0

start inactive near xylanz^jmp-26 2000 wrm-22

jump arimaz^wrm-21

stop

events 205

!begin_tod2m5

activate this

!arrived arimaz

broadcast "MayDay, MayDay"

halt ON this

emit_sos on this

signal tulon_off

!detect bc

say CMO "ECV-Starball is in distress!"

broadcast "GALCOM HQ Insurgents detected! Unable to defend! HELP!"

!under_attack this

broadcast "This ECV-Starball, We are under attack"

!detect ff2

broadcast "ECV-Vagrant is here!"

IF ff1 towed THEN

halt OFF

say TO,"ECV-Starball under tow, course laid in for SCID-HQ"

ENDIF

endevents

#

.ff2,100,100,100,100,100,100,0

start inactive near plutoz^wrm-01 500 jmp-18

jump arimaz^wrm-21

stop

events 205

!tod2m5tick

IF FLAG1 ff1 RETURN

IF ff1 TOWED THEN

broadcast "ECV-Starball captured by Insurgent forces!"

dock starpath

FLAG1 ON ff1

ENDIF

!begin_tod2m5

activate this

broadcast "ECV-Vagrant responding to ECV-Starball distress call"

!destroyed this

FLAG1 ON ff2

!arrived arimaz

IF FLAG1 ff1 RETURN

IF HERE ff1 THEN

LAUNCH shuttle1,1,TOW,ff1,deliver,galcomhq,rtb

broadcast "ECV-VAGRANT launched shuttle to tow ECV-STARBALL to GALCOM HQ"

PATROL arimaz

ENDIF

!detect bc

ATTACK bc

signal hunter2051,10

!resolve_tod2m5

fleetrtb

dock starpath

endevents

#

.tulon

EVENTS 205

!tulon_off

LAUNCHES OFF this

WEAPONS OFF this

IGNORE ON this

SAY TO,"Tulon Station Off-Line"

signal tulon_on,23

!tulon_on

LAUNCHES ON this

WEAPONS ON this

IGNORE OFF this

SAY TO,"Tulon Station back On-Line"

#

.ghq

events 205

!begin_tod2m5

IFNOT BC IN arimaz broadcast "Proceed to Arima immediately!"

!resolve_tod2m5

IF FLAG1 ff2 THEN

broadcast "ECV-Vagrant Destroyed! +1500 EXPERIENCE POINTS"

ep_add,1500

FLAG1 OFF ff2

IF FLAG1 ff1 THEN

broadcast "Mission Success - ECV-Starball captured"

broadcast "+250 EXPERIENCE POINTS"

ep_add,250

broadcast "Tour of Duty #2 Completed: +1 STAR of MERIT Medal"

add_medal 1,1

broadcast "+5000 EXPERIENCE POINTS"

ep_add,5000

# acm_next

acm_off,insurgent

ELSE

broadcast "Mission failure - ECV-STARBALL was not captured"

broadcast "-250 EXPERIENCE POINTS"

ep_dec,250

broadcast "You are now a Target!"

acm_off,raider

ENDIF

!destroyed ff1

broadcast "Mission failure - ECV-STARBALL destroyed"

broadcast "-250 EXPERIENCE POINTS"

broadcast "You are now a Target!"

ep_dec,250

acm_off,raider

endevents

#

[event]

# -- TOD2 M5/5

!tulon_off

!tulon_on

$

TEST4.SCR Script:

quote:

# -------------

#

# INSURGENT ADVANCED CAMPAIGN MODE

#

# INSURGENT TOD2 4/5

#

# ARTIFACTS: NONE

#

# TOD2 4/5

#

[acm]

CAMPAIGN MODE: TOD2 M4/5

THEATRE OF OPS: CENTRIS/ALPHA CENTAURI

MISSION CLASS: STATION CAPTURE

SUCCESS: CAPTURE EARTHCOM STATION SCIDHQ

.

The time has come for us to strike EarthCOM facilities and increase

our presence coser to Sol.

.

Your orders are to Capture the SCID HQ EarthCOM Station located in

in Centris. Unfortunately we cannot spare any forces to assist you

in this mission Commander!

.

Succeed and further the Insurgent cause, fail and you will become a

target!

.

Rules of Engagement: NONE!

WEAPONS ARE FREE Commander, with NO RESTRICTIONS.

.

Good Luck Commander!

.

Insurgent One OUT!

.

END TRANSMISSION

.

#

:204,centrisz,setup_tod2m4,begin_tod2m4,resolve_tod2m4,tod2m4tick,15,50,15

#

.ghq

events 204

!begin_tod2m4

broadcast "Patrol Zone is Centris after you've Captured SCIDHQ Commander!

patrolz bc,centrisz

!resolve_tod2m4

IF bc IN centrisz THEN

broadcast "Patrol Zone Secured, +500 EXPERIENCE POINTS"

ep_add,500

patrolz bc

ENDIF

IF scidhq TAKEOVER terran insurgent THEN

broadcast "Mission success: SCID-HQ captured"

broadcast "+2500 EXPERIENCE POINTS +1 PLANETARY SHIELD MEDAL"

add_medal 4,1

ep_add,2500

patrolz bc

acm_next

ELSE

broadcast "Mission failure: SCID-HQ was not captured!"

broadcast "-55000 EXPERIENCE POINTS"

ep_dec,55000

acm_next

ENDIF

endevents

#

# [event]

# -- TOD2 M4/5 //none

$

Only way I coyuld get the script to parse was to delete the [acm] block for tod2-5/5

quote:

# TOD2 5/5

#

# [acm]

CAMPAIGN MODE: TOD2 M5/5

THEATRE OF OPS: ARIMA/TAU CETI

MISSION CLASS: CAPTURE

SUCCESS: CAPTURE ECV-STARBALL AND TOW TO SCID-HQ

I knows that ye be real busy but I have been banging my head against the wall fer the past two days now. WTF am I doing wrong? Any insight would be much appreciated biggrin.gif

TTFN

------------------

Fleet Commander Gallion

(Pro Tem)

GCV Graf Spee, Starbase Cerberus

Fleet Leader - Wraith Fleet (Pro Tem)

Wing Leader - Wraith Fleet/Corsair Wing

"Run Silent, Run Deep"

Corsair Cove

Official Tester, Battlecruiser Series

[This message has been edited by Gallion (edited 11-04-2000).]

Share this post


Link to post
Share on other sites

Fixed the snafu cool.gif

I didn't have any events in TOD2-4/5 aside from .ghq. I added some actors and all worky-worky just fine now.

Guess I had to bang head against the wall fer a little while longer is all biggrin.gif

TTFN

------------------

Fleet Commander Gallion

(Pro Tem)

GCV Graf Spee, Starbase Cerberus

Fleet Leader - Wraith Fleet (Pro Tem)

Wing Leader - Wraith Fleet/Corsair Wing

"Run Silent, Run Deep"

Corsair Cove

Official Tester, Battlecruiser Series

Share this post


Link to post
Share on other sites

Working on third Insurgent based ACM TOD. Have it pretty much roughed out now. Should have it done by next weekend cool.gif

What gets me is the flexibility and simpleness of GBS. Flexibility because as a scriptor, I can do almost anything. Simpleness because it is the simple items that can cause mega head-banging days/nights and the big duh when they are discovered tongue.gif

More news when fit to print biggrin.gif

TTFN

------------------

Fleet Commander Gallion

(Pro Tem)

GCV Graf Spee, Starbase Cerberus

Fleet Leader - Wraith Fleet (Pro Tem)

Wing Leader - Wraith Fleet/Corsair Wing

"Run Silent, Run Deep"

Corsair Cove

Official Tester, Battlecruiser Series

Share this post


Link to post
Share on other sites

Glad you got it working. I didn't check this thread yesterday, so I didn't see your intergalactic plea for help! cwm26.gif

Anyway, I have a BCM compatible version of GBS-I which I will release next week when the Beta ships. So, you can simply build your scripts and use them in BCM. Things to note though.

  1. .3DC files are no longer used for models. So where you have .3DC, change to .3D

  2. The ship names are different due to the use of longfilenames. So, where you have, say

    strlance.3d, you would have starlance.3d

  3. All the models are in the .MODELS folder so you can use the BCStudio tool to view them as well as match the name to a ship/station etc.

  4. You can device scripts for any career because each career uses its own files now. So, if you choose an EF Pilot career, any Commander career missions that are present, will not be displayed in Miscon.

  5. Any career you choose, lets you start from a launch base that is of your race/caste affiliation. So, you no longer have to script scenarios (eg Insurgent) who have to fight their way out of Earth because the default launch station is GHQ.

    Whatever script you have, remember that it will work fine, but depending on the career chosen, the player may miss some events if his launch base it too far (a player choses Terran/Military and launches from GHQ, when in fact the scenario mainly focuses in Omega Centauri) or if he chooses the wrong career (a player chooses an Elite Force Pilot career and stands no chance of even making it to Omega Centauri in a fighter).

    So, you should, in the .NFO file (a new file which describes the scenario to the player) tell the player what career and launch base the scenario was designed for.

[This message has been edited by Supreme Cmdr (edited 11-05-2000).]

Share this post


Link to post
Share on other sites

quote:

...Anyway, I have a BCM compatible version of GBS-I which I will release next week when the Beta ships. ...

Yes biggrin.gif you da man SC. Will reserve further comment on GBS-I until I familiarize meself with it. Gots to get this project complete soon.

TTFN

------------------

Fleet Commander Gallion

(Pro Tem)

GCV Graf Spee, Starbase Cerberus

Fleet Leader - Wraith Fleet (Pro Tem)

Wing Leader - Wraith Fleet/Corsair Wing

"Run Silent, Run Deep"

Corsair Cove

Official Tester, Battlecruiser Series

Share this post


Link to post
Share on other sites

Hey Gallion,

I've found that using

!destroyed ship,player

ep_add 1500

broadcast "GOOD SHOW"

will not work in the .ghq !resolve_todxmx event. It parses fine, but apparently because the ship was actually destroyed long before the resolve events runs, neither the message or EP award happens.

To catch the DeD when it happens, then do the award in the resolve, the !destroyed ship,player needs to be in the ship's [ai] block. Use it to set a flag that then gets tested in the .ghq resolve event like this:

--------------

[dynamic]

terran insurgent,,ins1,aestrom.3dc,UNKNOWN_AESTROM

[ai]

.ins1,100,100,100,100,100,100,1

start inactive near moonrz^jmp-01a 500 genesis

stop

events 301

...

!destroyed this,player

FLAG1 on this

...

endevents

...

.ghq

events 301

...

!resolve_tod3m1

IF FLAG1 ins1 THEN

ep_add 1500

broadcast "GOOD, YOU NAILED THE AESTROM!"

...

endevents

-----------------

What I'm experimenting with is something like this in a target ship's [ai] block

!destroyed this

FLAG1 ON this

!destroyed this,bc

FLAG2 ON this

!destroyed this,player

FLAG3 ON this

And then in the .ghq resolve, awarding EPs based on who destroyed the target (an NPC, the bc in AI mode, or the player)

IF FLAG1 this

ep_add 500

broadcast "SUCESS, THE TARGET WAS DESTROYED"

ENDIF

IF FLAG2 this

ep_add 1000

broadcast "GOOD, YOUR BATTLECRUISER DESTROYED THE TARGET."

ENDIF

IF FLAG 3 this

ep_add 2000

broadcast "GREAT, YOU KILLED THE TARGET. WHO NEEDS AI?"

ENDIF

------------------

Cmdr Pherrett

GCV STRATOS, GALCOMHQ (EARTH)

S16 Wing Leader - Prime Fleet, Alpha Wing

Official Tester, Battlecruiser Series

Share this post


Link to post
Share on other sites

Yep, I discovered the same thing. Changed most if not all !destroyed this,player ep_add from .ghq [ai] to the actor's block.

  • events

!destroyed this

ep_add,133

FLAG1 ON help3021

endevents

Then when the mission resolves I do this:

  • !resolve_tod3m2

IF FLAG1 help3021 THEN

IF FLAG1 help3022 THEN

IF FLAG1 help3023 THEN

IF FLAG1 help3024 THEN

IF FLAG1 help3025 THEN

broadcast "Mighty Mouse failed To Save The Day Commander!"

broadcast "+2500 EXPERIENCE POINTS"

ep_add,2500

FLAG1 OFF help3021

FLAG1 OFF help3022

FLAG1 OFF help3023

FLAG1 OFF help3024

FLAG1 OFF help3025

ENDIF

ENDIF

ENDIF

ENDIF

ENDIF

I got tired of wondering if I (as a player) got the kill or not. What you are doing Lynx will work. I just keeping my scripts simple. When I tried to get creative, things tended to get really fubar'd and snafu'd.

TTFN

[This message has been edited by Gallion (edited 11-09-2000).]

Share this post


Link to post
Share on other sites

Good news, so-to-speak that is biggrin.gif TOD4 complete, just have to peruse the final script copies and catch any other irregularites. Once that is complete then I will consolidate my 5 test script files into one.

For TOD5 I am going to pull an SC and just make a whopper of a mission with a real long mission time. When I was playing original ACM I was bummed at how the ACM ended. Now that I have created my own nightmare, I can sorta feel what the SC may have went through when he was scripting the ACM.

Without any major snafus or fubars showing their ungly head, this poject should be complete real soon.

TTFN

------------------

Fleet Commander Gallion

(Pro Tem)

GCV Graf Spee, Starbase Cerberus

Fleet Leader - Wraith Fleet (Pro Tem)

Wing Leader - Wraith Fleet/Corsair Wing

"Run Silent, Run Deep"

Corsair Cove

Official Tester, Battlecruiser Series

[This message has been edited by Gallion (edited 11-11-2000).]

Share this post


Link to post
Share on other sites

Project complete biggrin.gif

I must say that this was not as dificult as I first thought it would be. GBS scripting is realitively simple once one gets the knack of it. Not that this makes me an expert or anything like that. I just barely scratched the surface of what scripting potential GBS has to offer.

Food for thought folks. BCM cometh sooneth and I for one will not stand by waiting for mission scripts (SP or MP) to come down the pipe.

Anyway, this has been one heck of an edjumication into how BC3K can work. I look forward to attempting some BCM scripting biggrin.gif

TTFN

------------------

Fleet Commander Gallion

(Pro Tem)

GCV Graf Spee, Starbase Cerberus

Fleet Leader - Wraith Fleet (Pro Tem)

Wing Leader - Wraith Fleet/Corsair Wing

"Run Silent, Run Deep"

Corsair Cove

Official Tester, Battlecruiser Series

[This message has been edited by Gallion (edited 11-12-2000).]

Share this post


Link to post
Share on other sites
Guest Seeker_of_Mindkeep

I am very pleased to see this GBS section ! I've been looking for something like this to help me get my feet wet.

Really wanted This ! But hey, a forum is more interactive. . . .

Share this post


Link to post
Share on other sites

Work on my own version of that very same book. Keep scripting - you never know what may turn up in the future.

Post your queries and/or success in this Forum or any script difficulties/questions ye have of run into. Or drop me an e-mail.

Welcome to my Nightmare and the sadistically wonderful realm of GBS cool.gif scripting.

TTFN

------------------

Rear Admiral Gallion

ICV-Graf Spee, Spectre (Antis)

Executive Officer, Spectre Fleet

"You can only love or hate something you truly understand."

Official Tester, Battlecruiser Series

Leader, Team 1

Share this post


Link to post
Share on other sites

More fresh meat! smile.gif

we may get a big selections of script to play

I was a bit ambitious with my first script it had a small syntax error that made the game crash randomly, it took about 8 weeks and many many rewrites all with the same extra comma before I spotted my mistake, even now when I look at the script I think of beter ways of doing it.

If you havent done it yet follow Gallion's advice and print out all those files I have nearly 3 full A4 binders of print outs and notes and still end up opening up the original docs to check things out.

CYA

Share this post


Link to post
Share on other sites
Guest Shingen

I've been writing my own 'invasion' script for the last few weeks... it's about 10 missions long, at present and will be (when completed) about 55 missions covering 7 TOD's. I was a little over ambitious also.. and made some of the missions EXTREMELY challanging, with super-carriers, and super-cruisers out the wazzoo! smile.gif

anywayz.. there's not really any offical place to post user-created GBS scripts so if anyone wants to try the TOD, let me know.

I've tried and played all of the existing missions, and aside for a slow frame-rate in certain areas of the missions, everything works as written.

I really have a blast writing GBS scripts.. I didn't have any problems figuring out the syntax and the command-paramaters are very logical! THUMBS UP

(I also have a Free-Flight where you play as a terran-assassin, but since there is no 'ADD_GALCRED' param, there was really no way to writing assassin-missions for profit frown.gif)

------------------

Commander Shingen

UCV Deathstrike

Assassin

"Death is inevitable, it's life that's uncertain"

[This message has been edited by Shingen (edited 03-27-2001).]

Share this post


Link to post
Share on other sites

I found that you could script amazing amounts of hostiles at a player ie 4 super carriers launching 4 waves of 4 fighters each and a space station launching multiple carriers, cruisers, and, fighters on top of that the ai launches assets from the any hostile that is launch capable my BC had a TA and titanium V it took me nearly 2 hours to mop up all the hostiles if I hadn't of packed the shuttles with spares before the on slaught the ship would of fallen apart smile.gif

I use an old PII 350 for GBS and BC3K and am supprised at how little slow down I've had

the syntax error I had was an extra comma in the [ai] blocks id command, because every time I used the command the comma was there I didn't see the error and it drove me mad trying to find it.

I wanted to keep to very long missions with sub sections that had tight time restraints so as to prevent commanders using the docking "cheat" for repairs and R&R.

the trouble is that whenever you make a fix to the script you have to start again, at least with multi missions/tods you can phrase each one and playtest it on it own.

Just up load your script to a web account and post the link in this GBS forum like Gallion and I have. You dont even have to make a web page although I did a plain text one.

You could always pay in trade goods ie if the mission is a sucess then create a cargo pod with some goodies in for the bc to collect.

CYA

------------------

Commander Pugwash

IVC The Black Pig, Sygan Starstation (Sygan)

Balor Fleet

External Beta Tester

Battlecruiser Millennium

ICQ 111523790

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×