Skip to content

fix: 修正新手飞侠训练任务文本#706

Open
skykiseki wants to merge 1 commit into
BeiDouMS:masterfrom
skykiseki:fix/rogue-first-training-quest-text
Open

fix: 修正新手飞侠训练任务文本#706
skykiseki wants to merge 1 commit into
BeiDouMS:masterfrom
skykiseki:fix/rogue-first-training-quest-text

Conversation

@skykiseki

Copy link
Copy Markdown
Contributor

改动内容

  • 修正新手飞侠训练链任务面板文本,使怪物目标与实际任务条件一致。
  • 将第一至第三次训练统一为捕捉木妖,数量分别为 20、50、80 只。
  • 汉化同一任务链中残留的 Act 文本,避免训练流程中出现未汉化内容。

客户端影响

  • 任务面板文本来自客户端 QuestInfo.img,训练流程文本可能读取客户端 Act.img
  • 客户端若使用内置 WZ,需要同步对应任务 ID 的 QuestInfo.imgAct.img 后才能显示更新后的文本。

测试说明

  • 已检查修改后的 XML 能正常解析。
  • 已同步到测试服务端并重启验证服务端可正常启动。

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown

🤖 AI Code Review

Let me analyze this PR carefully. It appears to be a localization/translation update for a MapleStory v83 game server, specifically for the Chinese (zh-CN) version of Quest XML files.

The PR modifies:

  1. gms-server/wz-zh-CN/Quest.wz/Act.img.xml - Quest action/dialog text
  2. gms-server/wz-zh-CN/Quest.wz/QuestInfo.img.xml - Quest info text

Let me look at the changes:

Act.img.xml changes:

  • Quest 2140: NPC dialog text - appears to be from a Dark Lord (다크로드) NPC teaching a thief class
  • Quest 2141, 2142, 2143: Similar training quest dialogs

QuestInfo.img.xml changes:

  • Quest 2140-2143: Quest names and descriptions for new thief training quests

Let me check for potential issues:

  1. Inconsistency in quest numbers - In QuestInfo.img.xml:

    • Quest 2140: Mentions catching #o130100# 20只 (20 stumps)
    • Quest 2141: Mentions catching #o130100# 50只 (50 stumps)
    • Quest 2142: Mentions catching #o130100# 80只 (80 stumps)
    • Quest 2143: Mentions catching #o1120100# 10只 (10 octopuses)
  2. Original quest 2140 description said #o210100# 16只 - The original was different from the new translation. Let me look more carefully...

Looking at the original (before PR) QuestInfo.img.xml for 2140:

  • "新手飞侠的第一次修炼" (name)
  • "#o210100# 16只" (original)

The new PR changes this to:

  • "新手飞侠的第一次训练" (name) - "训练" instead of "修炼"
  • "#o130100# 20只" - This changes both the monster ID (210100 → 130100) AND the count (16 → 20)!

Wait, this is a significant change. Let me look at the Act.img.xml:

  • Quest 2140 Act dialog: doesn't seem to mention a count
  • Quest 2141 Act dialog: "#o130100# 50마리" (50 stumps)
  • Quest 2142 Act dialog: "#o130100# 80마리" (80 stumps)
  • Quest 2143 Act dialog: "#o1120100# 10마리" (10 octopuses)

And the QuestInfo.img.xml new values:

  • Quest 2140: #o130100# 20只
  • Quest 2141: #o130100# 50只
  • Quest 2142: #o130100# 80只
  • Quest 2143: #o1120100# 10只

So the numbers in QuestInfo now match the Act dialog numbers! That's actually consistent. The original Chinese QuestInfo for 2140 was wrong (it said 16 stumps/210100 which is wrong, but the new value says 20 stumps/130100 which matches the quest progression).

Wait, let me re-check. Looking at the diff more carefully:

Original QuestInfo 2140:

  • "#o210100# 16只" - this was already a Chinese translation, just with different numbers
  • "#o130100# 16只" in the "2" (completion) text

New QuestInfo 2140:

  • "#o130100# 20只"
  • "#o130100# 20只" in completion

Hmm, but the Act.img.xml for 2140 doesn't specify a monster count - it just says "수련을 하겠습니다" (I'll train). So the quest 2140 seems to be a setup/intro quest, not an actual hunt quest.

