Name & Ordinals - Sockets 101
How sockets and name-ordinal indexing works for quest and scene nodes
Imagine nodes are like LEGO blocks with connection points:
┌─────────────┐ ┌─────────────┐
│ Block A │────▶│ Block B │
│ │ │ │
│ OUT socket │ │ IN socket │
└─────────────┘ └─────────────┘
OUT sockets = Where signals LEAVE a block
IN sockets = Where signals ENTER a block
Name & Ordinal in a nutshell is the "address" that tells signals which socket to use
🎬 Enter: Cut
When you're watching a movie and suddenly:
The phone rings and interrupts the conversation
Explosions start and everyone stops talking
An emergency happens and the scene changes immediately
That's a "Cut" - something that interrupts the normal story flow
In Cyberpunk:
Normal Story Flow:
V talks to Jackie ───▶ Jackie responds ───▶ Conversation continues
With a Cut:
V talks to Jackie ───▶ 💥 COMBAT STARTS! ───▶ Conversation STOPS
↑
Cut signal
🔄 Two Types of Connections:
Normal connections = "Continue the story naturally"
Cut connections = "INTERRUPT! Something urgent happened!"
Every node in a scene or quest can:
Send normal signals = "Here's the next part of the quest or scene"
Send cut signals = "STOP! Emergency!"
Receive normal signals = "Ok, continuing the story..."
Receive cut signals = "Oh no! I'm being interrupted!"
📬 Now, How Do We Address These Messages?
Every message between story blocks needs an address label with two numbers:
📝 The Address System:
Name = "What KIND of message?" (Normal=0, Cut=1, etc.)
Ordinal = "Which version/slot?" (Usually 0)
🤔 But Here's the Tricky Part:
Quest nodes and Scene nodes use different rules for these addresses. They speak different languages:
Quest Node Logic: "I organize by message type first"
Normal message #1:
Name:0, Ordinal:0
Normal message #2:
Name:0, Ordinal:1
← Same Name, different OrdinalEmergency message or a cut:
Name:1, Ordinal:0
Scene Node Logic: "I organize by giving each path a unique ID"
Normal message:
Name:0, Ordinal:0
Emergency message or a cut :
Name:1, Ordinal:0
← Different Name, same OrdinalStory path 1:
Name:2, Ordinal:0
Story path 2:
Name:3, Ordinal:0
Think of it like this:
Quest nodes count: "Type 0: slot 1, slot 2, slot 3..."
Scene nodes count: "Path 0, Path 1, Path 2, Path 3..."
That's it! The rest is just knowing which system each block type uses! 🎯
The Complete Socket Reference Table
Quest
Cut Destination
0
0
0
"CutDestination"
Quest
Normal Input
0
1
1
"In"
Scene
Normal Input
0
0
0
"In"
Scene
Cut Input
1
0
1
"Cut"
Output Sockets (Both Types):
Both
Normal Out
0
0
0
Both
Cut Out
1
0
1
🎨 ASCII Visual Guide
Quest Node Layout:
┌─────────────────────────────┐
│ Quest Node │
│ │
│ INPUT: │
│ ● [0] CutDestination │ ← N:0, O:0
│ ● [1] In │ ← N:0, O:1
│ │
│ OUTPUT: │
│ ● [0] Out (Normal) │ ← N:0, O:0
│ ● [1] Out (Cut) │ ← N:1, O:0
└─────────────────────────────┘
Scene Node Layout:
┌─────────────────────────────┐
│ Scene Node │
│ │
│ INPUT: │
│ ● [0] In │ ← N:0, O:0
│ ● [1] Cut │ ← N:1, O:0
│ │
│ OUTPUT: │
│ ● [0] Out (Normal) │ ← N:0, O:0
│ ● [1] Out (Cut) │ ← N:1, O:0
└─────────────────────────────┘
🔗 Connection Flow Examples
Normal Story Flow:
Quest Node ────────────────▶ Scene Node
N:0, O:1 (Out) N:0, O:0 (In)
"Normal flow" "Normal input"
Cut/Interrupt Flow:
Scene Node ────────────────▶ Scene Node
N:1, O:0 (Cut Out) N:1, O:0 (Cut In)
"Interrupt signal" "Interrupt input"
Mixed Example:
┌─────────────┐ Normal ┌─────────────┐ Cut ┌─────────────┐
│ Quest Node │─────────────▶│ Choice Node │────────────▶│ Section │
│ │ N:0, O:1 │ │ N:1, O:0 │ │
│ ● Out │ │ ● In │ │ ● Cut │
└─────────────┘ │ ● Cut │ └─────────────┘
└─────────────┘
📋 Quick Reference for Modders
When Creating Connections:
TO Quest Nodes:
Normal flow:
Name: 0, Ordinal: 1
Cut flow:
Name: 0, Ordinal: 0
TO Scene Nodes:
Normal flow:
Name: 0, Ordinal: 0
Cut flow:
Name: 1, Ordinal: 0
FROM Any Node (Outputs):
Normal output:
Name: 0, Ordinal: 0
Cut output:
Name: 1, Ordinal: 0
⚠ Common Mistakes to Avoid
DON'T Mix Systems:
❌ BAD: Scene node with N:0, O:1 (Quest pattern on Scene node)
✅ GOOD: Scene node with N:1, O:0 (Proper Scene pattern)
Remember the Rule:
Quest nodes: Ordinal determines socket
Scene nodes: Name determines socket type
Last updated