chore: 节点自定义等级脚本

This commit is contained in:
wxhn1225 2025-10-12 09:01:22 +08:00
parent 70335858d3
commit 3370ba5d0f
4 changed files with 882 additions and 0 deletions

View File

@ -0,0 +1,686 @@
-- 星图节点中文名称映射
-- 自动生成,请勿手动编辑
-- 生成工具: Tools/generate_region_name_mapping.py
return {
["Abaddon"] = "SolNode203",
["Acheron"] = "SolNode4",
["Adaro"] = "SolNode181",
["Adrastea"] = "SolNode88",
["Akkad"] = "ClanNode18",
["Alator"] = "SolNode106",
["Amalthea"] = "SolNode97",
["Amarna"] = "ClanNode14",
["Ananke"] = "SolNode73",
["Anthe"] = "SolNode31",
["Aphrodite"] = "SolNode2",
["Apollo"] = "SolNode308",
["Apollodorus"] = "SolNode94",
["Ara"] = "SolNode45",
["Ares"] = "SolNode113",
["Ariel"] = "SolNode33",
["Armaros"] = "SolNode204",
["Arval"] = "SolNode41",
["Assur"] = "ClanNode17",
["Augustus"] = "SolNode16",
["Baal"] = "SolNode205",
["Berehynia"] = "SolNode185",
["Bode"] = "SolNode132",
["Boethius"] = "SolNode223",
["Brugia"] = "SolNode153",
["Caelus"] = "SolNode907",
["Caliban"] = "SolNode60",
["Callisto"] = "SolNode25",
["Caloris"] = "SolNode119",
["Calypso"] = "SolNode82",
["Cambria"] = "SolNode79",
["Cameria"] = "ClanNode5",
["Caracol"] = "ClanNode12",
["Carme"] = "SolNode74",
["Carpo"] = "SolNode121",
["Cassini"] = "SolNode70",
["Casta"] = "SolNode149",
["Cerberus"] = "SolNode43",
["Cervantes"] = "SolNode75",
["Charybdis"] = "SolNode196",
["Cholistan"] = "ClanNode7",
["Cinxia"] = "SolNode147",
["Circulus"] = "SolNode310",
["Coba"] = "ClanNode2",
["Copernicus"] = "SolNode304",
["Cressida"] = "SolNode83",
["Cypress"] = "SolNode56",
["Cytherean"] = "SolNode23",
["Dakata"] = "SolNode746",
["Desdemona"] = "SolNode98",
["Despina"] = "SolNode6",
["Dione"] = "SolNode67",
["Dirus"] = "SolNode709",
["Draco"] = "SolNode146",
["E Gate"] = "SolNode128",
["E Prime"] = "SolNode27",
["Elara"] = "SolNode100",
["Elion"] = "SolNode12",
["Enceladus"] = "SolNode19",
["Erpo"] = "SolNode903",
["Eurasia"] = "SolNode59",
["Everest"] = "SolNode39",
["Exequias"] = "SolNode713",
["Exta"] = "SolNode144",
["Formido"] = "SolNode710",
["Fossa"] = "SolNode104",
["Gabii"] = "ClanNode23",
["Gaia"] = "SolNode85",
["Galatea"] = "SolNode1",
["Galilea"] = "SolNode905",
["Ganymede"] = "SolNode87",
["Garus"] = "SolNode748",
["Gradivus"] = "SolNode65",
["Grimaldi"] = "SolNode301",
["Gulliver"] = "SettlementNode11",
["H-2 星云"] = "CrewBattleNode554",
["Hades"] = "SolNode51",
["Helene"] = "SolNode42",
["Hellas"] = "SolNode58",
["Hieracon"] = "ClanNode25",
["Horend"] = "SolNode706",
["Hydra"] = "SolNode76",
["Hydron"] = "SolNode195",
["Hyf"] = "SolNode707",
["Iliad"] = "SettlementNode20",
["Io"] = "SolNode125",
["Ishtar"] = "SolNode61",
["Isos"] = "SolNode162",
["Jordas 魔像 刺杀"] = "SolNode701",
["Kadesh"] = "ClanNode8",
["Kala-azar"] = "SolNode164",
["Kappa"] = "SolNode177",
["Keeler"] = "SolNode93",
["Kelashin"] = "ClanNode21",
["Kelpie"] = "SolNode188",
["Kepler"] = "SettlementNode10",
["Ker"] = "SolNode141",
["Kiliken"] = "SolNode101",
["Kiste"] = "SolNode140",
["Kokabiel"] = "SolNode220",
["Koro"] = "SolNode741",
["Kronia 中继站"] = "SaturnHUB",
["Laomedeia"] = "SolNode118",
["Lares"] = "SolNode130",
["Larissa"] = "SolNode49",
["Larunda 中继站"] = "MercuryHUB",
["Larzac"] = "ClanNode6",
["Lex"] = "SolNode139",
["Linea"] = "SolNode109",
["Lith"] = "SolNode26",
["Ludi"] = "SolNode138",
["M Prime"] = "SolNode103",
["Magnacidium"] = "SolNode712",
["Malva"] = "ClanNode1",
["Mantle"] = "SolNode63",
["Mariana"] = "SolNode89",
["Marid"] = "SolNode191",
["Maroo 的市集"] = "TradeHUB1",
["Martialis"] = "SolNode36",
["Memphis"] = "ClanNode10",
["Merrow"] = "SolNode193",
["Metis"] = "SolNode126",
["Minthe"] = "SolNode38",
["Monolith"] = "SettlementNode12",
["Montes"] = "SolNode902",
["Morax"] = "SolNode209",
["Naamah"] = "SolNode210",
["Nabuk"] = "SolNode742",
["Naeglar"] = "SolNode175",
["Naga"] = "SolNode189",
["Nakki"] = "SolNode190",
["Narcissus"] = "SolNode21",
["Nereid"] = "SolNode84",
["Neso"] = "SolNode62",
["Nimus"] = "SolNode166",
["Numa"] = "SolNode50",
["Nuovo"] = "SolNode137",
["Oceanum"] = "SolNode102",
["Odin"] = "SolNode224",
["Oestrus"] = "SolNode167",
["Olympus"] = "SolNode30",
["Ophelia"] = "SolNode69",
["Orcus 中继站"] = "PlutoHUB",
["Orias"] = "SolNode217",
["Oro"] = "SolNode24",
["Ose"] = "SolNode211",
["Outer Terminus"] = "SolNode72",
["Pacific"] = "SolNode15",
["Pago"] = "SolNode747",
["Paimon"] = "SolNode212",
["Pallas"] = "SolNode131",
["Palus"] = "SolNode81",
["Pandora"] = "SolNode906",
["Pantheon"] = "SolNode226",
["Pavlov"] = "SolNode306",
["Phlegyas"] = "SolNode708",
["Piscinas"] = "ClanNode13",
["Plato"] = "SolNode300",
["Proteus"] = "SolNode17",
["Psamathe"] = "SolNode127",
["Puck"] = "SolNode114",
["R-9 星云"] = "CrewBattleNode555",
["Regna"] = "SolNode48",
["Rhea"] = "SolNode18",
["Roche"] = "SettlementNode1",
["Romula"] = "ClanNode0",
["Rosalind"] = "SolNode9",
["Rotuma"] = "SolNode743",
["Rusalka"] = "SolNode184",
["Salacia"] = "SolNode908",
["Sangeru"] = "ClanNode15",
["Sao"] = "SolNode57",
["Saxis"] = "SolNode171",
["Sechura"] = "ClanNode24",
["Seimeni"] = "ClanNode22",
["Selkie"] = "SolNode187",
["Sharpless"] = "SettlementNode15",
["Shklovsky"] = "SettlementNode14",
["Sinai"] = "ClanNode4",
["Skyresh"] = "SettlementNode2",
["Solium"] = "SolNode173",
["Sorath"] = "SolNode214",
["Spear"] = "SolNode46",
["Stephano"] = "SolNode122",
["Stickney"] = "SettlementNode3",
["Strata 中继站"] = "EarthHUB",
["Stöfler"] = "SolNode305",
["Suisei"] = "SolNode225",
["Sycorax"] = "SolNode34",
["Syrtis"] = "SolNode904",
["Tamu"] = "SolNode745",
["Taveuni"] = "SolNode744",
["Telesto"] = "SolNode20",
["Terminus"] = "SolNode28",
["Terrorem"] = "SolNode711",
["Tessera"] = "SolNode22",
["Tethys"] = "SolNode32",
["Tharsis"] = "SolNode11",
["Thebe"] = "SolNode10",
["Themisto"] = "SolNode53",
["Thon"] = "SolNode135",
["Tikal"] = "ClanNode3",
["Titan"] = "SolNode96",
["Titania"] = "SolNode105",
["Tolstoj"] = "SolNode108",
["Triton"] = "SolNode78",
["Tyana Pass"] = "SolNode450",
["Tycho"] = "SolNode302",
["Ultor"] = "SolNode14",
["Umbriel"] = "SolNode64",
["Unda"] = "SolNode66",
["Ur"] = "ClanNode16",
["V Prime"] = "SolNode123",
["Valac"] = "SolNode215",
["Valefor"] = "SolNode216",
["Vallis"] = "SolNode68",
["Venera"] = "SolNode107",
["Vodyanoi"] = "SolNode183",
["Wahiba"] = "ClanNode9",
["War"] = "SolNode99",
["Xini"] = "SolNode172",
["Yam"] = "SolNode199",
["Yursa"] = "ClanNode20",
["Yuvarium"] = "SolNode309",
["Zabala"] = "ClanNode19",
["Zeipel"] = "SolNode307",
["Zeugma"] = "ClanNode11",
["《指数之场》:挑战"] = "EventNode763",
["七魅之息"] = "CrewBattleNode527",
["不灭之地"] = "SolNode717",
["中枢争夺"] = "PvpNode0",
["乌戈塔"] = "SolNode406",
["传承种收割"] = "SolNode850",
["光理塔"] = "SolNode412",
["光神塔"] = "SolNode408",
["克姆地带"] = "CrewBattleNode519",
["冥渡"] = "CrewBattleNode528",
["冥王星-Acheron"] = "SolNode4",
["冥王星-Cerberus"] = "SolNode43",
["冥王星-Cypress"] = "SolNode56",
["冥王星-Hades"] = "SolNode51",
["冥王星-Hieracon"] = "ClanNode25",
["冥王星-Hydra"] = "SolNode76",
["冥王星-Minthe"] = "SolNode38",
["冥王星-Narcissus"] = "SolNode21",
["冥王星-Oceanum"] = "SolNode102",
["冥王星-Orcus 中继站"] = "PlutoHUB",
["冥王星-Outer Terminus"] = "SolNode72",
["冥王星-Palus"] = "SolNode81",
["冥王星-Regna"] = "SolNode48",
["冥王星-Sechura"] = "ClanNode24",
["冥王星-赛德娜接合点"] = "ErisToSednaJunction",
["冥王星-阋神星接合点"] = "PlutoToErisJunction",
["冥王星接合点"] = "NeptuneToPlutoJunction",
["冥王星比邻星域-七魅之息"] = "CrewBattleNode527",
["冥王星比邻星域-冥渡"] = "CrewBattleNode528",
["冥王星比邻星域-利益外缘"] = "CrewBattleNode529",
["冥王星比邻星域-外域星轴"] = "CrewBattleNode536",
["冥王星比邻星域-胡夫之遣"] = "CrewBattleNode526",
["冥王星比邻星域-芬顿之地"] = "CrewBattleNode531",
["初裔冰渍区"] = "CrewBattleNode521",
["利益外缘"] = "CrewBattleNode529",
["刺杀H-09 坦克"] = "SolNode856",
["努秘"] = "CrewBattleNode539",
["卡希欧安息处"] = "CrewBattleNode530",
["卢帕星道"] = "CrewBattleNode534",
["卫城区"] = "SolNode721",
["卫标星环"] = "CrewBattleNode511",
["双衍历程"] = "SolNode236",
["双衍王境-双衍历程"] = "SolNode236",
["双衍王境-孤独纪事"] = "SolNode237",
["双衍王境-无尽回廊"] = "SolNode238",
["哈拉科防线"] = "SolNode231",
["团队歼夺"] = "PvpNode9",
["土星-Anthe"] = "SolNode31",
["土星-Calypso"] = "SolNode82",
["土星-Caracol"] = "ClanNode12",
["土星-Cassini"] = "SolNode70",
["土星-Dione"] = "SolNode67",
["土星-Enceladus"] = "SolNode19",
["土星-Helene"] = "SolNode42",
["土星-Keeler"] = "SolNode93",
["土星-Kronia 中继站"] = "SaturnHUB",
["土星-Numa"] = "SolNode50",
["土星-Pandora"] = "SolNode906",
["土星-Piscinas"] = "ClanNode13",
["土星-Rhea"] = "SolNode18",
["土星-Telesto"] = "SolNode20",
["土星-Tethys"] = "SolNode32",
["土星-Titan"] = "SolNode96",
["土星-中枢争夺"] = "PvpNode0",
["土星-团队歼夺"] = "PvpNode9",
["土星-天王星接合点"] = "SaturnToUranusJunction",
["土星-歼夺"] = "PvpNode10",
["土星接合点"] = "JupiterToSaturnJunction",
["土星比邻星域-卡希欧安息处"] = "CrewBattleNode530",
["土星比邻星域-卢帕星道"] = "CrewBattleNode534",
["土星比邻星域-水域星团"] = "CrewBattleNode535",
["土星比邻星域-诺朵星峡"] = "CrewBattleNode533",
["土星比邻星域-赤毒玄骸对决"] = "CrewBattleNode557",
["土星比邻星域-魔多星团"] = "CrewBattleNode501",
["圣殿-圣殿突袭"] = "SolNode801",
["圣殿-精英级圣殿突袭"] = "SolNode802",
["圣殿突袭"] = "SolNode801",
["地狱净化:炽蛇军"] = "SolNode851",
["地狱净化:科腐者"] = "SolNode852",
["地球-Cambria"] = "SolNode79",
["地球-Cervantes"] = "SolNode75",
["地球-Coba"] = "ClanNode2",
["地球-E Prime"] = "SolNode27",
["地球-Erpo"] = "SolNode903",
["地球-Eurasia"] = "SolNode59",
["地球-Everest"] = "SolNode39",
["地球-Gaia"] = "SolNode85",
["地球-Lith"] = "SolNode26",
["地球-Mantle"] = "SolNode63",
["地球-Mariana"] = "SolNode89",
["地球-Oro"] = "SolNode24",
["地球-Pacific"] = "SolNode15",
["地球-Strata 中继站"] = "EarthHUB",
["地球-Tikal"] = "ClanNode3",
["地球-夜灵平野"] = "SolNode228",
["地球-希图斯"] = "CetusHub4",
["地球-火星接合点"] = "EarthToMarsJunction",
["地球-萨娅的异象"] = "SolNode451",
["地球-金星接合点"] = "EarthToVenusJunction",
["地球比邻星域-克姆地带"] = "CrewBattleNode519",
["地球比邻星域-奥加尔星团"] = "CrewBattleNode518",
["地球比邻星域-本达尔星团"] = "CrewBattleNode522",
["地球比邻星域-深眠峡道"] = "CrewBattleNode502",
["地球比邻星域-科技细胞终幕者演唱会"] = "CrewBattleNode559",
["地球比邻星域-自由航行"] = "CrewBattleNode556",
["地球比邻星域-虚无神殿"] = "CrewBattleNode509",
["墓垒"] = "SolNode719",
["外域星轴"] = "CrewBattleNode536",
["夜灵平野"] = "SolNode228",
["天王星-Ariel"] = "SolNode33",
["天王星-Assur"] = "ClanNode17",
["天王星-Caelus"] = "SolNode907",
["天王星-Caliban"] = "SolNode60",
["天王星-Cressida"] = "SolNode83",
["天王星-Desdemona"] = "SolNode98",
["天王星-Ophelia"] = "SolNode69",
["天王星-Puck"] = "SolNode114",
["天王星-Rosalind"] = "SolNode9",
["天王星-Stephano"] = "SolNode122",
["天王星-Sycorax"] = "SolNode34",
["天王星-Titania"] = "SolNode105",
["天王星-Umbriel"] = "SolNode64",
["天王星-Ur"] = "ClanNode16",
["天王星-布鲁图斯"] = "SolNode723",
["天王星-海王星接合点"] = "UranusToNeptuneJunction",
["天王星接合点"] = "SaturnToUranusJunction",
["太阳塔"] = "SolNode410",
["奥加尔星团"] = "CrewBattleNode518",
["奥布山谷"] = "SolNode129",
["奥金工场"] = "SolNode233",
["女娲之矿"] = "CrewBattleNode516",
["孤独纪事"] = "SolNode237",
["孽杀"] = "SolNode716",
["守护神塔"] = "SolNode411",
["对战:小队 VS 小队"] = "SolNode855",
["对战:小队独战"] = "SolNode857",
["对抗帕尔沃斯的姐妹"] = "CrewBattleNode558",
["居住舱"] = "SolNode234",
["布鲁图斯"] = "SolNode723",
["希图斯"] = "CetusHub4",
["异化区"] = "SolNode718",
["异融 Alad V 刺杀"] = "SolNode705",
["弗雷沙"] = "CrewBattleNode553",
["弧冢"] = "SolNode720",
["恩斯尤区格"] = "CrewBattleNode550",
["恶涌"] = "SolNode715",
["扎里曼号-哈拉科防线"] = "SolNode231",
["扎里曼号-奥金工场"] = "SolNode233",
["扎里曼号-居住舱"] = "SolNode234",
["扎里曼号-永视弧域"] = "SolNode230",
["扎里曼号-涂沃主厅"] = "SolNode232",
["扎里曼号-羽化之穹"] = "ZarimanHub",
["扎里曼号-翠径"] = "SolNode235",
["指数之场:挑战(中风险)"] = "SolNode762",
["指数之场:挑战(低风险)"] = "SolNode761",
["指数之场:挑战(高风险)"] = "SolNode763",
["无垠华盖"] = "CrewBattleNode515",
["无尽回廊"] = "SolNode238",
["时空坐标"] = "CrewBattleNode504",
["星主之握"] = "CrewBattleNode524",
["曲银之地"] = "CrewBattleNode540",
["月球-Apollo"] = "SolNode308",
["月球-Circulus"] = "SolNode310",
["月球-Copernicus"] = "SolNode304",
["月球-Grimaldi"] = "SolNode301",
["月球-Pavlov"] = "SolNode306",
["月球-Plato"] = "SolNode300",
["月球-Stöfler"] = "SolNode305",
["月球-Tycho"] = "SolNode302",
["月球-Yuvarium"] = "SolNode309",
["月球-Zeipel"] = "SolNode307",
["木星-Adrastea"] = "SolNode88",
["木星-Amalthea"] = "SolNode97",
["木星-Ananke"] = "SolNode73",
["木星-Callisto"] = "SolNode25",
["木星-Cameria"] = "ClanNode5",
["木星-Carme"] = "SolNode74",
["木星-Carpo"] = "SolNode121",
["木星-Elara"] = "SolNode100",
["木星-Galilea"] = "SolNode905",
["木星-Ganymede"] = "SolNode87",
["木星-Io"] = "SolNode125",
["木星-Metis"] = "SolNode126",
["木星-Sinai"] = "ClanNode4",
["木星-Thebe"] = "SolNode10",
["木星-Themisto"] = "SolNode53",
["木星-土星接合点"] = "JupiterToSaturnJunction",
["木星-欧罗巴接合点"] = "JupiterToEuropaJunction",
["木星-蝠力使"] = "SolNode740",
["木星接合点"] = "CeresToJupiterJunction",
["本达尔星团"] = "CrewBattleNode522",
["欧文-哈克"] = "CrewBattleNode512",
["欧罗巴-Abaddon"] = "SolNode203",
["欧罗巴-Armaros"] = "SolNode204",
["欧罗巴-Baal"] = "SolNode205",
["欧罗巴-Cholistan"] = "ClanNode7",
["欧罗巴-Kokabiel"] = "SolNode220",
["欧罗巴-Larzac"] = "ClanNode6",
["欧罗巴-Morax"] = "SolNode209",
["欧罗巴-Naamah"] = "SolNode210",
["欧罗巴-Orias"] = "SolNode217",
["欧罗巴-Ose"] = "SolNode211",
["欧罗巴-Paimon"] = "SolNode212",
["欧罗巴-Sorath"] = "SolNode214",
["欧罗巴-Valac"] = "SolNode215",
["欧罗巴-Valefor"] = "SolNode216",
["欧罗巴接合点"] = "JupiterToEuropaJunction",
["死灵塔"] = "SolNode409",
["歼夺"] = "PvpNode10",
["歼灭:炽蛇军"] = "SolNode853",
["歼灭:科腐者"] = "SolNode854",
["殁世幽都"] = "DeimosHub",
["母神塔"] = "SolNode407",
["水域星团"] = "CrewBattleNode535",
["水星-Apollodorus"] = "SolNode94",
["水星-Boethius"] = "SolNode223",
["水星-Caloris"] = "SolNode119",
["水星-Elion"] = "SolNode12",
["水星-Lares"] = "SolNode130",
["水星-Larunda 中继站"] = "MercuryHUB",
["水星-M Prime"] = "SolNode103",
["水星-Odin"] = "SolNode224",
["水星-Pantheon"] = "SolNode226",
["水星-Suisei"] = "SolNode225",
["水星-Terminus"] = "SolNode28",
["水星-Tolstoj"] = "SolNode108",
["水星接合点"] = "VenusToMercuryJunction",
["永视弧域"] = "SolNode230",
["法神塔"] = "SolNode403",
["海王星-Despina"] = "SolNode6",
["海王星-Galatea"] = "SolNode1",
["海王星-Kelashin"] = "ClanNode21",
["海王星-Laomedeia"] = "SolNode118",
["海王星-Larissa"] = "SolNode49",
["海王星-Nereid"] = "SolNode84",
["海王星-Neso"] = "SolNode62",
["海王星-Proteus"] = "SolNode17",
["海王星-Psamathe"] = "SolNode127",
["海王星-Salacia"] = "SolNode908",
["海王星-Sao"] = "SolNode57",
["海王星-Triton"] = "SolNode78",
["海王星-Yursa"] = "ClanNode20",
["海王星-《指数之场》:挑战"] = "EventNode763",
["海王星-冥王星接合点"] = "NeptuneToPlutoJunction",
["海王星-指数之场:挑战(中风险)"] = "SolNode762",
["海王星-指数之场:挑战(低风险)"] = "SolNode761",
["海王星-指数之场:挑战(高风险)"] = "SolNode763",
["海王星接合点"] = "UranusToNeptuneJunction",
["海王星比邻星域-初裔冰渍区"] = "CrewBattleNode521",
["海王星比邻星域-女娲之矿"] = "CrewBattleNode516",
["海王星比邻星域-对抗帕尔沃斯的姐妹"] = "CrewBattleNode558",
["海王星比邻星域-时空坐标"] = "CrewBattleNode504",
["海王星比邻星域-星主之握"] = "CrewBattleNode524",
["海王星比邻星域-薄暮星团"] = "CrewBattleNode525",
["海王星比邻星域-诱惑之景"] = "CrewBattleNode523",
["涂沃主厅"] = "SolNode232",
["深情之域"] = "CrewBattleNode541",
["深眠峡道"] = "CrewBattleNode502",
["火卫一-Gulliver"] = "SettlementNode11",
["火卫一-Iliad"] = "SettlementNode20",
["火卫一-Kepler"] = "SettlementNode10",
["火卫一-Memphis"] = "ClanNode10",
["火卫一-Monolith"] = "SettlementNode12",
["火卫一-Roche"] = "SettlementNode1",
["火卫一-Sharpless"] = "SettlementNode15",
["火卫一-Shklovsky"] = "SettlementNode14",
["火卫一-Skyresh"] = "SettlementNode2",
["火卫一-Stickney"] = "SettlementNode3",
["火卫一-Zeugma"] = "ClanNode11",
["火卫一接合点"] = "MarsToPhobosJunction",
["火卫二-Dirus"] = "SolNode709",
["火卫二-Exequias"] = "SolNode713",
["火卫二-Formido"] = "SolNode710",
["火卫二-Horend"] = "SolNode706",
["火卫二-Hyf"] = "SolNode707",
["火卫二-Magnacidium"] = "SolNode712",
["火卫二-Phlegyas"] = "SolNode708",
["火卫二-Terrorem"] = "SolNode711",
["火卫二-不灭之地"] = "SolNode717",
["火卫二-卫城区"] = "SolNode721",
["火卫二-墓垒"] = "SolNode719",
["火卫二-孽杀"] = "SolNode716",
["火卫二-异化区"] = "SolNode718",
["火卫二-弧冢"] = "SolNode720",
["火卫二-恶涌"] = "SolNode715",
["火卫二-木星接合点"] = "CeresToJupiterJunction",
["火卫二-殁世幽都"] = "DeimosHub",
["火卫二-解剖圣所"] = "EntratiLabHub",
["火卫二-魔胎之境"] = "SolNode229",
["火星-Alator"] = "SolNode106",
["火星-Ara"] = "SolNode45",
["火星-Ares"] = "SolNode113",
["火星-Arval"] = "SolNode41",
["火星-Augustus"] = "SolNode16",
["火星-Gradivus"] = "SolNode65",
["火星-Hellas"] = "SolNode58",
["火星-Kadesh"] = "ClanNode8",
["火星-Maroo 的市集"] = "TradeHUB1",
["火星-Martialis"] = "SolNode36",
["火星-Olympus"] = "SolNode30",
["火星-Spear"] = "SolNode46",
["火星-Syrtis"] = "SolNode904",
["火星-Tharsis"] = "SolNode11",
["火星-Tyana Pass"] = "SolNode450",
["火星-Ultor"] = "SolNode14",
["火星-Vallis"] = "SolNode68",
["火星-Wahiba"] = "ClanNode9",
["火星-War"] = "SolNode99",
["火星-火卫一接合点"] = "MarsToPhobosJunction",
["火星-谷神星接合点"] = "MarsToCeresJunction",
["火星接合点"] = "EarthToMarsJunction",
["神后塔"] = "SolNode401",
["神王塔"] = "SolNode400",
["福尔图娜"] = "SolarisUnitedHub1",
["科技细胞终幕者演唱会"] = "CrewBattleNode559",
["精英级圣殿突袭"] = "SolNode802",
["维斯珀峡道"] = "CrewBattleNode513",
["羽化之穹"] = "ZarimanHub",
["翠径"] = "SolNode235",
["胡夫之遣"] = "CrewBattleNode526",
["自由航行"] = "CrewBattleNode556",
["至日广场"] = "SolNode858",
["芬顿之地"] = "CrewBattleNode531",
["萨娅的异象"] = "SolNode451",
["萨米尔星云"] = "CrewBattleNode543",
["落没之耀"] = "CrewBattleNode514",
["蒲芦"] = "CrewBattleNode538",
["薄暮星团"] = "CrewBattleNode525",
["虚无神殿"] = "CrewBattleNode509",
["虚空-乌戈塔"] = "SolNode406",
["虚空-光理塔"] = "SolNode412",
["虚空-光神塔"] = "SolNode408",
["虚空-太阳塔"] = "SolNode410",
["虚空-守护神塔"] = "SolNode411",
["虚空-死灵塔"] = "SolNode409",
["虚空-母神塔"] = "SolNode407",
["虚空-法神塔"] = "SolNode403",
["虚空-神后塔"] = "SolNode401",
["虚空-神王塔"] = "SolNode400",
["虚空-阿尼塔"] = "SolNode405",
["虚空-雷争塔"] = "SolNode402",
["虚空-风王塔"] = "SolNode404",
["虹桥回声"] = "CrewBattleNode503",
["蝠力使"] = "SolNode740",
["解剖圣所"] = "EntratiLabHub",
["诱惑之景"] = "CrewBattleNode523",
["诺朵星峡"] = "CrewBattleNode533",
["谷神星-Bode"] = "SolNode132",
["谷神星-Casta"] = "SolNode149",
["谷神星-Cinxia"] = "SolNode147",
["谷神星-Draco"] = "SolNode146",
["谷神星-Exta"] = "SolNode144",
["谷神星-Gabii"] = "ClanNode23",
["谷神星-Ker"] = "SolNode141",
["谷神星-Kiste"] = "SolNode140",
["谷神星-Lex"] = "SolNode139",
["谷神星-Ludi"] = "SolNode138",
["谷神星-Nuovo"] = "SolNode137",
["谷神星-Pallas"] = "SolNode131",
["谷神星-Seimeni"] = "ClanNode22",
["谷神星-Thon"] = "SolNode135",
["谷神星接合点"] = "MarsToCeresJunction",
["赛德娜-Adaro"] = "SolNode181",
["赛德娜-Amarna"] = "ClanNode14",
["赛德娜-Berehynia"] = "SolNode185",
["赛德娜-Charybdis"] = "SolNode196",
["赛德娜-Hydron"] = "SolNode195",
["赛德娜-Kappa"] = "SolNode177",
["赛德娜-Kelpie"] = "SolNode188",
["赛德娜-Marid"] = "SolNode191",
["赛德娜-Merrow"] = "SolNode193",
["赛德娜-Naga"] = "SolNode189",
["赛德娜-Nakki"] = "SolNode190",
["赛德娜-Rusalka"] = "SolNode184",
["赛德娜-Sangeru"] = "ClanNode15",
["赛德娜-Selkie"] = "SolNode187",
["赛德娜-Vodyanoi"] = "SolNode183",
["赛德娜-Yam"] = "SolNode199",
["赛德娜接合点"] = "ErisToSednaJunction",
["赤毒玄骸对决"] = "CrewBattleNode557",
["赤毒要塞-Dakata"] = "SolNode746",
["赤毒要塞-Garus"] = "SolNode748",
["赤毒要塞-Koro"] = "SolNode741",
["赤毒要塞-Nabuk"] = "SolNode742",
["赤毒要塞-Pago"] = "SolNode747",
["赤毒要塞-Rotuma"] = "SolNode743",
["赤毒要塞-Tamu"] = "SolNode745",
["赤毒要塞-Taveuni"] = "SolNode744",
["金星-Aphrodite"] = "SolNode2",
["金星-Cytherean"] = "SolNode23",
["金星-E Gate"] = "SolNode128",
["金星-Fossa"] = "SolNode104",
["金星-Ishtar"] = "SolNode61",
["金星-Kiliken"] = "SolNode101",
["金星-Linea"] = "SolNode109",
["金星-Malva"] = "ClanNode1",
["金星-Montes"] = "SolNode902",
["金星-Romula"] = "ClanNode0",
["金星-Tessera"] = "SolNode22",
["金星-Unda"] = "SolNode66",
["金星-V Prime"] = "SolNode123",
["金星-Venera"] = "SolNode107",
["金星-奥布山谷"] = "SolNode129",
["金星-水星接合点"] = "VenusToMercuryJunction",
["金星-福尔图娜"] = "SolarisUnitedHub1",
["金星接合点"] = "EarthToVenusJunction",
["金星比邻星域-卫标星环"] = "CrewBattleNode511",
["金星比邻星域-无垠华盖"] = "CrewBattleNode515",
["金星比邻星域-欧文-哈克"] = "CrewBattleNode512",
["金星比邻星域-维斯珀峡道"] = "CrewBattleNode513",
["金星比邻星域-落没之耀"] = "CrewBattleNode514",
["金星比邻星域-虹桥回声"] = "CrewBattleNode503",
["阋神星-Akkad"] = "ClanNode18",
["阋神星-Brugia"] = "SolNode153",
["阋神星-Isos"] = "SolNode162",
["阋神星-Jordas 魔像 刺杀"] = "SolNode701",
["阋神星-Kala-azar"] = "SolNode164",
["阋神星-Naeglar"] = "SolNode175",
["阋神星-Nimus"] = "SolNode166",
["阋神星-Oestrus"] = "SolNode167",
["阋神星-Saxis"] = "SolNode171",
["阋神星-Solium"] = "SolNode173",
["阋神星-Xini"] = "SolNode172",
["阋神星-Zabala"] = "ClanNode19",
["阋神星-异融 Alad V 刺杀"] = "SolNode705",
["阋神星接合点"] = "PlutoToErisJunction",
["阿尼塔"] = "SolNode405",
["雷争塔"] = "SolNode402",
["霍瓦尼亚-传承种收割"] = "SolNode850",
["霍瓦尼亚-刺杀H-09 坦克"] = "SolNode856",
["霍瓦尼亚-地狱净化:炽蛇军"] = "SolNode851",
["霍瓦尼亚-地狱净化:科腐者"] = "SolNode852",
["霍瓦尼亚-对战:小队 VS 小队"] = "SolNode855",
["霍瓦尼亚-对战:小队独战"] = "SolNode857",
["霍瓦尼亚-歼灭:炽蛇军"] = "SolNode853",
["霍瓦尼亚-歼灭:科腐者"] = "SolNode854",
["霍瓦尼亚-至日广场"] = "SolNode858",
["霍瓦尼亚-霍瓦尼亚中央商场"] = "1999Hub",
["霍瓦尼亚中央商场"] = "1999Hub",
["面纱比邻星域-H-2 星云"] = "CrewBattleNode554",
["面纱比邻星域-R-9 星云"] = "CrewBattleNode555",
["面纱比邻星域-努秘"] = "CrewBattleNode539",
["面纱比邻星域-弗雷沙"] = "CrewBattleNode553",
["面纱比邻星域-恩斯尤区格"] = "CrewBattleNode550",
["面纱比邻星域-曲银之地"] = "CrewBattleNode540",
["面纱比邻星域-深情之域"] = "CrewBattleNode541",
["面纱比邻星域-萨米尔星云"] = "CrewBattleNode543",
["面纱比邻星域-蒲芦"] = "CrewBattleNode538",
["面纱比邻星域-鹿岩"] = "CrewBattleNode542",
["风王塔"] = "SolNode404",
["魔多星团"] = "CrewBattleNode501",
["魔胎之境"] = "SolNode229",
["鹿岩"] = "CrewBattleNode542"
}

