112 Operator

112 Operator

Not enough ratings
Call Editor Guide
By kosa6 ( °□°) ︵ and 2 collaborators
Guide for using 112 Call Editor
2
   
Award
Favorite
Favorited
Unfavorite
Introduction
This guide describes how to create custom calls for 112 Operator using the Call Editor Tool. Before reading this guide please read our Workshop Guide to get a better understanding of how mods work in 112 Operator. It's strongly advised to play 112 Operator, to get an understating of how the game works.
What is the Call Editor?
The Call Editor is a tool used for creating calls for 112 Operator.
How to open Call Editor?
To install and open call editor you need to find 112 Operator - Call Editor in your steam library (it's in Tools section).
First steps
Call list
After opening the call editor, the first view shown to us will be list of all calls with their IDs (on the left) and names (on the right), divided in four categories:
  • Custom Calls (calls located in MyMods folder)
  • Workshop Calls
  • 112 Calls (calls from 112 Operator)
  • 911 Calls (calls from 911 Operator)
All of which can be edited by clicking on them in the list. If you want to create a new call, rather than editing an existing one, click the button on the top right to open the options menu.


Option menu
  • New - Creates a blank call
  • Open - Opens saved call
  • Save - Saves the current edited call to your 112 Operator MyMods folder
  • Save as - Saves currently edited call to a selected folder
  • Upload - Opens workshop uploader, to upload your created calls to the Steam Workshop
  • Show all calls - Takes you back to the call list
  • Report bug - You can send us a report, if you encounter any bugs
  • Help - Opens this guide
  • Exit - Goodbye


Top panel
Either by creating a new call or selecting an existing one from the list, four new tabs will be displayed at the top of the editor window, corresponding to the four elements of a call, which you can learn in the sections below.
Call Tab
The call tab is the first on the list, and the first tab you should open when creating your call. Here you can specify the call ID, name and the main properties of the call. Although the name of the call is the thing that players will see in duty summary and at the end of duty, the important one is the ID, which needs to be unique from every call in your MyMods(Custom calls) folder. If you save a call, and its ID is the same as a different call in MyMods, the call will be overridden. To learn more on call properties, see the "Properties, Action on end, Action on ignore" section.
Dialog tab
The dialog tab serves the purpose of creating call structure. It's split into two views, with the Graph (on right) and an Inspector (on left)

Graph
The graph view is where we can visually see and create call structure using dialog nodes. Dialog nodes represent the dialog options we can see in game, what text will be displayed and who speaks - the operator (Headphones icon) or the caller (exclamation mark). Also, we see connections (arrows) from node to node, they represent what options will be played before and after.


Unfortunately, call structure can get really complex over time, and seeing all the connections just as arrows, the screen might become cluttered. To counter this, when node is selected, the nodes around it change color to:
  • Dark Blue - represents the selected node
  • Green - represents the options what will be played after the selected option

  • Red - represents the options what lead to selected node

  • Dark green - also represents options that will be played after the selected option, but with special property "Back" (more on this topic later)

Operations we can do in graph view
  • Moving - We can move a node around the graph view by holding the left mouse button on the node and moving the mouse cursor.
  • Creating nodes - Clicking anywhere in the view using the right mouse button will create a new node.
  • Creating connections - We can create a connection from one node to another by holding the right mouse button on one node and moving the cursor to another.
  • Deleting - Using the delete button will delete selected elements.

    Sometimes we want to move or delete many nodes at the same time, for that we need to create a select box by holding Ctrl button and moving the mouse cursor
Call Structure
Dialog flow
Now that we know how the interface for creating call structure looks, let's talk more about how we should use it. Let's start with some basics. In 112 Operator, a call is a dialog between a 112 Operator (actually the player) and a caller who calls the 112 service. This gives us knowledge of how the structure of a call should look in 112 Operator: Operator -> Caller -> Operator -> Caller, like in screen below.


Dialog start
Call always must start from the Operator node with ID set to 1, in most cases in the game, it's text is "112, what's your emergency?".

Giving Player options to choose
When there is only one option for the player in the call, the dialog moves on by itself. Having more than one Operator option connected under the caller option, the player will need to select an option to move on.
This is how the example above looks in game

Having more than one option coming from the Operator node is something different because only the player can make choices, so when we do a structure like this:

We actually create a call that has random outcomes every time it's played. We can see that every option has a chance to play equal to 100% divided by a number of options connected. You can set a custom chance for each outcome in the properties. Check the section “Properties, Action on end, Action on ignore” for more information.

Options are played only once
Once an option has been played, it will never be played again in that call again (shown in options to choose). Here after answer 2, we have questions 2 and 3, but question 2 can be also selected following answer 1. If that situation occurs after answer 2, there will be only question 3, not both options.


Special attribute “back”
When a call starts we almost always want to ask the caller some basic questions to get the hang of a situation: When? Who? Where? Let's say that call would look like this :
Start -> Answer -> When -> Answer -> Who -> Answer -> Where -> Answer -> End
When we create this in the editor, this is what it looks like:

Those arrow connections are not looking good. With just three questions, we have a mess in our structure, and to avoid it we can do one of two things. Firstly, we could create copies of previous nodes, but this just doubles our work. Alternatively, we can use the "back" attribute on the caller options. Here is the same example with using “back”:

The “back” attribute follows this pattern: If the caller’s node has “back” turned on, return to the previous caller node and add the options from the current answer to the ones from the previous node. One thing to also keep in mind is that "back" stop only when previous caller options have "back" turned off". Look at screen below:

Answer 4 has “back” on, so we add to next options 4 and 6, but also because answer 3 has “back” on, we add 1, 2 and 3, now we stop because Answer 2 didn’t have back on.

Special nodes
When we create a new call and open dialog tab, we can see that there are already five nodes created. One of which is starting node, with the ID set to one, second is an example answer that ends call, but also important are the other three options:
  • End node (three dots) - Node with ID "end": when the call doesn't end with a node containing Action(HangUp), the call will end using node with ED end.
  • First reminder - Node with ID "reminder": when the player doesn't take any action for a while, this node will be invoked.
  • Second reminder - Node with ID "reminder2", when player doesn't take any action after first reminder, second will be invoked. If the player continues to take no action, “end” will be invoked.
It's advised, to change only the text in special nodes, as they need to have the same ID and shouldn't be connected to any other nodes!


Special constructions in text field
We can insert some special constructions in the text of node like:
  • Text timers - Write text for a given amount of time, used when wanting to synchronize text with sound or for dramatic pause. Construction : [[amount of time]] Example

    After 0.2 seconds "Yes" will be printed in 0.3 seconds, then there will be a pause for 0.7 seconds, "Two.. I..." will print in 1.8 secs, "I don't know if the guy" in 1 sec, "..." in 0.7 secs and then rest of text.
  • Short version of text - Used only for operator options when we have a large chunk of text. Showing it to the player to choose would use an unnecessary amount of space, and take time for the player to read. This is why we specify a short version of the text to be used for selecting given options. Construction: { short version of text } Example

    When playing the game, the player will see "LEAVE THEM IN THE CAR" on the option to choose, but the operator will actually say the full version.
  • Address - Because the game uses real maps, and some options give information to the player where something has happened, there is a special attribute which will print the address of the "caller scene" (more on scenes in sections "Scenes in 112 operator"). Construction : [[ADDRESS]] Example

  • Plates - Will print random plates number. Construction: [[PLATES]]
Scenes in 112 Operator
Scenes are nothing more than incidents shown to the player during a game, but are connected to a call. Calls can have more than one scene, for example a scene with an injured bike owner and a second scene with a running bike thief.

Scene elements
The scene is comprised of scene elements that are shown on the on-site window (not always). Scene elements are things like injured people, suspects, fires etc.

Scene types
All scenes have a type (medic, police, or fire) that’s shown to the player what units are needed at on-site. The scene type is defined by the scene elements that make up the scene. For example, we have three suspects at a scene, and two are injured: the scene will have medic/police type, indicating to the player that it needs police and medics.
Scenes tab

Scene list
At the right side of the screen is the scene list: showing all created scenes with their ID, their title, an arrow to show/hide scene elements, and a button to remove the scene. On the scene elements, there is also the type of element between the ID and title.

Scene inspector
After clicking a scene on the list, the scene inspector will be shown on the left, where we can edit:
  • ID - Identifier used to refer to the scene in "Properties, Action on End, Action on ignore" - it's important that this is unique, and different from the dialog ID, it can't be a number
  • Title - Name of the scene
  • Background - What player will see when units arrive on-site, also determines what spawning points a scene element can have. For example this is Elevator Background

  • Properties, Action on End, Action on ignore - see section below :)

