chore: 节点自定义等级脚本
This commit is contained in:
parent
70335858d3
commit
3370ba5d0f
686
Scripts/RegionNameMapping.pluto
Normal file
686
Scripts/RegionNameMapping.pluto
Normal 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"
|
||||
}
|
||||
@ -261,3 +261,6 @@ repeat
|
||||
end
|
||||
end
|
||||
until yield()
|
||||
|
||||
|
||||
-- 示例:/生成 苦难 5 100
|
||||
73
Scripts/自定义节点等级.pluto
Normal file
73
Scripts/自定义节点等级.pluto
Normal 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
|
||||
120
Tools/generate_region_name_mapping.py
Normal file
120
Tools/generate_region_name_mapping.py
Normal 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()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user