This is a list of npc dialogues dumped with a OpenOSRS plugin written by Cjay has a majority of major cities apart from various locations locked behind quests/skills (I'll be updating this thread as I go) I skipped various npcs such as men/women and bankers as they share the same dialogues
Spoiler for How it works:
Code:
the way that the dumper works is it makes a tree structure
and you iterate it with bfs, collecting the option's "parent" node
and then you lay them all flat, and that's how you get cyclic dialogues
you pick out the best dialogues (the ones with most children) if they're non unique
I chose bfs because most options are like
"Hi"-> {How are you, What are you doing, I hate cake}
and it could execute this way for example when you click on the "How are you option":
"How are you" -> "I am good" -> {What are you doing, I hate cake}
so now you have those two from the top of the BFS graph
and once you go through them, you can prune anything that doesn't have the highest number of children
Spoiler for Example:
Code:
{
"npc": 1633,
"animation": -1,
"name": "Banker",
"neighbors": [
{
"npc": 1633,
"animation": 554,
"text": "Good day, how may I help you?",
"name": "Banker"
},
{
"text": "Select an Option",
"neighbors": [
{
"animation": 554,
"text": "What is this place?"
},
{
"npc": 1633,
"animation": 568,
"text": "This is a branch of the Bank of Gielinor. We have branches in many towns.",
"name": "Banker"
},
{
"animation": 554,
"text": "And what do you do?"
},
{
"npc": 1633,
"animation": 569,
"text": "We will look after your items and money for you. Leave your valuables with us if you want to keep them safe.",
"name": "Banker"
}
],
"options": [
{
"child": {},
"message": "I'd like to access my bank account, please."
},
{
"child": {},
"message": "I'd like to check my PIN settings."
},
{
"child": {},
"message": "I'd like to collect items."
},
{
"child": {},
"message": "What is this place?"
}
]
}
]
}