Scene element inspector
The scene element inspector looks almost the same as the scene inspector, but instead of the background, we need to specify the type of element.

Scene element types
Defining a good type for what we want to achieve is important. It defines what units will be needed, and what gear will be useful to solve them.
  • Injured - Injured person.
  • Suspect - Person that needs to be checked by police e.g. criminal, witnesses. Only police can solve this type.
  • Dead - Dead person, solvable by police or medics.
  • Police Work - e.g. Traffic control, Crowd control. Only police can solve this type.
  • Fire Work - Something on fire.
  • Medical Work - Work that need to be solved by medics e.g. picking up detached limbs
  • Search Work - Searching for something e.g. bomb
  • Tech Work - Work for firefighters e.g. cat on tree :)
  • Defuse Bomb Work - Boom work, only police can solve this type.
  • Timer - Special element type that is not visible onsite, and invoke its ActionOnEnd after the time expires.
Summary tab
What is AAR ?
AAR is short for After Action Report. These are reports shown in the duty summary after the player has completed a duty. We can see them by clicking an incident in the summary.


Call AAR
The one that interest us most are on highlighted in blue, which indicated that the AAR was added from a call, and is not generic like "Unit#3 transported 2 suspect to station". These are created in the AAR tab.


Creating AAR
To create AAR just click the "add new AAR" button, then select it in the list and specify its ID, and text in the inspector. The ID must also be unique, and can't be a number).
Properties, Action on end, Action on ignore
What are properties ?
Properties are things that can be changed/set/used in a selected call, scene, scene element etc. There are many things that can be done ranging from setting the health points of an injured person, to forcing the start of a call.