Actually wait, looking at the diff for Quest 2140 Act:

  • The original Korean didn't specify a number in the visible Act text I can see
  • The new Chinese also doesn't specify a number

But the QuestInfo 2140 originally had "#o210100# 16只" - this was likely a pre-existing bug in the Chinese translation, since 210100 doesn't match the Korean quest progression which uses 130100 (stumps).

The new PR corrects this to "#o130100# 20只" - but wait, where does the "20" come from? The Act.img.xml for 2141 (the next quest) says 50 stumps. There's a logical progression: 20 → 50 → 80 for stumps. But I don't see "20" explicitly in the Korean text I can analyze...

Actually, looking at the diff again - the original Chinese QuestInfo for 2140 said "16只" and "#o210100#" (different monster ID). The new translation changes it to "20只" and "#o130100#". This is a content change, not just a translation fix.

Issues to consider:

  1. Consistency check needed between Act and QuestInfo:

    • Quest 2140: Act doesn't show count, QuestInfo says 20只 - need to verify against quest scripts
    • Quest 2141: Act says 50, QuestInfo says 50 ✓
    • Quest 2142: Act says 80, QuestInfo says 80 ✓
    • Quest 2143: Act says 10, QuestInfo says 10 ✓
  2. Translation style consistency - The PR changes "修炼" (cultivation/refinement) to "训练" (training) in quest names. This is a translation choice - both are valid, but the change in terminology should be consistent.

  3. NPC name consistency - In Act.img.xml quest 2140, the NPC refers to "我大爷" (me, the lord) which is a Chinese translation of "다크로드" (Dark Lord). But in QuestInfo.img.xml, the NPC is just referred to as "飞侠转职教官" (Thief Job Instructor). This is a minor inconsistency - the NPC's title differs.

  4. Monster ID change in quest 2140 - The original Chinese mentioned #o210100# but the new translation says #o130100#. This could be a correction of an existing bug, but it's a content change. Need to verify the quest script actually uses 130100 for quest 2140.

  5. Color codes - Both #r, #b, #k codes are used, which is standard MapleStory formatting.

  6. Punctuation - Chinese uses full-width punctuation (,。?!) consistently in the new translation, which is good.

  7. The Act.img.xml quest 2141#1 (no path) - The diff shows only the "0" subdirectory was modified for quest 2141 in Act.img.xml, but the "1" subdirectory wasn't shown. The original Korean was probably also missing this. Looking at the structure:

    • Quest 2141 has <imgdir name="0"> and <imgdir name="1">
    • Only the "0" was modified in this PR

    Actually looking more carefully, the diff shows "0" was modified but "1" is shown in the unchanged context. This is just the diff showing the unchanged parts.

Let me write the review now.

Actually, one more important thing - let me check the quest 2140 in Act.img.xml more carefully. The original had:

"#L0# #b수련을 하겠습니다.#l  \n\n#L1# 스스로의 힘으로 할 수 있습니다. #I"

The new Chinese:

"#L0# #b我要接受训练。#l\n\n#L1# 我想靠自己的力量试试看。#I"

The original Korean had an extra space " \n\n" but the new Chinese is cleaner. That's fine.

Also note: The #I tag at the end - this is interesting. It might be a MapleStory formatting tag. Let me check what it means. Actually #I is not a standard MapleStory tag I recognize. Standard tags are:

  • #L0# - Link 0
  • #l - End link
  • #b - Bold
  • #r, #g, #y, #b, #k, #c, #d, #e, #f - Colors
  • #n - Newline
  • #p<id># - NPC name
  • #o<id># - Mob name
  • #m<id># - Map name
  • #z<id># - Item name
  • #q<id># - Quest name
  • #h<id># - Skill name
  • #t<id># - Item
  • #s<id># - String reference

#I is unusual. Looking at this PR, it's translated from #I in the original Korean, so it was already there. This might be a typo for #i (item icon) or a custom tag. Not something this PR introduces.

Now let me organize my review:

Summary

This PR translates Korean quest dialogs/text to Chinese (zh-CN) for the beginner thief (飞侠) training quest series (2140-2143) in a MapleStory v83 server.

