The [CommandList ...] sections contain commands and parameters that control the characters. Brief descriptions of the commands used in these command lists follow. Unless specified otherwise, commands are used in both Back to Skool and Skool Daze.
The AddLines command is used in the command lists GrassOnEric-Wacker and HiddenPeaShooter-Wacker (Skool Daze only) to add to Eric’s lines total after he has been found guilty of misdeeds. The number of lines to be added to the total is specified by the command’s sole argument.
The AwaitAssemblyTime command is used in the command list Assembly-Wacker (Back to Skool only). It makes the headmaster return to the start of the command list unless it’s time to go down to the stage for assembly.
The Catch command is used internally to control Eric while he’s trying to catch a mouse or frog. It makes Eric bend over, checks to see whether an animal is present (and if it is, adds it to the appropriate inventory), and then makes Eric stand up.
The ChaseEricOut command is used in the ChaseEricOut-Take command list in Back to Skool. It controls Miss Take as she chases Eric, with the intent of making him leave the girls’ skool and return to the boys’. It is very similar to the ShadowEric command, except that it makes the headmistress go no further than the skool gate.
The ChaseEricOut-Take command list takes control of Miss Take whenever the MonitorEric command deems it necessary for Miss Take to abandon her regular skool duties and start hounding our hero.
The CheckIfTouchingEric command is used in the command list MumpsWalkabout-Bully (Skool Daze only), which is used by the Bully when he has mumps. It checks whether the Bully is touching Eric, and alerts whichever teacher is following the YouHaveMumps-Teacher command list (Mr Rockitt by default) if necessary.
The ClimbOverSkoolGate command is used internally to control Eric when he is stepping off a fully grown plant over the closed skool gate. It guides him over the gate and down to the ground on the other side.
The ConductAssembly command is used in the command list Assembly-Wacker (Back to Skool only). It makes the headmaster tell the kids they’re in detention.
The ConductClass command is used in the following command lists:
It controls a teacher from the point where he reaches the edge of the blackboard. If the teacher is teaching Eric, it makes the teacher wait until the Swot shows up, and then hands over control to ConductClassWithEric. Otherwise it immediately hands over control to the ConductClassWithoutEric command.
The ConductClassWithEric command is used internally to control a teacher who is teaching Eric and the Swot. It takes over control from the ConductClass command as soon as the Swot shows up and sits down. It’s responsible for making the teacher:
The ConductClassWithoutEric command is used internally to control a teacher who is teaching a class that does not contain Eric and the Swot. It takes over control from the ConductClass command immediately. It controls a teacher from the point where he reaches the edge of the blackboard and is responsible for making him:
The Dethroned command is used internally to control a character who has been pushed out of his seat in class. It makes him sit stunned on the floor for a brief period, then stand up, after which it’s up to the FindSeat command to reseat him.
The DoAssemblyDuty command is used in the AssemblyDuty command list (Back to Skool only) to control Mr Withit as he does assembly duty. It makes Mr Withit do nothing (i.e. stand still) unless Eric is absent from the assembly hall, in which case it hands over control to the FetchEric command; when that command exits, the command list is restarted. The DoAssemblyDuty command itself exits when assembly is over (i.e. Mr Wacker has finished speaking).
The DropStinkbomb command is used internally to make a stinkbomb-carrying character (i.e. Eric) drop a stinkbomb (Back to Skool only).
The DumpWaterPistol command is used internally to make Eric throw away the water pistol. The water pistol will be relocated in a random desk, and will contain water (as opposed to sherry).
The EndGame command is used in the following command lists:
Unsurprisingly, the command ends the game.
The EvadeMouse command is used internally to control a character who is scared of mice and has spotted one nearby. It makes the character either jump up and down or stand on a chair.
The Fall command is used in the WaterDrop, SherryDrop and Conker command lists (Back to Skool only) to control the descent of a drop of water or sherry from a cup, or the descent of a conker from a tree. Until the object has been knocked out of its resting place, the command does nothing. Otherwise, it guides the object to the floor, and interacts appropriately with any character it hits. After the object has hit somebody or the floor, it is hidden from view.
The FallToFloor command is used internally to control Eric’s descent to the floor. It is invoked in the following situations:
The FetchEric command is used internally by the ConductClassWithEric command to make a teacher track down the truant Eric and shepherd him back to the classroom.
The FindEric command is used in the following command lists:
The command is used to make a character look for Eric (to give him a message); it also stops the skool clock (which can be restarted later on with a SetClock command) to allow Eric to be found before the bell rings. When Eric has been found, he is frozen so that he has no choice but to listen to the message.
The FindEricIfMissing command is used in the command list DinnerDuty. It makes whichever teacher is on dinner duty go and look for Eric if he’s not in the dinner hall.
The FindSeat command is used in the following command lists in Skool Daze:
and the following command lists in Back to Skool:
It makes a boy or girl find a seat in the classroom and sit down; it also makes the character find another seat if he’s knocked out of one (unless the character is the Swot, who must return to the same seat to avoid having to move his speech bubble during lessons).
The command takes two optional True (1) or False (0) arguments (which are both True by default). When the first argument is True, the character will seek out the back seat in the classroom first. Otherwise, when the second argument is True, the character will go to the next seat in front of him, or to the back seat if there isn’t one (which is what happens when a character is pushed out of his seat). When both arguments are False, the character will sit in the seat he’s standing next to (which is what happens when a character rises after being decked while seated).
The FireCatapult command is used internally to make a catapult-carrying character (i.e. Eric or the Tearaway) fire his catapult.
The FireNowAndThen command is used as an argument to the SetControllingCommand command to make the Tearaway fire his catapult occasionally. If the command decides that the time is ripe to send a projectile whizzing through the air, it passes control to the FireCatapult command.
The FireWaterPistol command is used internally to make a water pistol-carrying character (i.e. Eric) fire his water pistol (Back to Skool only).
The FlyOverSkoolGate command is used internally to control Eric when he is flying over the closed skool gate (after hitting it while standing on the saddle of the bike - see the RideBike command). It guides Eric over the gate and down to the ground, upon which he will land in the sitting position.
The Follow command is used in the command list Stampede-Follower (Skool Daze only). It is used by little boys 2-11 to sync their movements with those of the stampede leader, little boy 1. (Internally it syncs destinations, and hands over control to the GoTo command.) The command takes a single argument: the unique ID of the character to follow.
The Freeze command is used internally by the FindEric command to freeze Eric once he has been found. It continually monitors the keyboard to check whether Eric has acknowledged delivery of a message (by pressing ‘U’). It is then up to the TellEric or TellEricAndWait command to unfreeze Eric as appropriate.
The GoTo command is arguably the most important command ever in the history of Pyskool. Without it, the characters would stay rooted to the spot, Pyskool would be boring, and you wouldn’t be reading this. Sad. Anyway, GoTo takes a single argument, which must be one of the following:
I leave it to the reader to guess what the command does.
The GoToRandomLocation command is used in many command lists to make a character go to one of his random locations.
The GoTowardsXY command is used internally to make a character turn round or take one step in the direction of the destination x and y coordinates specified in the two arguments, instead of continuing all the way to the destination. The command is used primarily by the FindEric and FetchEric commands, which require tracking of a moving target (our hero) rather than a fixed destination.
The GoToXY command is used internally to make a character go to a location specified by an (x, y) pair of coordinates. In fact, the GoTo command resolves its location ID parameter into an (x, y) pair of coordinates and then hands over control to GoToXY. Unsurprisingly, GoToXY takes two arguments: x and y, as in:
GoToXY, 23, 17
Although GoToXY is not used explicitly in any of the stock command lists, there is nothing to stop you using it in a command list if you wish.
The GrassAndAnswerQuestions command is used in the following command lists in Skool Daze:
and the following command lists in Back to Skool:
It makes the Swot tell tales to the teacher just before class starts, and answer the teacher’s questions later.
The Grow command is used in the Plant command list (Back to Skool only) to control the growth of a plant after it has been watered. If the plant is not growing, the command does nothing. Otherwise, it animates the plant growth, and lifts any characters who are standing on the plant. When the plant dies, it drops any characters who were standing on the plant, and hides it from view.
The Hit command is used internally to make a fist-wielding character (i.e. Eric or the Bully) throw a punch.
The HitNowAndThen command is used as an argument to the SetControllingCommand command to make the Bully throw a punch occasionally. If the command decides that the time is ripe to send a fist whizzing through the air, it passes control to the Hit command.
The Hop command is used internally by the MoveFrog command to control the movements of a frog as it embarks on a long hop or a short hop, or turns round.
The Jump command is used internally to control Eric while he’s jumping. It lifts him into the air, checks to see whether he has reached a shield, a cup, or the safe, and then lets him drop (unless there is an unconscious kid or a plant pot below).
The JumpIfOpen command is used in the command lists UpperRoom-Teacher and MiddleRoom-Teacher (Back to Skool only) to jump back to the start of the command list if the boys’ skool door is still open. The command takes two arguments: the unique ID of the door (see [Doors]) to check for openness, and the number of commands to jump back or ahead, as in:
JumpIfOpen, SkoolDoor, -5
The JumpIfShut command is used in the command list ShutGateAndDoor-Albert (Back to Skool only) to jump ahead in the command list if the boys’ skool door or the skool gate is already shut. The command takes two arguments: the door or gate’s unique ID (see [Doors]), and the number of commands to jump ahead, as in:
JumpIfShut, SkoolGate, 3
The JumpOffSaddle command is used internally to control Eric when he is jumping off the saddle of the bike (see the RideBike command). It lifts him into the air, checks to see whether he has reached a cup (into which a frog may be placed), and then lets him drop to the floor.
The JumpOutOfWindow command is used internally to control Eric when he is stepping off a fully grown plant through an open window. It guides him through the window and down to the ground, upon which he may land with his feet or his back.
The Kiss command is used internally to control Eric while he’s kissing (or trying to kiss) Hayley. If Hayley is neither facing Eric nor in front of him at the time of the attempted kiss, Eric will take a step forward and then back again, with no kiss scored. If Hayley is in front of Eric and facing him, one of two things will happen: (a) Eric will score a kiss, or (b) Hayley will smack Eric in the face (if she feels he’s tried to grab one kiss too many already). If Eric does land a kiss, his lines total will be reduced by 1000 (or to zero if he has less than 1000 lines).
The KnockedOut command is used internally to control a child character who has been knocked out (by Eric, the Bully, or the Tearaway). KnockedOut keeps the character out cold for a brief period and then makes him stand up; after that, the character will resume whatever he was doing before.
This command would not really be useful in a command list, but if you want to use it, go knock yourself out. (Groan. - Ed.)
The KnockedOver command is used internally to control an adult character who has been downed by a catapult pellet or a stampeding boy. KnockedOver stuns the character, makes him reveal his safe combination letter (if appropriate), also makes him give lines to the nearest main child character (if any), and then helps him up off the floor; after that, the character will resume whatever he was doing before.
The MonitorEric command is used as a subcommand (set by the SetSubcommand command) in the following command lists in Back to Skool:
The MonitorEric command makes Miss Take her keep an eye out for Eric in the girls’ skool when it’s not playtime. If she spots him, her command list is switched to the one named by the command’s sole argument.
The MoveAboutUntil command is used to make a character repeatedly walk a random number of paces away from a fixed point and back again. The fixed point will be the point the character reached before MoveAboutUntil was invoked.
The command takes a single argument, which determines when the character should proceed to the next command in his command list. For Skool Daze, possible arguments and their meanings are:
For Back to Skool, possible arguments and their meanings are:
The MoveBike command is used in the Bike command list (Back to Skool only) to control the bike when Eric is not sitting on the saddle. If the bike has not been unchained yet, or is resting on the ground, the command does nothing. Otherwise, it moves the bike along until it runs out of momentum, at which point it will fall over.
The MoveDeskLid command is used in the DeskLid command list (Back to Skool only) to control a desk lid when it has been raised (by Eric). When the desk lid is not raised, the command does nothing. Otherwise, it transfers the contents of the desk (if any) to Eric’s pocket. When the desk lid is ready to drop, it is hidden from view.
The MoveFrog command is used in the Frog command list (Back to Skool only). It is used to control the movements of a frog. When a frog decides to move, it chooses from three options: turn round, short hop, and long hop. Each of these movements is controlled by the Hop command.
The MoveMouse command is used in the Mouse command list (Back to Skool only). It is used to control the movements of a mouse: scamper up and down a few times, hide for a brief period, repeat.
The MovePellet command is used in the Pellet command list to control a catapult pellet. If the pellet has not been launched, the command does nothing. Otherwise, it moves the pellet through the air, checking whether any shields or unfortunate characters lie in its path. When a pellet has finished its flight, it is hidden from view.
The MoveWater command is used in the Water command list (Back to Skool only) to control a jet of water fired from a water pistol. If the water has not been fired, the command does nothing. Otherwise, it moves the water through the air, checking whether any cups or plant pots lie in its path. When the water has finished its flight, it is hidden from view.
The OpenDoor command is used in the following command lists (Back to Skool only):
It takes one argument, namely the unique ID of the door (see [Doors]) to open. Unsurprisingly, it makes the character open the door in question - unless that door is already open, in which case the command does nothing.
The Pause command is used internally by the Kiss command to occupy Hayley (i.e. prevent her from executing her current command list) while she is responding to an attempted kiss from Eric. The command exits (and Hayley will resume her current command list) after the response (a kiss or slap in the face) has been made.
The ReleaseMice command is used internally to control Eric when he’s releasing mice. It makes Eric bend over, releases up to five mice (depending on how many Eric has caught) at the spot in front of Eric, and then makes Eric stand up.
The Restart command is used in many command lists to return to the first command in the list. For example:
[CommandList Walkabout1-Wacker]
GoTo, HeadsStudy:Left
GoToRandomLocation
Restart
This command list is used by the headmaster; it makes him go to his study, then to one of his random locations, and then back to his study, and so on.
The RideBike command is used internally to control Eric while he’s on the bike (Back to Skool only). It may hand over control to another command depending on what happens while Eric is on the bike:
The Say command is used internally to make a character say something. It takes two arguments: the thing to say, and an optional second argument specifying whether to notify listeners when done (which defaults to False, and is set to True only during lessons so that the teacher and the swot don’t talk over each other). For example:
Say, 'Hello mum!'
would make a character say ‘Hello mum!’.
Although Say is not used explicitly in any of the stock command lists, there is nothing to stop you using it in a command list if you wish.
The SetClock command is used in the following command lists in Skool Daze:
The command restarts the clock with a certain amount of time remaining until the bell rings, specified by the sole parameter. SetClock is always used at some point after a FindEric command, which stops the clock to allow enough time for Eric to be found. In the BullyHasMumps-Boy, GrassOnEric-Boy and HiddenPeaShooter-Boy command lists, SetClock is used to ensure that the special playtime has enough time to run until the next lesson.
The SetClock command is also used in the Assembly-Wacker command list in Back to Skool. It is used to ensure that the bell rings shortly after Mr Wacker has finished delivering the detention message.
The SetControllingCommand command is an awkwardly named command that takes another command - and that command’s parameters - as its arguments, as in:
SetControllingCommand, OtherCommand, SomeParameter
What happens then is that on every pass through the main loop of the game, OtherCommand (the ‘controlling’ command) will be called for the character so controlled. The idea is that OtherCommand will make the character do something continuously (e.g. walk fast) or occasionally (e.g. fire a catapult or throw a punch).
In the stock command lists, SetControllingCommand uses the following commands as parameters:
The ‘controlling’ command remains in effect until the following command in the command list has completed. For example, in the command list MapRoom-Tearaway the first two commands are:
SetControllingCommand, FireNowAndThen
GoTo, MapRoom:0
so FireNowAndThen is called for the Tearaway on every pass through the main loop of the game until he reaches the location MapRoom:0.
The SetRestartPoint command is used in the following command lists in Back to Skool:
The command has the effect of discarding itself and all previous commands in the command list, so that any Restart or StartLessonIfReady command appearing further down the command list will bring control back up the list to the command following SetRestartPoint instead of the top of the list.
For example, the GirlsSkoolWalkabout-Teacher command list looks like this:
GoTo, DrinksCabinet
ShutDoor, DrinksCabinet
SetRestartPoint
GoToRandomLocation
Restart
The SetRestartPoint command here effectively makes itself and all previous commands disappear, so when Restart is reached at the end, control passes to GoToRandomLocation instead of GoTo, DrinksCabinet.
The SetSubcommand command places a subcommand in the character’s current command list. This subcommand is then executed on each pass through the main loop, before and in addition to the current command in the character’s command list. The parameters of SetSubcommand are the subcommand name and the subcommand’s parameters, as in:
SetSubcommand, SomeSubcommand, SomeParameter1, SomeParameter2
The SetSubcommand command is used in the following command lists in Back to Skool:
In these command lists, SetSubcommand is used to place the MonitorEric subcommand in Miss Take’s command list, which makes her keep an eye out for Eric in the girls’ skool when it’s not playtime.
The subcommand persists for the duration of the command list (which is usually until the end of the lesson).
The ShadowEric command is used in the ShadowEric command list, which Mr Wacker adopts after he’s been alerted that Eric is trying to escape (see the WatchForEric command). The command makes Mr Wacker track down Eric and shadow him until the bell rings.
The ShutDoor command is used in the following command lists (Back to Skool only):
It takes one argument, namely the unique ID of the door (see [Doors]) to shut. Unsurprisingly, it makes the character shut the door in question - unless that door is already shut, in which case the command does nothing.
The Signal command is used in the following command lists (Skool Daze only):
The command takes a single argument: the name of the signal to set. Signals are used by the MoveAboutUntil command to make a character pace up and down until the time is right to proceed to the next command in the command list. This scheme allows characters’ movements to be coordinated.
For example, take a look at the command list HiddenPeaShooter-Boy, which is used by little boy no. 10 in the Playtime-HiddenPeaShooter lesson:
GoTo, Gym
MoveAboutUntil, TearawayReady
MoveAboutUntil, WackerReady
FindEric
TellEricAboutTearaway
Signal, EricWasTold
GoToRandomLocation
MoveAboutUntil, EndOfLesson
This command list makes the boy find and tell Eric about the pea shooter, but only after both the headmaster and the Tearaway have arrived at the Revision Library (where their race to the fire escape begins). The boy then signals that he has told Eric what’s up, whereupon the headmaster and the Tearaway begin their race.
See also the Unsignal command.
The SitForAssembly command is used in the following command lists (Back to Skool only):
It makes the character sit down in the assembly hall until the headmaster has finished speaking.
The SitStill command is always found immediately after the FindSeat command when it appears in a command list. It makes the character stay seated (in other words, do nothing).
It sounds brutal, but there really was a command list in Back to Skool that contained instructions to make the Bully track down Eric’s girlfriend in order to knock her about. In Pyskool, the equivalent (but more flexible) command is StalkAndHit, which takes a single argument: the unique ID of the character to track down. The command is used in the Walkabout-Bully command list (Back to Skool only).
StalkAndHit should be used as an argument to the SetControllingCommand command, as in:
SetControllingCommand, StalkAndHit, HEROINE
As a controlling command, StalkAndHit continually updates the character’s destination to match that of the target, and makes him throw punches now and then along the way.
The StartDinnerIfReady command is used in the command list DinnerDuty. It restarts the command list unless it’s time to start looking out for Eric during dinner.
The StartLessonIfReady command is used in the following command lists in Skool Daze:
and the following command lists in Back to Skool:
The command takes a single argument, which is the name of a signal that indicates which room the teacher will teach in when ready. In Skool Daze, these signals are:
and in Back to Skool:
The command restarts the command list unless it’s time to start the lesson, in which case it raises the named signal (so the kids know when to sit down).
The Stink command is used in the Stinkbomb command list (Back to Skool only) to control a stinkbomb after it’s been dropped. If the stinkbomb has not been dropped, the command does nothing. Otherwise, it animates the stinkbomb cloud, checking whether any characters with a sensitive nose are nearby, and compelling them to open the nearest window. When the stench has dissipated, the cloud is hidden from view.
The StopEric command is used internally by the WatchForEric command to make Albert raise his arm and alert Mr Wacker when he has spotted Eric trying to escape. The command exits when Eric leaves the ‘danger zone’ near Albert.
The TellClassWhatToDo command is used internally by the ConductClassWithEric and ConductClassWithoutEric commands to make a teacher tell the class what to do (which usually involves writing an essay, turning to a certain page in their books, or revising for their exams).
The TellEric command is used in the following command lists:
It makes the character deliver the message in the command’s sole argument, and then unfreeze Eric (if he was frozen, as by the FindEric command).
The TellEricAndWait command is used in the following command lists (Skool Daze only):
It makes the character deliver the message in the command’s sole argument, and then unfreeze Eric (if he was frozen, as by the FindEric command) as soon as he has registered understanding of the message so delivered. If Eric is slow to respond, the message will be repeated periodically.
The TellKidsToSitDown command is used internally by the StartLessonIfReady command to make a character (a teacher, normally) tell the kids to sit down when it’s time to start class.
The TripPeopleUp command is used as an argument to the SetControllingCommand command in the command lists Stampede-Leader and Stampede-Follower (Skool Daze only); it makes the character trip up anyone in his path as he proceeds to his destination.
The Unsignal command is used in the command lists Stampede-Leader and HiddenPeaShooter-Tearaway (Skool Daze only), to lower signals previously raised. It takes a signal name as its sole argument, as in:
Unsignal, TearawayReady
The WaitAtDoor command is used in the command list ShutGateAndDoor-Albert (Back to Skool only) to make Albert wait at the skool door or the skool gate until all the characters are on the correct side and it’s therefore safe to shut the door or gate. The character flags B and G (see [Characters]) are used to determine which skool (and hence which side of the door) a character belongs to. The WaitAtDoor command takes a single argument: the unique ID of the door or gate (see [Doors]).
The WaitUntil command is used in the command list Assembly-Teacher (Back to Skool only) by Mr Creak and Mr Rockitt. It makes the teacher do nothing (i.e. stand still) until a signal is raised. The command takes a single argument: the name of the signal to wait for (AssemblyFinished in this case).
The WalkAround command is used in the following command lists in Skool Daze:
and the following command lists in Back to Skool:
It takes a single argument, which is the number of walkarounds to do - a “walkaround” being a short trip away from the origin (wherever the character was when the WalkAround command was invoked) and back again.
The WalkAround command is also used internally by the MoveAboutUntil command.
The WalkFast command is used as an argument to SetControllingCommand in the command lists GrassOnEric-Wacker and HiddenPeaShooter-Wacker (Skool Daze only) to make the headmaster rush on his way to the fire escape (to find the hidden pea shooter) or to Eric (to give him lines).
The WalkUpOrDown command is used internally by the ConductClassWithEric and ConductClassWithoutEric commands to make a teacher turn round and walk three paces. Called repeatedly, it makes the teacher walk up and down.
The WatchForEric command is used as an argument to SetControllingCommand in the command list ShutGateAndDoor-Albert (Back to Skool only) to make Albert keep his eyes peeled for our hero jumping out of skool windows. If Albert does spot Eric trying to escape, control is handed over to the StopEric command. The WatchForEric command takes two arguments: the name of the command list to use for the character who will be alerted by Albert when he spots Eric trying to escape (ShadowEric in the stock Pyskool); and the alert message to be screamed by Albert.
The WipeBoard command is used internally by the ConductClassWithEric and ConductClassWithoutEric commands to make a character wipe a blackboard clean.
The Write command is used internally to control Eric while he’s writing on a blackboard. It would be of no use in a command list.
The WriteOnBoard command is used internally by the ConductClassWithEric, ConductClassWithoutEric and WriteOnBoardUnless commands to make a character write on a blackboard. The character should (ideally) be standing at the target blackboard before this command is invoked.
The command takes a single argument, namely the message to be written on the board. So if you wanted to use the command explicitly in a command list, you could put something like:
GoTo, ExamRoomBlackboard:Middle
WriteOnBoard, 'Pyskool rox!'
The WriteOnBoardUnless command is used in the following command lists in Skool Daze:
and the following command lists in Back to Skool:
It makes the Tearaway write on a blackboard unless the board has already been written on or the signal named in the command’s sole argument has been raised. The signals used in Skool Daze are:
and the signals used in Back to Skool are: