- Main Menu
001 Game Creator uses “Event-Driven Programming”, which is a form of coding where pre-written pieces of code (or “Events”) are used to build scripts in a visually orientated way, rather than typing lines of code.
In 001 Game Creator, all scripts have a root which is the “Start” event. Events connected to “Start” will begin when the script is executed and will flow in order, like a flowchart. Anything not connected to this event will be ignored. You can view a longer list of pre-built events by clicking the “Expand Events” button at the bottom of the Script Editor. Each event comes with a small description which tells you what it does.
When adding new events, they will automatically attach themselves to the last event selected or the “Start” event (if no other events have been placed). The links between events can be broken by right-clicking them. You can reattach these links by clicking and holding the desired node and moving the cursor over an event you wish to attach, until a red line appears - showing the events being attached. Release the mouse button to attach the events.
Some events have parameters that can be changed to produce your desired result. For instance, the “Change Existence” event has the option to change whether an actor “exists” or not. To change these options, double-click on the event or right-click and select “Edit” from the drop down menu.
Some events also have a sub directory. If these events have parameters also then they can only be edited by right-clicking and selecting “Edit” from the drop down menu. Double-clicking events these will open their sub directory.
If you are a newcomer to 001 Game Creator or are unfamiliar with BASIC, it is not recommended that you use Textual Scripting. By clicking “Mode” from the menu and selecting “Textual”, all of your events will be converted into code HOWEVER once your script is saved, this action cannot be undone. If you attempt to switch back to “Graphical” scripting, your existing events will be lost. It should also be noted that textual scripting offers no advantages over visual scripting and for all intended purposes is considered legacy.
A lot of events in Graphical Scripting will give you the option to retrieve data from different Use Values by clicking on the clear button next to an event parameter. These are used to retrieve a value from data, or an object, into the event parameter.
The “Comparison Branch” and “Multi-Comparison Branch” events can be used to compare Use Values against specified criteria. For example: you could use the “Number of Items” Use Value to check if the Player/Party is holding a specific Item(s) and then execute different scripts depending on whether the conditions have been met.
For example: if I had a Global Variable that stored apples and I wanted to add to it, I would write something like:
intApples + 1 - “intApples” being the identifier that I want to change.
When referring to string literals, enclose the string with quotations (“ ”). For example: when displaying the player’s name, you would first store the name in a Global Variable. You could then call this name in dialogue by using
& strPlayersName. The concatenate operator (&) is used alongside the name of the Global Variable to retrieve the name data from the Variable.
Since “Your name is ” is just a piece of text to display, it's wrapped around in quotes. The concatenate operator (&) is then used alongside the Global Variable which joins the two segments together so that it looks like this to the player: “Your name is Lee.” The space between “is” and the last quotation is used so that the text prints a space between the words, instead of “Your name isLee”.
When referring to an identifier or Use Value there is no need to include quotations as the previous example showed. The Global Variable is not put in quotations because 001 Game Creator would treat it as a string and would display: “Your name is strPlayersName” instead of actually retrieving the player's name from the Global Variable. It also needs to be inputted into a “Value” formatted text box (colored dark gray instead of white). 001 Game Creator will try to anticipate this on its own but in instances where it doesn't automatically change, you can manually force it by selecting “(Value)” from the Use Value dialog (which you can launch by clicking the small square next to any event parameter). See images below for reference:
This rule does not apply for numeric literals however. For example: when adding a number onto a Global Variable, write the following:
intApples + 3. This means that it will take the value out of “intApples” (in this case 1) and then add 3 onto it so it would return the value 4.
intApples + “3” was inputted instead, it would return 13, because “3” was being treated as a string instead of a number. It wasn't added with the Global Variable, it was instead added onto it. If this was done again with the first example it would return 7, and for the second example it would return 133. See image below for reference:
Player1.NonExistent = Existent And Player1.Name = “Bob”- the script won't execute unless “Player1” is both existent AND called “Bob”)
Player1.NonExistent = Existent Or Player1.Name = “Bob”- the script will execute if “Player1” is either existent OR called “Bob”)
Player1.NonExistent = Existent And Not Player1.Name = “Bob”- the script will only execute if “Player1” is existent AND is NOT called “Bob”)
Structure.CallByName Use Value allows you to return a Variable, Switch, Collection or result of a Custom Event using an identifier containing the name. For example: If you wanted to return a Collection based on a name stored inside a Variable, then the “Call By Name” Use Value would be required, as typically 001 will use the Variable name itself (rather than its stored value) to look for the Collection.
Time.Now Use Value allows users to retrieve the current system Date/Time from your computer/device and format it in a variety of different ways. By typing a percentage sign (%) followed by a letter (A) into the Format text box, the Date/Time retrieved will automatically be formatted in one of the following ways:
Please note: Formats with an asterisk (*) besides them are locale-dependant. Android devices & HTML5 do not respect this and will always return a US format instead.
|%a||Abbreviated weekday name *||Mon-Sun||Thu|
|%A||Full weekday name *||Monday-Sunday||Thursday|
|%b||Abbreviated month name *||Jan-Dec||Aug|
|%B||Full month name *||January-December||August|
|%c||Date and time representation *||-||Thu Aug 23 14:55:02 2001|
|%d||Day of the month, zero-padded||01-31||23|
|%H||Hour in 24h format||00-23||14|
|%I||Hour in 12h format||01-12||02|
|%j||Day of the year||001-366||235|
|%m||Month as a decimal number||01-12||08|
|%p||AM or PM designation||-||PM|
|%U||Week number with the first Sunday as the first day of week one||00-53||33|
|%w||Weekday as a decimal number with Sunday as 0||0-6||4|
|%W||Week number with the first Monday as the first day of week one||00-53||34|
|%x||Date representation *||-||08/23/01|
|%X||Time representation *||-||14:55:02|
|%y||Year, last two digits||00-99||01|
|%Z||Timezone name or abbreviation * (if timezone cannot be determined, no characters)||-||CDT|
Please see our Message Box Markup page to learn how to pass additional parameters to text when using either the “Message Box” or “Advanced Message Box” events or when creating Text / Graphic Fields on your Interfaces.