天堂2单机论坛

 找回密码
 立即注册
查看: 3546|回复: 7

[已解决]诺勒宁庄园副本求助 L2J_Mobius_CT_2.6_HighFive

[复制链接]
  • TA的每日心情
    开心
    2024-6-26 08:21
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    8

    主题

    70

    帖子

    148

    积分

    正式会员

    Rank: 2

    积分
    148
    发表于 2024-7-16 15:32:38 | 显示全部楼层 |阅读模式
    本帖最后由 有路子 于 2024-7-18 16:34 编辑

    玩了个暗天使的角色,18级组队去诺勒宁庄园做任务(2人队伍条件都满足一个暗天使队长,一个别的种族),发现启动不了副本,游戏左下角信息框里给了”enter_instance“提示。去日志中发现有错误产生:

    1. Jul 15, 2024 10:22:28 PM org.l2jmobius.gameserver.model.instancezone.Instance loadInstanceTemplate
    2. WARNING: Instance: can not find /volume1/L2JMobius/L2J_Mobius_CT_2.6_HighFive/game/./data/instances/null ! /volume1/L2JMobius/L2J_Mobius_CT_2.6_HighFive/game/./data/instances/null (No such file or directory)
    3. java.io.FileNotFoundException: /volume1/L2JMobius/L2J_Mobius_CT_2.6_HighFive/game/./data/instances/null (No such file or directory)
    4.         at java.base/java.io.FileInputStream.open0(Native Method)
    5.         at java.base/java.io.FileInputStream.open(FileInputStream.java:213)
    6.         at java.base/java.io.FileInputStream.<init>(FileInputStream.java:152)
    7.         at java.base/java.io.FileInputStream.<init>(FileInputStream.java:106)
    8.         at java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:84)
    9.         at java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:180)
    10.         at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:654)
    11.         at java.xml/com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:150)
    12.         at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:861)
    13.         at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)
    14.         at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    15.         at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:247)
    16.         at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342)
    17.         at java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:206)
    18.         at org.l2jmobius.gameserver.model.instancezone.Instance.loadInstanceTemplate(Instance.java:469)
    19.         at org.l2jmobius.gameserver.instancemanager.InstanceManager.createDynamicInstance(InstanceManager.java:381)
    20.         at instances.NornilsGarden.NornilsGarden.enterInstance(NornilsGarden.java:275)
    21.         at instances.NornilsGarden.NornilsGarden.onEvent(NornilsGarden.java:497)
    22.         at org.l2jmobius.gameserver.model.quest.Quest.notifyEvent(Quest.java:532)
    23.         at org.l2jmobius.gameserver.model.actor.Player.processQuestEvent(Player.java:1503)
    24.         at handlers.bypasshandlers.QuestLink.useBypass(QuestLink.java:80)
    25.         at org.l2jmobius.gameserver.network.clientpackets.RequestBypassToServer.runImpl(RequestBypassToServer.java:240)
    26.         at org.l2jmobius.gameserver.network.clientpackets.ClientPacket.run(ClientPacket.java:53)
    27.         at org.l2jmobius.commons.threads.RunnableWrapper.run(RunnableWrapper.java:35)
    28.         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    29.         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    30.         at java.base/java.lang.Thread.run(Thread.java:1583)
    复制代码
    WARNING: Instance: can not find /volume1/L2JMobius/L2J_Mobius_CT_2.6_HighFive/game/./data/instances/null !
    路径最后是个”null“,好像没有把实例或者副本的名称正确传递过来。
    路径好像有有点问题,怎么多了个"/./",问了下AI这个可以忽略。那问题好像就出在"null"这个上面了。
    不懂代码,用AI智能工具帮我解释了半天这里的(\game\data\scripts\instances\NornilsGarden\NornilsGarden.java)JAVA代码,我也没明白,貌似不能正确传递instances。
    有哪位大佬百忙之中来给看看不?谢谢了。

    L2JMobius端的L2J_Mobius_CT_2.6_HighFive中NornilsGarden.java的原始代码如下,里面的中文是AI帮我解释的。
    代码太长贴不上来,用附件的形式吧

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-6-26 08:21
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    8

    主题

    70

    帖子

    148

    积分

    正式会员

    Rank: 2

    积分
    148
     楼主| 发表于 2024-7-18 16:33:28 | 显示全部楼层
    本帖最后由 有路子 于 2024-7-18 16:49 编辑

    问题已经解决
    源码中两处错误:
    1、templateID错误
    文件:game\data\instances\NornilsGarden.xml
    修改前:
    1. <instance id="231" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd">
    复制代码

    修改后:
    1. <instance id="11" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd">
    复制代码

    2、修复添加实例世界的错误
    文件game\data\scripts\instances\NornilsGarden\NornilsGarden.java
    修改前:
    1. InstanceManager.getInstance().addWorld(world);
    复制代码

    修改后:
    1. InstanceManager.getInstance().addWorld(newWorld);
    复制代码

    回复

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 21:05
  • 签到天数: 206 天

    [LV.7]常住居民III

    5

    主题

    245

    帖子

    897

    积分

    高级会员

    Rank: 4

    积分
    897
    发表于 2024-7-24 07:59:49 | 显示全部楼层
    nb,你这是纯用AI捕获的啊。。。。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-6-26 08:21
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    8

    主题

    70

    帖子

    148

    积分

    正式会员

    Rank: 2

    积分
    148
     楼主| 发表于 2024-7-24 17:54:09 | 显示全部楼层
    副本最后还有一处错误(最后的三个门打不开)修改的代码如下:
    修改前:
    1. else if (CommonUtil.contains(FINAL_GATES, npc.getId()))
    2.                 {
    3.                         if (event.equalsIgnoreCase("32260-02.html") || event.equalsIgnoreCase("32261-02.html") || event.equalsIgnoreCase("32262-02.html"))
    4.                         {
    5.                                 st.unset("correct");
    6.                         }
    7.                         else if (Util.isDigit(event))
    8.                         {
    9.                                 int correct = st.getInt("correct");
    10.                                 correct++;
    11.                                 st.set("correct", String.valueOf(correct));
    12.                                 htmltext = npc.getId() + "-0" + correct + 2 + ".html";
    13.                         }
    14.                         else if (event.equalsIgnoreCase("check"))
    15.                         {
    16.                                 final int correct = st.getInt("correct");
    17.                                 if ((npc.getId() == 32260) && (correct == 3))
    18.                                 {
    19.                                         openDoor(st, player, 16200014);
    20.                                 }
    21.                                 else if ((npc.getId() == 32261) && (correct == 3))
    22.                                 {
    23.                                         openDoor(st, player, 16200015);
    24.                                 }
    25.                                 else if ((npc.getId() == 32262) && (correct == 4))
    26.                                 {
    27.                                         openDoor(st, player, 16200016);
    28.                                 }
    29.                                 else
    30.                                 {
    31.                                         return npc.getId() + "-00.html";
    32.                                 }
    33.                         }
    34.                 }
    复制代码

    修改后:
    1. else if (CommonUtil.contains(FINAL_GATES, npc.getId()))
    2.                 {        //如果NPC的ID在 FINAL_GATES 这个列表(可能是一个数组、集合或其他数据结构)中,则执行以下的代码块。
    3.                         if (event.equalsIgnoreCase("32260-02.html") || event.equalsIgnoreCase("32261-02.html") || event.equalsIgnoreCase("32262-02.html"))
    4.                         {        //如果`event`(可能是玩家与NPC交互时触发的某个事件或命令)是这三个特定的HTML字符串之一,则清除`st`(可能是状态或会话对象)中的`"correct"`字段。
    5.                                 st.unset("correct");
    6.                         }
    7.                         else if (Util.isDigit(event))
    8.                         {        //如果`event`是一个数字,那么从`st`中获取`"correct"`字段的值(默认为0,除非之前设置过),
    9.                                 int correct = st.getInt("correct");
    10.                                 correct++;//将其加1,然后再次设置到`st`中。
    11.                                 st.set("correct", String.valueOf(correct));
    12.                                 int tempCorrectForDisplay = correct + 2;
    13.                                 htmltext = npc.getId() + "-0" + tempCorrectForDisplay + ".html";//之后,为`htmltext`设置一个值,该值基于NPC的ID和`"correct+2"`字段的当前值。
    14.                         }
    15.                         else if (event.equalsIgnoreCase("check"))
    16.                         {        //如果`event`是"check",则根据NPC的ID和`"correct"`字段的值来决定是否打开门。
    17.                                 final int correct = st.getInt("correct");
    18.                                 if ((npc.getId() == 32260) && (correct == 3))
    19.                                 {        //如果NPC的ID是32260且`"correct"`字段的值为3,则打开ID为16200014的门。
    20.                                         openDoor(st, player, 16200014);
    21.                                 }
    22.                                 else if ((npc.getId() == 32261) && (correct == 3))
    23.                                 {        //如果NPC的ID是32261且`"correct"`字段的值为3,则打开ID为16200015的门。
    24.                                         openDoor(st, player, 16200015);
    25.                                 }
    26.                                 else if ((npc.getId() == 32262) && (correct == 4))
    27.                                 {        //如果NPC的ID是32262且`"correct"`字段的值为4,则打开ID为16200016的门。
    28.                                         openDoor(st, player, 16200016);
    29.                                 }
    30.                                 else
    31.                                 {        //如果不满足上述任何条件,则返回默认的HTML页面。
    32.                                         return npc.getId() + "-00.html";
    33.                                 }
    34.                         }
    35.                 }
    复制代码
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-6-26 08:21
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    8

    主题

    70

    帖子

    148

    积分

    正式会员

    Rank: 2

    积分
    148
     楼主| 发表于 2024-7-24 18:01:14 | 显示全部楼层
    mimiwuqi 发表于 2024-7-24 07:59
    nb,你这是纯用AI捕获的啊。。。。

    我不懂代码,又有强迫症,就想到用AI帮我解读代码。
    感觉修复问题比玩游戏有成就感,可惜不懂代码,哈哈。
    话说这AI是很强大啊
    回复

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 174 天

    [LV.7]常住居民III

    5

    主题

    731

    帖子

    1798

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1798
    发表于 2024-11-25 23:03:07 | 显示全部楼层
    能分析出问题,并能解决,楼主真棒
    回复

    使用道具 举报

  • TA的每日心情
    开心
    19 小时前
  • 签到天数: 198 天

    [LV.7]常住居民III

    2

    主题

    323

    帖子

    1431

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1431
    发表于 2024-12-2 09:56:09 | 显示全部楼层
    佩服   谢谢楼主分享
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2025-1-30 03:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    22

    帖子

    56

    积分

    正式会员

    Rank: 2

    积分
    56
    发表于 2025-1-30 10:58:21 | 显示全部楼层
    用的那个AI啊,我也去试试
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|监狱|天堂2单机论坛 ( 粤ICP备20030366号 )

    GMT+8, 2025-6-15 19:40 , Processed in 0.058736 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表