08-09-16, 06:26 AM
|
#3
|
A Murloc Raider
Join Date: Jul 2016
Posts: 8
|
Using GetMapContinents function, you get a list of continents with their ids:
Code:
Dump: value=GetMapContinents()
[1]=13,
[2]="Kalimdor",
[3]=14,
[4]="Eastern Kingdoms",
[5]=466,
[6]="Outland",
[7]=485,
[8]="Northrend",
[9]=751,
[10]="The Maelstrom",
[11]=862,
[12]="Pandaria",
[13]=962,
[14]="Draenor",
[15]=1007,
[16]="Broken Isles"
For n ≥1; 2n −1th argument is the id of continent, 2nth argument is the name of continent.
Then, call GetMapZones(n) for each continent.
Note: Pass n, NOT id of continent.
When passing n =7, we get Draenor Zones with Zones id:
Code:
Dump: value=GetMapZones(7);
[1]=978,
[2]="Ashran",
[3]=941,
[4]="Frostfire Ridge",
[5]=949,
[6]="Gorgrond",
[7]=950,
[8]="Nagrand",
[9]=947,
[10]="Shadowmoon Valley",
[11]=948,
[12]="Spires of Arak",
Return format is same like for continents.
Finally, call GetMapSubzones(zoneID) where zoneID is id of zone returned by GetMapZones 2n −1th argument (as opposed to GetMapZones).
Example code, listing all subzones with their zones, with their continents (all with their corresponding ids):
Lua Code:
local continents = {GetMapContinents()}; for continentN =1, #continents /2 do local continentID = continents[2* continentN -1]; local continentName = continents[2* continentN]; local zones = {GetMapZones(continentN)}; for zoneN =1, #zones /2 do local zoneID = zones[2* zoneN -1]; local zoneName = zones[2* zoneN]; local subZones = {GetMapSubzones(zoneID)}; for subZoneN =1, #subZones /2 do local subZoneID = zones[2* subZoneN -1]; local subZoneName = zones[2* subZoneN]; print(continentName .."(" ..continentID .."): " ..zoneName .."(" ..zoneID .."): " ..subZoneName .."(" ..subZoneID ..")"); end; end; end;
Legion output part:
Code:
Broken Isles(1007): Azsuna(1015): Azsuna(1015)
Broken Isles(1007): Highmountain(1024): Azsuna(1015)
Broken Isles(1007): Highmountain(1024): Broken Shore(1021)
Broken Isles(1007): Stormheim(1017): Azsuna(1015)
Broken Isles(1007): Stormheim(1017): Broken Shore(1021)
Broken Isles(1007): Stormheim(1017): Dalaran(1014)
Broken Isles(1007): Suramar(1033): Azsuna(1015)
Broken Isles(1007): Val'sharah(1018): Azsuna(1015)
Broken Isles(1007): Val'sharah(1018): Broken Shore(1021)
|
- I can confirm that those IDs differs from ingame IDs using listed functions.
- dev.battle.net API returns empty result for /wow/zone/6941. Master list also does not lists 6941:
Code:
{
"status": "nok",
"reason": "unable to get zone information."
}
- The whole ZONE API looks not returning those IDs (at least in EU if that have any meaning).
|
|
|