service { // Template for all rooms. Holes: // roomName - name of the room (one of globals) // actDirXn - if you want to disable direction X // set 1 to "". The input will not be shown. // Otherwise, just set it as empty string. // roomX - name of the room in direction X. const html Room =

<[charName]>, you are now in the <[roomName]>

<[description]>

Start over and choose another character

You can go in the following directions:

<[actDirS1]> South: <[roomS]>
<[actDirS2]> <[actDirN1]> North: <[roomN]>
<[actDirN2]> <[actDirE1]> East: <[roomE]>
<[actDirE2]> <[actDirW1]> West: <[roomW]>
<[actDirW2]>

You can also perfrom the following actions:

<[act1]>
<[act2]>
<[act3]>
<[act4]>
; // After session is done, it must redirect to another session // with this HTML. Holes: // anchorstart - always equals to ahref. Walkaround for holes in tags. // url - redirect address: startrek4.cgi?SessionName // urlTitle - caption of the link const html Redirect =

<[statusText]>

<[anchorStart]>""<[url]>""><[urlTitle]> ; // Character chooser HTML const html CharSelect =

CHOOSE YOUR DESTINY


Captain Jean-Luc Picard

Lieutenant Commander Data

Doctor Beverly Crusher
; // Globals int picardComplete; string roomRiker; string roomTroi; string roomCorridor3S; string roomCorridor3M; string roomCorridor3E; string roomHolodeck1; string roomLaforge; string roomWorf; string roomTurbolift1; string roomCaptnOffice; string roomTurbolift4; string roomCorridor4S; string roomCorridor4M; string roomCorridor4E; string roomTenForward; string roomHolodeck2; string roomTransporter; string roomShuttleBay; string roomPicard; string roomBridge; string roomCorridor2M; string roomCorridor2E; string roomCorridor2S; string roomCrusher; string roomData; string roomEngineering; string roomTurbolift2; string roomTurbolift3; string status1; string status2; string ahref; string CHAR_PICARD, CHAR_CRUSHER, CHAR_DATA; string charName; // Initializes all globals, needs t be called in the start session void Init() { picardComplete = 0; roomRiker = "First Officer William Riker Quarters"; roomTroi = "Councilor Troi Quarters"; roomCorridor3S = "Beginning of the corridor on Deck 3"; roomCorridor3M = "Middle of the corridor on Deck 3"; roomCorridor3E = "End of the corridor on Deck 3"; roomLaforge = "Lt. Commander LaForge Quarters"; roomWorf = "Lieutenant Worf Quarters"; roomHolodeck1 = "Holodeck 1"; roomTurbolift1 = "Turbolift on the Bridge"; roomTurbolift3 = "Turbolift on Deck 3"; roomBridge = "Bridge of Starship Enterprise"; roomCaptnOffice = "Captain Picard's Office"; roomTurbolift4 = "Turbolift on Deck 4"; roomCorridor4S = "Beginning of the corridor on Deck 4"; roomCorridor4M = "Middle of the corridor on Deck 4"; roomCorridor4E = "End of the corridor on Deck 4"; roomTenForward = "Ten Forward"; roomHolodeck2 = "Holodeck 2"; roomTransporter = "Transporter on Deck 4"; roomShuttleBay = "Shuttle Bay on Deck 4"; CHAR_PICARD = "Cpt. Jean-Luc Picard"; CHAR_DATA = "Lt. Commander Data"; CHAR_CRUSHER = "Dr. Beverly Crusher"; charName = CHAR_PICARD; roomPicard = "Jean-Luc Picard Quarters"; roomCorridor2M = "Middle of the corridor on Deck 2"; roomCorridor2E = "End of the corridor on Deck 2"; roomCorridor2S = "Beginning of the corridor on Deck 2"; roomCrusher = "Beverly Crusher Quarters"; roomData = "Lt. Commander Data Quarters"; roomEngineering = "Engineering"; roomTurbolift2 = "Turbolift on Deck 2"; status1 = "You are headed for"; status2 = "You do nothing and return to"; ahref = "