本教程用于进行游戏内文本的提取。

说明

  • 本文提供的方法只适用于当前显示在游戏中的文本,包括但不限于:
    • 任务文本
    • 书信
    • 可阅读的物品
    • 聊天窗口内容
  • 无法提取已交还的任务、尚未接到的任务或已超出滚屏上限而被删除的聊天等内容。

准备工作

插件:CopyThat

CopyThat插件可以将游戏中指定Frame(框架)中的内容提取到一个可复制的容器中,命令如下:

/cpyt <frame名称>
  • 请向编辑组索取该插件压缩包 CopyThat-1.5.zip
  • 将解压后的文件放在游戏安装目录\Interface\Addons目录下(与其他插件并列)。
  • (可选)启动游戏后,在人物选择窗口左下方点击“插件”按钮。在弹出的插件列表中可以找到CopyThat,勾选后无过期提示即为生效。

UI调试命令:框架栈

你可以在游戏中使用/framestack/fstack命令开启框架栈调试工具。

  • 成功开启后,调试工具会显示鼠标悬停位置及以下的各窗体名(即框架栈)。
  • 悬停时点击ctrl键可打开一个窗口显示当前框架的信息(如定位父窗体anchor和子窗体childframe等)。
  • 你可以再次输入以上命令关闭该工具。

提取流程

本流程将以提取任务文本为例。

Frame名称的获取

  1. 使用上文中提到的UI调试命令。当鼠标悬停在所需提取的框体时,从框架栈窗口中找到所需的框架名称。
    绿色半透明区域的框架名称是QuestMapDetailsScrollFrame
    • 框架栈工具还会分类显示框架的“高度”,依次分别是:
      1. DIALOG,如主菜单等;
      2. HIGH,大多数游戏窗口,如任务、信件等;
      3. MEDIUM,插件UI等;
      4. LOW,游戏自带的HUD;
      5. ANCHOR,定位专用的框架,通常不可见。
  2. 打开任务窗口(L),翻到所需提取的任务,将鼠标悬停在所需提取的区域上,记下该区域的框架名称(如任务窗口QuestMapDetailsScrollFrame)。

内容的提取和导出

  1. 在聊天窗口中输入/cpyt QuestMapDetailsScrollFrame。如果名称正确,文本将会显示在一个文本框中。
    • 错误可能有两种表现:如果名称错误,聊天窗口中会出现copythat插件的提示;如果名称正确但选择错误,聊天信息会无法发送。
  2. 从弹出的文本框中复制文本,并且在其他地方保存。

技巧

你可以将常用的命令做成宏。你不必打开framestack工具就可以执行这些命令,例如:

当前任务记录

/cpyt QuestMapDetailsScrollFrame

关闭任务窗口实际上是隐藏了窗口,因此该命令仍然生效。

任务获取、过程及结果

以下分别是和NPC对话时接任务、过程中和交任务时的文本。

/cpyt QuestDetailScrollFrame
/cpyt QuestProgressScrollFrame
/cpyt QuestRewardScrollFrame

冒险手册

以下命令需要你打开对应的冒险手册才能生效

副本介绍

/cpyt EncounterJournalEncounterFrameInstanceFrameLoreScrollFrame

副本的全部Boss名称

/cpyt EncounterJournalEncounterFrameInfoBossesScrollFrame

当前Boss的介绍与综述

/cpyt EncounterJournalEncounterFrameInfoOverviewScrollFrameScrollChild

当前邮件

/cpyt OpenMailScrollChildFrame

NPC对话

/cpyt GossipGreetingScrollFrame

可阅读物品

/cpyt ItemTextPageText

只会提取当前页的文本。

聊天窗口

目前会出现顺序与显示顺序不一致的问题。以主聊天窗口为例:

/cpyt ChatFrame1

聊天窗口必须足够大才能提取全文。

日历活动介绍文字

/cpyt CalendarViewHolidayScrollChild
avatar
avatar
Ladysilver
0

好啊

1个月