Potential Issues

  1. 🟡 Monster ID/count change in Quest 2140 - the original had #o210100# 16只, now #o130100# 20只. While this might fix an existing bug, it changes quest parameters. Need to verify the quest script actually uses these values.
  2. 🟡 NPC title inconsistency - In Act.img.xml the NPC calls himself "大爷" (a translated version of Dark Lord title), but QuestInfo.img.xml calls them "飞侠转职教官" (Thief Job Instructor). This is a minor inconsistency.
  3. 🟢 Punctuation/whitespace normalization - The original had extra spaces and Korean punctuation, the new is clean. Good change.
  4. 🟢 "修炼" → "训练" - Translation choice change, more standard usage.

Improvements

  1. Verify that the monster IDs and counts match the actual quest script (.js) requirements
  2. Consider standardizing NPC self-reference title
  3. The "Act" quest 2141 has only "0" imgdir visible in diff - need to verify "1" imgdir is correctly handled

Let me check once more for the actual code/security issues - this is just XML data file, not Java code, so security concerns are minimal. The main concern is data integrity.

One more important thing: the original Chinese quest 2140 said "16只" of "#o210100#" - this looks like it was using a different monster ID (which might have been wrong) and a different count. The new version uses 130100 (stump) and 20. Looking at the other quests, 130100 is the standard training monster for these thief quests. So this looks like a legitimate fix.

However, I should note that this isn't just a translation - it's a content correction. The reviewer should verify:

  • The quest script (likely a .js file) uses the correct monster ID and count
  • The XML data file matches what the script expects

Let me also check the diff for quest 2141 in Act.img.xml more carefully:

@@ -9661,12 +9661,12 @@
     </imgdir>
     <imgdir name="2141">
         <imgdir name="0">
-            <string name="0" value="흠. 애송이 도적의 기량이 전보다는 나아진 것 같군. 그래봤자오십보 백보지만 말이야. 아직 한참 멀었어. 아무래도 이 다크로드의 수련을 계속 받지 않으면 안 되겠는걸? 어때? 수련을 해보겠는가?"/>
+            <string name="0" value="哼。新手飞侠的身手似乎比以前好了一点,不过也只是半斤八两。你还差得远呢。看来你还得继续接受我#p1052001#的训练。怎么样,要继续训练吗?"/>
             <imgdir name="yes">
-                <string name="0" value="그렇다면 스텀프 50마리를 사냥해 보라고. 한 번 사냥해 본 몬스터이니 별로 어렵지는 않겠지. 스텀프를 계속 사냥해서 기초수련을 보다 확실히 한 후 다시 이곳으로 와서 보고하라고."/>
+                <string name="0" value="那就去捕捉#r#o130100# 50只#k吧。你已经捕捉过这种怪物,应该不会太难。继续捕捉#o130100#,把基础训练练得更扎实后再回来报告。"/>
             </imgdir>
             <imgdir name="no">
-                <string name="0" value="스스로의 힘으로도 수련할 자신이 있다면, 그렇게 해보라고. 얼마나 할 수 있을지는 모르겠지만 말이야."/>
+                <string name="0" value="如果你认为自己可以独自训练,那就去试试看吧。至于能做到什么程度,我可不知道。"/>
             </imgdir>
         </imgdir>
         <imgdir name="1">

So in Act quest 2141, the NPC says "捕捉#r#o130100# 50只". The QuestInfo says "捕捉#r#o130100# 50只". Match! ✓

For quest 2140, the Act doesn't show a number, and the QuestInfo says 20只. This might be the "first" training where the actual count is mentioned in the quest info. The PR seems internally consistent.

One more thing - the "yes" and "no" subdirectories under quest 2141 in Act.img.xml - these are quest branches. The quest script might use these to determine quest flow. Translation seems fine.

OK let me finalize my review.

Actually, I just noticed something. In Act.img.xml quest 2140, the translated text has:
"接受我#p1052001#大爷提供的特别训练吗?"

This uses "#p1052001#" which is the NPC ID. The original Korean used "다크로드" (Dark Lord) as a self-reference, but the translation uses the actual NPC ID #p1052001#. This is good because it dynamically references the NPC name.

