L2JMobius

Fafurion NPC Quest Button Bypass Error

kofolak · 3 · 132

Offline kofolak

  • Vassal
  • *
    • Posts: 2
NPC Quest Button Bypass Error
Problem Description:
When clicking the "Quest" button on any NPC with default HTML dialog, the server generates an incorrect bypass command causing "Unknown NPC bypass" error. This affects 900+ NPCs across the server.

How to Reproduce:

Talk to any NPC that has default HTML with Quest button (e.g., NPC 32978 Sebion, 30008 Grand Master Roien, 31697 Fisherman)
Click the "Quest" button in the dialog
Server logs show "Unknown NPC bypass" error
Quest list window fails to open properly
Error Log:

Root Cause:
In ScriptLink.java (lines 142, 164, 194, 214), the quest list window generates bypass commands as:

However, the registered bypass handler is "Script", not "Quest". The correct bypass should be:

Fix/Solution:
File: ScriptLink.java

Change on 4 lines (142, 164, 194, 214):

Line 142 (quests that can be started - orange):

FROM: action=\"bypass npc_" + npc.getObjectId() + "_Quest "
TO: action=\"bypass npc_" + npc.getObjectId() + "_Script "
Line 164 (quests with unmet conditions - red):

FROM: action=\"bypass npc_" + npc.getObjectId() + "_Quest "
TO: action=\"bypass npc_" + npc.getObjectId() + "_Script "
Line 194 (quests in progress - yellow):

FROM: action=\"bypass npc_" + npc.getObjectId() + "_Quest "
TO: action=\"bypass npc_" + npc.getObjectId() + "_Script "
Line 214 (completed quests - gray):

FROM: action=\"bypass npc_" + npc.getObjectId() + "_Quest "
TO: action=\"bypass npc_" + npc.getObjectId() + "_Script "
Affected Files:

ScriptLink.java
Affected NPCs:

900+ NPCs with default HTML containing <Button action="bypass Script">Quest</Button>
Tested Fix:
Applied fix and tested on multiple NPCs (32978, 30008, 31697) - Quest button now works correctly and displays quest list window as expected.


Online Mobius

  • Distinguished King
  • *****
    • Posts: 19654

Offline kofolak

  • Vassal
  • *
    • Posts: 2
ah i see  commit 498ffbd39f7acc75c6ab0187dad5378d5acfe354 3days ago

we can close it