How am I supposed to know what to use ?
There is an auto-complete feature implemented in the call editor which will show you what you can type.

Creating Property

After clicking the add button, a new empty input field will be created with default text instructing you to press “ctrl+shift”. After pressing ctrl+shift, a list of all available properties will show, for the current element. Every property has a brief description explaining its usage.

What is Action on end?
It's the same as properties, but it's invoked after the scene element will be solved, dialog option printed etc.
Basically when we want to do something after something different has ended. For example, the player selected a dialog option, after which we want the injured person to die on-site. To do that, we need to create dialog node with action on end "sceneElementId.hp=0"

What is Action on ignore?
Same as action on end, but invoked when the player ignored a call or scene, used mostly to punish the player for ignoring call by raising opinionOnIngore of call.

Most useful properties
Most of the properties are used very rarely, in special cases, but there are some without which you cannot have a call:
  • callLevel - If this property is not set, call will not be generated by game, means that call will be only started from the command line.
  • isCallerScene - The scene where the caller is located. All calls need to have at least one scene with this property to work.
  • Action(HangUp) - Used for ending a conversation, also used at the end of all dialog options in the call.
  • Action(SetLocation) - Used to show the location (on the gameplay map) of the scene with property isCallerScene, to the player. Mostly used with dialog options that ask for the address.