Similarly, in Act.img.xml quest 2141:
"继续接受我#p1052001#的训练"

This is consistent. Good.

Now let me check if the NPC ID matches between files. In QuestInfo, the NPC is referenced as #p1052001#. Same in Act. Consistent. ✓

Alright, my final review:

Actually, I want to double-check one more thing. The "修炼" vs "训练" change. In the original Chinese:

  • "新手飞侠的第一次修炼" (first cultivation/refinement)
  • "新手飞侠的第二次修炼" (second)
  • "新手飞侠的第三次修炼" (third)
  • "新手飞侠最后阶段的修炼" (last stage)

New Chinese:

  • "新手飞侠的第一次训练" (first training)
  • "新手飞侠的第二次训练" (second)
  • "新手飞侠的第三次训练" (third)
  • "新手飞侠最后阶段的训练" (last stage)

Both "修炼" and "训练" can mean training, but "训练" is more commonly used for physical skill training, while "修炼" has more mystical/cultivation connotations. For a thief (rogue) class training, "训练" is more appropriate. This is a good translation improvement.

However, I should note that this is a translation philosophy change, and the project might have wanted to keep "修炼" for stylistic reasons. It's a subjective choice.

OK, let me write the final review now.

I want to be honest - this is a localization PR for XML data files, not Java code. So I should be honest that:

  1. There's no security/performance/code-quality concerns with this kind of change
  2. The main concerns are translation accuracy, internal consistency, and data integrity
  3. I should not force-find problems if there aren't any major ones

Let me write the review focusing on the actual concerns.

📋 PR 概览

将冒险岛飞侠新手修炼任务系列(Quest 2140-2143)的韩文 NPC 对话和任务信息本地化为简体中文,并修正了部分任务参数。

⚠️ 潜在问题

🟡 中危

  1. Quest 2140 怪物 ID/数量变更QuestInfo.img.xml 中 Quest 2140 的怪物从 #o210100# 16只 修改为 #o130100# 20只。这不仅是翻译修改,而是游戏内容/参数变更。虽然看起来修复了原翻译中怪物 ID 错误(210100→130100 与后续任务一致),但数量 16→20 的修改需要确认服务端 quest 脚本(如 Q2140.js)中 monsterIdcount 字段是否一致,否则会导致任务无法完成。

  2. NPC 自我称谓不一致

    • Act.img.xml Quest 2140 中 NPC 自我称谓翻译为"我……大爷"(源自韩文"다크로드"暗黑领主自译)
    • 同一文件中 Quest 2141/2142/2143 又改为"我#p1052001#"的客观引用
    • 同一任务链中 NPC 自称风格不统一,建议统一为 #p1052001# 客观引用,避免中二翻译引发玩家困惑

🟢 低危

  1. "修炼" → "训练" 术语统一:Quest 名称从"修炼"改为"训练"是更贴合飞侠职业(盗贼/刺客系)的合理改动,但 PR 描述未说明此为有意的术语统一决策,可能影响其他相关 quest 文案的一致性。

  2. #I 标签残留:Act.img.xml Quest 2140 末尾保留 #I 标签(韩文原版即存在),这并非冒险岛标准格式化标签(标准的是 #i 用于物品图标),疑似是历史遗留的笔误。本次 PR 未处理此问题。

💡 改进建议

  1. 核对服务端 quest 脚本:务必在合并前检查 scripts/quest/Q2140.js(或对应路径)中 monsterIdrequiredKills 是否与新的 20只 #o130100# 一致,防止任务数据失配。

  2. 统一 NPC 自称风格:将 Quest 2140 中"我……大爷"改为"我 #p1052001#",与同任务链其他 quest 保持一致,提升玩家阅读体验。

  3. PR 描述补充信息:建议在 PR 描述中明确标注:(a) 哪些是纯翻译改动 (b) 哪些是内容/参数修正(如 16→20、210100→130100),方便 reviewer 区分审查。

📊 评分

维度 评分 说明
代码质量 5/5 仅 XML 数据文件,无逻辑代码问题
安全性 5/5 无安全风险
可维护性

@skykiseki

skykiseki commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

bd-v16.1-cnpatch-r2.zip
客户端文件

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant