赞 | 22 |
VIP | 0 |
好人卡 | 0 |
积分 | 55 |
经验 | 2379 |
最后登录 | 2024-12-4 |
在线时间 | 1231 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 5469
- 在线时间
- 1231 小时
- 注册时间
- 2016-12-6
- 帖子
- 391
|
如果你有给每张地图都设置名称的话,那你可以在控制台中新建一个通过检索地图显示名来查找地图ID的函数来帮忙找出你要的地图:
- function findMapByName(mapName) {
- const mapCount = 343; // 假设游戏中最多有343张地图
- let foundMapId = -1; // 默认值,表示未找到
- // 返回一个新的Promise
- return new Promise(async (resolve, reject) => {
- // 递归函数来处理异步的 fetch
- const loadMapData = async (index) => {
- if (index > mapCount || foundMapId !== -1) {
- resolve(foundMapId); // 如果超出地图数量或已找到地图,则解决Promise
- return; // 停止递归
- }
- let mapDataPath = 'data/Map' + ('000' + index).slice(-3) + '.json';
- try {
- const response = await fetch(mapDataPath);
- if (!response.ok) {
- throw new Error('Network response was not ok');
- }
- const data = await response.json();
- if (data && data.displayName === mapName) {
- foundMapId = index;
- console.log("找到匹配的地图: " + mapName + ",地图ID: " + foundMapId);
- resolve(foundMapId); // 解决Promise
- return; // 找到后停止递归
- }
- } catch (error) {
- console.error('Could not load map data:', error);
- }
- loadMapData(index + 1); // 递归调用以加载下一个地图文件
- };
- loadMapData(1); // 从地图ID 1开始
- });
- }
复制代码
函数设置好了就可以通过这个脚本来使用:
- let Name = "魔物の巣窟5";
- findMapByName(Name).then(mapId => {
- if (mapId === -1) {
- console.log("未找到名为" + Name + "的地图");
- }
- });
复制代码
如果你的地图集里有名为"魔物の巣窟5"的地图,就会返回ID给你 |
|