Adding AAR to the scene
Beside using the properties listed above, another thing that we will use a lot in properties and actions is adding AAR to scenes, after we create the AAR in the AAR tab, and have at least one scene created, we can refer to a scene in the properties by its ID, and we can also add AAR by ID like this.
Creating call step by step
Now that we know how the call editor looks and works. Lets see a fast way to create a simple call:
  • 1. Click “new call” in the option panel.
  • 2. Set ID, title and callLevel to 0 in the call tab.

  • 3. Change default scene ID, name and background. It's important to set them before setting the properties, because properties refers to scenes by ID. If you refer to a scene in properties, and then change the ID of the scene, then you also need to change it in properties. Mark the scene as 'isCallerScene', and set the reputation that the player will get on success and on failure.
  • 4. Create the scene elements, set their IDs, names, and types. In properties, you will probably want to set spawnArea (determines where elements will be on-site).
  • 5. Create dialog. Example:
    Remember to have one option with Action(SetLocation) in my case it's "I'm in the park"

    And one option that ends conversation

  • 6. Create AARs

  • 7. Add AARs to action on ends. One of my AAR is saying that the cat is saved, so in the scene element a cat was added.

  • 8. Click save in the options panel. If everything goes correctly, you should have new folder in C:/Users/<user_name>/AppData/LocalLow/JutsuGames/112 Operator/MyMods named ce_callId
  • 9. Open 112 operator and test you call by typing StartCall "yourCallId" in the command line. You can find out more about the command line in Guide To Cheat
Languages
By default, all text that we input in the call editor is considered to be in English. If we were creating call in different language, we need to change name of translation file, which is located in C:/Users/<user_name>/AppData/LocalLow/JutsuGames/112 Operator/MyMods/ce_callId/Languages.

Calls can support many languages, you just need to copy the default en-US file, change its name to the supported language and the text inside. This is how a call that supports many languages should look in Languages folder:

Creating Incidents
There is possibility to use call editor, also to create incidents. To do that we just need to use “save incident” or “save incident as” buttons, rather than “save call”. One thing to keep in mind, when creating incidents is that Dialog tab is not saved, and you don't need to do anything there, just use Scenes, AAR, Call tabs.
15 Comments
tomjamesonwest May 1 @ 8:17am 
I hi I’m sorry I sent you this but as soon as you open this message the challenge begins I got this message saying Hi my name is Teresa Fidalgo I died 27 years ago. If you don’t send this to 20 people I will sleep by your side forever. If you don’t believe me search me up.
Teresa Fidalgo. So send this to 20 people. A girl ignored this and her mom died 20 days later. so send to 20 people or she will sleep by your side forever (no send backs)
Semen Demon Apr 19 @ 2:35pm 
"YOURINCIDENTNAME.description": "TEST TEST TEST.",
Semen Demon Apr 19 @ 2:34pm 
@MIYATAKE in the language file you can write this .description": "WRITE DESCRIPTION HERE",
Here is an Example from an incident i created.

"incident.c_Investigation_BodyFound_Dumpster.description": "911 Received a call reporting a sanitation worker found a dead body in a dumpster.", <- DONT MISS THE COMMA
Romulus Oct 11, 2024 @ 11:50pm 
the time is since beginning of call, it is not duration of pause but point in time at which should continue
MIYATAKE Jun 3, 2024 @ 3:03am 
How can I add a description for an incident?
BEX Feb 28, 2024 @ 7:29pm 
Ok there is a bug in this post, how on earth is the "Text timers" even correct on its time I think it is messed up, somehow you have a [[0.2]] which is 0.2 seconds, but the others are not correct, such as why the [[0.5]] which is 0.3 seconds.

I mean I could be wrong let me know, but it does not specify why they dont align up right?
GET_IN_MY_BELLY Feb 25, 2024 @ 5:09pm 
churr
Flight ATC Sep 9, 2023 @ 10:58pm 
I'm trying to find out how to edit the existing incident's names and description. How do I do that?
[CN]突击队队员 Aug 12, 2021 @ 10:31pm 
Call Editor can't read Incident.xml , it won't show anything after loaded.
if an Incident mod at AppData\LocalLow\JutsuGames\112 Operator\MyMods then Editor will show it under Custom Incident .
[CN]突击队队员 Aug 12, 2021 @ 3:06am 
just know how is this happen : you can't leave any empty text line behind , must delete all empty text area or it will save with nothing.