View File

@ -261,3 +261,6 @@ repeat
end
end
until yield()
-- 示例:/生成 苦难 5 100

View File

@ -0,0 +1,73 @@
-- 自定义节点等级
local regionNames = loadfile("OpenWF/Scripts/RegionNameMapping.pluto")()
local function launchNode(nodeId, minLevel, maxLevel, hardMode)
local args = Engine.OpenLevelArgs()
local info = gStarChart:BuildMissionForLocation(Symbol(nodeId))
local infoStr = info:EncodeAsString()
if hardMode then
infoStr = infoStr:gsub("levelAuras={[^}]+}", [[levelAuras={
/Lotus/Upgrades/Mods/DirectorMods/HardModeEnemyLevelAura,
/Lotus/Upgrades/Mods/DirectorMods/HardModeLevelAura
}]])
end
if not infoStr:find("tier=") then
infoStr = infoStr:gsub("}", " tier=1\r\n}")
end
if minLevel then
infoStr = infoStr:gsub("minEnemyLevel=%d+", $"minEnemyLevel={minLevel}")
end
if maxLevel then
infoStr = infoStr:gsub("maxEnemyLevel=%d+", $"maxEnemyLevel={maxLevel}")
end
args:SetLevel(info.levelOverride:GetFullName())
args:AddContextTag(infoStr)
for info:GetEnemies() as enemy do
args:AddContextObject(enemy.agent)
end
for info:GetAdvancedAiDirectorSpawns() as spawner do
args:AddContextObject(spawner)
end
Engine.OpenLevel(args)
end
local commands = {}
commands["节点"] = function(text)
local parts = text:split(" ")
local nodeId = regionNames[parts[2]] or parts[2]
launchNode(nodeId, tonumber(parts[3]), tonumber(parts[4]), false)
end
commands["钢铁"] = function(text)
local parts = text:split(" ")
local nodeId = regionNames[parts[2]] or parts[2]
launchNode(nodeId, tonumber(parts[3]), tonumber(parts[4]), true)
end
for prefix in commands do
chat_subscribe_prefix("/" .. prefix, true)
end
repeat
while evt := owf_next_event() do
if evt.type == OWF_EVT_SUBMIT_CHAT_MESSAGE and evt.text and evt.text:sub(1,1) == "/" then
for prefix, handler in commands do
if evt.text:sub(2, #prefix + 1) == prefix then
handler(evt.text)
break
end
end
end
end
until yield()
-- 示例:/钢铁 赛德娜-Kappa 9999

View File

@ -0,0 +1,120 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
生成星图节点中文名称映射
ExportRegions.json 提取节点名称 dict.zh.json 中查找对应的中文翻译
"""
import json
import sys
from pathlib import Path
def main():
# 设置路径
script_dir = Path(__file__).parent
project_root = script_dir.parent
export_dir = project_root / "warframe-public-export-plus"
regions_file = export_dir / "ExportRegions.json"
dict_file = export_dir / "dict.zh.json"
output_file = project_root / "Scripts" / "RegionNameMapping.pluto"
# 检查文件是否存在
if not regions_file.exists():
print(f"❌ 错误:找不到 {regions_file}")
sys.exit(1)
if not dict_file.exists():
print(f"❌ 错误:找不到 {dict_file}")
sys.exit(1)
print("📖 正在读取 ExportRegions.json...")
try:
with open(regions_file, 'r', encoding='utf-8') as f:
regions = json.load(f)
except Exception as e:
print(f"❌ 读取 ExportRegions.json 失败: {e}")
sys.exit(1)
print("📖 正在读取 dict.zh.json...")
try:
with open(dict_file, 'r', encoding='utf-8') as f:
zh_dict = json.load(f)
except Exception as e:
print(f"❌ 读取 dict.zh.json 失败: {e}")
sys.exit(1)
# 构建映射
print("🔄 正在构建节点名称映射...")
node_mapping = {}
missing_translations = []
for node_id, node_data in regions.items():
if isinstance(node_data, dict) and 'name' in node_data:
name_path = node_data['name']
# 在中文字典中查找
if name_path in zh_dict:
cn_name = zh_dict[name_path]
node_mapping[cn_name] = node_id
# 同时记录节点的系统名称
if 'systemName' in node_data and node_data['systemName'] in zh_dict:
system_cn = zh_dict[node_data['systemName']]
# 创建 "星系-节点" 格式的键
full_name = f"{system_cn}-{cn_name}"
node_mapping[full_name] = node_id
else:
missing_translations.append((node_id, name_path))
# 输出统计
print(f"\n✅ 成功映射 {len(node_mapping)} 个节点名称")
if missing_translations:
print(f"⚠️ {len(missing_translations)} 个节点缺少中文翻译")
# 生成 Pluto 文件
print(f"\n📝 正在生成 {output_file.name}...")
lines = [
"-- 星图节点中文名称映射\n",
"-- 自动生成,请勿手动编辑\n",
"-- 生成工具: Tools/generate_region_name_mapping.py\n",
"\n",
"return {\n"
]
# 排序并写入
sorted_names = sorted(node_mapping.keys())
for i, name in enumerate(sorted_names):
node_id = node_mapping[name]
# 转义特殊字符
k = str(name).replace('\\', '\\\\').replace('"', '\\"').replace('\n', ' ').replace('\r', '')
v = str(node_id).replace('\\', '\\\\').replace('"', '\\"')
# 最后一项不加逗号
comma = "," if i < len(sorted_names) - 1 else ""
lines.append(f' ["{k}"] = "{v}"{comma}\n')
lines.append("}\n")
# 写入文件
try:
with open(output_file, 'w', encoding='utf-8') as f:
f.writelines(lines)
print(f"✅ 已生成: {output_file}")
print(f"📊 总计 {len(node_mapping)} 个节点映射")
except Exception as e:
print(f"❌ 写入文件失败: {e}")
sys.exit(1)
# 显示缺失翻译(可选)
if missing_translations and len(missing_translations) <= 20:
print("\n⚠️ 缺少中文翻译的节点:")
for node_id, path in missing_translations[:10]:
print(f" {node_id}: {path}")
if len(missing_translations) > 10:
print(f" ... 还有 {len(missing_translations) - 10}")
print("\n✨ 完成!")
if __name__ == '__main__':
main()