-
Notifications
You must be signed in to change notification settings - Fork 2
Creating a Guide
There are two ways to create guides for GuidelimeVanilla:
- In-game Editor — create and test guides directly in WoW with live preview (recommended for getting started)
- Lua Guide Pack — write guides as a standalone addon for distribution
The fastest way to create a guide. Open it with /glv editor.
- Fill in the metadata at the top: guide name, level range, description, faction, races, next guide
- Write your guide steps in the Source panel — one step per line, using tags like
[QA 123],[G 50,50 Zone], etc. - The Syntax panel shows color-coded tags and the Live Preview shows how the guide will look in-game
- Click Save — the guide is registered immediately and can be loaded from the guide dropdown
The toolbar provides one-click buttons for all tag types:
-
G:Pos — inserts your current map position as a
[G x,y Zone]tag -
TAR — search NPCs by name and insert
[TAR id] -
LE — search spells by name and insert
[LE SP id] -
LastQ — inserts the last quest you accepted as
[QA id] - All other tags (QA, QC, QT, CI, UI, H, S, P, SK, XP, etc.) have dedicated buttons
- Guides created in the editor are account-wide — all your characters can see and load them
- Use the Import button to load an existing guide from any installed guide pack, modify it, and save as your own
- You can use WoW color codes in your text:
|cFFff0000red text|r - The editor saves to
SavedVariables, so guides persist across/reloadand game restarts
Once your guide is ready, you can export it as a standalone addon using the export tool. See Exporting Custom Guides below.
If you want to share your guides with others, create a guide pack addon. This is a separate WoW addon that registers guides with GuidelimeVanilla.
A guide pack is a separate WoW addon that registers guides with GuidelimeVanilla.
GuidelimeVanilla_MyGuides/
├── GuidelimeVanilla_MyGuides.toc
├── init.lua
├── Guide_Zone1.lua
├── Guide_Zone2.lua
└── Guide_Zone3.lua
## Interface: 11200
## Title: Guidelime Vanilla - My Guides
## Notes: Custom leveling guides for Alliance
## Dependencies: GuidelimeVanilla
init.lua
Guide_Zone1.lua
Guide_Zone2.lua
Guide_Zone3.lua
-
## Dependencies: GuidelimeVanillais required — it ensures GuidelimeVanilla loads first -
## Notes:is displayed in the guide pack selection dropdown - New
.tocentries require a full game restart (not just/reload)
local GLV = LibStub("GuidelimeVanilla")
if not GLV then
DEFAULT_CHAT_FRAME:AddMessage("|cFFFF0000[My Guides]|r GuidelimeVanilla is required!")
return
end
-- Register the addon folder name
GLV.guidePackAddons["My Guides"] = "GuidelimeVanilla_MyGuides"
-- Map races to starting guides for auto-selection
GLV:RegisterStartingGuides("My Guides", {
["Human"] = "Elwynn Forest",
["Dwarf"] = "Dun Morogh",
["Gnome"] = "Dun Morogh",
["NightElf"] = "Teldrassil",
})local GLV = LibStub("GuidelimeVanilla")
GLV:RegisterGuide([[
[N 1-11 Elwynn Forest]
[GA Alliance]
[D My custom guide for Elwynn Forest\\By MyName]
[QA 783] Accept "A Threat Within"
[G 48,42 Elwynn Forest][QT 783][QA 7] Turn in and accept "Kobold Camp Cleanup"
[O][QC 7] Kill Kobold Vermin (0/10)
[G 48,40 Elwynn Forest][TAR 823][QT 5261] Turn in to Eagan
[NX 11-15 Westfall]
]], "My Guides")Every guide starts with header tags:
[N 1-11 Elwynn Forest] -- Name and level range (required)
[GA Alliance] -- Faction filter (optional)
[D Description text] -- Description (optional, \\ for line breaks)
The [N] tag defines:
-
Level range (
1-11): used for sorting and auto-selection -
Guide name (
Elwynn Forest): displayed in the dropdown -
Guide ID: auto-generated from name + levels (e.g.,
Elwynn_Forest_1_11)
Each non-empty line becomes a step. Tags within a line define the step's behavior.
[QA 783] Accept "A Threat Within"
This creates a step that:
- Has a checkbox (from
[QA]) - Auto-completes when quest 783 is accepted
- Displays:
! Accept A Threat Within
The last step typically links to the next guide:
[NX 11-15 Westfall]
This creates a clickable "Next Guide" button in the navigation frame.
Empty lines separate groups of steps visually. They don't create steps — they add spacing.
[QA 100] Accept quest A
[QA 101] Accept quest B
[G 50,50 Zone][QC 100] Complete quest A
[G 60,60 Zone][QC 101] Complete quest B
[QT 100] Turn in quest A
[QT 101] Turn in quest B
A single step can contain multiple quest actions:
[QT 100][QA 101] Turn in "Old Quest" and accept "New Quest"
Each action is tracked independently in StepQuestState. The step completes only when all actions are done. The navigation system uses quest database coordinates for turnin/accept NPCs.
[O] pins a step at the top of the guide (highlighted in blue) while you continue with subsequent steps:
[O][QC 50] Kill 10 wolves
[QA 51] Accept another quest while killing wolves
The ongoing step stays visible until its objectives are complete. Useful for kill/collect quests that take time.
[OC] marks a step as optional — it completes automatically when the next step completes:
[OC]Grind southeast to [TAR 2080] [G 50,60 Elwynn Forest]
[QT 100] Turn in the quest
Key behaviors:
-
[OC]coordinates are excluded from Priority 1 navigation resolution (they serve as hints, not primary waypoints) - Text before
[G]tag is extracted as navigation description (e.g., "Grind southeast to Npc Name") -
[TAR]references in the description are resolved to NPC names
The [A] tag restricts steps to specific classes and/or races:
[A Mage] Train at the Mage trainer
[A Dwarf, Gnome] Take the tram
[A Dwarf, Human, Priest] Visit the Priest trainer in Stormwind
Within a single [A] tag, entries are separated into races and classes:
-
Races within a tag are OR'd:
[A Dwarf, Human]= Dwarf OR Human -
Classes within a tag are OR'd:
[A Mage, Warlock]= Mage OR Warlock -
Races AND classes within a tag are AND'd:
[A Dwarf, Human, Priest]= (Dwarf OR Human) AND Priest
Multiple [A] tags on the same line are AND'd:
-
[A Dwarf, Human] [A Priest]= (Dwarf OR Human) AND Priest
| Classes | Races |
|---|---|
| Warrior, Paladin, Hunter, Rogue, Priest, Shaman, Mage, Warlock, Druid | Human, Dwarf, Night Elf, Gnome, Orc, Undead, Tauren, Troll |
Use [NX] to link guides in sequence:
[NX 11-15 Westfall]
When a guide has an [NX] tag:
- A "Next Guide" button appears in the navigation frame on the last step
- Clicking it loads the linked guide automatically
- The guide name in
[NX]must match the name defined by[N]in the target guide
Text before a [G] tag becomes the navigation description:
[OC]Grind north to the moonwell [G 50,60 Elwynn Forest]
The navigation frame displays "Grind north to the moonwell" instead of a quest name.
[TAR] references in the description are resolved to NPC names:
[OC]Grind southeast to [TAR 2080] [G 50,60 Elwynn Forest]
Displays: "Grind southeast to Mangy Wolf" (if NPC 2080 is "Mangy Wolf").
Multiple [G] and [TAR] tags create auto-advancing waypoint sequences:
[G 50,50 Elwynn Forest][G 60,60 Elwynn Forest][G 70,70 Elwynn Forest] Follow the road east
The arrow advances to the next waypoint when you reach the current one (within 5 yards). Similarly, multiple [TAR] tags create a sequence of NPC targets.
HTTP/HTTPS URLs in guide text are automatically detected and replaced with blue [Link] placeholders:
Check the quest guide at https://example.com/quest-guide for details
Clicking the step opens a popup with the full URL pre-selected for Ctrl+C copying (WoW 1.12 doesn't support clickable hyperlinks).
local GLV = LibStub("GuidelimeVanilla")
if not GLV then
DEFAULT_CHAT_FRAME:AddMessage("|cFFFF0000[My Guides]|r GuidelimeVanilla is required!")
return
end
GLV.guidePackAddons["My Guides"] = "GuidelimeVanilla_MyGuides"
GLV:RegisterStartingGuides("My Guides", {
["Human"] = "Northshire Valley",
["Dwarf"] = "Coldridge Valley",
["Gnome"] = "Coldridge Valley",
["NightElf"] = "Shadowglen",
})## Interface: 11200
## Title: Guidelime Vanilla - My Guides
## Notes: Custom Alliance leveling guides
## Dependencies: GuidelimeVanilla
init.lua
Guide_Northshire.lua
Guide_Elwynn.lua
local GLV = LibStub("GuidelimeVanilla")
GLV:RegisterGuide([[
[N 1-6 Northshire Valley]
[GA Alliance]
[D Custom leveling guide for Humans\\Northshire Abbey start zone]
[QA 783] Accept "A Threat Within"
[G 48,42 Elwynn Forest][QT 783][QA 7] Turn in at Marshal McBride and accept "Kobold Camp Cleanup"
[O][QC 7] Kill 10 Kobold Vermin
[QA 5261] Accept "Eagan Peltskinner"
[G 48,40 Elwynn Forest][TAR 823][QT 5261] Turn in to Eagan Peltskinner
[XP 2] Grind to level 2 if needed
[A Mage, Warlock, Priest] [T] Train class spells at the abbey
[A Warrior, Paladin, Rogue, Hunter] [T] Train class skills at the abbey
[QT 7][QA 15] Turn in "Kobold Camp Cleanup", accept "Investigate Echo Ridge"
[G 47,34 Elwynn Forest][QC 15] Kill 10 Kobold Workers in Echo Ridge Mine
[G 48,42 Elwynn Forest][QT 15] Turn in at Marshal McBride
[NX 6-11 Elwynn Forest]
]], "My Guides")-
Editing existing
.luafiles: use/reloadin-game to apply changes -
Adding new
.luafiles or modifying.toc: requires a full game restart -
Debug mode: set
GLV.Debug = trueinCore.luafor verbose logging - In-game editor: changes are instant — save and load without restarting
⚠️ Beta — This tool is functional but still experimental. Output may need manual adjustments.
The Tools/export-guides.lua script reads your custom guides from SavedVariables and generates a complete guide pack addon ready to install.
- Lua 5.1+ installed on your system (any standard Lua interpreter)
- WoW must have been closed at least once after saving guides (so SavedVariables are written to disk)
Run from your WoW installation directory:
lua Tools/export-guides.lua <account> <server> <character> [output_dir] [pack_name]# Basic export (outputs to current directory as "MyCustomGuides")
lua Tools/export-guides.lua MYACCOUNT Turtle MyChar
# Custom output directory and pack name
lua Tools/export-guides.lua MYACCOUNT Turtle MyChar ./output MyGuidesMyCustomGuides/
├── MyCustomGuides.toc
├── init.lua
└── guides/
├── Guide_Name_1.lua
├── Guide_Name_2.lua
└── ...
The generated addon is ready to install — copy the folder to Interface/AddOns/, restart WoW, and select the pack in Settings > Guides.
- The script reads from per-character SavedVariables (
GuidelimeVanillaDB.lua). If your guides were already migrated to global storage (GuidelimeVanillaGlobalDB.lua), you may need to adapt the script path - Starting guide mappings (race → guide) are not exported — add them manually to
init.luaif needed - Guide names with special characters may produce awkward file names