Greasy Fork is available in English.

无剑Mud辅助

无剑Mud辅助,由在线版移植而来,順便《略改》

Установить этот скрипт?
Рекомендуемый автором скрипт

Вам также может понравится 无剑Mud辅助(Online).

Установить этот скрипт
// ==UserScript==
// @name              无剑Mud辅助
// @name:zh-TW        無劍Mud輔助
// @description       无剑Mud辅助,由在线版移植而来,順便《略改》
// @description:zh-TW 無劍Mud輔助,由在線版移植而來,順便《略改》
// @namespace         http://tampermonkey.net/
// @version           0.1.18
// @iconURL           http://res.yytou.cn/lunjian_tw/img/icon1.png
// @author            燕飞,東方鳴
// @match             http://swordman-s1.yytou.com/*
// @match             http://swordman-inter.yytou.com/*
// @grant             unsafeWindow
// @grant             GM_info
// @grant             GM_setClipboard
// @grant             GM_xmlhttpRequest
// @connect           greasyfork.org
// @run-at            document-end
// @compatible        Chrome >= 80
// @compatible        Edge >= 80
// @compatible        Firefox PC >= 74
// @compatible        Opera >= 67
// @compatible        Safari MacOS >= 13.1
// @compatible        Firefox Android >= 79
// @compatible        Opera Android >= 57
// @compatible        Safari iOS >= 13.4
// @compatible        WebView Android >= 80  那一堆萬年不更新WebView的國產安卓手機不會在這出問題吧(
// ==/UserScript==

"use strict";
// 取消屏蔽
var KEYWORD_PATTERNS = g_gmain.KEYWORD_PATTERNS;
g_gmain.KEYWORD_PATTERNS = [];

$(() => {
  function init() {
    PLU.YFUI = YFUI;
    PLU.UTIL = UTIL;
    PLU.YFD = {
      mapsLib: {
        Map: [
          {
            name: "雪亭鎮",
            way: "jh 1;雪亭鎮:飲風客棧^飲風客棧二樓;w;e;n;s;e;w;s;e;s;w;s;n;w;e;e;e;ne;ne;sw;sw;n;w;n;w;e;e;e;n;s;e;e;n;s;s;n;e;w;w;w;w;w;n;w;e;n;w;e;e;e;w;w;n;e;w;w;e;n",
            rank: ["rank go 46;s;w;w;w;w;s;w", "rank go 56;w;s;w", "rank go 65;e;s;w", "rank go 69;w", "rank go 95;w;w;w;s;w"],
            desc: "采集者:王辉",
          },
          {
            name: "洛陽",
            way: "jh 2;n;n;e;s;洛陽:洛水渡口^船塢;n;n;w;n;w;putuan;n;e;e;s;n;w;n;e;s;n;w;w;event_1_98995501;n;w;e;n;e;w;s;s;s;s;w;e;n;e;n;w;s;luoyang111_op1;e;n;w;n;w;get_silver;s;e;n;n;e;get_silver;n;w;s;s;s;e;n;n;w;e;s;s;e;e;n;op1;s;s;e;n;n;w;e;e;n;s;w;n;w;e;n;e;w;n;w;e;s;s;s;s;s;w;w;n;w;e;e;n;s;w;n;e;w;n;w;洛陽:城樓^城樓密室;n;e;e;w;n;e;n;n;n;s;s;s;w;n;w;w;w;w;e;e;e;e;n;n;n;n",
            desc: "采集者:王辉",
          },
          {
            name: "華山村",
            way: "jh 3;n;e;w;s;w;n;s;event_1_59520311;n;n;w;get_silver;s;e;n;n;e;get_silver;n;w;n;e;w;s;s;s;s;s;e;e;s;e;n;s;w;s;e;s;huashancun24_op2;w;n;w;w;n;s;e;s;s;w;get_silver;n;n;s;e;huashancun15_op1;event_1_46902878;;kill?藏劍樓殺手;@藏劍樓殺手的屍體;w;w;s;e;w;nw;n;n;e;get_silver;s;w;n;w;give huashancun_huashancun_fb9;e;e;n;n;w;e;n;s;e",
            desc: "采集者:戴爽",
          },
          {
            name: "華山",
            way: "jh 4;n;n;w;e;n;e;w;n;n;n;n;event_1_91604710;s;s;s;w;get_silver;s;e;s;e;w;n;n;n;n;nw;s;s;w;n;n;w;s;n;w;n;get_xiangnang2;w;s;e;e;n;e;n;n;w;w;event_1_26473707;e;e;e;n;e;s;event_1_11292200;n;n;w;n;e;w;n;s;s;s;s;s;w;n;n;n;w;e;n;get_silver;s;s;e;n;n;s;s;s;s;n;n;w;s;s;w;event_1_30014247;s;w;e;s;e;w;s;s;s;e",
            desc: "采集者:王辉",
          },
          {
            name: "揚州",
            way: "jh 5;n;w;w;n;s;e;e;e;w;n;w;e;e;w;n;w;e;e;n;w;e;n;w;n;get_silver;s;s;e;e;get_silver;n;w;n;n;s;e;w;s;s;s;w;n;w;yangzhou16_op1;e;e;n;e;n;n;n;s;s;w;n;e;n;n;s;s;w;n;n;e;n;n;event_1_89774889;s;s;s;e;s;s;s;w;s;w;w;w;n;n;w;n;n;n;s;s;s;e;n;get_silver;s;s;e;e;w;w;s;s;s;s;n;n;e;e;n;w;e;e;n;n;n;n;s;s;e;w;w;e;s;s;w;n;w;e;e;get_silver;s;w;n;w;w;n;get_silver;s;s;w;s;w;e;e;e;s;s;e;e;s;s;s;n;n;n;w;w;n;n;w;w;n;e;e;e;n;e;s;e;s;s;s;n;n;n;w;n;w;n;ne;sw;s;w;s;n;w;n;w;e;e;w;n;n;w;n;s;e;e;s;n;w;n;s;s;s;s;e;e;s;s;s;w;event_1_69751810",
            desc: "采集者:王辉",
          },
          { name: "丐幫", way: "jh 6;event_1_98623439;s;w;e;n;ne;n;ne;ne;ne;event_1_97428251;n;sw;sw;sw;s;ne;ne;event_1_16841370", desc: "采集者:王辉" },
          {
            name: "喬陰縣",
            way: "jh 7;s;s;s;w;s;w;w;w;e;e;e;e;event_1_65599392;n;s;w;e;ne;s;s;e;n;n;e;w;s;s;w;s;w;w;w;n;s;s;e;n;s;e;ne;s;e;n;e;s;e",
            desc: "采集者:树",
          },
          {
            name: "峨眉山",
            way: "jh 8;w;nw;n;n;n;n;w;e;se;nw;e;n;s;e;n;n;e;;kill?看山弟子;n;n;n;n;e;e;w;w;w;n;n;n;w;w;s;e;w;w;e;s;e;w;w;e;n;n;w;w;n;s;sw;ne;e;e;n;e;w;w;e;n;e;w;w;e;n;w;w;w;n;n;n;s;s;s;e;e;e;e;e;s;s;s;e;e;s;w;e;e;w;s;w;e;e;w;n;n;e;e;w;w;n;w;e;e;w;n;w;e;e;w;n;e;e;w;w;w;w;n;w;w;e;n;s;s;n;e;n;n;n;n;s;s;nw;nw;n;n;s;s;se;sw;w;nw;w;e;se;e;ne;se;ne;se;s;se;nw;n;nw;ne;n;s;se;e",
            desc: "采集者:王辉",
          },
          {
            name: "恆山",
            way: "jh 9;n;w;e;n;e;get_silver;w;w;n;w;e;n;henshan15_op1;e;e;w;n;event_1_85624865;n;w;event_1_27135529;e;e;e;w;n;n;n;s;henshan_zizhiyu11_op1;e;s;s;s;w;n;n;w;n;s;s;n;e;e;e;w;n;s;w;n;n;w;n;e;n;s;w;n;n;w;get_silver;s;e;n",
            desc: "采集者:王辉",
          },
          {
            name: "武當山",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;e;e;e;e;s;e;s;e;n;s;s;n;e;e;n;s;e;w;s;s;s;n;n;n;w;w;w;n;w;n;w;w;w;w;n;w;n;s;e;e;e;s;n;e;e;w;w;w;w;n;n;n;n;jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;w;nw;sw;ne;n;nw;event_1_5824311",
            desc: "采集者:王辉",
          },
          {
            name: "晚月莊",
            way: "jh 11;e;e;s;sw;se;w;n;s;w;w;s;n;w;e;e;s;w;e;s;e;e;e;w;w;w;w;s;n;w;n;s;s;n;e;e;s;w;w;e;e;e;e;w;w;s;e;e;w;w;n;e;n;n;w;n;n;n;e;e;s;s;s;w;s;s;w;e;se;e;se;ne;n;nw;w;s;s;s;se;s",
            desc: "采集者:戴爽",
          },
          { name: "水煙閣", way: "jh 12;n;e;w;n;n;n;s;w;n;n;e;w;s;nw;e;e;sw;n;s;s;e;w;n;ne;w;n", desc: "采集者:王辉" },
          {
            name: "少林寺",
            way: "jh 13;e;s;s;w;w;w;event_1_38874360;jh 13;n;w;w;n;shaolin012_op1;s;s;e;e;n;w;e;e;w;n;n;w;e;e;w;n;n;w;e;e;w;n;shaolin27_op1;event_1_34680156;s;w;n;w;e;e;w;n;shaolin25_op1;w;n;w;s;s;s;get_silver;w;s;s;s;s;s;n;n;n;n;n;n;n;n;e;e;s;s;s;s;get_silver;w;s;s;s;get_silver;w;s;n;n;n;n;n;n;n;n;w;n;w;e;e;w;n;e;w;w;n;get_silver",
            desc: "采集者:王辉",
          },
          {
            name: "唐門",
            way: "jh 14;e;w;w;n;n;n;n;s;w;n;s;s;n;w;n;s;s;n;w;n;s;s;n;w;e;e;e;e;e;s;n;e;n;e;w;n;n;s;#2 ask tangmen_tangmei;e;e;唐門:拜箭亭^兵器室;n;n;s;s;e",
            desc: "采集者:王辉",
          },
          {
            name: "青城山",
            way: "jh 15;s;ne;sw;s;e;w;w;n;s;e;s;e;w;w;w;n;s;s;s;n;n;w;w;w;n;s;w;e;e;e;e;e;e;s;e;w;w;e;s;e;w;s;w;s;ne;s;s;s;e;s;n;w;n;n;n;n;n;n;n;n;n;n;nw;w;nw;w;s;s;s;;kill?申月富;w;w;n;w;e;e;w;n;w;s;w;s;e;s;n;e;e;e;n;n;n;e;n;event_1_14401179",
            desc: "采集者:東方鳴",
          },
          {
            name: "逍遙林",
            way: "jh 16;s;s;s;s;e;e;s;w;n;s;s;s;n;n;w;n;n;s;s;s;s;n;n;w;w;n;s;s;n;w;e;e;e;e;e;e;n;n;e;event_1_5221690;s;w;event_1_57688376;n;n;w;w;e;n;s;e;e;n;event_1_88625473;event_1_82116250;event_1_90680562;event_1_38586637;s;s;e;n;n;w;n;e;jh 16;s;s;s;s;e;n;e;event_1_56806815;jh 16;s;s;s;s;e;n;e;event_1_5221690;s;w;event_1_57688376;n;n;#8 event_1_38333366;",
            desc: "采集者:『空白』",
          },
          {
            name: "開封",
            way: "jh 17;n;w;e;e;s;n;w;n;w;s;n;n;n;s;s;e;e;e;s;n;n;n;s;s;w;s;s;s;w;e;s;w;e;n;e;n;s;s;n;e;e;jh 17;n;n;n;e;w;n;e;w;n;e;se;s;n;nw;n;n;n;event_1_27702191;jh 17;n;n;n;n;w;w;n;s;s;n;w;w;e;n;n;w;e;s;s;s;s;w;jh 17;sw;nw;se;s;sw;nw;ne;event_1_38940168;jh 17;e;s;s;s;e;kaifeng_yuwangtai23_op1;s;w;s;s;w;jh 17;n;n;e;e;n;get_silver",
            desc: "采集者:王辉",
          },
          {
            name: "明教",
            way: "jh 18;w;n;s;e;e;w;n;nw;sw;ne;n;n;w;e;n;n;n;ne;n;n;e;w;w;e;n;e;w;w;e;n;n;e;e;se;se;e;w;nw;nw;n;w;w;w;w;s;s;n;e;w;n;n;n;e;nw;nw;se;se;e;s;w;e;e;w;n;e;e;se;e;w;sw;s;w;w;n;e;w;n;n;n;n;n;w;e;n;event_1_90080676;event_1_56007071;ne;n;nw;se;s;s;e;n;w;nw;sw;se;e;se;nw;s;s;s;s;w;nw;nw;event_1_70957287;event_1_39374335;;kill?九幽毒童;event_1_2077333",
            desc: "采集者:淼淼淼、戴爽",
          },
          {
            name: "全真教",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;w;e;e;w;n;w;w;w;s;n;w;s;n;e;e;e;e;e;n;s;e;n;n;s;s;e;w;w;w;n;n;n;w;e;e;s;n;e;n;n;n;n;s;e;s;n;n;n;w;n;w;w;w;s;s;s;s;s;e;n;n;n;s;w;s;n;w;n;s;s;s;w;n;n;n;s;w;s;s;s;s;e;s;s;n;n;e;s;s;n;n;e;e;n;n;n;n;w;w;w;n;n;e;n;e;e;n;n",
            desc: "采集者:24叶欣贤、戴爽",
          },
          {
            name: "古墓",
            way: "jh 20;s;s;n;n;w;w;s;e;s;s;s;s;s;sw;sw;s;e;se;nw;w;s;w;e;e;w;s;s;w;w;e;e;s;w;sw;ne;e;s;s;s;n;w;w;e;e;e;e;e;e;s;e;w;n;w;n;n;s;e;w;w;s;n;n;event_1_3723773;se;n;e;s;e;s;e",
            desc: "采集者:東方鳴",
          },
          {
            name: "白馱山",
            way: "jh 21;nw;s;n;ne;ne;sw;n;n;ne;w;e;n;n;n;s;w;w;jh 21;nw;w;n;s;w;nw;e;w;nw;nw;n;w;sw;ne;s;event_1_47975698;s;sw;s;ne;e;s;s;jh 21;nw;w;w;nw;n;e;w;n;n;w;e;n;n;e;e;w;nw;se;e;ne;sw;e;se;nw;w;n;s;s;n;w;w;n;n;n;n;s;s;s;s;e;e;e;n;n;w;e;e;e;w;w;n;nw;se;ne;w;e;e;w;n",
            desc: "采集者:王辉",
          },
          {
            name: "嵩山",
            way: "jh 22;n;n;w;w;s;s;e;w;s;s;w;e;s;n;n;n;n;n;e;n;n;n;n;n;e;n;e;e;w;w;n;w;n;s;e;n;n;n;e;songshan33_op1;n;w;w;w;e;n;w;e;n;s;s;e;n;e;w;n;e;w;n;get_silver;jh 22;n;n;n;n;e;n;event_1_1412213;s;event_1_29122616;jh 22;n;n;n;n;n;n;n",
            desc: "采集者:王辉",
          },
          {
            name: "寒梅莊",
            way: "jh 23;n;n;e;w;n;n;n;n;n;w;w;e;e;e;s;n;w;n;w;n;s;w;e;e;e;n;s;w;n;n;e;w;event_1_8188693;n;n;w;e;n;e;n;s;w;n;s;s;s;s;s;w;n",
            desc: "采集者:@远",
          },
          {
            name: "泰山",
            way: "jh 24;se;nw;n;n;n;n;w;e;e;e;w;s;n;w;n;n;w;e;e;w;n;e;w;n;w;n;n;n;n;n;s;s;w;n;s;e;s;s;s;e;n;e;w;n;w;e;n;n;e;s;n;e;n;e;w;n;w;e;e;w;n;n;s;s;s;s;s;w;w;n;n;w;e;e;w;n;n;w;e;e;w;n;s;s;s;s;s;w;n;e;w;n;w;e;n;n;e",
            desc: "采集者:王辉",
          },
          {
            name: "大旗門",
            way: "jh 11;e;e;s;n;nw;w;nw;e;e;e;n;w;e;s;se;jh 25;w;e;e;e;e;e;s;yell;n;s;e;ne;se;e;e;e;e;w;w;w;w;nw;sw;w;s;e;event_1_81629028;s;e;n;w;w;s;w",
            desc: "采集者:24叶欣贤",
          },
          {
            name: "大昭寺",
            way: "jh 26;w;w;w;w;w;n;s;w;s;w;e;e;e;w;w;s;w;w;w;s;n;w;n;n;n;n;n;e;e;e;e;e;w;s;s;w;w;n;w;e;e;w;s;w;n;s;s;n;w;ask?lama_master;event_1_91837538",
            desc: "采集者:王辉",
          },
          {
            name: "魔教",
            way: "jh 27;se;e;e;e;w;w;w;nw;ne;w;e;n;ne;sw;s;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;sw;ne;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;w;e;e;w;n;e;n;s;w;n;nw;n;s;se;ne;n;s;sw;w;ne;n;s;ne;n;n;s;s;nw;n;s;se;w;n;s;e;sw;n;s;ne;se;n;s;nw;e;e;n;s;s;n;e;n;s;s;n;e;n;s;s;n;e;n;s;s;n;e;n;s;s;n;w;w;w;w;w;n;n;n;n;n;w;w;w;w;w;e;e;e;e;e;e;e;e;e;e;w;w;w;w;w;n;n;event_1_57107759;e;e;n;w",
            desc: "采集者:王辉",
          },
          { name: "星宿海", way: "jh 28;sw;nw;sw;se;ne;nw;nw;w;e;e;n;w;w;w;w;n;w;se;n;n;se;n;n;n;n;nw;w;ne;se;n;n;n;n;se", desc: "" },
          { name: "茅山", way: "jh 29;n;n;n;n;event_1_60035830;event_1_65661209;n;n;n;n;n;e;n;n;n;event_1_98579273;w;nw;e;n;e;e", desc: "" },
          { name: "桃花島", way: "jh 30;n;n;ne;n;n;n;w;e;n;n;w;w;e;n;s;n;n;n;w;w;s;s;e;n;s;e;n;e;n;s;nw;w;n;n;n;e;e;n;se;s", desc: "" },
          { name: "鐵雪山莊", way: "jh 31;n;n;n;w;w;w;w;n;n;n;n;w;e", desc: "" },
          {
            name: "慕容山莊",
            way: "jh 32;n;n;se;e;s;s;n;w;ne;n;n;n;e;n;w;s;w;w;n;event_1_72278818;event_1_35141481;event_1_35141481;event_1_35141481;event_1_35141481;w;w;n;e;n;e;n;w;e;n;event_1_55226665;n;event_1_99232080;e;e;s;e;s;e;e;e;n;s",
            desc: "",
          },
          {
            name: "大理",
            way: "jh 33;sw;sw;s;s;s;nw;n;nw;n;n;n;n;n;e;n;s;e;sw;w;w;s;s;e;s;w;se;e;s;s;s;w;w;se;e;s;ne;e;se;n;n;n;n;n;w;ne;se;s;w;w;n;se;w;w;s;nw;n;e;se;n;n;w;se;e;se;e;se;e;e;n;s;e;e;se;e;e;se;n;n;n;n;n;n;e;n;n;n;e;e;se;e;s;ne;e;se;e;e;s;ne;e;n;sw;s;s;e;n;e;n;e;s;e;s;e;e;e;s;w;n;n;s;s;s;w;n;n;n;n;w;e;n;e;n;se;w;n;w;e;n;e;e;s;n;n;w;e;n;ne;n;e;e;n;s;e;ne;se;se;n;n;n;e;s;w;w;e;n;e;s;s;e;n;s;w;n;se;n;ne;s;w;e;n;s;s;e;s;w;se;s;s;s;e;n;sw;sw;w;s;n;n;s;e;n;n;n;s;e;se;s;sw;n;w;s",
            desc: "",
          },
          { name: "斷劍山莊", way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;n;n;w;n;e;e;n;n", desc: "" },
          { name: "冰火島", way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;s;se;w;nw;s;s;s;s;s;s;w;w;n;e;n;w;w;s;s", desc: "" },
          { name: "俠客島", way: "", desc: "" },
          {
            name: "絕情谷",
            way: "jh 37;n;e;e;nw;nw;w;n;nw;n;n;ne;n;nw;se;s;sw;s;s;se;e;n;e;e;e;ne;ne;ne;se;s;s;s;w;e;n;n;n;nw;sw;sw;nw;w;n;nw;n;ne;e;ne;se;nw;sw;w;sw;nw;w;n;nw;n;s;se;s;e;n;nw;n;nw;se;s;se;s;ne;n;ne;sw;s;sw;n;ne;e;ne;e;n",
            desc: "",
          },
          {
            name: "碧海山莊",
            way: "jh 38;n;n;n;n;w;w;e;e;n;n;n;w;w;nw;w;w;n;n;s;s;e;e;se;e;e;n;n;e;se;s;e;w;n;nw;w;n;n;e;e;se;se;e;n;n;n;s;s;s;w;nw;nw;w;w;n;n;n;n",
            desc: "",
          },
          { name: "天山", way: "jh 39;ne;e;n;nw;nw;w;s;s;sw;n;nw;e;sw;w;s;w;n;w", desc: "" },
          { name: "苗疆", way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se", desc: "" },
          { name: "白帝城", way: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;e;e;w;w;n;n;n;s;s;s;w;w;w", desc: "" },
          { name: "墨家機關城", way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;w;w;n;n;n;e;w;s;s;s;e;e;e;e;n;n;n;w", desc: "" },
          { name: "掩月城", way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e;se;se;se;sw;sw;s;e;s;s;s", desc: "" },
          { name: "海雲閣", way: "jh 44;n;n;n;n;w;w;nw;n;n;ne;n;n;e;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne;e;se;se;se;ne;ne;n;n;n;n;nw", desc: "" },
          { name: "幽冥山莊", way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e;e;e;e", desc: "" },
          { name: "花街", way: "jh 46;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;w;w;w;w;w;w;w;n;n;n;e;e;e;w;w;e;s;n;n", desc: "" },
          { name: "西涼城", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;e;e;n;n;n;n;n;n;ne;n", desc: "" },
          { name: "高昌迷宮", way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;se;se;s;s;s;sw;sw;s;sw;se", desc: "" },
          { name: "京城", way: "", desc: "" },
          { name: "越王劍宮", way: "jh 50;ne;ne;n;n;n;ne;ne;ne;n;n;n;s;s;s;se;se;se;s;s;s;s;sw;sw;sw;ne;ne;ne;se;se;e;n;n;n;e;w;n;n;n;n;n;w;e;n;n;n", desc: "" },
          {
            name: "江陵",
            way: "jh 51;n;n;w;e;e;w;n;n;w;w;n;n;s;s;e;e;e;e;e;e;s;s;n;n;e;e;e;e;se;e;e;w;w;nw;w;w;s;s;s;se;se;e;e;w;w;nw;nw;n;n;n;w;w;n;n;e;w;w;w;e;e;n;n;nw;n;n;n;e;e",
            desc: "",
          },
          { name: "天龍寺", way: "", desc: "" },
          { name: "西夏", way: "", desc: "" },
          { name: "南詔國", way: "", desc: "" },
        ],
        Labyrinth: {
          雪亭鎮: { "飲風客棧^飲風客棧二樓": "inn_op1", "飲風客棧二樓^飲風客棧": "s" },
          洛陽: { "城樓^城樓密室": "luoyang14_op1", "城樓密室^城樓": "n", "洛水渡口^船塢": "luoyang317_op1", "船塢^洛水渡口": "n" },
          唐門: { "拜箭亭^兵器室": "event_1_8413183;event_1_39383240;e;s;e;n;w", "兵器室^拜箭亭": "e;n;n;n;n;nw;n" },
        },
        Task: {
          雪亭鎮: "jh 1;ask snow_waiter;ask snow_mercenary;e;n;fight snow_worker;n;e;give snow_guard;home",
          洛陽: "jh 2;n;ask luoyang_luoyang18;n;kill luoyang_xiaotou;n;kill luoyang_xiaotou;e;kill luoyang_xiaotou;s;fight luoyang_luoyang27;s;kill luoyang_xiaotou;home",
          華山村:
            "jh 3;ask huashancun_huashancun12;fight huashancun_huashancun12;n;event_1_38583676;#3 s;fight huashancun_popitouzi;s;w;fight huashancun_huashancun1;w;give huashancun_huashancun6;home",
          青城山:
            "jh 15;n;nw;w;nw;w;s;s;fight qingcheng_dizi1;s;kill qingcheng_renjie;w;w;fight qingcheng_renying;w;ask qingcheng_masteryu;#3 e;#3 n;e;se;e;se;#7 s;sw;n;ask qingcheng_mudaoren",
          逍遙林:
            "jh 16;#4 s;e;e;s;w;ask xiaoyao_mengmianr;kill xiaoyao_mengmianr;w;ask xiaoyao_suxinghe;fight xiaoyao_suxinghe;#3 e;n;n;e;w;s;e;s;w;wait#kill xiaoyao_mengmianr;e;e;n;n;e;kill xiaoyao_mengmianr",
          開封: "jh 17;n;e;fight kaifeng_kaifeng19;s;ask kaifeng_kaifeng3;n;w;w;ask kaifeng_kaifeng2;e;#4 n;e;n;n;ask kaifeng_kaifeng28;n;event_1_27702191;ask kaifeng_kaifeng30;fight kaifeng_kaifeng30;w;#3 s;w;#4 s;e;s;ask kaifeng_kaifeng3",
          明教: "jh 18;n;nw;#5 n;ne;#10 n;ask mingjiao_zhang;#6 s;ask mingjiao_weiyixiao;fight mingjiao_weiyixiao;#6 n;ask mingjiao_zhang;s;w;ask mingjiao_longwang;fight mingjiao_longwang;e;n;ask mingjiao_zhang;s;e;ask mingjiao_shiwang;fight mingjiao_shiwang;w;n;ask mingjiao_zhang;s;ask mingjiao_yingwang;fight mingjiao_yingwang",
        },
        Npc: [
          {
            jh: "雪亭鎮",
            loc: "離隱齋",
            name: "金庸大师",
            name_tw: "金庸大師",
            way: "jh 1;w",
            desc: "泱泱中華,上下五千年,朝代更替,江山變換,風雲人物之中,唯有此人開創一全新世界,謂之『江湖』。凡入江湖之人,無能得出。隻緣所聞故事均曲折離奇,所見之人皆栩栩如生,所歷若長江大河一氣呵成,所思無不字字入心繞梁三日。明知在他談笑之間贈予你的,不過是夏日裡的一場春夢,卻鮮有人不癡迷於其斑斕的色彩和無盡的神韻。",
          },
          {
            jh: "雪亭鎮",
            loc: "飛狐外傳",
            name: "胡斐",
            way: "jh 1;w;w;n",
            desc: "這人滿腮虯髯,根根如鐵,一頭濃發,卻不結辮,橫生倒豎般有如亂草,你看到他不禁也是一驚。",
          },
          {
            jh: "雪亭鎮",
            loc: "雪山飛狐",
            name: "苗若兰",
            name_tw: "苗若蘭",
            way: "jh 1;w;w;w;n",
            desc: "膚光勝雪,雙目猶似一泓清水,容貌秀麗之極,當真如明珠生暈,美玉瑩光,眉目間隱隱有一股書卷的清氣,與胡斐同榻時臉蛋羞得如海棠花般,嬌美艷麗,難描難畫,美目流波,俏臉生暈,月光雪光映在身旁苗若蘭皎潔無瑕的臉上,當真是人間仙境,是天仙般的人物。",
          },
          {
            jh: "雪亭鎮",
            loc: "連城訣",
            name: "淩霜华",
            name_tw: "淩霜華",
            way: "jh 1;w;w;w;w;n",
            desc: "隻見一個清秀絕俗的少女正在觀賞菊花,穿一身嫩黃衫子,當真是人淡如菊,怕是你這一生之中,從未見過這般雅緻清麗的姑娘。",
          },
          {
            jh: "雪亭鎮",
            loc: "天龍八部",
            name: "乔峰",
            name_tw: "喬峰",
            way: "jh 1;w;w;w;w;w;n",
            desc: "身材甚是魁偉,三十來歲年紀,身穿灰色舊布袍,已微有破爛,濃眉大眼,高鼻闊口,一張四方的國字臉,頗有風霜之色,顧盼之際,極有威勢。",
          },
          {
            jh: "雪亭鎮",
            loc: "笑傲江湖",
            name: "红叶禅师",
            name_tw: "紅葉禪師",
            way: "jh 1;w;w;s",
            desc: "莆田南少林方丈,收藏《葵花寶典》一書,乃是一位大智大慧的了不起人物。",
          },
          {
            jh: "雪亭鎮",
            loc: "倚天屠龍記",
            name: "赵敏",
            name_tw: "趙敏",
            way: "jh 1;w;w;w;w;w;w;s",
            desc: "汝陽王之女,封號“紹敏郡主”,趙敏是她的漢名。其父在當朝執掌兵馬大權,因此自幼生性好武,內力不深,但見識頗廣。她愛做漢人打扮,活脫脫是個漢人美女。她嬌美無匹,面瑩如玉,眼澄似水,笑意盈盈,不單艷麗不可方物,還自有一番說不盡的嬌媚可愛。",
          },
          { jh: "雪亭鎮", loc: "白馬嘯西風", name: "李文秀", way: "jh 1;w;w;w;w;w;w;w;n", desc: "這是草原上最美麗、最會唱歌的少女。她玉雪可愛,卻不得心上人所愛。" },
          {
            jh: "雪亭鎮",
            loc: "鹿鼎記",
            name: "双儿",
            name_tw: "雙兒",
            way: "jh 1;#8 w;n",
            desc: "重情重義,溫柔善良,善解人意,乖巧聰慧,體貼賢惠,清秀可人,靦腆羞澀,誠實不欺,胸無城府,忠肝義膽,天真純潔。",
          },
          {
            jh: "雪亭鎮",
            loc: "神雕俠侶",
            name: "郭襄",
            way: "jh 1;w;w;w;w;s",
            desc: "少女清雅秀麗,無疑是個美人坯子。穿淡綠緞子皮襖,頸中掛著一串明珠,每顆珠子都一般的小指頭大小,發出淡淡光暈。你不禁為她美貌所懾,住口不言,呆呆望著。",
          },
          {
            jh: "雪亭鎮",
            loc: "俠客行",
            name: "丁丁當當",
            way: "jh 1;w;w;w;w;w;s",
            desc: "一張清麗白膩的臉龐,小嘴邊帶著俏皮微笑,月光照射在她明澈的眼睛之中,宛然便是兩點明星。",
          },
          { jh: "雪亭鎮", loc: "射雕英雄傳", name: "郭靖", way: "jh 1;w;w;w;w;w;w;n", desc: "體格粗壯,濃眉大眼。雖衣著帶幾分土氣,卻難掩大俠風骨。" },
          { jh: "雪亭鎮", loc: "越女劍", name: "阿青", way: "jh 1;#9 w", desc: "這少女一張瓜子臉,睫長眼大,皮膚白晰,容貌甚為秀麗,身材苗條,弱質纖纖。" },
          {
            jh: "雪亭鎮",
            loc: "書劍恩仇錄",
            name: "霍青桐",
            way: "jh 1;w;w;w;s",
            desc: "霍青桐:十八九歲年紀,腰插匕首,長辮垂肩,頭戴金絲繡的小帽,帽邊插一根長長的翠綠羽毛,革履青馬,旖旎如畫。秀美中透著一股英氣,光彩照人,當真是麗若春梅綻雪,神如秋蕙披霜,兩頰融融,霞映澄塘,雙目晶晶,月射寒江。此女乃天山北路回疆部落首領木卓倫之女,霍阿伊之妹,喀絲麗之姐,“天山雙鷹”之徒。一手天山劍法甚是厲害。她相貌出眾,才智過人,愛穿黃衫,帽邊常插一根長長的翠綠羽毛,因此得了個漂亮外號,天山南北武林中人都知道“翠羽黃衫”霍青桐。",
          },
          { jh: "雪亭鎮", loc: "碧血劍", name: "袁承志", way: "jh 1;#7 w;s", desc: "為人沉穩,以國家大義為己任,出生入死;他以其父為標榜,當仁不讓。" },
          { jh: "雪亭鎮", loc: "鴛鴦刀", name: "任飛燕", way: "jh 1;#8 w;s", desc: "一個風程僕僕的俠客。" },
          { jh: "雪亭鎮", loc: "飲風客棧", name: "五一大使", way: "jh 1", desc: "一個風程僕僕的俠客。" },
          {
            jh: "雪亭鎮",
            loc: "飲風客棧",
            name: "小糖人",
            way: "jh 1",
            desc: "小糖人造型多變,本以熬化的蔗糖或麥芽糖做成,一會變成人物、一會變成動物、花草等。據說誕生於宋代春節鬧花燈的集市。",
          },
          { jh: "雪亭鎮", loc: "飲風客棧", name: "光棍", way: "jh 1", desc: "一個風程僕僕的俠客。" },
          {
            jh: "雪亭鎮",
            loc: "飲風客棧",
            name: "陈汤",
            name_tw: "陳湯",
            way: "jh 1",
            desc: "西漢六大名將之一,其句“明犯我強漢者,雖遠必誅”,過了兩千年依然是激動人心。",
          },
          { jh: "雪亭鎮", loc: "飲風客棧", name: "双旦使者", name_tw: "雙旦使者", way: "jh 1", desc: "一個風程僕僕的俠客。" },
          {
            jh: "雪亭鎮",
            loc: "飲風客棧",
            name: "过年小【二】",
            name_tw: "週年小【貳】",
            way: "jh 1",
            desc: "這是論劍兩週年特別形象大使,眉目俊秀,頗有幾分劍大師的風採。",
          },
          {
            jh: "雪亭鎮",
            loc: "飲風客棧",
            name: "逄义",
            name_tw: "逄義",
            way: "jh 1",
            desc: "逄義是封山派中和柳淳風同輩的弟子,但是生性好賭的他並不受師父及同門師兄弟的喜愛,因此輩分雖高,卻未曾擔任門中任何重要職務。逄義經常外出,美其名曰:旅行,實則避債,礙於門規又不敢做那打家劫舍的勾當,因此經常四處尋找賺錢發財的機會。",
          },
          { jh: "雪亭鎮", loc: "飲風客棧", name: "店小二", way: "jh 1", desc: "這位店小二正笑咪咪地忙著,還不時拿起掛在脖子上的抹布擦臉。" },
          { jh: "雪亭鎮", loc: "飲風客棧", name: "剑大师", name_tw: "劍大師", way: "jh 1", desc: "宗之瀟灑美少年舉觴白眼望青天皎如玉樹臨風前" },
          { jh: "雪亭鎮", loc: "廣場", name: "苦力", way: "jh 1;e", desc: "一個苦力打扮的漢子在這裡等人來僱用。" },
          { jh: "雪亭鎮", loc: "城隍廟", name: "庙祝", name_tw: "廟祝", way: "jh 1;e;e", desc: "這個老人看起來七十多歲了,看著他佝僂的身影,你忽然覺得心情沈重了下來。" },
          { jh: "雪亭鎮", loc: "黃土小徑", name: "野狗", way: "jh 1;e;e;s;ne", desc: "一隻渾身臟兮兮的野狗。" },
          { jh: "雪亭鎮", loc: "山路", name: "蒙面剑客", name_tw: "蒙面劍客", way: "jh 1;e;e;s;ne;ne", desc: "蒙著臉,身後背著一把劍,看上去武藝頗為不俗。" },
          {
            jh: "雪亭鎮",
            loc: "淳風武館大門",
            name: "刘安禄",
            name_tw: "劉安祿",
            way: "jh 1;e;n;e",
            desc: "劉安祿是淳風武館的門房,除了館主柳淳風沒有人知道他的出身來歷,隻知到他的武藝不弱,一手快刀在這一帶罕有敵手。",
          },
          { jh: "雪亭鎮", loc: "淳風武館教練場", name: "武馆弟子", name_tw: "武館弟子", way: "jh 1;e;n;e;e", desc: "你看到一位身材高大的漢子,正在辛苦地操練著。" },
          {
            jh: "雪亭鎮",
            loc: "淳風武館教練場",
            name: "李火狮",
            name_tw: "李火獅",
            way: "jh 1;e;n;e;e",
            desc: "李火獅是個孔武有力的大塊頭,他正在訓練他的弟子們習練「柳家拳法」。",
          },
          {
            jh: "雪亭鎮",
            loc: "淳風武館大廳",
            name: "柳淳风",
            name_tw: "柳淳風",
            way: "jh 1;e;n;e;e;e",
            desc: "柳淳風是個相當高大的中年儒生,若不是從他腰間掛著的「玄蘇劍」你大概猜不到眼前這個溫文儒雅的中年人竟是家大武館的館主。",
          },
          { jh: "雪亭鎮", loc: "書房", name: "柳绘心", name_tw: "柳繪心", way: "jh 1;e;n;e;e;e;e;n", desc: "柳繪心是淳風武館館主柳淳風的獨生女。" },
          { jh: "雪亭鎮", loc: "雪亭鎮街道", name: "醉汉", name_tw: "醉漢", way: "jh 1;e;n;n", desc: "一個喝得醉醺醺的年輕人。。。。。" },
          { jh: "雪亭鎮", loc: "雪亭鎮街道", name: "收破烂的", name_tw: "收破爛的", way: "jh 1;e;n;n", desc: "這個人不但自己收破爛,身上也穿得破爛不堪。" },
          { jh: "雪亭鎮", loc: "木屋", name: "花不为", name_tw: "花不為", way: "jh 1;e;n;n;n;n;e", desc: "此人前幾年搬到雪亭鎮來,身世迷糊。" },
          {
            jh: "雪亭鎮",
            loc: "雪亭驛",
            name: "杜宽",
            name_tw: "杜寬",
            way: "jh 1;e;n;n;n;n;w",
            desc: "杜寬擔任雪亭驛的驛長已經有十幾年了,雖然期間有幾次升遷的機會,但是他都因為捨不得離開這個小山村而放棄了,雪亭鎮的居民對杜寬的風評相當不錯,常常會來到驛站跟他聊天。",
          },
          { jh: "雪亭鎮", loc: "雪亭驛", name: "杜宽宽", name_tw: "杜寬寬", way: "jh 1;e;n;n;n;n;w", desc: "不要殺我~~~~~~~~~~" },
          {
            jh: "雪亭鎮",
            loc: "桑鄰藥鋪",
            name: "杨掌柜",
            name_tw: "楊掌櫃",
            way: "jh 1;e;n;n;n;w",
            desc: "楊掌櫃是這附近相當有名的大善人,常常施捨草藥給付不起藥錢的窮人。此外他的醫術也不錯,年輕時曾經跟著山煙寺的玄智和尚學醫,一般的傷寒小病直接問他開藥吃比醫生還靈。",
          },
          { jh: "雪亭鎮", loc: "桑鄰藥鋪", name: "樵夫", way: "jh 1;e;n;n;n;w", desc: "你看到一個粗壯的大漢,身上穿著普通樵夫的衣服。" },
          { jh: "雪亭鎮", loc: "打鐵鋪子", name: "王铁匠", name_tw: "王鐵匠", way: "jh 1;e;n;n;w", desc: "王鐵匠正用鐵鉗夾住一塊紅熱的鐵塊放進爐中。打孔" },
          {
            jh: "雪亭鎮",
            loc: "安記錢莊",
            name: "安惜迩",
            name_tw: "安惜邇",
            way: "jh 1;e;n;w",
            desc: "安惜邇是個看起來相當斯文的年輕人,不過有時候會有些心不在焉的樣子,雪亭鎮的居民對安惜邇都覺得有點神秘莫測的感覺,為什麼他年紀輕輕就身為一家大錢莊的老闆,還有他一身稀奇古怪的武功,所幸安惜邇似乎天性恬淡,甚至有些隱者的風骨,隻要旁人不去惹他,他也絕不會去招惹旁人。",
          },
          { jh: "雪亭鎮", loc: "雪亭鎮街口", name: "黎老八", way: "jh 1;e;s", desc: "這是位生性剛直,嫉惡如仇的丐幫八袋弟子。" },
          { jh: "雪亭鎮", loc: "雪亭鎮街道", name: "老农夫", name_tw: "老農夫", way: "jh 1;e;s;w", desc: "你看到一位面色黝黑的農夫。" },
          { jh: "雪亭鎮", loc: "雪亭鎮街道", name: "农夫", name_tw: "農夫", way: "jh 1;e;s;w", desc: "你看到一位面色黝黑的農夫。" },
          {
            jh: "雪亭鎮",
            loc: "書院",
            name: "魏无极",
            name_tw: "魏無極",
            way: "jh 1;e;s;w;s",
            desc: "魏無極是個博學多聞的教書先生,他年輕時曾經中過舉人,但是因為生性喜愛自由而不願做官,魏無極以教書為業,如果你付他一筆學費,就可以成為他的弟子學習讀書識字。",
          },
          { jh: "雪亭鎮", loc: "青石官道", name: "疯狗", name_tw: "瘋狗", way: "jh 1;e;s;w;w", desc: "一隻渾身臟兮兮的野狗,一雙眼睛正惡狠狠地瞪著你。" },
          { jh: "雪亭鎮", loc: "飲風客棧二樓", name: "星河大师", name_tw: "星河大師", way: "jh 1;雪亭鎮:飲風客棧^飲風客棧二樓", desc: "帥" },
          {
            jh: "雪亭鎮",
            loc: "飲風客棧二樓",
            name: "崔元基",
            way: "jh 1;雪亭鎮:飲風客棧^飲風客棧二樓",
            desc: "此人惡行累累,身背無數血案,其身上布滿刀傷,看上去極為兇神惡煞。",
          },
          {
            jh: "雪亭鎮",
            loc: "飲風客棧二樓",
            name: "神祕男子",
            name_tw: "神秘男子",
            way: "jh 1;雪亭鎮:飲風客棧^飲風客棧二樓",
            desc: "該男子頭頂笠帽,一身勁裝。看不清面容,極為神秘。",
          },
          { jh: "洛陽", loc: "北郊礦山", name: "剑遇北", name_tw: "劍遇北", way: "jh 2;n;n;n;n;n;n;n;n;n;n;w", desc: "一個身受重傷的布衣青年,手持一把染血的佩劍。" },
          {
            jh: "洛陽",
            loc: "礦場",
            name: "矿监",
            name_tw: "礦監",
            way: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w",
            desc: "他身著紅色官袍,方臉闊嘴,下頜一捋長須,不時用那雙小眼睛瞅你。",
          },
          {
            jh: "洛陽",
            loc: "冶煉場",
            name: "邵空子",
            way: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w;w",
            desc: "他穿一件棕布麻衣,身材壯碩,目光炯炯,兩手尤為粗大,負責冶煉數十年,是存世不多的鑄造大師之一。",
          },
          {
            jh: "洛陽",
            loc: "礦洞入口",
            name: "矿洞入口",
            name_tw: "礦洞入口",
            way: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w;w;w",
            desc: "黝黑的洞口深不見底,裡面似乎傳來叮叮噹噹的聲音。根據產出礦品質的不同,礦坑可以分為普通、地品和天品三種。曾經有人在裡面挖出過礦髓,這可是能升級礦脈的好東西。不過地品及天品礦洞必須要有朝廷的許可才能進入。",
          },
          { jh: "洛陽", loc: "南郊小路", name: "农夫", name_tw: "農夫", way: "jh 2;n", desc: "一個戴著斗笠,正在辛勤勞作的農夫。" },
          { jh: "洛陽", loc: "南門", name: "守城士兵", way: "jh 2;n;n", desc: "一個守衛洛陽城的士兵" },
          { jh: "洛陽", loc: "南市", name: "客商", way: "jh 2;n;n;e", desc: "長途跋涉至此的客商。" },
          { jh: "洛陽", loc: "船塢", name: "蓑衣男子", way: "jh 2;n;n;e;s;洛陽:洛水渡口^船塢", desc: "身穿蓑衣坐在船頭的男子,頭上的斗笠壓得很低,你看不見他的臉。" },
          { jh: "洛陽", loc: "南大街", name: "乞丐", way: "jh 2;n;n;n", desc: "一個穿著破破爛爛的乞丐" },
          {
            jh: "洛陽",
            loc: "金刀門",
            name: "金刀门弟子",
            name_tw: "金刀門弟子",
            way: "jh 2;n;n;n;e",
            desc: "這人雖然年紀不大,卻十分傲慢。看來金刀門是上樑不正下樑歪。",
          },
          {
            jh: "洛陽",
            loc: "練武場",
            name: "王霸天",
            way: "jh 2;n;n;n;e;s",
            desc: "王霸天已有七十來歲,滿面紅光,顎下一叢長長的白須飄在胸前,精神矍鑠,左手嗆啷啷的玩著兩枚鵝蛋大小的金膽。",
          },
          { jh: "洛陽", loc: "洛川街", name: "地痞", way: "jh 2;n;n;n;n", desc: "洛陽城裡的地痞,人見人惡。" },
          { jh: "洛陽", loc: "集市", name: "小贩", name_tw: "小販", way: "jh 2;n;n;n;n;e", desc: "起早貪黑養家餬口的小販。" },
          { jh: "洛陽", loc: "豬肉攤", name: "郑屠夫", name_tw: "鄭屠夫", way: "jh 2;n;n;n;n;e;s", desc: "一個唾沫四濺,滿身油星的屠夫。看上去粗陋鄙俗,有些礙眼。" },
          {
            jh: "洛陽",
            loc: "草屋",
            name: "绿袍老者",
            name_tw: "綠袍老者",
            way: "jh 2;n;n;n;n;n;e;e;n;n;e;n",
            desc: "一身綠袍的老人,除了滿頭白發,強健的身姿和矍鑠的眼神都不像一位老者。",
          },
          { jh: "洛陽", loc: "林間石階", name: "山贼", name_tw: "山賊", way: "jh 2;n;n;n;n;n;e;e;n;n;n", desc: "隱藏在密林中打家劫舍的賊匪。" },
          { jh: "洛陽", loc: "登山小徑", name: "守墓人", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n", desc: "負責看守白冢的老人,看起來也是有些功夫的。" },
          { jh: "洛陽", loc: "松風亭", name: "淩云", name_tw: "淩雲", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;e", desc: "敗劍山莊少莊主,跟著父親雲遊四海。" },
          { jh: "洛陽", loc: "松風亭", name: "淩中天", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;e", desc: "好遊山玩水的敗劍山莊莊主。" },
          { jh: "洛陽", loc: "白公墓", name: "黑衣文士", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n", desc: "看樣子很斯文,不像會欺負人哦~" },
          { jh: "洛陽", loc: "白公墓", name: "盗墓贼", name_tw: "盜墓賊", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n", desc: "以盜竊古墓財寶為生的人。" },
          {
            jh: "洛陽",
            loc: "墓道",
            name: "黑衣女子",
            way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n;get_silver",
            desc: "一身緊身黑衣將其身體勾勒的曲線畢露,黑紗遮住了面容,但看那剪水雙眸,已經足以勾魂。",
          },
          { jh: "洛陽", loc: "聽伊亭", name: "白面书生", name_tw: "白面書生", way: "jh 2;n;n;n;n;n;e;e;n;n;n;w", desc: "書生打扮的中年男子,手中的折扇隱露寒光。" },
          { jh: "洛陽", loc: "觀景台", name: "护卫", name_tw: "護衛", way: "jh 2;n;n;n;n;n;e;e;n;n;w", desc: "大戶人家的護衛,一身勁裝。" },
          { jh: "洛陽", loc: "富人莊院", name: "富家公子", way: "jh 2;n;n;n;n;n;e;n", desc: "此人一副風流倜儻的樣子,一看就是個不知天高地厚的公子哥。" },
          { jh: "洛陽", loc: "儲藏室", name: "洪帮主", name_tw: "洪幫主", name_new: "尚鋤姦", way: "jh 2;n;n;n;n;n;e;n;op1", desc: "他就是丐幫幫主。" },
          {
            jh: "洛陽",
            loc: "青石街",
            name: "鲁长老",
            name_tw: "魯長老",
            way: "jh 2;n;n;n;n;n;n;e",
            desc: "魯長老雖然武功算不得頂尖高手,可是在江湖上卻頗有聲望。因為他在丐幫中有仁有義,行事光明磊落,深得洪幫主的器重。",
          },
          { jh: "洛陽", loc: "北大街", name: "卖花姑娘", name_tw: "賣花姑娘", way: "jh 2;n;n;n;n;n;n;n", desc: "她總是甜甜的微笑,讓人不忍拒絕她籃子裡的鮮花。" },
          { jh: "洛陽", loc: "錢莊", name: "刘守财", name_tw: "劉守財", way: "jh 2;n;n;n;n;n;n;n;e", desc: "洛陽城的財主,開了一家錢莊,家財萬貫。" },
          { jh: "洛陽", loc: "北門", name: "守城武将", name_tw: "守城武將", way: "jh 2;n;n;n;n;n;n;n;n", desc: "一個守衛洛陽城的武將" },
          { jh: "洛陽", loc: "北郊小路", name: "疯狗", name_tw: "瘋狗", way: "jh 2;n;n;n;n;n;n;n;n;n", desc: "一隻四處亂竄的瘋狗,頂著一身髒兮兮的的毛發。" },
          { jh: "洛陽", loc: "綠竹林", name: "青竹蛇", way: "jh 2;n;n;n;n;n;n;n;n;n;e", desc: "一條全身翠綠的毒蛇,纏繞在竹枝上。" },
          { jh: "洛陽", loc: "綠竹雅舍", name: "布衣老翁", way: "jh 2;n;n;n;n;n;n;n;n;n;e;n", desc: "一身布衣,面容慈祥的老人。" },
          {
            jh: "洛陽",
            loc: "清響齋",
            name: "萧问天",
            name_tw: "蕭問天",
            way: "jh 2;n;n;n;n;n;n;n;n;n;e;n;n",
            desc: "雖然身居陋室,衣著樸素,眼神的銳利卻讓人不能忽視他的存在。",
          },
          {
            jh: "洛陽",
            loc: "密室",
            name: "藏剑楼首领",
            name_tw: "藏劍樓首領",
            way: "jh 2;n;n;n;n;n;n;n;n;n;e;n;n;n",
            desc: "一名看上去風度非凡之人,正背手閉目養神中好像等候什麼。",
          },
          { jh: "洛陽", loc: "甕城", name: "胡商", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "明德門", name: "城门卫兵", name_tw: "城門衛兵", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "天狼閣", name: "江湖大盗", name_tw: "江湖大盜", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;e", desc: "" },
          { jh: "洛陽", loc: "淩煙閣", name: "李贺", name_tw: "李賀", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "" },
          {
            jh: "洛陽",
            loc: "淩煙閣頂",
            name: "云梦璃",
            name_tw: "雲夢璃",
            way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;n;event_1_95312623",
            desc: "",
          },
          { jh: "洛陽", loc: "水榭", name: "游客", name_tw: "遊客", way: "jh 2;n;n;n;n;n;e;e;n", desc: "來白冢遊玩的人,背上的包袱裡鼓鼓囊囊,不知道裝了什麼?" },
          { jh: "洛陽", loc: "承天門大街", name: "游客", name_tw: "遊客", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "一個風程僕僕的俠客。" },
          { jh: "洛陽", loc: "六扇門", name: "捕快", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e", desc: "" },
          { jh: "洛陽", loc: "六扇門", name: "捕快统领", name_tw: "捕快統領", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e", desc: "" },
          { jh: "洛陽", loc: "富貴銀莊", name: "苗一郎", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;e", desc: "" },
          { jh: "洛陽", loc: "東市大街", name: "王府总管", name_tw: "王府總管", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n", desc: "" },
          { jh: "洛陽", loc: "東市大街", name: "王府小厮", name_tw: "王府小廝", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n", desc: "" },
          { jh: "洛陽", loc: "珍玉齋", name: "董老板", name_tw: "董老闆", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;e", desc: "" },
          { jh: "洛陽", loc: "東市大街", name: "龟兹乐师", name_tw: "龜茲樂師", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;n", desc: "" },
          { jh: "洛陽", loc: "羽霓坊", name: "上官小婉", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;n;e", desc: "" },
          { jh: "洛陽", loc: "錦官繡院", name: "龟兹舞女", name_tw: "龜茲舞女", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;n;w", desc: "" },
          { jh: "洛陽", loc: "錦官繡院", name: "卓小妹", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;n;w", desc: "" },
          { jh: "洛陽", loc: "天和當鋪", name: "护国军卫", name_tw: "護國軍衛", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;w", desc: "" },
          { jh: "洛陽", loc: "天和當鋪", name: "朱老板", name_tw: "朱老闆", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;w", desc: "" },
          { jh: "洛陽", loc: "山海古玩店", name: "仇老板", name_tw: "仇老闆", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;w", desc: "" },
          { jh: "洛陽", loc: "山海古玩店", name: "顾先生", name_tw: "顧先生", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;w", desc: "" },
          { jh: "洛陽", loc: "承天門廣場", name: "独孤须臾", name_tw: "獨孤須臾", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "玄武門", name: "金甲卫士", name_tw: "金甲衛士", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "大明宮內庭", name: "独孤皇后", name_tw: "獨孤皇后", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "雲遠寺大門", name: "刀僧卫", name_tw: "刀僧衛", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w", desc: "" },
          { jh: "洛陽", loc: "誅心樓", name: "镇魂使", name_tw: "鎮魂使", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;s", desc: "" },
          { jh: "洛陽", loc: "招魂台", name: "招魂师", name_tw: "招魂師", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;w", desc: "" },
          { jh: "洛陽", loc: "明月客棧", name: "说书人", name_tw: "說書人", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;n;w", desc: "" },
          { jh: "洛陽", loc: "明月客棧", name: "客栈老板", name_tw: "客棧老闆", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;n;w", desc: "" },
          { jh: "洛陽", loc: "老高鐵鋪", name: "高铁匠", name_tw: "高鐵匠", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;e", desc: "" },
          { jh: "洛陽", loc: "老高鐵鋪", name: "哥舒翰", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;e", desc: "" },
          { jh: "洛陽", loc: "玉門客棧", name: "樊天纵", name_tw: "樊天縱", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;e", desc: "" },
          { jh: "洛陽", loc: "玉門客棧", name: "若羌巨商", name_tw: "若羌鉅商", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;e", desc: "" },
          { jh: "洛陽", loc: "西市大街", name: "乌孙马贩", name_tw: "烏孫馬販", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n", desc: "" },
          { jh: "洛陽", loc: "老孫肉鋪", name: "孙三娘", name_tw: "孫三娘", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;e", desc: "" },
          { jh: "洛陽", loc: "天策大道", name: "白衣少侠", name_tw: "白衣少俠", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n", desc: "" },
          { jh: "洛陽", loc: "天策府大門", name: "玄甲卫兵", name_tw: "玄甲衛兵", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n", desc: "" },
          { jh: "洛陽", loc: "照壁", name: "杜如晦", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;e", desc: "" },
          { jh: "洛陽", loc: "議事廳", name: "秦王", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "軍機室", name: "翼国公", name_tw: "翼國公", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;n;n;n;n;e", desc: "" },
          { jh: "洛陽", loc: "軍機室", name: "尉迟敬德", name_tw: "尉遲敬德", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;n;n;n;n;e", desc: "" },
          { jh: "洛陽", loc: "參謀室", name: "程知节", name_tw: "程知節", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;n;n;n;n;w", desc: "" },
          { jh: "洛陽", loc: "照壁", name: "房玄龄", name_tw: "房玄齡", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;w", desc: "" },
          { jh: "洛陽", loc: "鐘樓大街", name: "马夫", name_tw: "馬夫", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "鐘樓大街", name: "大宛使者", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "風花酒館", name: "卫青", name_tw: "衛青", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;w", desc: "" },
          { jh: "洛陽", loc: "風花酒館", name: "方秀珣", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;w", desc: "" },
          { jh: "洛陽", loc: "紅雲布莊", name: "杨玄素", name_tw: "楊玄素", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;w", desc: "" },
          { jh: "洛陽", loc: "遊記貨棧", name: "游四海", name_tw: "遊四海", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;w", desc: "" },
          { jh: "洛陽", loc: "遊記貨棧", name: "糖人张", name_tw: "糖人張", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;w", desc: "" },
          { jh: "洛陽", loc: "南城牆", name: "无影卫", name_tw: "無影衛", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w", desc: "" },
          { jh: "洛陽", loc: "安化門", name: "紫衣追影", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w", desc: "" },
          { jh: "洛陽", loc: "七星角樓", name: "城门禁卫", name_tw: "城門禁衛", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w", desc: "" },
          { jh: "洛陽", loc: "七星角樓", name: "禁卫统领", name_tw: "禁衛統領", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w", desc: "" },
          { jh: "洛陽", loc: "延平門", name: "蓝色城门卫兵", name_tw: "藍色城門衛兵", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "金光門", name: "血手天魔", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "開遠門", name: "先锋大将", name_tw: "先鋒大將", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "狼居胥樓", name: "霍骠姚", name_tw: "霍驃姚", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "" },
          { jh: "洛陽", loc: "沙石地", name: "看门人", name_tw: "看門人", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s", desc: "" },
          { jh: "洛陽", loc: "石土場", name: "钦官", name_tw: "欽官", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s;s", desc: "" },
          { jh: "洛陽", loc: "沙石地", name: "督察官", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s;s;event_1_54329477;n", desc: "" },
          { jh: "洛陽", loc: "沙石地", name: "神秘黑衣人", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s;s;event_1_54329477;n", desc: "" },
          {
            jh: "洛陽",
            loc: "城樓密室",
            name: "李元帅",
            name_tw: "李元帥",
            way: "jh 2;n;n;n;n;n;n;n;n;w;洛陽:城樓^城樓密室",
            desc: "吃了敗仗的元帥逃在此密室,卻不知是為了什麼。",
          },
          {
            jh: "洛陽",
            loc: "當鋪",
            name: "陈扒皮",
            name_tw: "陳扒皮",
            way: "jh 2;n;n;n;n;n;n;w",
            desc: "據洛陽城中最小氣的人,號稱陳扒皮,意思是見了誰都想賺個小便宜。",
          },
          { jh: "洛陽", loc: "馬廄", name: "马倌", name_tw: "馬倌", way: "jh 2;n;n;n;n;n;w;n;n;w", desc: "這是是客棧的馬倌,正在悉心照料客人的馬匹。" },
          {
            jh: "洛陽",
            loc: "牡丹園",
            name: "守园老人",
            name_tw: "守園老人",
            way: "jh 2;n;n;n;n;n;w;s",
            desc: "守護牡丹園的老人。因為洛陽城地痞不少,所以這守園老人可不輕鬆。",
          },
          { jh: "洛陽", loc: "牡丹亭", name: "赛牡丹", name_tw: "賽牡丹", way: "jh 2;n;n;n;n;n;w;s;luoyang111_op1", desc: "人稱賽牡丹,自然是個美人兒啦~" },
          { jh: "洛陽", loc: "賭坊大門", name: "黑衣打手", way: "jh 2;n;n;n;n;n;w;w", desc: "一身黑衣的打手,腳下功夫還是有點的。" },
          { jh: "洛陽", loc: "賭坊大廳", name: "小偷", way: "jh 2;n;n;n;n;n;w;w;n", desc: "混跡在賭坊裡的小偷。" },
          { jh: "洛陽", loc: "雅舍", name: "玉娘", way: "jh 2;n;n;n;n;n;w;w;n;n;n;e", desc: "肌膚如白玉般晶瑩的美人,不知道在這賭坊雅舍中等誰?" },
          { jh: "洛陽", loc: "暗道", name: "张逍林", name_tw: "張逍林", way: "jh 2;n;n;n;n;n;w;w;n;w;get_silver", desc: "來洛陽遊玩的遊客,被困在銀鉤賭坊一段時間了。" },
          { jh: "洛陽", loc: "銅駝巷", name: "何九叔", way: "jh 2;n;n;n;n;w", desc: "丐幫5袋弟子,衣著乾淨,看起來是淨衣派的。" },
          { jh: "洛陽", loc: "石街", name: "无赖", name_tw: "無賴", way: "jh 2;n;n;n;n;w;event_1_98995501;n", desc: "洛陽城無賴,專靠耍賴撒潑騙錢。" },
          { jh: "洛陽", loc: "酒肆", name: "甄大海", way: "jh 2;n;n;n;n;w;event_1_98995501;n;n;e", desc: "洛陽地痞無賴頭領,陰險狡黠,手段極其卑鄙。" },
          { jh: "洛陽", loc: "桃花別院", name: "红娘", name_tw: "紅娘", way: "jh 2;n;n;n;n;w;s", desc: "一個肥胖的中年婦女,以做媒為生。" },
          {
            jh: "洛陽",
            loc: "繡樓",
            name: "柳小花",
            way: "jh 2;n;n;n;n;w;s;w",
            desc: "洛陽武館館主的女兒,身材窈窕,面若桃花,十分漂亮。性格卻是驕縱任性,大小姐脾氣。",
          },
          { jh: "洛陽", loc: "洛神廟", name: "庙祝", name_tw: "廟祝", way: "jh 2;n;n;n;w", desc: "洛神廟的廟祝" },
          { jh: "洛陽", loc: "地道", name: "老乞丐", way: "jh 2;n;n;n;w;putuan", desc: "一個穿著破破爛爛的乞丐" },
          { jh: "華山村", loc: "地道", name: "米不为", name_tw: "米不為", way: "", desc: "一名青年男子,衣衫上血跡斑斑,奄奄一息的躺在地上。" },
          { jh: "華山村", loc: "華山村村口", name: "泼皮", name_tw: "潑皮", way: "jh 3", desc: "好吃懶做的無賴,整天無所事事,欺軟怕硬。" },
          { jh: "華山村", loc: "松林小徑", name: "松鼠", way: "jh 3;n", desc: "一隻在松林裡覓食的小松鼠。" },
          { jh: "華山村", loc: "神女塚", name: "野兔", way: "jh 3;n;e", desc: "正在吃草的野兔。" },
          { jh: "華山村", loc: "青石街", name: "泼皮头子", name_tw: "潑皮頭子", way: "jh 3;s", desc: "好吃懶做的無賴,整天無所事事,欺軟怕硬。" },
          { jh: "華山村", loc: "碎石路", name: "采花贼", name_tw: "採花賊", way: "jh 3;s;e", desc: "聲名狼藉的採花賊,一路潛逃來到了華山村。" },
          { jh: "華山村", loc: "打鐵鋪", name: "冯铁匠", name_tw: "馮鐵匠", way: "jh 3;s;e;n", desc: "這名鐵匠看上去年紀也不大,卻是一副飽經滄桑的樣子。" },
          { jh: "華山村", loc: "銀杏廣場", name: "村民", way: "jh 3;s;s", desc: "身穿布衣的村民" },
          { jh: "華山村", loc: "雜貨鋪", name: "方老板", name_tw: "方老闆", way: "jh 3;s;s;e", desc: "平日行蹤有些詭秘,看來雜貨鋪並不是他真正的營生。" },
          { jh: "華山村", loc: "後院", name: "跛脚汉子", name_tw: "跛腳漢子", way: "jh 3;s;s;e;s", desc: "衣著普通的中年男子,右腳有些跛。" },
          {
            jh: "華山村",
            loc: "車廂",
            name: "云含笑",
            name_tw: "雲含笑",
            way: "jh 3;s;s;e;s;huashancun24_op2",
            desc: "眸含秋水清波流盼,香嬌玉嫩,秀靨豔比花嬌,指如削蔥根,口如含朱丹,一顰一笑動人心魂。",
          },
          { jh: "華山村", loc: "石闆橋", name: "英白罗", name_tw: "英白羅", way: "jh 3;s;s;s", desc: "這是華山派弟子,奉師命下山尋找遊玩未歸的小師妹。" },
          { jh: "華山村", loc: "石闆橋", name: "黑狗", way: "jh 3;s;s;s", desc: "一隻黑色毛發的大狗。" },
          { jh: "華山村", loc: "田間小路", name: "刘三", name_tw: "劉三", way: "jh 3;s;s;s;s", desc: "這一代遠近聞名的惡棍,欺男霸女無惡不作" },
          {
            jh: "華山村",
            loc: "油菜花地",
            name: "血尸",
            name_tw: "血屍",
            way: "jh 3;s;s;s;s;huashancun15_op1",
            desc: "這是一具極為可怖的男子屍體,只見他週身腫脹,肌膚崩裂,眼角、鼻子、指甲縫裡都沁出了鮮血,在這片美麗的花海里,這具屍體的出現實在詭異至極。",
          },
          {
            jh: "華山村",
            loc: "油菜花地",
            name: "藏剑楼杀手",
            name_tw: "藏劍樓殺手",
            way: "jh 3;s;s;s;s;huashancun15_op1;event_1_46902878",
            desc: "極為冷酷無情的男人,手上不知道沾滿了多少無辜生命的鮮血。",
          },
          {
            jh: "華山村",
            loc: "練武場",
            name: "丐帮弟子",
            name_tw: "丐幫弟子",
            way: "jh 3;s;s;s;s;huashancun15_op1;event_1_46902878;;kill?藏劍樓殺手;@藏劍樓殺手的屍體;jh 3;s;s;s;s;s;nw;n;n;n;w;give huashancun_huashancun_fb9",
            desc: "一名髒兮兮的人,頗為怕事,顯得特別畏懼。",
          },
          { jh: "華山村", loc: "雜草小路", name: "毒蛇", way: "jh 3;s;s;s;s;s", desc: "一條色彩斑斕的毒蛇" },
          { jh: "華山村", loc: "小茅屋", name: "丐帮长老", name_tw: "丐幫長老", way: "jh 3;s;s;s;s;s;e", desc: "丐幫長老,衣衫襤褸,滿頭白發,看起來精神不錯。" },
          { jh: "華山村", loc: "山腳", name: "小狼", way: "jh 3;s;s;s;s;s;nw", desc: "出來覓食的小狼" },
          { jh: "華山村", loc: "蜿蜒山徑", name: "老狼", way: "jh 3;s;s;s;s;s;nw;n", desc: "在山上覓食的老狼" },
          { jh: "華山村", loc: "清風寨大門", name: "土匪", way: "jh 3;s;s;s;s;s;nw;n;n", desc: "清風寨土匪" },
          { jh: "華山村", loc: "桃花泉", name: "土匪头目", name_tw: "土匪頭目", way: "jh 3;s;s;s;s;s;nw;n;n;e", desc: "清風寨土匪頭目" },
          {
            jh: "華山村",
            loc: "花房",
            name: "玉牡丹",
            way: "jh 3;s;s;s;s;s;nw;n;n;e;get_silver",
            desc: "這是一名看不出年齡的男子,一身皮膚又白又細,宛如良質美玉,竟比閨門處子都要光滑細膩許多。若不是高大身材和臉頰上青色胡茬,他可能會讓大多女子汗顏。",
          },
          { jh: "華山村", loc: "議事廳", name: "刘龟仙", name_tw: "劉龜仙", way: "jh 3;s;s;s;s;s;nw;n;n;n;n", desc: "清風寨軍事,詭計多端。" },
          {
            jh: "華山村",
            loc: "後院",
            name: "萧独眼",
            name_tw: "蕭獨眼",
            way: "jh 3;s;s;s;s;s;nw;n;n;n;n;n",
            desc: "清風寨二當家,一次劫鏢時被刺傷一目,自此成了獨眼龍。",
          },
          { jh: "華山村", loc: "臥房", name: "刘寨主", name_tw: "劉寨主", way: "jh 3;s;s;s;s;s;nw;n;n;n;n;n;n", desc: "清風寨寨主,對手下極為嚴厲。" },
          { jh: "華山村", loc: "廂房", name: "受伤的曲右使", name_tw: "受傷的曲右使", way: "jh 3;s;s;s;s;w;get_silver", desc: "他已經深受重傷,半躺在地上。" },
          { jh: "華山村", loc: "小廳", name: "曲姑娘", way: "jh 3;s;s;s;s;w;n", desc: "這是一名身穿翠綠衣裳的少女,皮膚白皙,臉蛋清秀可愛。" },
          { jh: "華山村", loc: "祠堂大門", name: "朱老伯", way: "jh 3;s;s;w", desc: "一位德高望重的老人,須發已經全白。" },
          { jh: "華山村", loc: "廳堂", name: "剑大师", name_tw: "劍大師", way: "jh 3;s;s;w;n", desc: "宗之瀟灑美少年舉觴白眼望青天皎如玉樹臨風前" },
          { jh: "華山村", loc: "廳堂", name: "方寡妇", name_tw: "方寡婦", way: "jh 3;s;s;w;n", desc: "頗有幾分姿色的女子,是個寡婦。" },
          { jh: "華山村", loc: "杏林", name: "小男孩", way: "jh 3;w", desc: "扎著雙髻的小男孩,正在杏林裡跟小夥伴們捉迷藏。" },
          { jh: "華山村", loc: "土地廟門口", name: "村中地痞", way: "jh 3;w;event_1_59520311", desc: "村內地痞,人見人惡。" },
          { jh: "華山村", loc: "廟堂", name: "抠脚大汉", name_tw: "摳腳大漢", way: "jh 3;w;event_1_59520311;n", desc: "坐在土地面前摳腳的漢子" },
          { jh: "華山村", loc: "地道入口", name: "黑狗", way: "jh 3;w;event_1_59520311;n;n", desc: "兇惡的黑狗,張開的大嘴露出鋒利的獠牙。" },
          { jh: "華山村", loc: "樓梯", name: "青衣守卫", name_tw: "青衣守衛", way: "jh 3;w;event_1_59520311;n;n;n", desc: "身穿青衣的守衛,武功招式看起來有些眼熟。" },
          { jh: "華山村", loc: "大廳", name: "葛不光", way: "jh 3;w;event_1_59520311;n;n;n;n;n", desc: "四十歲左右的中年男子,頗為好色。" },
          { jh: "華山村", loc: "囚室", name: "米义为", name_tw: "米義為", way: "jh 3;w;event_1_59520311;n;n;w;get_silver", desc: "" },
          { jh: "華山村", loc: "茶棚", name: "王老二", way: "jh 3;w;n", desc: "看起來跟普通村民沒什麼不同,但一雙眼睛卻透著狡黠。" },
          { jh: "華山", loc: "書房", name: "陶钧", name_tw: "陶鈞", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;n;n", desc: "陶鈞是嶽不群的第七位弟子" },
          { jh: "華山", loc: "老君溝", name: "赵辅徳", name_tw: "趙輔徳", way: "jh 4;n;n;n;n;n;n;e;n", desc: "負責打理群仙觀的老人" },
          { jh: "華山", loc: "狹長通道", name: "丛云弃", name_tw: "叢雲棄", way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s", desc: "華山派傳人,封劍羽的師弟。" },
          { jh: "華山", loc: "華山山腳", name: "孙驼子", name_tw: "孫駝子", way: "jh 4", desc: "一面容猥瑣可憎,讓人不忍直視,脊背高高隆起的駝子。" },
          { jh: "華山", loc: "莎蘿坪", name: "吕子弦", name_tw: "呂子弦", way: "jh 4;n", desc: "青衣長袍的書生,前來華山遊玩。" },
          { jh: "華山", loc: "雲門", name: "女弟子", way: "jh 4;n;n", desc: "她是華山派女弟子,不施脂粉,衣著素雅。" },
          { jh: "華山", loc: "青柯坪", name: "游客", name_tw: "遊客", way: "jh 4;n;n;n", desc: "這是一名來華山遊玩的中年男子,揹著包裹。" },
          { jh: "華山", loc: "回心石", name: "公平子", way: "jh 4;n;n;n;e", desc: "這是一位仙風道骨的中年道人,早年雲遊四方,性好任俠,公正無私。" },
          { jh: "華山", loc: "蜿蜒山路", name: "白二", way: "jh 4;n;n;n;n;n;n", desc: "山賊頭目,看起來很強壯。" },
          { jh: "華山", loc: "蜿蜒山路", name: "山贼", name_tw: "山賊", way: "jh 4;n;n;n;n;n;n", desc: "攔路搶劫的山賊" },
          { jh: "華山", loc: "群仙觀", name: "李铁嘴", name_tw: "李鐵嘴", way: "jh 4;n;n;n;n;n;n;e", desc: "李鐵嘴是個買卜算卦的江湖術士,兼代客寫書信、條幅。" },
          { jh: "華山", loc: "老君溝", name: "赵辅德", name_tw: "趙輔德", way: "jh 4;n;n;n;n;n;n;e;n", desc: "" },
          { jh: "華山", loc: "上天梯", name: "猿猴", way: "jh 4;n;n;n;n;n;n;n", desc: "華山上的猿猴,時常騷擾過路人" },
          { jh: "華山", loc: "崎嶇山路", name: "剑宗弟子", name_tw: "劍宗弟子", way: "jh 4;n;n;n;n;n;n;n;event_1_91604710", desc: "華山劍宗弟子" },
          { jh: "華山", loc: "狹長通道", name: "从云弃", name_tw: "從雲棄", way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s", desc: "" },
          { jh: "華山", loc: "潭畔草地", name: "尘无剑", name_tw: "塵無劍", way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s;s", desc: "他是華山控劍宗派的第一高手。" },
          { jh: "華山", loc: "懸崖石洞", name: "封剑羽", name_tw: "封劍羽", way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s;s;s;e", desc: "他是華山控劍宗派的第一高手。" },
          { jh: "華山", loc: "松林石徑", name: "大松鼠", way: "jh 4;n;n;n;n;n;n;n;n", desc: "一隻在松林裡覓食的小松鼠。" },
          { jh: "華山", loc: "朝陽峰山道", name: "英黑罗", name_tw: "英黑羅", way: "jh 4;n;n;n;n;n;n;n;n;n", desc: "英白羅是嶽不群的第八位弟子" },
          { jh: "華山", loc: "長空棧道", name: "魔教喽喽", name_tw: "魔教嘍嘍", way: "jh 4;n;n;n;n;n;n;n;n;n;e", desc: "日月神教小嘍嘍嘍" },
          { jh: "華山", loc: "臨淵石台", name: "史大哥", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n", desc: "" },
          { jh: "華山", loc: "臨淵石台", name: "卢大哥", name_tw: "盧大哥", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n", desc: "日月神教教眾" },
          { jh: "華山", loc: "草叢小路", name: "史老三", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n", desc: "日月神教教眾" },
          { jh: "華山", loc: "竹林", name: "闵老二", name_tw: "閔老二", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n", desc: "日月神教教眾" },
          {
            jh: "華山",
            loc: "密洞",
            name: "藏剑楼刺客",
            name_tw: "藏劍樓刺客",
            way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;e;s;event_1_11292200",
            desc: "一名手持利刃身穿夜行衣的男子,眼神極為狠厲無情。",
          },
          { jh: "華山", loc: "空地", name: "戚老四", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n", desc: "日月神教教眾" },
          { jh: "華山", loc: "小木屋", name: "葛长老", name_tw: "葛長老", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n;e", desc: "日月神教教眾" },
          { jh: "華山", loc: "華山之巔", name: "小林子", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n;n", desc: "氣宗傳人小林子,實力已是非同凡響。" },
          {
            jh: "華山",
            loc: "前院",
            name: "高算盘",
            name_tw: "高算盤",
            name_new: "陳飛魚",
            way: "jh 4;n;n;n;n;n;n;n;n;n;n",
            desc: "此人整天拿著算盤,身材高大,長得很胖,但別看他其貌不揚,他在同門中排行第五,是華山派年輕一代中的好手。",
          },
          {
            jh: "華山",
            loc: "正氣堂",
            name: "岳掌门",
            name_tw: "嶽掌門",
            name_new: "許秋雨",
            way: "jh 4;n;n;n;n;n;n;n;n;n;n;n",
            desc: "華山掌門,他今年四十多歲,素以溫文爾雅著稱。",
          },
          { jh: "華山", loc: "後院", name: "舒奇", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n", desc: "華山派小弟子" },
          { jh: "華山", loc: "花園", name: "梁师兄", name_tw: "梁師兄", name_new: "梁迎陽", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e", desc: "他就是華山排行第三的弟子。" },
          { jh: "華山", loc: "長廊", name: "林师弟", name_tw: "林師弟", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;s", desc: "林師弟是華山眾最小的一個弟子。" },
          { jh: "華山", loc: "臥房", name: "小尼姑", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;s;s", desc: "一個嬌俏迷人的小尼姑。" },
          { jh: "華山", loc: "凜然軒", name: "劳师兄", name_tw: "勞師兄", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "" },
          {
            jh: "華山",
            loc: "寢室",
            name: "宁女侠",
            name_tw: "寧女俠",
            way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;n;get_silver",
            desc: "華山派掌門的夫人,眉宇間還少不了年輕時的英氣。",
          },
          { jh: "華山", loc: "廚房", name: "小猴", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;w", desc: "這是一隻調皮的小猴子,雖是畜牲,卻喜歡模仿人樣。" },
          { jh: "華山", loc: "練武場", name: "施剑客", name_tw: "施劍客", way: "jh 4;n;n;n;n;n;n;n;n;n;n;w", desc: "同門中排行第四,是華山派年輕一代中的好手。" },
          { jh: "華山", loc: "庫房入口", name: "华山弟子", name_tw: "華山弟子", way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247", desc: "華山派門下的第子" },
          { jh: "華山", loc: "地道入口", name: "蒙面剑客", name_tw: "蒙面劍客", way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247;s;s;s;s", desc: "手握長劍的蒙面人" },
          {
            jh: "華山",
            loc: "密室",
            name: "黑衣人",
            way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247;s;s;s;s;s;e",
            desc: "戴著神秘的黑衣人,壓低的帽簷遮住的他的面容。",
          },
          {
            jh: "華山",
            loc: "玉女祠",
            name: "岳师妹",
            name_tw: "嶽師妹",
            way: "jh 4;n;n;n;n;n;n;n;n;w;s",
            desc: "華山派掌門的愛女。她看起來十多歲,容貌秀麗,雖不是絕代美人,也別有一番可人之處。",
          },
          {
            jh: "華山",
            loc: "思過崖",
            name: "六猴儿",
            name_tw: "六猴兒",
            way: "jh 4;n;n;n;n;n;n;n;n;w;w",
            desc: "六猴兒身材很瘦,又長的尖嘴猴腮的,但別看他其貌不揚,他在同門中排行第六,是華山派年輕一代中的好手。",
          },
          { jh: "華山", loc: "山洞", name: "令狐大师哥", name_tw: "令狐大師哥", way: "jh 4;n;n;n;n;n;n;n;n;w;w;n", desc: "他是華山派的大師兄,英氣逼人。" },
          {
            jh: "華山",
            loc: "石壁",
            name: "风老前辈",
            name_tw: "風老前輩",
            name_new: "獨孤傳人",
            way: "jh 4;n;n;n;n;n;n;n;n;w;w;n;get_xiangnang2",
            desc: "這便是當年名震江湖的華山名宿。他身著青袍,神氣抑鬱臉如金紙。身材瘦長,眉宇間一直籠罩著一股淡淡的憂傷神色。",
          },
          { jh: "華山", loc: "觀瀑台", name: "豪客", way: "jh 4;n;n;w", desc: "一名滿臉彪悍之色的江湖豪客" },
          { jh: "揚州", loc: "飛雪堂", name: "书生", name_tw: "書生", way: "jh 5;n;n;n;n;n;e;n;e;n;w;n;n", desc: "一個搖頭晃腦正在吟詩的書生。" },
          {
            jh: "揚州",
            loc: "揚州港",
            name: "船运东主",
            name_tw: "船運東主",
            way: "jh 5;n;n;n;n;n;n;n;n;n;n;ne",
            desc: "此人一身黝黑的皮膚,幾道深深的歲月的溝壑在他臉上烙下了印記。深邃凹進的眼眶中顯露出幹練的眼神。顯露出不凡的船上閱歷。",
          },
          {
            jh: "揚州",
            loc: "醉仙樓大廳",
            name: "少林恶僧",
            name_tw: "少林惡僧",
            way: "jh 5;n;n;n;n;n;n;e",
            desc: "因嗜酒如命,故從少林叛出,順便盜取些許經書以便拿來換酒。",
          },
          {
            jh: "揚州",
            loc: "太平橋",
            name: "白胡子老头",
            name_tw: "白鬍子老頭",
            way: "jh 5;n;w",
            desc: "一位精神矍鑠的老人,額下有寸許長的白須。在揚州支了個糖畫小攤維持生計,身邊的銅鍋裡面熬著糖液,咕嘟咕嘟冒著大泡,香氣四溢。",
          },
          {
            jh: "揚州",
            loc: "太平橋",
            name: "姜子牙",
            way: "jh 5;n;w",
            desc: "身材高大,面容清秀,額頭寬闊,目光犀利。他常穿著一身簡樸的道袍,手持一把看似普通但實則包含玄機的長劍。頭發自然散落在肩上,整體氣質給人一種淡然、高遠但又不失威嚴的感覺。",
          },
          { jh: "揚州", loc: "小東門橋", name: "斗笠老人", way: "jh 5;n;e", desc: "頭戴斗笠,身形佝僂的老者,但似乎武功高強。" },
          { jh: "揚州", loc: "安定門", name: "官兵", way: "jh 5", desc: "守城的官兵,相貌可長得不好瞧。" },
          { jh: "揚州", loc: "十裡長街3", name: "大黑马", name_tw: "大黑馬", way: "jh 5;n;n", desc: "一匹受驚的大黑馬,一路狂奔到了鬧市街頭。" },
          {
            jh: "揚州",
            loc: "小寶齋",
            name: "双儿",
            name_tw: "雙兒",
            way: "jh 5;n;n;e",
            desc: "柔善良,善解人意,乖巧聰慧,體貼賢惠,清秀可人,靦腆羞澀,似乎男人喜歡的品質都集中在她身上了。",
          },
          { jh: "揚州", loc: "十裡長街2", name: "黑狗子", way: "jh 5;n;n;n", desc: "揚州街頭人見人惡的地痞,嘴角一顆黑色痦子,看起來極為可憎。" },
          { jh: "揚州", loc: "武館大門", name: "武馆护卫", name_tw: "武館護衛", way: "jh 5;n;n;n;e", desc: "一名武館護衛,專門對付那些想混進來鬧事的人。" },
          { jh: "揚州", loc: "武館大院", name: "武馆弟子", name_tw: "武館弟子", way: "jh 5;n;n;n;e;n", desc: "在武館拜師學藝的弟子,看來還是會些基本功。" },
          { jh: "揚州", loc: "武館大廳", name: "方不为", name_tw: "方不為", way: "jh 5;n;n;n;e;n;n", desc: "武館管家,館中大小事務都需要向他稟報。" },
          { jh: "揚州", loc: "長廊", name: "范先生", name_tw: "範先生", way: "jh 5;n;n;n;e;n;n;n", desc: "武館賬房先生,為人極為謹慎,賬房鑰匙通常帶在身上。" },
          { jh: "揚州", loc: "書房", name: "古三通", way: "jh 5;n;n;n;e;n;n;n;e", desc: "一名看起來和藹的老人,手裡拿著一個旱菸袋,據說跟館主頗有淵源。" },
          {
            jh: "揚州",
            loc: "臥室",
            name: "陈有德",
            name_tw: "陳有德",
            way: "jh 5;n;n;n;e;n;n;n;n",
            desc: "這就是武館館主,紫金臉龐,面帶威嚴,威武有力,站在那裡就象是一座鐵塔。",
          },
          { jh: "揚州", loc: "休息室", name: "神秘客", way: "jh 5;n;n;n;e;n;n;w;n;get_silver", desc: "一名四十歲左右的中年男子,臉上一道刀疤給他平添了些許滄桑。" },
          { jh: "揚州", loc: "練武場", name: "王教头", name_tw: "王教頭", way: "jh 5;n;n;n;e;n;w", desc: "一名武館內的教頭,專門負責教新手武功。" },
          { jh: "揚州", loc: "十裡長街1", name: "游客", name_tw: "遊客", way: "jh 5;n;n;n;n", desc: "來揚州遊玩的遊客,背上的包裹看起來有些重。" },
          { jh: "揚州", loc: "中央廣場", name: "空空儿", name_tw: "空空兒", way: "jh 5;n;n;n;n;n", desc: "一個滿臉風霜之色的老乞丐。" },
          { jh: "揚州", loc: "中央廣場", name: "艺人", name_tw: "藝人", way: "jh 5;n;n;n;n;n", desc: "一名四海為家的賣藝人,滿臉滄桑。" },
          { jh: "揚州", loc: "至止堂", name: "朱先生", way: "jh 5;n;n;n;n;n;e;n;n;n", desc: "這就是當今大儒朱先生。" },
          { jh: "揚州", loc: "庭院", name: "管家", way: "jh 5;n;n;n;n;n;e;n;n", desc: "一名瘦小的中年男子走了出來,頦下留著短須,外貌甚是精明,顯然就是管家了。" },
          { jh: "揚州", loc: "十裡長街4", name: "马夫人", name_tw: "馬夫人", way: "jh 5;n;n;n;n;n;n", desc: "一名體格魁梧的婦人,看起來極為彪悍。" },
          { jh: "揚州", loc: "十裡長街4", name: "润玉", name_tw: "潤玉", way: "jh 5;n;n;n;n;n;n", desc: "買花少女,手中的花籃裡裝著時令鮮花。" },
          { jh: "揚州", loc: "十裡長街4", name: "流氓", way: "jh 5;n;n;n;n;n;n", desc: "揚州城裡的流氓,經常四處遊蕩,調戲婦女。" },
          { jh: "揚州", loc: "醉仙樓大廳", name: "醉仙楼伙计", name_tw: "醉仙樓夥計", way: "jh 5;n;n;n;n;n;n;e", desc: "這是醉仙樓夥計,看起來有些功夫。" },
          { jh: "揚州", loc: "樓梯", name: "丰不为", name_tw: "豐不為", way: "jh 5;n;n;n;n;n;n;e;n", desc: "一個常在酒樓混吃混喝的地痞,不知酒店老闆為何不將他逐出。" },
          { jh: "揚州", loc: "二樓大廳", name: "张总管", name_tw: "張總管", way: "jh 5;n;n;n;n;n;n;e;n;n", desc: "一名中年男子,目露兇光。" },
          { jh: "揚州", loc: "芍藥宴廳", name: "胡神医", name_tw: "胡神醫", way: "jh 5;n;n;n;n;n;n;e;n;n;e", desc: "這就是江湖中有名的胡神醫,看起來很普通。" },
          { jh: "揚州", loc: "牡丹宴廳", name: "胖商人", way: "jh 5;n;n;n;n;n;n;e;n;n;n", desc: "一名衣著華麗,體態臃腫,手腳看起來極短的中年男子。" },
          {
            jh: "揚州",
            loc: "觀景台",
            name: "冼老板",
            name_tw: "冼老闆",
            way: "jh 5;n;n;n;n;n;n;e;n;n;n;n",
            desc: "醉仙樓老闆,能將這家祖傳老店買下來,其來歷應該沒那麼簡單。",
          },
          { jh: "揚州", loc: "芙蓉宴廳", name: "计无施", name_tw: "計無施", way: "jh 5;n;n;n;n;n;n;e;n;n;w", desc: "一名劍眉星目的白衣劍客。" },
          { jh: "揚州", loc: "十裡長街5", name: "马员外", name_tw: "馬員外", way: "jh 5;n;n;n;n;n;n;n", desc: "馬員外是揚州有名的善人,看起來有點鬱鬱不樂。" },
          { jh: "揚州", loc: "富春茶社", name: "茶社伙计", name_tw: "茶社夥計", way: "jh 5;n;n;n;n;n;n;n;e", desc: "提著茶壺的夥計,目露精光,看起來不簡單。" },
          { jh: "揚州", loc: "富春茶社", name: "云九天", name_tw: "雲九天", way: "jh 5;n;n;n;n;n;n;n;e", desc: "他是大旗門的掌刑長老,最是嚴厲不過。" },
          {
            jh: "揚州",
            loc: "雅舍",
            name: "柳文君",
            way: "jh 5;n;n;n;n;n;n;n;e;get_silver",
            desc: "茶社老闆娘,揚州聞名的才女,姿色嬌美,精通音律,善彈琴。許多文人墨客慕名前來,茶社總是客滿為患。",
          },
          { jh: "揚州", loc: "十裡長街6", name: "毒蛇", way: "jh 5;n;n;n;n;n;n;n;n", desc: "一條毒蛇草叢竄出,正昂首吐信虎視眈眈地盯著你。" },
          { jh: "揚州", loc: "東關街", name: "小混混", way: "jh 5;n;n;n;n;n;n;n;n;n;e", desc: "揚州城裡的小混混,整天無所事事,四處遊蕩。" },
          { jh: "揚州", loc: "鎮淮門 ", name: "北城门士兵", name_tw: "北城門士兵", way: "jh 5;n;n;n;n;n;n;n;n;n;n", desc: "看守城門的士兵" },
          { jh: "揚州", loc: "禪智寺山門", name: "扫地僧", name_tw: "掃地僧", way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n", desc: "一名看起來很普通的僧人" },
          { jh: "揚州", loc: "昆丘台", name: "张三", name_tw: "張三", way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;e", desc: "看起來很邋遢的道士,似乎有些功夫。" },
          { jh: "揚州", loc: "呂祖照面池", name: "火工僧", way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;n;n;e", desc: "禪智寺中專做雜事的火工僧,身體十分地強壯" },
          { jh: "揚州", loc: "竹西亭", name: "柳碧荷", way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;w", desc: "來禪智寺上香的女子,頗有幾分姿色。" },
          { jh: "揚州", loc: "虹橋", name: "恶丐", name_tw: "惡丐", way: "jh 5;n;n;n;n;n;n;n;n;w", desc: "看守城門的士兵" },
          { jh: "揚州", loc: "草河北街", name: "顽童", name_tw: "頑童", way: "jh 5;n;n;n;n;n;n;n;n;w;w", desc: "一個頑皮的小童。" },
          { jh: "揚州", loc: "魁星閣", name: "书生", name_tw: "書生", way: "jh 5;n;n;n;n;n;n;n;n;w;w;n", desc: "一個搖頭晃腦正在吟詩的書生。" },
          {
            jh: "揚州",
            loc: "閣樓",
            name: "李丽君",
            name_tw: "李麗君",
            way: "jh 5;n;n;n;n;n;n;n;n;w;w;n;get_silver",
            desc: "女扮男裝的女子,容顏清麗,孤身一身住在魁星閣的閣樓上。",
          },
          { jh: "揚州", loc: "淺月樓", name: "青衣门卫", name_tw: "青衣門衛", way: "jh 5;n;n;n;n;n;n;n;n;w;w;w", desc: "淺月樓門口的侍衛。" },
          {
            jh: "揚州",
            loc: "淺月樓大廳",
            name: "玉娇红",
            name_tw: "玉嬌紅",
            way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s",
            desc: "淺月樓的老闆娘,看似年不過三十,也是一個頗有姿色的女子。她抬起眼來,黛眉輕掃,紅唇輕啟,嘴角勾起的那抹弧度彷彿還帶著絲絲嘲諷。當她眼波一轉,流露出的風情似可讓人忘記一切。紅色的外袍包裹著潔白細膩的肌膚,她每走一步,都要露出細白水嫩的小腿。腳上的銀鈴也隨著步伐輕輕發出零零碎碎的聲音。",
          },
          { jh: "揚州", loc: "二樓走道", name: "青楼小厮", name_tw: "青樓小廝", way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s;e", desc: "這是一個青樓的小侍從,不過十五六歲。" },
          {
            jh: "揚州",
            loc: "弦羽閣",
            name: "苏小婉",
            name_tw: "蘇小婉",
            way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s;e;e;s;s;e;e;s;s;s",
            desc: "名滿天下的第一琴姬,蘇小婉是那種文人夢中的紅顏知己。這樣美貌才智具備的女子,怕是世間幾百年才能出現一位。曾有人替她惋惜,說如若她是一大家閨秀,或許也能尋得一志趣相投之人,也會有“賭書消得潑茶香”的美談。即使她只是一貧家女子,不讀書亦不學藝,縱使是貌勝西子,或許仍可安穩一生。然而命運時常戲弄人,偏偏讓那如花美眷落入淤泥,誤了那似水流年。本想為一人盛開,卻被眾人窺去了芳顏。可她只是微微一笑,說道:『尋一平凡男子,日出而作日落而息,相夫教子,如湮沒於歷史煙塵中的所有女子一般。那樣的生活,不是我做不到,只是不願意。沒有燃燒過的,只是一堆黑色的粉末,哪裡能叫做煙火?』",
          },
          {
            jh: "揚州",
            loc: "淺月樓偏廳",
            name: "赵明诚",
            name_tw: "趙明誠",
            way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s;w",
            desc: ":當朝僕射,也是一代名士,致力於金石之學,幼而好之,終生不渝。",
          },
          { jh: "揚州", loc: "廣陵當鋪", name: "唐老板", name_tw: "唐老闆", way: "jh 5;n;n;n;n;n;n;n;w", desc: "廣陵當鋪老闆,肩寬體壯,看起來頗為威嚴。" },
          { jh: "揚州", loc: "武廟", name: "刘步飞", name_tw: "劉步飛", way: "jh 5;n;n;n;n;n;n;w", desc: "龍門鏢局的鏢師,正在武廟裡祭拜。" },
          { jh: "揚州", loc: "通泗橋", name: "赤练仙子", name_tw: "赤練仙子", way: "jh 5;n;n;n;n;n;w", desc: "她生得極為美貌,但冰冷的目光讓人不寒而慄。" },
          { jh: "揚州", loc: "衙門大門", name: "衙役", way: "jh 5;n;n;n;n;n;w;w;n", desc: "揚州官衙衙役,看起來一臉疲態。" },
          { jh: "揚州", loc: "正堂", name: "程大人", way: "jh 5;n;n;n;n;n;w;w;n;n;n", desc: "揚州知府,臉色陰沉,微有怒色," },
          { jh: "揚州", loc: "內室", name: "楚雄霸", way: "jh 5;n;n;n;n;n;w;w;n;n;n;get_silver", desc: "江湖有名的江洋大盜,五短身材,貌不驚人。" },
          { jh: "揚州", loc: "天井", name: "公孙岚", name_tw: "公孫嵐", way: "jh 5;n;n;n;n;n;w;w;n;n;w", desc: "揚州官衙有名的神捕,據說曾經抓獲不少江湖大盜。" },
          { jh: "揚州", loc: "玉器店", name: "白老板", name_tw: "白老闆", way: "jh 5;n;n;n;n;n;w;w;s;s", desc: "玉器店老闆,對珍寶古玩頗為熟稔。" },
          { jh: "揚州", loc: "彥明錢莊", name: "小飞贼", name_tw: "小飛賊", way: "jh 5;n;n;n;n;w", desc: "一個年級尚幼的飛賊。" },
          { jh: "揚州", loc: "彥明錢莊", name: "账房先生", name_tw: "賬房先生", way: "jh 5;n;n;n;n;w", desc: "滿臉精明的中年男子,手裡的算盤撥的飛快。" },
          { jh: "揚州", loc: "銀庫", name: "飞贼", name_tw: "飛賊", way: "jh 5;n;n;n;n;w;yangzhou16_op1", desc: "一身黑色勁裝,黑巾蒙面,眼露兇光。" },
          { jh: "揚州", loc: "黃記雜貨", name: "黄掌柜", name_tw: "黃掌櫃", way: "jh 5;n;n;n;w", desc: "雜貨鋪老闆,看似慵懶,實則精明過人。" },
          { jh: "揚州", loc: "鐵匠鋪", name: "铁匠", name_tw: "鐵匠", way: "jh 5;n;n;w", desc: "看起來很強壯的中年男子" },
          { jh: "揚州", loc: "花店", name: "花店伙计", name_tw: "花店夥計", way: "jh 5;n;w;w;n", desc: "花店的夥計,正忙碌地給花淋水。" },
          { jh: "丐幫", loc: "樹洞內部", name: "裘万家", name_tw: "裘萬家", way: "jh 6", desc: "這是位衣著邋塌,蓬頭垢面的丐幫二袋弟子。" },
          { jh: "丐幫", loc: "樹洞內部", name: "左全", way: "jh 6", desc: "這是位豪爽大方的丐幫七袋弟子,看來是個北地豪傑。" },
          {
            jh: "丐幫",
            loc: "樹洞下",
            name: "梁长老",
            name_tw: "梁長老",
            way: "jh 6;event_1_98623439",
            desc: "梁長老是丐幫出道最久,武功最高的長老,在武林中享名已久。丐幫武功向來較強,近來梁長老一力整頓,更是蒸蒸日上。",
          },
          { jh: "丐幫", loc: "暗道", name: "藏剑楼统领", name_tw: "藏劍樓統領", way: "jh 6;event_1_98623439;ne;n", desc: "此人似乎是這群人的頭目,正在叮囑手下辦事。" },
          { jh: "丐幫", loc: "屋角邊", name: "何不净", name_tw: "何不淨", way: "jh 6;event_1_98623439;ne;n;ne;ne", desc: "這是位衣著邋塌,蓬頭垢面的丐幫七袋弟子。" },
          {
            jh: "丐幫",
            loc: "谷場槐樹邊",
            name: "马俱为",
            name_tw: "馬俱為",
            way: "jh 6;event_1_98623439;ne;n;ne;ne;ne",
            desc: "這是位武藝精強,卻沉默寡言的丐幫八袋弟子。",
          },
          {
            jh: "丐幫",
            loc: "沙丘小洞",
            name: "余洪兴",
            name_tw: "餘洪興",
            way: "jh 6;event_1_98623439;ne;n;ne;ne;ne;event_1_97428251",
            desc: "這是位笑眯眯的丐幫八袋弟子,生性多智,外號小吳用。",
          },
          { jh: "丐幫", loc: "暗道", name: "莫不收", way: "jh 6;event_1_98623439;ne;ne", desc: "這是位衣著邋塌,蓬頭垢面的丐幫三袋弟子。" },
          {
            jh: "丐幫",
            loc: "秘密通道",
            name: "藏剑楼探子",
            name_tw: "藏劍樓探子",
            way: "jh 6;event_1_98623439;ne;ne;ne;event_1_16841370",
            desc: "看上去身手極為敏捷,似乎在此處調查著什麼。",
          },
          {
            jh: "丐幫",
            loc: "儲藏室",
            name: "何一河",
            name_new: "何宏生",
            way: "jh 6;event_1_98623439;s",
            desc: "他是丐幫新近加入的弟子,可也一步步升到了五袋。他長的極其醜陋,臉上坑坑窪窪。",
          },
          {
            jh: "丐幫",
            loc: "密室",
            name: "解九風",
            way: "jh 6;event_1_98623439;s;w",
            desc: "如果說洪七公是丐幫的食神,那麼九風就是丐幫的酒聖,論酒量,無人能比,似乎從來沒有人看到他喝醉過,也被稱為“解酒瘋”。",
          },
          {
            jh: "喬陰縣",
            loc: "樹王墳",
            name: "朦胧鬼影",
            name_tw: "朦朧鬼影",
            way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070;s;s;s;s;event_1_65599392",
            desc: "一個高大的身影,看起來像是個人,不過。。。。",
          },
          {
            jh: "喬陰縣",
            loc: "樹王墳",
            name: "县城官兵",
            name_tw: "縣城官兵",
            way: "",
            desc: "這是個正在執行公務的縣城官兵,雖然和許多武林人物比起來,官兵們的武功實在稀鬆平常,但是他們是有組織、有紀律的戰士,誰也不輕易地招惹他們。",
          },
          { jh: "喬陰縣", loc: "街道", name: "琵琶鬼", way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070;s;s;s;s;s;s;s;sw", desc: "一個風塵僕僕的俠客。。" },
          { jh: "喬陰縣", loc: "喬陰縣城北門", name: "孤魂野鬼", way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070", desc: "一個飄忽不定的朦朧身影。" },
          {
            jh: "喬陰縣",
            loc: "石闆空地",
            name: "藏剑楼学者",
            name_tw: "藏劍樓學者",
            way: "jh 7;s;s;s;w",
            desc: "此人文質彬彬,手持一本書冊,正不斷的翻閱似乎想在裡面找到想要的答案。",
          },
          { jh: "喬陰縣", loc: "休息室", name: "藏剑楼长老", name_tw: "藏劍樓長老", way: "jh 7;s;s;s;s;s;s;e;n;n;e", desc: "一名談吐不凡的中年男子,備受手下尊崇。" },
          {
            jh: "喬陰縣",
            loc: "喬陰縣城北門",
            name: "守城官兵",
            way: "jh 7",
            desc: "這是個正在這裡站崗的守城官兵,雖然和許多武林人物比起來,官兵們的武功實在稀鬆平常,但是他們是有組織、有紀律的戰士,誰也不輕易地招惹他們。",
          },
          {
            jh: "喬陰縣",
            loc: "福林大街",
            name: "陆得财",
            name_tw: "陸得財",
            way: "jh 7;s",
            desc: "陸得財是一個渾身髒兮兮的老丐,一副無精打采要死不活的樣子,可是武林中人人都識得他身上打著二十三個結的皮酒囊,這不但是「花紫會」龍頭的信物,更是名鎮漠南的「黑水伏蛟」獨門兵器,只不過陸得財行蹤詭密,據說各處隨時都有七、八的他的替身在四處活動,所以你也很難確定眼前這個陸得財到底是不是真的。",
          },
          { jh: "喬陰縣", loc: "福林大街", name: "卖饼大叔", name_tw: "賣餅大叔", way: "jh 7;s", desc: "一個相貌樸實的賣餅大叔,憨厚的臉上掛著和藹的笑容。" },
          { jh: "喬陰縣", loc: "福林大街", name: "卖包子的", name_tw: "賣包子的", way: "jh 7;s;s;s", desc: "這個賣包子的小販對你微微一笑,說道:熱騰騰的包子,來一籠吧" },
          { jh: "喬陰縣", loc: "樹王墳內部", name: "怪人", way: "jh 7;s;s;s;s;event_1_65599392;w", desc: "體型與小孩一般,臉上卻滿是皺紋,頭發已經掉光。" },
          {
            jh: "喬陰縣",
            loc: "福林酒樓",
            name: "汤掌柜",
            name_tw: "湯掌櫃",
            way: "jh 7;s;s;s;s;s;s;e",
            desc: "湯掌櫃是這家大酒樓的主人,別看他只是一個小小的酒樓老闆,喬陰縣境內除了知縣老爺以外,恐怕就屬他最財大勢大。",
          },
          { jh: "喬陰縣", loc: "福林酒樓", name: "武官", way: "jh 7;s;s;s;s;s;s;e", desc: "一位相貌威武的武官,獨自一個人站在這裡發呆,似乎正有什麼事困擾著他。" },
          { jh: "喬陰縣", loc: "福林酒樓", name: "家丁", way: "jh 7;s;s;s;s;s;s;e;n", desc: "一個穿著家人服色的男子,必恭必敬地垂手站在一旁。" },
          { jh: "喬陰縣", loc: "福林酒樓", name: "贵公子", name_tw: "貴公子", way: "jh 7;s;s;s;s;s;s;e;n", desc: "一個相貌俊美的年輕貴公子正優雅地欣賞著窗外的景物。" },
          {
            jh: "喬陰縣",
            loc: "福林酒樓",
            name: "酒楼守卫",
            name_tw: "酒樓守衛",
            way: "jh 7;s;s;s;s;s;s;e;n;n",
            desc: "一個身穿藍布衣的人,從他銳利的眼神跟神情,顯然是個練家子。",
          },
          { jh: "喬陰縣", loc: "曲橋", name: "书生", name_tw: "書生", way: "jh 7;s;s;s;s;s;s;s;s;e", desc: "一個看起來相當斯文的書生,正拿著一本書搖頭晃腦地讀著。" },
          { jh: "喬陰縣", loc: "曲橋", name: "官家小姐", way: "jh 7;s;s;s;s;s;s;s;s;e;n;e", desc: "一個看起來像是有錢人家的女子,正在這裡遊湖。" },
          { jh: "喬陰縣", loc: "曲橋", name: "丫鬟", way: "jh 7;s;s;s;s;s;s;s;s;e;n;e", desc: "一個服侍有錢人家小姐的丫鬟,正無聊地玩弄著衣角。" },
          {
            jh: "喬陰縣",
            loc: "曼雲台",
            name: "骆云舟",
            name_tw: "駱雲舟",
            way: "jh 7;s;s;s;s;s;s;s;s;e;n;e;s;e",
            desc: "駱雲舟本是世家公子,因喜愛詩酒劍法,不為家族中人所偏愛。因此他年少離家,常年在外漂泊,時至今日,倒是武有所成,在文學的造詣上,也是深不可測了。",
          },
          {
            jh: "喬陰縣",
            loc: "火龍將軍廟",
            name: "乾瘪老太婆",
            name_tw: "乾癟老太婆",
            way: "jh 7;s;s;s;s;s;s;s;sw;w",
            desc: "這個老太婆懷中抱了個竹簍,似乎在賣什麼東西,也許你可以跟她問問價錢?",
          },
          { jh: "喬陰縣", loc: "火龍將軍廟", name: "妇人", name_tw: "婦人", way: "jh 7;s;s;s;s;s;s;s;sw;w;n", desc: "一個衣飾華麗的婦人正跪在這裡虔誠地膜拜著。" },
          { jh: "峨眉山", loc: "釣魚山腳", name: "先锋敌将", name_tw: "先鋒敵將", way: "jh 8;ne;e;e;e", desc: "攻城先鋒大將,長期毫無進展的戰事讓他難掩煩躁。" },
          { jh: "峨眉山", loc: "軍械庫", name: "乞利", way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;n", desc: "攻城大將,曾是江湖上一等一的好手。" },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "文碧师太",
            name_tw: "文碧師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;n;w",
            desc: "她是峨眉派的“文”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "静火师太",
            name_tw: "靜火師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;n;e",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "静鸿师太",
            name_tw: "靜鴻師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;n;n;e",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "静能师太",
            name_tw: "靜能師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;s;w",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "文虹师太",
            name_tw: "文虹師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;s;s;w",
            desc: "她是峨眉派的“文”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "峨眉山門",
            name: "赵灵剑",
            name_tw: "趙靈劍",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;n;e",
            desc: "她是峨嵋派的第四代俗家弟子。",
          },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "文好师太",
            name_tw: "文好師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;n;n;w",
            desc: "她是峨眉派的“文”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "俗家弟子房",
            name: "李明霞",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;s;e",
            desc: "她是峨嵋派的第四代俗家弟子。",
          },
          {
            jh: "峨眉山",
            loc: "接引殿",
            name: "静无师太",
            name_tw: "靜無師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;n",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "静白师太",
            name_tw: "靜白師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;n;w",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "後殿",
            name: "静松师太",
            name_tw: "靜松師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;n;n",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "俗家弟子房",
            name: "苏寒清",
            name_tw: "蘇寒清",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;s;s;e",
            desc: "她是峨嵋派的第四代俗家弟子。",
          },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "静身师太",
            name_tw: "靜身師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;s;s;w",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "静法师太",
            name_tw: "靜法師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;s;e",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "静尼师太",
            name_tw: "靜尼師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;s;s;e",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "峨眉後山",
            name: "藏剑楼剑客",
            name_tw: "藏劍樓劍客",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;n;n;n;n;n;n;n",
            desc: "此人手持長劍,正虎視眈眈的留神週圍,準備伺機而動。",
          },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "文海师太",
            name_tw: "文海師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;s;w",
            desc: "她是峨眉派的“文”輩弟子。",
          },
          { jh: "峨眉山", loc: "護國門", name: "金狼大将", name_tw: "金狼大將", way: "jh 8;ne;e;e;e;n;n;n;n;n", desc: "攻城大將,曾是江湖上一等一的好手。" },
          { jh: "峨眉山", loc: "釣魚山腳", name: "先锋军士", name_tw: "先鋒軍士", way: "jh 8;ne;e;e;e", desc: "攻城大軍的先鋒軍士,滿臉兇狠,卻也掩飾不住疲乏之色。" },
          {
            jh: "峨眉山",
            loc: "敵軍大營",
            name: "耶律霸",
            way: "jh 8;ne;e;e;e;e",
            desc: "遼國皇族後裔,蒙古宰相耶律楚材之子,金狼軍主帥。他驍勇善戰,精通兵法,憑藉著一手堪可開山破嶽的好斧法殺得武林中人無人可擋聞之色變。視天波楊門為心腹之患欲處之而後快。",
          },
          { jh: "峨眉山", loc: "東新城門", name: "赤豹死士", way: "jh 8;ne;e;e;e;n", desc: "攻城大軍的赤豹營死士,戰力蠻橫,重盔重甲,防禦極好。" },
          { jh: "峨眉山", loc: "城南-字牆", name: "守城军士", name_tw: "守城軍士", way: "jh 8;ne;e;e;e;n;n", desc: "守城的軍士,英勇強悍,不畏生死。" },
          { jh: "峨眉山", loc: "鎮西門", name: "黑鹰死士", name_tw: "黑鷹死士", way: "jh 8;ne;e;e;e;n;n;n", desc: "攻城大軍的黑鷹營死士,出手極準。" },
          { jh: "峨眉山", loc: "護國門", name: "金狼死士", way: "jh 8;ne;e;e;e;n;n;n;n;n", desc: "攻城大軍將領的近身精銳。" },
          { jh: "峨眉山", loc: "城中主路", name: "运输兵", name_tw: "運輸兵", way: "jh 8;ne;e;e;e;n;n;n;n;n;e", desc: "負責運送器械的士兵。" },
          {
            jh: "峨眉山",
            loc: "城守府",
            name: "王坚",
            name_tw: "王堅",
            way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;e",
            desc: "釣魚城守城大將,智勇雙全,有條不紊地指揮著整座城市的防禦工作。",
          },
          { jh: "峨眉山", loc: "城守府", name: "参谋官", name_tw: "參謀官", way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;e", desc: "守軍參謀軍官,負責傳遞消息和提出作戰意見。" },
          { jh: "峨眉山", loc: "軍械庫", name: "军械官", name_tw: "軍械官", way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;n", desc: "管理軍械庫的一位中年軍官,健壯有力。" },
          { jh: "峨眉山", loc: "箭樓", name: "神箭手", way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;s", desc: "釣魚城守城大軍的神箭手,百步穿楊,箭無虛發。" },
          { jh: "峨眉山", loc: "箭樓", name: "黑羽刺客", way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;s", desc: "攻城黑羽將領的精銳刺客。" },
          { jh: "峨眉山", loc: "箭樓", name: "黑羽敌将", name_tw: "黑羽敵將", way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;s", desc: "攻城大將,曾是江湖上一等一的好手。" },
          {
            jh: "峨眉山",
            loc: "糧庫",
            name: "粮库主薄",
            name_tw: "糧庫主薄",
            way: "jh 8;ne;e;e;e;n;n;n;n;n;e;n",
            desc: "管理糧庫的軍官,雙眼炯炯有神,一絲一毫的細節都牢記於心。",
          },
          { jh: "峨眉山", loc: "瞭望台", name: "斥候", way: "jh 8;ne;e;e;e;n;n;n;n;n;e;s", desc: "負責偵查敵情的軍士" },
          { jh: "峨眉山", loc: "瞭望台", name: "阿保甲", way: "jh 8;ne;e;e;e;n;n;n;n;n;e;s", desc: "攻城大將,曾是江湖上一等一的好手。" },
          { jh: "峨眉山", loc: "瞭望台", name: "胡族军士", name_tw: "胡族軍士", way: "jh 8;ne;e;e;e;n;n;n;n;n;e;s", desc: "攻城大軍將領的近身精銳。" },
          { jh: "峨眉山", loc: "山腳小路", name: "传令兵", name_tw: "傳令兵", way: "jh 8;ne;e;e;e;s", desc: "釣魚城派往長安求援的傳令兵,行色匆匆,滿面塵土。" },
          { jh: "峨眉山", loc: "峨眉山門", name: "文虚师太", name_tw: "文虛師太", way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e", desc: "她是峨眉派的“文”輩弟子。" },
          { jh: "峨眉山", loc: "峨眉山門", name: "看山弟子", way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e", desc: "一個女弟子,手上拿著一把長劍。" },
          { jh: "峨眉山", loc: "山門廣場", name: "文玉师太", name_tw: "文玉師太", way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n", desc: "她是峨眉派的“文”輩弟子。" },
          { jh: "峨眉山", loc: "山門廣場", name: "文寒师太", name_tw: "文寒師太", way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n", desc: "她是峨眉派的“文”輩弟子。" },
          { jh: "峨眉山", loc: "十二盤", name: "巡山弟子", way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n", desc: "一個拿著武器,有點氣勢的巡山弟子。" },
          { jh: "峨眉山", loc: "千佛庵大門", name: "小女孩", way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w", desc: "這是個小女孩。" },
          {
            jh: "峨眉山",
            loc: "千佛庵大門",
            name: "小贩",
            name_tw: "小販",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w",
            desc: "峨眉山上做點小生意的小販。",
          },
          {
            jh: "峨眉山",
            loc: "毗盧殿",
            name: "静洪师太",
            name_tw: "靜洪師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "文殊殿",
            name: "静雨师太",
            name_tw: "靜雨師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          {
            jh: "峨眉山",
            loc: "俗家弟子房",
            name: "贝锦瑟",
            name_tw: "貝錦瑟",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;e;e;n;n;e",
            desc: "她是峨嵋派的第四代俗家弟子。",
          },
          { jh: "峨眉山", loc: "峨眉後山", name: "毒蛇", way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;n", desc: "一條劇毒的毒蛇。" },
          {
            jh: "峨眉山",
            loc: "狹窄山路",
            name: "护法弟子",
            name_tw: "護法弟子",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;ne",
            desc: "她是一位年輕的師太。是滅絕石台座前的護法弟子。",
          },
          {
            jh: "峨眉山",
            loc: "狹窄山道",
            name: "护法大弟子",
            name_tw: "護法大弟子",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;ne;ne",
            desc: "她是一位年輕的師太。是滅絕石台座前的護法弟子。",
          },
          {
            jh: "峨眉山",
            loc: "靜修後殿",
            name: "方碧翠",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;ne;ne;n",
            desc: "她是峨嵋派的第四代俗家弟子。",
          },
          {
            jh: "峨眉山",
            loc: "靜修後殿",
            name: "灭绝掌门",
            name_tw: "滅絕掌門",
            name_new: "通星師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;ne;ne;n",
            desc: "她是峨嵋派的第三代弟子,現任峨嵋派掌門人。",
          },
          {
            jh: "峨眉山",
            loc: "九王洞",
            name: "静慈师太",
            name_tw: "靜慈師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;ne;ne;se;e",
            desc: "這是一位年紀不算很大的師太。",
          },
          {
            jh: "峨眉山",
            loc: "打坐室",
            name: "静玄师太",
            name_tw: "靜玄師太",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;w;w;n;n;w",
            desc: "她是峨眉派的“靜”輩弟子。",
          },
          { jh: "峨眉山", loc: "風動坡", name: "尼姑", way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;w;w;w;w;n", desc: "這是一個年輕尼姑。" },
          {
            jh: "峨眉山",
            loc: "雷動坪",
            name: "尼姑",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;w;w;w;w;sw",
            desc: "這是一個年輕尼姑,似乎有幾手武功。",
          },
          {
            jh: "峨眉山",
            loc: "風動坡",
            name: "女孩",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;w;w;w;w;n",
            desc: "這是個少女,雖然只有十二、三歲,身材已經開始發育。",
          },
          { jh: "峨眉山", loc: "雷動坪", name: "小尼姑", way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;w;w;w;w;sw", desc: "一個年紀賞小的尼姑。" },
          {
            jh: "峨眉山",
            loc: "清音閣",
            name: "青书少侠",
            name_tw: "青書少俠",
            way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;n;e;e",
            desc: "他今年二十歲,乃是武當第三代中出類拔萃的人物。",
          },
          { jh: "峨眉山", loc: "眺望台", name: "白猿", way: "jh 8;w;nw;n;n;n;n;w", desc: "這是一頭全身白色毛發的猿猴。" },
          { jh: "恆山", loc: "眺望台", name: "杀神寨匪首", name_tw: "殺神寨匪首", way: "", desc: "匪寨首領,殺氣騰騰。" },
          {
            jh: "恆山",
            loc: "桃花林",
            name: "嵩山死士",
            way: "jh 9;n;n;n;n;n;event_1_85624865;n;w;event_1_27135529",
            desc: "這是一名狂熱的嵩山弟子,甘願為嵩山付出自己的生命。",
          },
          { jh: "恆山", loc: "桃花林", name: "杀神寨头目", name_tw: "殺神寨頭目", way: "", desc: "匪寨的頭目,目露兇光。" },
          { jh: "恆山", loc: "大字嶺", name: "山盗", name_tw: "山盜", way: "jh 9", desc: "一個盤踞山林的盜匪。" },
          { jh: "恆山", loc: "虎風口", name: "秦卷帘", name_tw: "秦捲簾", way: "jh 9;n", desc: "恆山派俗家弟子,臉上沒有一絲表情,讓人望而卻步。" },
          { jh: "恆山", loc: "果老嶺", name: "郑婉儿", name_tw: "鄭婉兒", way: "jh 9;n;n", desc: "恆山派俗家弟子,看起來清麗可人。" },
          { jh: "恆山", loc: "夕陽嶺", name: "哑太婆", name_tw: "啞太婆", way: "jh 9;n;n;e", desc: "一身黑衣,頭發雖已花白,但俏麗的容顏卻讓人忍不住多看兩眼。" },
          { jh: "恆山", loc: "北嶽廟", name: "云问天", name_tw: "雲問天", way: "jh 9;n;n;n", desc: "身背行囊的遊客,看起來會些功夫。" },
          { jh: "恆山", loc: "北嶽殿", name: "石高达", name_tw: "石高達", way: "jh 9;n;n;n;n", desc: "一名身份可疑的男子,最近常在山上游蕩。" },
          { jh: "恆山", loc: "玉羊遊雲", name: "公孙浩", name_tw: "公孫浩", way: "jh 9;n;n;n;n;e", desc: "一名行走五湖四海的遊俠,看起來功夫還不錯。" },
          {
            jh: "恆山",
            loc: "秘道",
            name: "不可不戒",
            way: "jh 9;n;n;n;n;henshan15_op1",
            desc: "曾經是江湖上有名的採花大盜,被不戒和尚用藥迷倒,剪掉了作案工具,剃度後收為徒弟。",
          },
          { jh: "恆山", loc: "見性峰山道", name: "山蛇", way: "jh 9;n;n;n;n;n", desc: "一條吐著紅舌頭的毒蛇" },
          { jh: "恆山", loc: "見性峰山道", name: "嵩山弟子", way: "jh 9;n;n;n;n;n;event_1_85624865", desc: "嵩山派弟子" },
          { jh: "恆山", loc: "紫芝叢", name: "司马承", name_tw: "司馬承", way: "jh 9;n;n;n;n;n;event_1_85624865;n;e", desc: "嵩山派高手,看起來頗有些修為。" },
          {
            jh: "恆山",
            loc: "千年菩提",
            name: "沙江龙",
            name_tw: "沙江龍",
            way: "jh 9;n;n;n;n;n;event_1_85624865;n;n;n;henshan_zizhiyu11_op1",
            desc: "嵩山派高手,看起來頗有些修為。",
          },
          { jh: "恆山", loc: "雲洞", name: "史师兄", name_tw: "史師兄", way: "jh 9;n;n;n;n;n;event_1_85624865;n;n;n;n", desc: "嵩山派大弟子,武功修為頗高。" },
          { jh: "恆山", loc: "桃花林", name: "赵志高", name_tw: "趙志高", way: "jh 9;n;n;n;n;n;event_1_85624865;n;w", desc: "嵩山派高手,看起來頗有些修為。" },
          {
            jh: "恆山",
            loc: "白雲庵",
            name: "定云师太",
            name_tw: "定雲師太",
            way: "jh 9;n;n;n;n;n;n;n",
            desc: "恆山派白雲菴菴主,外剛內和,脾氣雖然暴躁,心地卻極慈祥。",
          },
          { jh: "恆山", loc: "藏經閣", name: "仪雨", name_tw: "儀雨", way: "jh 9;n;n;n;n;n;n;n;e;e", desc: "恆山派二弟子" },
          { jh: "恆山", loc: "練武房", name: "仪容", name_tw: "儀容", way: "jh 9;n;n;n;n;n;n;n;e;n", desc: "恆山派大弟子" },
          { jh: "恆山", loc: "長廊", name: "吸血蝙蝠", way: "jh 9;n;n;n;n;n;n;n;n", desc: "這是一隻黑色的吸血蝙蝠" },
          {
            jh: "恆山",
            loc: "白雲庵後殿",
            name: "定安师太",
            name_tw: "定安師太",
            way: "jh 9;n;n;n;n;n;n;n;n;n",
            desc: "恆山派掌門,心細如發,雖然平時極少出庵,但於江湖上各門各派的人物,無一不是瞭如指掌,其武功修為極高。",
          },
          { jh: "恆山", loc: "懸空棧道", name: "神教杀手", name_tw: "神教殺手", way: "jh 9;n;n;n;n;n;n;n;n;n;w", desc: "日月神教殺手,手段極其兇殘。" },
          {
            jh: "恆山",
            loc: "小茅屋",
            name: "魔教杀手",
            name_tw: "魔教殺手",
            way: "jh 9;n;n;n;n;n;n;n;n;n;w;n;e;henshan_qinqitai23_op1",
            desc: "魔教殺手,一張黃臉讓人過目難忘。",
          },
          { jh: "恆山", loc: "小茅屋", name: "魔教长老", name_tw: "魔教長老", way: "jh 9;n;n;n;n;n;n;n;n;n;w;n;e;n", desc: "此人衣著非凡,在魔教中頗有地位。" },
          { jh: "恆山", loc: "小茅屋", name: "魔教护卫", name_tw: "魔教護衛", way: "jh 9;n;n;n;n;n;n;n;n;n;w;n;e;n", desc: "一名面容冷峻的帶刀護衛,正警惕的打量四週。" },
          { jh: "恆山", loc: "松樹林", name: "神秘人", way: "jh 9;n;n;n;n;n;n;n;n;n;w;n;event_1_89533343", desc: "一個眼神淩厲的黑衣人,渾身散發著無比殺氣,令人不安。" },
          { jh: "恆山", loc: "琴棋台", name: "魔教头目", name_tw: "魔教頭目", way: "jh 9;n;n;n;n;n;n;n;n;n;w;n;n;n;n", desc: "看起來風流倜儻的中年男子,魔教的小頭目。" },
          { jh: "恆山", loc: "齋堂", name: "小师太", name_tw: "小師太", way: "jh 9;n;n;n;n;n;n;n;w;n", desc: "恆山入門弟子" },
          {
            jh: "恆山",
            loc: "雞叫石",
            name: "柳云烟",
            name_tw: "柳雲煙",
            way: "jh 9;n;n;n;w",
            desc: "一身短裝的女子,頭戴紗帽,一張俏臉在面紗後若隱若現,讓人忍不住想掀開面紗瞧個仔細。",
          },
          { jh: "恆山", loc: "懸根松", name: "九戒大师", name_tw: "九戒大師", way: "jh 9;n;w", desc: "雖著一身袈裟,但一臉絡腮鬍讓他看起來頗有些兇悍。" },
          {
            jh: "武當山",
            loc: "西廂走廊",
            name: "练功弟子",
            name_tw: "練功弟子",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;w",
            desc: "一位正在練功的青年弟子,但似乎很不耐煩。",
          },
          {
            jh: "武當山",
            loc: "藏經閣",
            name: "道德经「上卷」",
            name_tw: "道德經「上卷」",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;w;n",
            desc: "這是一冊道德經「上卷」,由體道第一始至去用第四十止。",
          },
          {
            jh: "武當山",
            loc: "藏經閣",
            name: "道德经「第一章」",
            name_tw: "道德經「第一章」",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;w;n",
            desc: "第一章   道可道,非常道。名可名,非常名。   無名天地之始;有名萬物之母。   故常無,欲以觀其妙;常有,欲以觀其徼。   此兩者,同出而異名,同謂之玄。玄之又玄,眾妙之門。",
          },
          { jh: "武當山", loc: "林中小路", name: "王五", way: "jh 10;w", desc: "一位邋邋遢遢的道士。" },
          { jh: "武當山", loc: "林中小路", name: "土匪头", name_tw: "土匪頭", way: "jh 10", desc: "這傢伙滿臉殺氣,一付凶神惡煞的模樣,令人望而生畏。" },
          { jh: "武當山", loc: "林中小路", name: "土匪", way: "jh 10", desc: "這傢伙滿臉橫肉一付凶神惡煞的模樣,令人望而生畏。" },
          { jh: "武當山", loc: "遇劍閣大門", name: "布衣弟子", way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n", desc: "遇劍閣的一位弟子,不知是哪個長老門下的。" },
          {
            jh: "武當山",
            loc: "閣主樓",
            name: "剑童",
            name_tw: "劍童",
            way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;n;n",
            desc: "遇劍閣的一名劍童,長得十分可愛。",
          },
          {
            jh: "武當山",
            loc: "閣主寢室",
            name: "剑遇安",
            name_tw: "劍遇安",
            way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;n;n;n",
            desc: "一位似乎身重劇毒的老前輩,但仍能看出其健康之時武功不凡。",
          },
          {
            jh: "武當山",
            loc: "小院子",
            name: "剑遇治",
            name_tw: "劍遇治",
            way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;ne;n;n",
            desc: "一位身形肥胖的布衣青年。",
          },
          {
            jh: "武當山",
            loc: "山長老樓",
            name: "剑遇山",
            name_tw: "劍遇山",
            way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;ne;n;n;e",
            desc: "一位看起來非常高傲的老前輩。",
          },
          {
            jh: "武當山",
            loc: "行長老樓",
            name: "剑遇行",
            name_tw: "劍遇行",
            way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;ne;s;e",
            desc: "一問看起來非常慈祥的老前輩",
          },
          {
            jh: "武當山",
            loc: "鳴長老樓",
            name: "剑遇鸣",
            name_tw: "劍遇鳴",
            way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;ne;s;sw",
            desc: "一位看起來非常自負的老前輩。",
          },
          {
            jh: "武當山",
            loc: "小院子",
            name: "剑遇南",
            name_tw: "劍遇南",
            way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;nw;nw",
            desc: "一個布衣青年,腰間繫著一把配劍。",
          },
          {
            jh: "武當山",
            loc: "穆長老樓",
            name: "剑遇穆",
            name_tw: "劍遇穆",
            way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;nw;nw;n",
            desc: "一位布衣長者,看起來道風仙骨。",
          },
          { jh: "武當山", loc: "黃土路", name: "野兔", way: "jh 10;w;n;n;w", desc: "一隻好可愛的小野兔。" },
          { jh: "武當山", loc: "武當牌坊", name: "进香客", name_tw: "進香客", way: "jh 10;w;n;n;w;w", desc: "一位前往武當山進香的人。" },
          { jh: "武當山", loc: "武當牌坊", name: "青书少侠", name_tw: "青書少俠", way: "jh 10;w;n;n;w;w", desc: "他今年二十歲,乃是武當第三代中出類拔萃的人物。" },
          { jh: "武當山", loc: "三清殿", name: "知客道长", name_tw: "知客道長", way: "jh 10;w;n;n;w;w;w;n;n;n", desc: "他是武當山的知客道長。" },
          { jh: "武當山", loc: "武當廣場", name: "道童", way: "jh 10;w;n;n;w;w;w;n;n;n;n", desc: "他是武當山的小道童。" },
          { jh: "武當山", loc: "桃園小路", name: "蜜蜂", way: "jh 10;w;n;n;w;w;w;n;n;n;n;e;e;e;e;s;e;s;e;n", desc: "這是一隻蜜蜂,正忙著採蜜。" },
          { jh: "武當山", loc: "桃園小路", name: "小蜜蜂", way: "jh 10;w;n;n;w;w;w;n;n;n;n;e;e;e;e;s;e;s;e;n", desc: "這是一隻蜜蜂,正忙著採蜜。" },
          {
            jh: "武當山",
            loc: "桃園小路",
            name: "猴子",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;e;e;e;e;s;e;s;e;s",
            desc: "這隻猴子在在桃樹間跳上跳下,還不時津津有味地啃幾口著蜜桃。",
          },
          {
            jh: "武當山",
            loc: "三清殿",
            name: "清虚道长",
            name_tw: "清虛道長",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;n",
            desc: "他就是清虛道長。他今年四十歲,主管武當派的俗事。",
          },
          {
            jh: "武當山",
            loc: "三清殿",
            name: "宋首侠",
            name_tw: "宋首俠",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;n",
            desc: "他就是張三豐的大弟子、武當七俠之首。身穿一件乾乾淨淨的灰色道袍。他已年過六十,身材瘦長,滿臉紅光。恬淡沖和,沉默寡言。",
          },
          {
            jh: "武當山",
            loc: "東廂走廊",
            name: "张松溪",
            name_tw: "張松溪",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;e",
            desc: "他就是張三豐的四弟子張松溪。他今年四十歲,精明能幹,以足智多謀著稱。",
          },
          {
            jh: "武當山",
            loc: "比武房",
            name: "俞二侠",
            name_tw: "俞二俠",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;e;e;e;e",
            desc: "服下丹藥之後的他武功似乎提升了不少,實力不容小覷。",
          },
          {
            jh: "武當山",
            loc: "茶室",
            name: "小翠",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;e;e;s",
            desc: "這是個年年齡不大的小姑娘,但寬鬆的道袍也遮不住她過早發育的身體。一臉聰明乖巧,滿口伶牙俐齒。見有人稍微示意,便過去加茶倒水。",
          },
          { jh: "武當山", loc: "茶室", name: "水蜜桃", way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;e;e;s", desc: "一碟水靈新鮮的水蜜桃,跟小翠的臉蛋兒一樣紅豔可人。" },
          { jh: "武當山", loc: "茶室", name: "香茶", way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;e;e;s", desc: "一杯熱茶,悠悠地冒著香氣~~~" },
          {
            jh: "武當山",
            loc: "後院",
            name: "俞莲舟",
            name_tw: "俞蓮舟",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;n",
            desc: "他就是張三豐的二弟子俞蓮舟。他今年五十歲,身材魁梧,氣度凝重。雖在武當七俠中排名第二,功夫卻是最精。",
          },
          {
            jh: "武當山",
            loc: "後山小院",
            name: "张三丰",
            name_tw: "張三豐",
            way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;n;n;n;n",
            desc: "他就是武當派開山鼻祖、當今武林的泰山北斗,中華武功承先啟後、繼往開來的大宗師。身穿一件汙穢的灰色道袍,不修邊幅。身材高大,年滿百歲,滿臉紅光,須眉皆白。",
          },
          { jh: "晚月莊", loc: "後山小院", name: "安妮儿", name_tw: "安妮兒", way: "", desc: "一個風塵僕僕的俠客。。" },
          {
            jh: "晚月莊",
            loc: "□香榭",
            name: "颜慧如",
            name_tw: "顏慧如",
            way: "jh 11;e;e;s;sw;se;s;s;s;w;s;s;se",
            desc: "她是一位美女,真是紅顏似玉,綠鬢如雲,明麗的眼睛,潔白的牙齒。容色俊俏,風度飄逸,令人心動。",
          },
          {
            jh: "晚月莊",
            loc: "翠湘閣",
            name: "莫欣芳",
            way: "jh 11;e;e;s;sw;se;w;w;s;s;s;w;n;e;n",
            desc: "她國色天香,嬌麗無倫;溫柔嫻靜,秀絕人寰。她姿容絕美,世所罕見。從她身旁你聞道一寒谷幽香。",
          },
          { jh: "晚月莊", loc: "紫翎小軒", name: "上官钰翎", name_tw: "上官鈺翎", way: "jh 11;e;e;s;sw;se;s;s;s;w;s;s;w", desc: "一個風塵僕僕的俠客。。" },
          { jh: "晚月莊", loc: "暖香榭", name: "美珊", way: "jh 11;e;e;s;sw;se;s;s;s;e;se;s", desc: "她看起來成熟中帶有一些韻味。飄逸的長發十分迷人。" },
          { jh: "晚月莊", loc: "暖香榭", name: "金丝雀", name_tw: "金絲雀", way: "jh 11;e;e;s;sw;se;s;s;s;e;se;s", desc: "一隻羽毛鮮□的小金絲雀。" },
          {
            jh: "晚月莊",
            loc: "沁芳亭",
            name: "袭人",
            name_tw: "襲人",
            way: "jh 11;e;e;s;sw;se;s;s;s;s;s",
            desc: "她有著春花般的臉兒,青山似的眉黛,靈活如秋波的眼睛,高低適宜如玉□的鼻子,珊珊似的小口。她的特點就是清秀大方,如花中之牡丹,鳥中之鸞鳳。",
          },
          { jh: "晚月莊", loc: "紫翎小軒", name: "小金鼠", way: "jh 11;e;e;s;sw;se;s;s;s;w;s;s;w", desc: "一隻可愛的長尾巴的小金鼠。" },
          { jh: "晚月莊", loc: "沐浴更衣室", name: "阮欣郁", name_tw: "阮欣鬱", way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;w;s;e", desc: "一個風塵僕僕的俠客。。" },
          { jh: "晚月莊", loc: "內廳穿堂", name: "龙韶吟", name_tw: "龍韶吟", way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;w;s", desc: "一個風塵僕僕的俠客。。" },
          { jh: "晚月莊", loc: "內廳", name: "虞琼衣", name_tw: "虞瓊衣", way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;w", desc: "一個風塵僕僕的俠客。。" },
          {
            jh: "晚月莊",
            loc: "後廳",
            name: "苗郁手",
            name_tw: "苗鬱手",
            way: "jh 11;e;e;s;sw;se;w;w;s;s;s",
            desc: "她看起來很有活力,兩眼明亮有神。給你一種巾幗不讓須眉的氣勢,但剛毅之中似又隱含著女孩子有的嬌柔。",
          },
          {
            jh: "晚月莊",
            loc: "後廳",
            name: "圆春",
            name_tw: "圓春",
            way: "jh 11;e;e;s;sw;se;w;w;s;s;s",
            desc: "她是惜春的妹妹,跟姐姐從小就在晚月莊長大。因為與雙親失散,被莊主收留。平常幫忙莊內瑣碎事務。",
          },
          {
            jh: "晚月莊",
            loc: "內書房",
            name: "惜春",
            way: "jh 11;e;e;s;sw;se;w;w;s;s;s;w;w",
            desc: "她看起來成熟中帶有一些稚氣。飄逸的長發十分迷人。她是個孤兒,從小與妹妹圓春被莊主收留,她很聰明,在第四代弟子中算是武功很出色的一個。",
          },
          {
            jh: "晚月莊",
            loc: "小花池",
            name: "凤凰",
            name_tw: "鳳凰",
            way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;w;s;e;e",
            desc: "火神「鳳凰」乃勇士寒於的魂魄所化成的十三個精靈之一。由於其奇異神蹟,被晚月莊供奉為護莊神獸。",
          },
          {
            jh: "晚月莊",
            loc: "小花池",
            name: "金仪彤",
            name_tw: "金儀彤",
            way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;w;s;e;e",
            desc: "她國色天香,嬌麗無倫;溫柔嫻靜,秀絕人寰。可惜眉心上有一道地煞紋干犯紫鬥,恐要玉手染血,浩劫武林。",
          },
          { jh: "晚月莊", loc: "東廂房", name: "瑷伦", name_tw: "璦倫", way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;e", desc: "她已是步入老年,但仍風采依舊。" },
          {
            jh: "晚月莊",
            loc: "廚房",
            name: "曲馥琪",
            way: "jh 11;e;e;s;sw;se;w;w;s;s;e;e;e",
            desc: "她國色天香,嬌麗無倫;溫柔嫻靜,秀絕人寰。她姿容絕美,世所罕見。從她身旁你聞道一寒谷幽香。",
          },
          { jh: "晚月莊", loc: "上等廂房", name: "梦玉楼", name_tw: "夢玉樓", way: "jh 11;e;e;s;sw;se;w;w;s;s;w;w;s", desc: "一個風塵僕僕的俠客。。" },
          {
            jh: "晚月莊",
            loc: "桂花園",
            name: "蓝小蝶",
            name_tw: "藍小蝶",
            way: "jh 11;e;e;s;sw;se;s;s;s;w;s",
            desc: "她長得十分漂亮!讓你忍不住多瞧她幾眼,從她身上你聞到淡淡的香氣。她很有禮貌的向你點頭,優雅的動作,輕盈的步伐,好美哦!她是晚月莊主藍止萍的養女,平常莊內的接待是看她。",
          },
          { jh: "晚月莊", loc: "", name: "小白兔", way: ".靠謎題飛", desc: "一隻紅眼睛的小白兔。" },
          { jh: "晚月莊", loc: "", name: "风老四", name_tw: "風老四", way: ".靠謎題飛", desc: "風梭風九幽,但他現在走火入魔,一動也不能動了。" },
          { jh: "晚月莊", loc: "", name: "水灵儿", name_tw: "水靈兒", way: ".靠謎題飛", desc: "她滿面愁容,手裡雖然拿著本書,卻只是呆呆的出神。" },
          { jh: "晚月莊", loc: "蜿蜒小徑", name: "蝴蝶", way: "jh 11;e;e;s", desc: "一隻翩翩起舞的小蝴蝶哦!" },
          {
            jh: "晚月莊",
            loc: "小路",
            name: "小贩",
            name_tw: "小販",
            way: "jh 11;e;e;s;n;nw;w;nw;e",
            desc: "這小販左手提著個籃子,右手提著個酒壺。籃上繫著銅鈴,不住叮鐺作響。",
          },
          { jh: "晚月莊", loc: "茅屋內", name: "酒肉和尚", way: "jh 11;e;e;s;n;nw;w;nw;e;e;e;n;w", desc: "這是一個僧不僧俗不俗,滿頭亂發的怪人" },
          {
            jh: "晚月莊",
            loc: "幽州台",
            name: "陈子昂",
            name_tw: "陳子昂",
            way: "jh 11;e;e;s;n;nw;w;nw;e;e;e;se",
            desc: "一個狂放書生,顯是出自豪富之家,輕財好施,慷慨任俠。",
          },
          {
            jh: "晚月莊",
            loc: "晚月莊大門",
            name: "彩衣少女",
            name_tw: "綵衣少女",
            way: "jh 11;e;e;s;sw",
            desc: "小姑娘是晚月莊的女弟子,雖說身形單薄,可眼神裡透出的傲氣讓人感到並不好欺負。",
          },
          { jh: "晚月莊", loc: "晚月莊大廳", name: "婢女", way: "jh 11;e;e;s;sw;se;w", desc: "一個風塵僕僕的俠客。。" },
          {
            jh: "晚月莊",
            loc: "晚月莊大廳",
            name: "蓝止萍",
            name_tw: "藍止萍",
            way: "jh 11;e;e;s;sw;se;w",
            desc: "藍止萍是一個十分出色的美女,她彈的一手琵琶更是聞名千里,許多王侯子弟,富商豪客都為她天下無雙的美貌與琴藝傾倒。",
          },
          {
            jh: "晚月莊",
            loc: "傍廳",
            name: "蓝雨梅",
            name_tw: "藍雨梅",
            way: "jh 11;e;e;s;sw;se;w;n",
            desc: "藍雨梅是晚月莊主藍止萍的養女,由於莊主不信任男子,因此晚月莊接待外賓的工作向來由她負責。",
          },
          {
            jh: "晚月莊",
            loc: "禁閉房",
            name: "芳绫",
            name_tw: "芳綾",
            way: "jh 11;e;e;s;sw;se;w;w;n;w",
            desc: "她看起來像個小靈精,頭上梳兩個小包包頭。她坐在地上,看到你看她便向你作了個鬼臉!你想她一定是調皮才會在這受罰!",
          },
          {
            jh: "晚月莊",
            loc: "夾道",
            name: "昭蓉",
            way: "jh 11;e;e;s;sw;se;w;w;s;s;w",
            desc: "她長得十分漂亮!讓你忍不住多瞧她幾眼,從她身上你聞到淡淡的香氣。她很有禮貌的向你點頭,優雅的動作,輕盈的步伐,好美哦!",
          },
          {
            jh: "晚月莊",
            loc: "後院書房",
            name: "昭仪",
            name_tw: "昭儀",
            way: "jh 11;e;e;s;sw;se;w;w;w;w",
            desc: "她看起來非常可愛。身材玲瓏有致,曲線苗條。第一眼印象,你覺的她舞蹈一定跳的不錯,看她的一舉一動有一種說不出的流暢優雅!",
          },
          {
            jh: "水煙閣",
            loc: "水煙閣正門",
            name: "天邪虎",
            way: "jh 12;n;n;n",
            desc: "這是一隻天邪派的靈獸「天邪虎」,火紅的毛皮上有著如白銀般的白紋,湛藍色的眼珠中散發出妖異的光芒。",
          },
          { jh: "水煙閣", loc: "水煙閣正門", name: "水烟阁武士", name_tw: "水煙閣武士", way: "jh 12;n;n;n", desc: "這是一個水煙閣武士。" },
          {
            jh: "水煙閣",
            loc: "廚房",
            name: "董老头",
            name_tw: "董老頭",
            way: "jh 12;n;n;n;e;n;n",
            desc: "於蘭天武的親兵,追隨於蘭天武多年,如今隱居於水煙閣,繼續保護王爺。",
          },
          {
            jh: "水煙閣",
            loc: "水煙閣正廳",
            name: "潘军禅",
            name_tw: "潘軍禪",
            way: "jh 12;n;n;n;n",
            desc: "潘軍禪是當今武林的一位傳奇性人物,以他僅僅二十八歲的年齡竟能做到水煙閣執法使的職位,著實是一位不簡單的人物。潘軍禪是封山劍派掌門柳淳風的結拜義弟,但是他為人其實十分風趣,又好交朋友,絲毫不會擺出武林執法者的架子。",
          },
          { jh: "水煙閣", loc: "水煙閣正廳", name: "萧辟尘", name_tw: "蕭闢塵", way: "jh 12;n;n;n;n", desc: "蕭闢塵自幼生長於嵐城之中,看起來仙風道骨,不食人間煙火。" },
          {
            jh: "水煙閣",
            loc: "西側廳",
            name: "水烟阁红衣武士",
            name_tw: "水煙閣紅衣武士",
            way: "jh 12;n;n;n;w;n;nw",
            desc: "這個人身著紅色水煙閣武士服色,眼神十分銳利。",
          },
          { jh: "水煙閣", loc: "聆嘯廳", name: "水烟阁司事", name_tw: "水煙閣司事", way: "jh 12;n;n;n;w;n;nw;e", desc: "這個人看起來十分和藹可親,一雙眼睛炯炯有神。" },
          {
            jh: "水煙閣",
            loc: "春秋水色齋",
            name: "於兰天武",
            name_tw: "於蘭天武",
            way: "jh 12;n;n;n;w;n;nw;e;n",
            desc: "於蘭天武是當今皇上的叔父,但是他畢生浸淫武學,甘願拋棄榮華富以換取水煙閣傳功使一職,以便閱讀水煙閣中所藏的武學典籍,無論你有什麼武學上的疑難,他都能為你解答。",
          },
          {
            jh: "少林寺",
            loc: "般若堂五層",
            name: "澄志",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "羅漢堂九層",
            name: "澄和",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s;s;s;s;s;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "羅漢堂四層",
            name: "澄净",
            name_tw: "澄淨",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "臥室",
            name: "道果禅师",
            name_tw: "道果禪師",
            way: "jh 13;n;w;w;n;shaolin012_op1",
            desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
          },
          {
            jh: "少林寺",
            loc: "般若堂四層",
            name: "澄识",
            name_tw: "澄識",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "般若堂七層",
            name: "澄灵",
            name_tw: "澄靈",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "般若堂六層",
            name: "澄信",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "羅漢堂一層",
            name: "澄观",
            name_tw: "澄觀",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;e",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "般若堂九層",
            name: "澄尚",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;s;s;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "羅漢堂八層",
            name: "澄灭",
            name_tw: "澄滅",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s;s;s;s;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          { jh: "少林寺", loc: "小木屋", name: "乔三槐", name_tw: "喬三槐", way: "jh 13;n;w;w;n", desc: "勤勞樸實的山民,皮膚黝黑粗糙。" },
          { jh: "少林寺", loc: "菩提金剛陣", name: "渡云神识", name_tw: "渡雲神識", way: "jh 13;e;s;s;w;w;w;event_1_38874360", desc: "這是渡雲的神識。" },
          {
            jh: "少林寺",
            loc: "般若堂三層",
            name: "澄思",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "羅漢堂三層",
            name: "澄明",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          { jh: "少林寺", loc: "菩提金剛陣", name: "渡风神识", name_tw: "渡風神識", way: "jh 13;e;s;s;w;w;w;event_1_38874360", desc: "這是渡風的神識。" },
          {
            jh: "少林寺",
            loc: "般若堂八層",
            name: "澄欲",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;s;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "羅漢堂七層",
            name: "澄寂",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s;s;s;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "羅漢堂五層",
            name: "澄坚",
            name_tw: "澄堅",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s;s;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "般若堂二層",
            name: "澄意",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "般若堂一層",
            name: "澄心",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;w",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          { jh: "少林寺", loc: "菩提金剛陣", name: "渡雨神识", name_tw: "渡雨神識", way: "jh 13;e;s;s;w;w;w;event_1_38874360", desc: "這是渡雨的神識。" },
          {
            jh: "少林寺",
            loc: "羅漢堂二層",
            name: "澄知",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s",
            desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
          },
          {
            jh: "少林寺",
            loc: "叢林山徑",
            name: "虚通",
            name_tw: "虛通",
            way: "jh 13",
            desc: "他是一位身穿黃布袈裟的青年僧人。臉上稚氣未脫,身手卻已相當矯捷,看來似乎學過一點武功。",
          },
          { jh: "少林寺", loc: "叢林山徑", name: "山猪", name_tw: "山豬", way: "jh 13", desc: "黑色山豬,披著一身剛硬的鬃毛。" },
          {
            jh: "少林寺",
            loc: "金剛伏魔圈",
            name: "渡云",
            name_tw: "渡雲",
            way: "jh 13;e;s;s;w;w;w",
            desc: "這是一個面頰深陷,瘦骨零丁的老僧,他臉色枯黃,如同一段枯木。",
          },
          { jh: "少林寺", loc: "金剛伏魔圈", name: "渡雨", way: "jh 13;e;s;s;w;w;w", desc: "這是一個面頰深陷,瘦骨零丁的老僧,他臉色慘白,象一張紙一樣。" },
          {
            jh: "少林寺",
            loc: "金剛伏魔圈",
            name: "渡风",
            name_tw: "渡風",
            way: "jh 13;e;s;s;w;w;w",
            desc: "這是一個面頰深陷,瘦骨零丁的老僧,他臉色慘白,象一張紙一樣。",
          },
          { jh: "少林寺", loc: "少林寺山門", name: "僧人", way: "jh 13;n", desc: "少林寺僧人,負責看守山門。" },
          {
            jh: "少林寺",
            loc: "少林寺山門",
            name: "虚明",
            name_tw: "虛明",
            way: "jh 13;n",
            desc: "他是一位身穿黃布袈裟的青年僧人。臉上稚氣未脫,身手卻已相當矯捷,看來似乎學過一點武功。",
          },
          { jh: "少林寺", loc: "甬道", name: "慧色尊者", way: "jh 13;n;n", desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。" },
          { jh: "少林寺", loc: "甬道", name: "扫地和尚", name_tw: "掃地和尚", way: "jh 13;n;n", desc: "一名年輕僧人,身穿灰色僧衣。" },
          { jh: "少林寺", loc: "甬道", name: "慧如尊者", way: "jh 13;n;n", desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。" },
          { jh: "少林寺", loc: "東碑林", name: "洒水僧", name_tw: "灑水僧", way: "jh 13;n;n;e", desc: "一名年輕僧人,身穿灰色僧衣。" },
          { jh: "少林寺", loc: "天王殿", name: "小北", way: "jh 13;n;n;n", desc: "這是一個天真活潑的小沙彌,剛進寺不久,尚未剃度。" },
          {
            jh: "少林寺",
            loc: "天王殿",
            name: "玄痛大师",
            name_tw: "玄痛大師",
            way: "jh 13;n;n;n",
            desc: "他是一位白須白眉的老僧,身穿一襲銀絲棕黃袈裟。他身材高大,兩手過膝。雙目半睜半閉,卻不時射出一縷精光。",
          },
          {
            jh: "少林寺",
            loc: "廣場",
            name: "慧空尊者",
            way: "jh 13;n;n;n;n",
            desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
          },
          {
            jh: "少林寺",
            loc: "廣場",
            name: "慧名尊者",
            way: "jh 13;n;n;n;n",
            desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
          },
          { jh: "少林寺", loc: "廣場", name: "进香客", name_tw: "進香客", way: "jh 13;n;n;n;n", desc: "來寺裡進香的中年男子,看起來滿臉疲憊。" },
          { jh: "少林寺", loc: "鐘樓", name: "扫地僧", name_tw: "掃地僧", way: "jh 13;n;n;n;n;e", desc: "一個年老的僧人,看上去老態龍鍾,但是雙目間卻有一股精氣?" },
          { jh: "少林寺", loc: "鐘樓", name: "行者", way: "jh 13;n;n;n;n;e", desc: "他是一位雲遊四方的行者,風霜滿面,行色匆匆,似乎正在辦一件急事。" },
          {
            jh: "少林寺",
            loc: "大雄寶殿",
            name: "道象禅师",
            name_tw: "道象禪師",
            way: "jh 13;n;n;n;n;n",
            desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
          },
          { jh: "少林寺", loc: "大雄寶殿", name: "小南", way: "jh 13;n;n;n;n;n", desc: "青衣小沙彌,尚未剃度。" },
          { jh: "少林寺", loc: "月台", name: "巡寺僧人", way: "jh 13;n;n;n;n;n;n", desc: "身穿黃色僧衣的僧人,負責看守藏經閣。" },
          { jh: "少林寺", loc: "月台", name: "托钵僧", name_tw: "托缽僧", way: "jh 13;n;n;n;n;n;n", desc: "他是一位未通世故的青年和尚,臉上掛著孩兒般的微笑。" },
          { jh: "少林寺", loc: "月台", name: "行者", way: "jh 13;n;n;n;n;n;n", desc: "他是一位雲遊四方的行者,風霜滿面,行色匆匆,似乎正在辦一件急事。" },
          { jh: "少林寺", loc: "東禪房", name: "打坐僧人", way: "jh 13;n;n;n;n;n;n;e", desc: "正在禪室打坐修行的僧人。" },
          {
            jh: "少林寺",
            loc: "藏經閣",
            name: "清晓比丘",
            name_tw: "清曉比丘",
            way: "jh 13;n;n;n;n;n;n;n",
            desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
          },
          { jh: "少林寺", loc: "藏經閣", name: "黑衣大汉", name_tw: "黑衣大漢", way: "jh 13;n;n;n;n;n;n;n", desc: "黑布蒙面,只露出一雙冷電般的眼睛的黑衣大漢。" },
          {
            jh: "少林寺",
            loc: "藏經閣",
            name: "清缘比丘",
            name_tw: "清緣比丘",
            way: "jh 13;n;n;n;n;n;n;n",
            desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
          },
          {
            jh: "少林寺",
            loc: "方丈院",
            name: "清为比丘",
            name_tw: "清為比丘",
            way: "jh 13;n;n;n;n;n;n;n;n",
            desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
          },
          {
            jh: "少林寺",
            loc: "方丈院",
            name: "清无比丘",
            name_tw: "清無比丘",
            way: "jh 13;n;n;n;n;n;n;n;n",
            desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
          },
          { jh: "少林寺", loc: "方丈院", name: "小沙弥", name_tw: "小沙彌", way: "jh 13;n;n;n;n;n;n;n;n", desc: "一名憨頭憨腦的和尚,手裡端著茶盤。" },
          {
            jh: "少林寺",
            loc: "方丈院",
            name: "清闻比丘",
            name_tw: "清聞比丘",
            way: "jh 13;n;n;n;n;n;n;n;n",
            desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
          },
          {
            jh: "少林寺",
            loc: "東廂房",
            name: "玄悲大师",
            name_tw: "玄悲大師",
            way: "jh 13;n;n;n;n;n;n;n;n;e",
            desc: "他是一位白須白眉的老僧,身穿一襲銀絲棕黃袈裟。他身材甚高,但骨瘦如柴,頂門高聳,雙目湛然有神。",
          },
          {
            jh: "少林寺",
            loc: "方丈室",
            name: "玄慈大师",
            name_tw: "玄慈大師",
            way: "jh 13;n;n;n;n;n;n;n;n;n",
            desc: "他是一位白須白眉的老僧,身穿一襲金絲繡紅袈裟。他身材略顯佝僂,但卻滿面紅光,目蘊慈笑,顯得神完氣足。",
          },
          {
            jh: "少林寺",
            loc: "方丈室",
            name: "清乐比丘",
            name_tw: "清樂比丘",
            way: "jh 13;n;n;n;n;n;n;n;n;n",
            desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
          },
          {
            jh: "少林寺",
            loc: "方丈室",
            name: "清善比丘",
            way: "jh 13;n;n;n;n;n;n;n;n;n",
            desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
          },
          {
            jh: "少林寺",
            loc: "立雪亭",
            name: "清法比丘",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n",
            desc: "他是一位體格強健的壯年僧人,他生得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
          },
          {
            jh: "少林寺",
            loc: "立雪亭",
            name: "清观比丘",
            name_tw: "清觀比丘",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n",
            desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
          },
          { jh: "少林寺", loc: "立雪亭", name: "立雪亭", way: "jh 13;n;n;n;n;n;n;n;n;n;n", desc: "" },
          { jh: "少林寺", loc: "立雪亭", name: "白眉老僧", way: "jh 13;n;n;n;n;n;n;n;n;n;n", desc: "少林寺高僧,武功修為無人能知。" },
          {
            jh: "少林寺",
            loc: "院落",
            name: "慧真尊者",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;n",
            desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
          },
          {
            jh: "少林寺",
            loc: "院落",
            name: "慧虚尊者",
            name_tw: "慧虛尊者",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;n",
            desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
          },
          { jh: "少林寺", loc: "院落", name: "青松", way: "jh 13;n;n;n;n;n;n;n;n;n;n;n", desc: "天真無邪的小沙彌" },
          {
            jh: "少林寺",
            loc: "白衣殿",
            name: "冷幽兰",
            name_tw: "冷幽蘭",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;e",
            desc: "“吐秀喬林之下,盤根眾草之旁。雖無人而見賞,且得地而含芳。”她如同空谷幽蘭一般素雅靜謐,纖巧削細,面若凝脂,眉目如畫,神若秋水。",
          },
          {
            jh: "少林寺",
            loc: "千佛殿",
            name: "慧修尊者",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n",
            desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
          },
          { jh: "少林寺", loc: "千佛殿", name: "慧轮", name_tw: "慧輪", way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n", desc: "少林寺弟子,虛竹的師傅,武功修為平平。" },
          { jh: "少林寺", loc: "藥樓", name: "守药僧", name_tw: "守藥僧", way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n;e", desc: "一位守著少林藥樓的高僧。" },
          { jh: "少林寺", loc: "樹林", name: "砍柴僧", way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n;w", desc: "一名年輕僧人,身穿灰色僧衣。" },
          {
            jh: "少林寺",
            loc: "樹林",
            name: "道相禅师",
            name_tw: "道相禪師",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n;w",
            desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
          },
          {
            jh: "少林寺",
            loc: "火龍洞",
            name: "达摩老祖",
            name_tw: "達摩老祖",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n;w;n;get_silver",
            desc: "這是少林派的開山祖師達摩老祖他身材高大,看起來不知有多大年紀,目光如炬,神光湛然!",
          },
          {
            jh: "少林寺",
            loc: "地藏殿",
            name: "道一禅师",
            name_tw: "道一禪師",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;w",
            desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
          },
          {
            jh: "少林寺",
            loc: "地藏殿",
            name: "玄难大师",
            name_tw: "玄難大師",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;w",
            desc: "他是一位白須白眉的老僧,身穿一襲銀絲棕黃袈裟。他身材極瘦,兩手更象雞爪一樣。他雙目微閉,一副沒精打采的模樣。",
          },
          {
            jh: "少林寺",
            loc: "地藏殿",
            name: "道正禅师",
            name_tw: "道正禪師",
            way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;w",
            desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
          },
          {
            jh: "少林寺",
            loc: "茶室",
            name: "叶十二娘",
            name_tw: "葉十二孃",
            way: "jh 13;n;n;n;n;n;n;n;n;n;shaolin25_op1",
            desc: "頗有姿色的中年女子,一雙大眼裡似乎隱藏著無窮愁苦、無限傷心。",
          },
          {
            jh: "少林寺",
            loc: "西廂房",
            name: "玄苦大师",
            name_tw: "玄苦大師",
            way: "jh 13;n;n;n;n;n;n;n;n;w",
            desc: "他是一位白須白眉的老僧,身穿一襲銀絲棕黃袈裟。他身材瘦高,臉上滿布皺紋,手臂處青筋綻露,似乎久經風霜。",
          },
          {
            jh: "少林寺",
            loc: "西廂房",
            name: "慧合尊者",
            way: "jh 13;n;n;n;n;n;n;n;n;w",
            desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
          },
          {
            jh: "少林寺",
            loc: "西廂房",
            name: "慧洁尊者",
            name_tw: "慧潔尊者",
            way: "jh 13;n;n;n;n;n;n;n;n;w",
            desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
          },
          { jh: "少林寺", loc: "藏經閣二樓", name: "灰衣僧", way: "jh 13;n;n;n;n;n;n;n;shaolin27_op1", desc: "一名灰衣僧人,灰布蒙面,一雙眼睛裡透著過人的精明。" },
          {
            jh: "少林寺",
            loc: "藏經閣二樓",
            name: "萧远山",
            name_tw: "蕭遠山",
            way: "jh 13;n;n;n;n;n;n;n;shaolin27_op1",
            desc: "契丹絕頂高手之一,曾隨漢人學武,契丹鷹師總教頭。",
          },
          {
            jh: "少林寺",
            loc: "藏經閣三樓",
            name: "守经僧人",
            name_tw: "守經僧人",
            way: "jh 13;n;n;n;n;n;n;n;shaolin27_op1;event_1_34680156",
            desc: "似乎常年鎮守於藏經閣,稀稀疏疏的幾根長須已然全白,正拿著經書仔細研究。",
          },
          {
            jh: "少林寺",
            loc: "西禪房",
            name: "盈盈",
            way: "jh 13;n;n;n;n;n;n;w",
            desc: "魔教任教主之女,有傾城之貌,閉月之姿,流轉星眸顧盼生輝,發絲隨意披散,慵懶不羈。",
          },
          {
            jh: "少林寺",
            loc: "鼓樓",
            name: "道尘禅师",
            name_tw: "道塵禪師",
            way: "jh 13;n;n;n;n;w",
            desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
          },
          { jh: "少林寺", loc: "鼓樓", name: "狱卒", name_tw: "獄卒", way: "jh 13;n;n;n;n;w", desc: "一名看起來凶神惡煞的獄卒" },
          {
            jh: "少林寺",
            loc: "西碑林",
            name: "道成禅师",
            name_tw: "道成禪師",
            way: "jh 13;n;n;w",
            desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
          },
          { jh: "少林寺", loc: "西碑林", name: "挑水僧", way: "jh 13;n;n;w", desc: "一名年輕僧人,身穿灰色僧衣。" },
          {
            jh: "少林寺",
            loc: "土路",
            name: "道品禅师",
            name_tw: "道品禪師",
            way: "jh 13;n;w",
            desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
          },
          { jh: "少林寺", loc: "土路", name: "田鼠", way: "jh 13;n;w", desc: "一隻髒兮兮的田鼠,正在田間覓食。" },
          {
            jh: "少林寺",
            loc: "小院",
            name: "道觉禅师",
            name_tw: "道覺禪師",
            way: "jh 13;n;w;w",
            desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
          },
          { jh: "少林寺", loc: "小院", name: "小孩", way: "jh 13;n;w;w", desc: "一個農家小孩,不知道在這裡幹什麼。" },
          { jh: "唐門", loc: "南津關", name: "高一毅", way: "jh 14;e", desc: "五代十國神槍王后人,英氣勃發,目含劍氣。" },
          { jh: "唐門", loc: "張憲祠", name: "张之岳", name_tw: "張之嶽", way: "jh 14;e;event_1_10831808;n", desc: "張憲之子,身形高大,威風凜凜" },
          { jh: "唐門", loc: "", name: "紫衣剑客", name_tw: "紫衣劍客", way: "", desc: "傲然而立,一臉嚴肅,好像是在瞪著你一樣。" },
          { jh: "唐門", loc: "", name: "独臂剑客", name_tw: "獨臂劍客", way: "", desc: "他一生守護在這,劍重要過他的生命。" },
          { jh: "唐門", loc: "", name: "青衣剑客", name_tw: "青衣劍客", way: "", desc: "一個風程僕僕的俠客。" },
          { jh: "唐門", loc: "", name: "黑衣剑客", name_tw: "黑衣劍客", way: "", desc: "一身黑衣,手持長劍,就像世外高人一樣。" },
          { jh: "唐門", loc: "", name: "无情剑客", name_tw: "無情劍客", way: "", desc: "神秘的江湖俠客,如今在這裡不知道作甚麼。" },
          {
            jh: "唐門",
            loc: "浣花劍碑",
            name: "程倾城",
            name_tw: "程傾城",
            way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e",
            desc: "曾是兩淮一代最有天賦的年輕劍客,在觀海莊追殺徽北劇盜之戰一劍破對方七人刀陣,自此“傾城劍客”之名響徹武林。",
          },
          {
            jh: "唐門",
            loc: "浣花劍池入口",
            name: "无名剑客",
            name_tw: "無名劍客",
            way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e",
            desc: "一位沒有名字的劍客,他很可能是曾經冠絕武林的劍術高手。",
          },
          {
            jh: "唐門",
            loc: "瑤光池",
            name: "默剑客",
            name_tw: "默劍客",
            way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e",
            desc: "這是一個沉默不語的劍客,數年來不曾說過一句話,專注地參悟著劍池絕學。",
          },
          {
            jh: "唐門",
            loc: "破軍劍閣",
            name: "竺霁庵",
            name_tw: "竺霽庵",
            way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n",
            desc: "湖竺家一門七進士,竺霽庵更是天子門生獨佔鰲頭,隨身喜攜帶一柄折扇。後因朝廷亂政心灰意冷,棄仕從武,更拜入少林成為俗家弟子。不足二十三歲便學盡少林絕學,武功臻至登峰造極之化境。後在燕北之地追兇時偶遇當時也是少年的鹿熙吟和謝麟玄,三人聯手血戰七日,白袍盡赤,屠盡太行十八夜騎。三人意氣相投,志同道合,結為異姓兄弟,在鹿謝二人引薦下,終成為浣花劍池這一代的破軍劍神。",
          },
          {
            jh: "唐門",
            loc: "武曲劍閣",
            name: "甄不恶",
            name_tw: "甄不惡",
            way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne",
            desc: "他的相貌看起來是那麼寧靜淡泊、眼睛眉毛都透著和氣,嘴角彎彎一看就象個善笑的人。他不象個俠客,倒象一個孤隱的君子。不瞭解的人總是懷疑清秀如竹的他怎麼能拿起手中那把重劍?然而,他確是浣花劍派最嫉惡如仇的劍神,武林奸邪最懼怕的名字,因為當有惡人聽到『甄不惡』被他輕輕從嘴裡吐出,那便往往是他聽到的最後三個字。",
          },
          {
            jh: "唐門",
            loc: "廉貞劍閣",
            name: "素厉铭",
            name_tw: "素厲銘",
            way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e",
            desc: "本是淮南漁家子弟,也並無至高的武學天賦,然其自幼喜觀察魚蟲鳥獸,竟不自覺地悟出了一套氣脈運轉的不上心法。後因此絕學獲難,被千夜旗餘孽追殺,欲奪其心法為己用。上代封山劍主出手相救,並送至廉貞劍神門下,專心修煉內功,最終竟憑藉其一顆不二之心,成就一代劍神。",
          },
          {
            jh: "唐門",
            loc: "七殺劍閣",
            name: "骆祺樱",
            name_tw: "駱祺櫻",
            way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e;se",
            desc: "塞外武學世家駱家家主的千金,自幼聰慧無比,年紀輕輕便習盡駱家絕學,十八歲通過劍池試煉,成為劍池數百年來最年輕的七殺劍神。她雙眸似水,卻帶著談談的冰冷,似乎能看透一切;四肢纖長,有仙子般脫俗氣質。她一襲白衣委地,滿頭青絲用蝴蝶流蘇淺淺綰起,雖峨眉淡掃,不施粉黛,卻仍然掩不住她的絕世容顏。",
          },
          {
            jh: "唐門",
            loc: "天梁劍閣",
            name: "谢麟玄",
            name_tw: "謝麟玄",
            way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e;se;s;se",
            desc: "一襲青緞長衫,儒雅中透著英氣,好一個翩翩公子。書香門第之後,其劍學領悟大多出自絕世的琴譜,棋譜,和書畫,劍法狂放不羈,處處不合武學常理,卻又有著難以言喻的寫意和瀟灑。他擅長尋找對手的薄弱環節,猛然一擊,敵陣便土崩瓦解。",
          },
          {
            jh: "唐門",
            loc: "巨門劍閣",
            name: "祝公博",
            way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e;se;s;se;e",
            desc: "曾經的湘西農家少年,全家遭遇匪禍,幸得上一代巨門劍神出手相救。劍神喜其非凡的武學天賦和不捨不棄的勤奮,收作關門弟子,最終得以承接巨門劍神衣缽。祝公博嫉惡如仇,公正不阿,視天道正義為世間唯一準則。",
          },
          {
            jh: "唐門",
            loc: "紫薇池",
            name: "黄衫少女",
            name_tw: "黃衫少女",
            way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e;se;s;se;e;ne",
            desc: "身著鵝黃裙衫的少女,一席華貴的栗色秀發真達腰際,碧色的瞳孔隱隱透出神秘。她見你走過來,衝你輕輕一笑。",
          },
          {
            jh: "唐門",
            loc: "貪狼劍閣",
            name: "鹿熙吟",
            way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e;se;s;se;e;ne;n",
            desc: "浣花劍派當世的首席劍神,他身形挺拔,目若朗星。雖然已是中年,但歲月的雕琢更顯出他的氣度。身為天下第一劍派的首席,他待人和善,卻又不怒自威。百曉公見過鹿熙吟之後,驚為天人,三月不知如何下筆,最後據說在百曉圖錄貪狼劍神鹿熙吟那一頁,只留下了兩個字:不凡。他的家世出身是一個迷,從來無人知曉。",
          },
          { jh: "唐門", loc: "唐門牌坊", name: "唐门弟子", name_tw: "唐門弟子", way: "jh 14;w;n", desc: "這是唐門的弟子,不苟言笑。" },
          { jh: "唐門", loc: "唐門廚房", name: "唐门弟子", name_tw: "唐門弟子", way: "jh 14;w;n;n;n;e;s", desc: "這是唐門的弟子,不苟言笑。" },
          {
            jh: "唐門",
            loc: "唐門前院",
            name: "唐风",
            name_tw: "唐風",
            way: "jh 14;w;n;n",
            desc: "唐風是唐門一個神秘之人,世人對他知之甚少。他在唐門默默地傳授武藝,極少說話。",
          },
          { jh: "唐門", loc: "狹長小道", name: "唐看", way: "jh 14;w;n;n;n", desc: "這是嫡系死士之一,一身的功夫卻是不凡。" },
          { jh: "唐門", loc: "練武廣場", name: "黄色唐门弟子", name_tw: "黃色唐門弟子", way: "jh 14;w;n;n;n;e;e;n", desc: "" },
          { jh: "唐門", loc: "練武廣場", name: "唐健", way: "jh 14;w;n;n;n;e;e;n", desc: "他身懷絕技,心氣也甚高。" },
          { jh: "唐門", loc: "練武廣場", name: "(黄色)唐门弟子", name_tw: "(黃色)唐門弟子", way: "jh 14;w;n;n;n;e;e;n", desc: "這是唐門的弟子,不苟言笑。" },
          { jh: "唐門", loc: "授藝亭", name: "唐舌", way: "jh 14;w;n;n;n;e;e;n;e", desc: "這是嫡系死士之一,一身的功夫卻是不凡。用毒高手。" },
          { jh: "唐門", loc: "後院", name: "唐情", way: "jh 14;w;n;n;n;e;e;n;n", desc: "一個小女孩,十分可愛。" },
          { jh: "唐門", loc: "後院", name: "唐刚", name_tw: "唐剛", way: "jh 14;w;n;n;n;e;e;n;n", desc: "一個尚未成年的小男孩,但也已經開始學習唐門的武藝。" },
          {
            jh: "唐門",
            loc: "地室",
            name: "欧阳敏",
            name_tw: "歐陽敏",
            way: "jh 14;w;n;n;n;e;e;n;n;ask tangmen_tangmei;ask tangmen_tangmei;e;唐門:拜箭亭^兵器室;n;n",
            desc: "一個老婦人,眼睛中射出道道精光,一看就是武藝高強之人。",
          },
          { jh: "唐門", loc: "會客室", name: "方媃", way: "jh 14;w;n;n;n;n", desc: "一個美麗的中年婦女,使得一手好暗器。" },
          { jh: "唐門", loc: "會客室", name: "唐怒", way: "jh 14;w;n;n;n;n", desc: "唐門門主,在江湖中地位很高。" },
          { jh: "唐門", loc: "東側房", name: "唐鹤", name_tw: "唐鶴", way: "jh 14;w;n;n;n;w;s", desc: "唐門中的高層,野心很大,一直想將唐門稱霸武林。" },
          { jh: "唐門", loc: "唐鏢臥室", name: "唐镖", name_tw: "唐鏢", way: "jh 14;w;n;n;n;w;w;s", desc: "唐門中所有的絕門鏢法,他都會用。" },
          { jh: "唐門", loc: "唐芳臥室", name: "唐芳", way: "jh 14;w;n;n;n;w;w;w;n", desc: "雖然是一個少女,但武藝已達精進之境界了。" },
          { jh: "唐門", loc: "唐緣臥室", name: "唐缘", name_tw: "唐緣", way: "jh 14;w;n;n;n;w;w;w;s", desc: "人如其名,雖然年幼,但已是能看出美人胚子了。" },
          { jh: "青城山", loc: "練武場", name: "白衣镖师", name_tw: "白衣鏢師", way: "jh 15;s;s;s;w;w;s;s", desc: "這個鏢師穿著一身白衣。" },
          { jh: "青城山", loc: "青城大門", name: "侯老大", way: "jh 15;n;nw;w;nw;w;s;s", desc: "他就是「英雄豪傑,青城四秀」之一,武功也遠高同門。" },
          { jh: "青城山", loc: "福州大街", name: "福州捕快", way: "jh 15;s;s;s;s;s", desc: "福州的捕快,整天懶懶散散,不務正業。" },
          { jh: "青城山", loc: "福州南門", name: "童泽", name_tw: "童澤", way: "jh 15;s;s;s;s;s;s", desc: "一個青年人,眼神有悲傷、亦有仇恨。" },
          { jh: "青城山", loc: "石拱橋", name: "童隆", way: "jh 15;s;s;s;s;s;s;sw", desc: "一個眼神兇惡的老頭,身材有點佝僂。" },
          { jh: "青城山", loc: "", name: "林老镖头", name_tw: "林老鏢頭", way: ".靠謎題飛", desc: "他就是「福武鏢局」的總鏢頭。" },
          { jh: "青城山", loc: "北郊", name: "海公公", way: "jh 15", desc: "海公公是皇帝身邊的紅人,不知為什麼在此?" },
          { jh: "青城山", loc: "小徑", name: "游方郎中", name_tw: "遊方郎中", way: "jh 15;n", desc: "一個到處販賣藥材的赤腳醫生。" },
          {
            jh: "青城山",
            loc: "龍晶石洞",
            name: "孽龙之灵",
            name_tw: "孽龍之靈",
            way: "jh 15;n;nw;w;nw;n;event_1_14401179",
            desc: "當年為害岷水的孽龍,為李冰父子收服,魂魄不散,凝聚於此,看守洞內龍魄。",
          },
          { jh: "青城山", loc: "龍晶石洞", name: "孽龙分身", name_tw: "孽龍分身", way: "jh 15;n;nw;w;nw;n;event_1_14401179", desc: "孽龍分身,不可小視。" },
          { jh: "青城山", loc: "龍晶石洞", name: "暗甲盟主", way: "jh 15;n;nw;w;nw;n;event_1_14401179;event_1_80293122;n;n", desc: "暗誓盟巴蜀據點的盟主。" },
          {
            jh: "青城山",
            loc: "龍晶石洞",
            name: "暗甲将领",
            name_tw: "暗甲將領",
            way: "jh 15;n;nw;w;nw;n;event_1_14401179;event_1_80293122;n;n",
            desc: "一個風程僕僕的俠客。",
          },
          { jh: "青城山", loc: "青城大門", name: "青城弟子", way: "jh 15;n;nw;w;nw;w;s;s", desc: "青城派的弟子,年紀剛過二十,武藝不錯,資質上乘。" },
          { jh: "青城山", loc: "青城大門", name: "严月青", name_tw: "嚴月青", way: "jh 15;n;nw;w;nw;w;s;s", desc: "他就是「英雄豪傑,青城四秀」之一,武功也遠高同門。" },
          { jh: "青城山", loc: "青城大門", name: "青城派弟子", way: "jh 15;n;nw;w;nw;w;s;s", desc: "青城派的弟子,年紀剛過二十,武藝還過得去。" },
          { jh: "青城山", loc: "解劍石", name: "申月富", way: "jh 15;n;nw;w;nw;w;s;s;s", desc: "他就是「英雄豪傑,青城四秀」之一,武功也遠高同門。" },
          { jh: "青城山", loc: "演武堂", name: "吉人英", way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w", desc: "他就是和申人俊焦孟不離的吉人通。" },
          {
            jh: "青城山",
            loc: "小室",
            name: "贾老二",
            name_tw: "賈老二",
            name_new: "孟月城",
            way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w;n",
            desc: "他就是「青城派」中最為同門不齒、最下達的傢伙。",
          },
          {
            jh: "青城山",
            loc: "松風觀",
            name: "余大掌门",
            name_tw: "餘大掌門",
            name_new: "呂朝陽",
            way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w;w",
            desc: "青城派十八代掌門人",
          },
          {
            jh: "青城山",
            loc: "青城走廊",
            name: "黄袍老道",
            name_tw: "黃袍老道",
            way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w;w;n",
            desc: "一個穿著黃色道袍的老道士。",
          },
          { jh: "青城山", loc: "青城走廊", name: "青袍老道", way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w;w;n", desc: "一個穿著青色道袍的老道士。" },
          {
            jh: "青城山",
            loc: "青城山走廊",
            name: "于老三",
            name_tw: "於老三",
            way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w;w;n;w",
            desc: "他就是「英雄豪傑,青城四秀」之一,武功也遠高同門。",
          },
          { jh: "青城山", loc: "義莊", name: "仵作", way: "jh 15;s;ne", desc: "這是福州城外的一個仵作,專門檢驗命案死屍。" },
          { jh: "青城山", loc: "福州大街", name: "恶少", name_tw: "惡少", way: "jh 15;s;s", desc: "這是福州城中人見人惡的惡少,最好別惹。" },
          { jh: "青城山", loc: "福州大街", name: "仆人", name_tw: "僕人", way: "jh 15;s;s", desc: "惡少帶著這個僕人,可是威風得緊的。" },
          { jh: "青城山", loc: "小肉鋪", name: "屠夫", way: "jh 15;s;s;e", desc: "一個賣肉的屠夫。" },
          { jh: "青城山", loc: "四季花店", name: "小甜", way: "jh 15;s;s;s;e", desc: "花店中賣花的姑娘,花襯人臉,果然美不勝收。" },
          { jh: "青城山", loc: "書院", name: "读千里", name_tw: "讀千里", way: "jh 15;s;s;s;s;e", desc: "此人學富五車,搖頭晃腦,只和人談史論經。" },
          { jh: "青城山", loc: "福州官衙", name: "福州府尹", way: "jh 15;s;s;s;s;s;e", desc: "此人官架子很大。" },
          {
            jh: "青城山",
            loc: "劍廬",
            name: "背剑老人",
            name_tw: "背劍老人",
            way: "jh 15;s;s;s;s;s;s;s;s;s;e;s",
            desc: "揹著一把普通的劍,神態自若,似乎有一股劍勢與圍於週身,退隱江湖幾十年,如今沉醉於花道。",
          },
          { jh: "青城山", loc: "小河邊", name: "木道神", name_new: "林長老", way: "jh 15;s;s;s;s;s;s;w", desc: "他是青城山的祖師級人物了,年紀雖大,但看不出歲月滄桑。" },
          { jh: "青城山", loc: "武器店", name: "兵器贩子", name_tw: "兵器販子", way: "jh 15;s;s;s;s;w", desc: "一個販賣兵器的男子,看不出有什麼來歷。" },
          { jh: "青城山", loc: "鏢局車站", name: "阿美", way: "jh 15;s;s;s;w;w;n", desc: "此人三十來歲,專門福州駕駛馬車。" },
          { jh: "青城山", loc: "練武場", name: "红衣镖师", name_tw: "紅衣鏢師", way: "jh 15;s;s;s;w;w;s;s", desc: "這個鏢師穿著一身紅衣。" },
          { jh: "青城山", loc: "練武場", name: "黄衣镖师", name_tw: "黃衣鏢師", way: "jh 15;s;s;s;w;w;s;s", desc: "這個鏢師穿著一身黃衣。" },
          { jh: "青城山", loc: "練武場", name: "镖局弟子", name_tw: "鏢局弟子", way: "jh 15;s;s;s;w;w;s;s", desc: "福威鏢局的弟子。" },
          { jh: "青城山", loc: "內宅", name: "林师弟", name_tw: "林師弟", way: "jh 15;s;s;s;w;w;w;w;w;n", desc: "林師弟是華山眾最小的一個弟子。" },
          { jh: "青城山", loc: "無醉酒家", name: "店小二", way: "jh 15;s;s;w", desc: "這個店小二忙忙碌碌,招待客人手腳利索。" },
          { jh: "青城山", loc: "無醉酒家", name: "酒店老板", name_tw: "酒店老闆", way: "jh 15;s;s;w", desc: "酒店老闆是福州城有名的富人。" },
          { jh: "青城山", loc: "酒家二樓", name: "女侍", way: "jh 15;s;s;w;n", desc: "這是一個女店小二,在福州城內,可是獨一無二哦。" },
          { jh: "青城山", loc: "酒家二樓", name: "酒店女老板", name_tw: "酒店女老闆", way: "jh 15;s;s;w;n", desc: "一個漂亮的女老闆,體格風騷。" },
          {
            jh: "逍遙林",
            loc: "石室",
            name: "逍遥祖师",
            name_tw: "逍遙祖師",
            way: "jh 16;s;s;s;s;e;n;e;event_1_5221690;s;w;event_1_57688376;n;n;event_1_38333366;event_1_38333366;event_1_38333366;event_1_38333366;event_1_38333366;event_1_38333366;event_1_38333366;place?石室",
            desc: "他就是逍遙派開山祖師、但是因為逍遙派屬於一個在江湖中的秘密教派,所以他在江湖中不是很多人知道,但其實他的功夫卻是。。。。他年滿七旬,滿臉紅光,須眉皆白。",
          },
          {
            jh: "逍遙林",
            loc: "林間小道",
            name: "吴统领",
            name_tw: "吳統領",
            way: "jh 16;s;s;s;s;e;e;s;w",
            desc: "他雅擅丹青,山水人物,翎毛花卉,並皆精巧。拜入師門之前,在大宋朝廷做過領軍將軍之職,因此大家便叫他吳統領。",
          },
          { jh: "逍遙林", loc: "林間小道", name: "蒙面人", way: "jh 16;s;s;s;s;e;e;s;w", desc: "一個蒙著面部,身穿黑色夜行衣服的神秘人。" },
          { jh: "逍遙林", loc: "石屋", name: "范棋癡", name_tw: "範棋癡", way: "jh 16;s;s;s;s;e;e;s;w;n", desc: "他師從聰辯先生,學的是圍棋,當今天下,少有敵手" },
          {
            jh: "逍遙林",
            loc: "工匠屋",
            name: "冯巧匠",
            name_tw: "馮巧匠",
            way: "jh 16;s;s;s;s;e;e;s;w;s;s",
            desc: "據說他就是魯班的後人,本來是木匠出身。他在精於土木工藝之學,當代的第一巧匠,設計機關的能手。",
          },
          {
            jh: "逍遙林",
            loc: "青草坪",
            name: "苏先生",
            name_tw: "蘇先生",
            way: "jh 16;s;s;s;s;e;e;s;w;w",
            desc: "此人就是蘇先生,據說他能言善辯,是一個武林中的智者,而他的武功也是無人能知。",
          },
          {
            jh: "逍遙林",
            loc: "林間小道",
            name: "石师妹",
            name_tw: "石師妹",
            way: "jh 16;s;s;s;s;e;e;s;w;w;n",
            desc: "師妹,精於蒔花,天下她精於蒔花,天下的奇花異卉,一經她的培植,無不欣欣向榮。",
          },
          { jh: "逍遙林", loc: "小木屋", name: "薛神医", name_tw: "薛神醫", way: "jh 16;s;s;s;s;e;e;s;w;w;n;n", desc: "據說他精通醫理,可以起死回生。" },
          {
            jh: "逍遙林",
            loc: "木屋",
            name: "康琴癫",
            name_tw: "康琴癲",
            way: "jh 16;s;s;s;s;e;e;s;w;w;s;s",
            desc: "只見他高額凸顙,容貌奇古,笑眯眯的臉色極為和謨,手中抱著一具瑤琴。",
          },
          {
            jh: "逍遙林",
            loc: "林間小道",
            name: "苟书癡",
            name_tw: "苟書癡",
            name_new: "張通鑑",
            way: "jh 16;s;s;s;s;e;e;s;w;w;w",
            desc: "他看上去也是幾十歲的人了,性好讀書,諸子百家,無所不窺,是一位極有學問的宿儒,卻是純然一個書呆子的模樣。",
          },
          {
            jh: "逍遙林",
            loc: "酒家",
            name: "李唱戏",
            name_tw: "李唱戲",
            way: "jh 16;s;s;s;s;e;e;s;w;w;w;w;s",
            desc: "他看起來青面獠牙,紅發綠須,形狀可怕之極,直是個妖怪,身穿一件亮光閃閃的錦袍。他一生沉迷扮演戲文,瘋瘋顛顛,於這武學一道,不免疏忽了。",
          },
          {
            jh: "逍遙林",
            loc: "石室",
            name: "天山姥姥",
            name_new: "童冰煙",
            way: "jh 16;s;s;s;s;e;n;e;event_1_5221690;s;w;event_1_57688376;n;n;e;n;event_1_88625473;event_1_82116250;event_1_90680562;event_1_38586637",
            desc: "她乍一看似乎是個十七八歲的女子,可神情卻是老氣橫秋。雙目如電,炯炯有神,向你瞧來時,自有一股淩人的威嚴。",
          },
          { jh: "逍遙林", loc: "馬幫駐地", name: "常一恶", name_tw: "常一惡", way: "jh 16;s;s;s;s;e;n;e;event_1_56806815", desc: "馬幫幫主,總管事,喜歡錢財的老狐狸。" },
          {
            jh: "開封",
            loc: "禦街南",
            name: "白玉堂",
            way: "jh 17;n",
            desc: "金華人氏,因少年華美,氣宇不凡,文武雙全,故人稱'錦毛鼠'。他武藝高強、聰明特達、性情高傲、正邪分明、扶危濟困、行俠仗義、渾身是膽、為國為民,後被宋仁宗讚賞。",
          },
          { jh: "開封", loc: "沿河大街", name: "玄衣少年", way: "jh 17;n;n;e;e", desc: "一身玄衣的一個少年,似乎對開封的繁華十分嚮往。" },
          {
            jh: "開封",
            loc: "禦碑亭",
            name: "七煞堂总舵主",
            name_tw: "七煞堂總舵主",
            way: "jh 17;e;s;s;s;e;kaifeng_yuwangtai23_op1",
            desc: "這是七煞堂總舵主,看起道貌岸然,但眼神藏有極深的戾氣。",
          },
          {
            jh: "開封",
            loc: "禦碑亭",
            name: "七煞堂护法",
            name_tw: "七煞堂護法",
            way: "jh 17;e;s;s;s;e;kaifeng_yuwangtai23_op1",
            desc: "武功高強的護衛,乃總舵主的貼身心腹。",
          },
          { jh: "開封", loc: "貢院", name: "张老知府", name_tw: "張老知府", way: "jh 17;n;n;n;e", desc: "開封的前任知府大人,如今雖退休多年,但仍然憂國憂民。" },
          { jh: "開封", loc: "朱雀門", name: "骆驼", name_tw: "駱駝", way: "jh 17", desc: "這是一條看起來有些疲憊的駱駝。" },
          { jh: "開封", loc: "官道", name: "官兵", way: "jh 17;e", desc: "這是一名官兵,雖然武藝不能跟武林人士比,但他們靠的是人多力量大。" },
          { jh: "開封", loc: "樹林", name: "七煞堂弟子", way: "jh 17;e;s", desc: "江湖上臭名昭著的七煞堂弟子,最近經常聚集在禹王台,不知道有什麼陰謀。" },
          { jh: "開封", loc: "菊園小徑", name: "七煞堂打手", way: "jh 17;e;s;s", desc: "七煞堂打手,還有點功夫的。" },
          { jh: "開封", loc: "前院", name: "七煞堂护卫", name_tw: "七煞堂護衛", way: "jh 17;e;s;s;s;s", desc: "七煞堂護衛,似乎有一身武藝。" },
          { jh: "開封", loc: "禹王廟", name: "七煞堂堂主", way: "jh 17;e;s;s;s;s;s", desc: "這是七煞堂堂主,看起來一表人才,不過據說手段極為殘忍。" },
          { jh: "開封", loc: "羊腸小道", name: "毒蛇", way: "jh 17;event_1_97081006", desc: "一條劇毒的毒蛇。" },
          { jh: "開封", loc: "野豬林入口", name: "野猪", name_tw: "野豬", way: "jh 17;event_1_97081006;s", desc: "一隻四肢強健的野豬,看起來很餓。" },
          { jh: "開封", loc: "荊棘叢", name: "黑鬃野猪", name_tw: "黑鬃野豬", way: "jh 17;event_1_97081006;s;s;s;s", desc: "這是一直體型較大的野豬,一身黑色鬃毛。" },
          {
            jh: "開封",
            loc: "野豬窩",
            name: "野猪王",
            name_tw: "野豬王",
            way: "jh 17;event_1_97081006;s;s;s;s;s",
            desc: "這是野豬比普通野豬體型大了近一倍,一身棕褐色鬃毛豎立著,看起來很兇殘。",
          },
          { jh: "開封", loc: "雜草小路", name: "野猪", name_tw: "野豬", way: "jh 17;event_1_97081006;s;s;s;s;s;w", desc: "一隻四肢強健的野豬,看起來很餓。" },
          {
            jh: "開封",
            loc: "破爛小屋",
            name: "白面人",
            name_tw: "白麵人",
            way: "jh 17;event_1_97081006;s;s;s;s;s;w;kaifeng_yezhulin05_op1",
            desc: "一個套著白色長袍,帶著白色面罩的人,猶如鬼魅,讓人見之心寒。",
          },
          {
            jh: "開封",
            loc: "木屋據點",
            name: "鹤发老人",
            name_tw: "鶴發老人",
            way: "jh 17;event_1_97081006;s;s;s;s;s;w;w",
            desc: "此人愚鈍好酒,但武功卓絕,乃是一代武林高手。經常與鹿杖老人同闖武林。",
          },
          {
            jh: "開封",
            loc: "木屋據點",
            name: "鹿杖老人",
            way: "jh 17;event_1_97081006;s;s;s;s;s;w;w",
            desc: "此人好色奸詐,但武功卓絕,乃是一代武林高手。經常與鶴發老人同闖武林。",
          },
          { jh: "開封", loc: "禦街南", name: "灯笼小贩", name_tw: "燈籠小販", way: "jh 17;n", desc: "這是一個勤勞樸實的手藝人,據說他做的燈籠明亮又防風。" },
          { jh: "開封", loc: "禦街南", name: "小男孩", way: "jh 17;n", desc: "一個衣衫襤褸,面有飢色的10多歲小男孩,正跪在大堂前,眼裡佈滿了絕望!" },
          { jh: "開封", loc: "開封府", name: "欧阳春", name_tw: "歐陽春", way: "jh 17;n;e", desc: "這是大名鼎鼎的北俠。" },
          { jh: "開封", loc: "開封府", name: "展昭", way: "jh 17;n;e", desc: "這就是大名鼎鼎的南俠。" },
          {
            jh: "開封",
            loc: "開封府大堂",
            name: "包拯",
            way: "jh 17;n;e;s",
            desc: "他就是朝中的龍圖大學士包丞相。只見他面色黝黑,相貌清奇,氣度不凡。讓你不由自主,好生敬仰。",
          },
          { jh: "開封", loc: "州橋", name: "皮货商", name_tw: "皮貨商", way: "jh 17;n;n", desc: "這是一位皮貨商,他自己也是滿身皮裘。" },
          { jh: "開封", loc: "汴河大街東", name: "武官", way: "jh 17;n;n;e", desc: "這名武官看起來養尊處優,不知道能不能出征打仗。" },
          { jh: "開封", loc: "沿河大街", name: "菜贩子", name_tw: "菜販子", way: "jh 17;n;n;e;e", desc: "一個老實巴交的農民,賣些新鮮的蔬菜" },
          {
            jh: "開封",
            loc: "汴河碼頭",
            name: "码头工人",
            name_tw: "碼頭工人",
            way: "jh 17;n;n;e;e;n",
            desc: "這是一名膀大腰圓的碼頭工人,也許不會什麼招式,但力氣肯定是有的。",
          },
          {
            jh: "開封",
            loc: "客船",
            name: "落魄书生",
            name_tw: "落魄書生",
            way: "jh 17;n;n;e;e;n;get_silver",
            desc: "一名衣衫襤褸的書生,右手搖著一柄破扇,面色焦黃,兩眼無神。",
          },
          { jh: "開封", loc: "貨運棧", name: "船老大", way: "jh 17;n;n;e;e;n;n", desc: "看起來精明能幹的中年男子,堅毅的眼神讓人心生敬畏。" },
          { jh: "開封", loc: "王家紙馬店", name: "王老板", name_tw: "王老闆", way: "jh 17;n;n;e;e;s", desc: "王家紙馬店老闆,為人熱誠。" },
          { jh: "開封", loc: "石拱門", name: "高衙内", name_tw: "高衙內", way: "jh 17;n;n;e;s", desc: "這就是開封府內惡名遠揚的高衙內,專一愛調戲淫辱良家婦女。" },
          {
            jh: "開封",
            loc: "八寶琉璃殿",
            name: "护寺僧人",
            name_tw: "護寺僧人",
            way: "jh 17;n;n;e;s;s",
            desc: "他是一位身材高大的青年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲白布鑲邊袈裟,似乎有一身武藝。",
          },
          {
            jh: "開封",
            loc: "後院",
            name: "烧香老太",
            name_tw: "燒香老太",
            way: "jh 17;n;n;e;s;s;s",
            desc: "一個見佛燒香的老太太,花白的頭發鬆散的梳著發髻,滿是皺紋的臉上愁容密佈。",
          },
          { jh: "開封", loc: "明廊", name: "泼皮", name_tw: "潑皮", way: "jh 17;n;n;e;s;s;s;e", desc: "大相國寺附近的潑皮,常到菜園中偷菜。" },
          { jh: "開封", loc: "菜地", name: "老僧人", way: "jh 17;n;n;e;s;s;s;e;e", desc: "一個老朽的僧人,臉上滿是皺紋,眼睛都睜不開來了" },
          { jh: "開封", loc: "柴房", name: "烧火僧人", name_tw: "燒火僧人", way: "jh 17;n;n;e;s;s;s;e;s", desc: "一名專職在灶下燒火的僧人。" },
          {
            jh: "開封",
            loc: "竹林小徑",
            name: "张龙",
            name_tw: "張龍",
            way: "jh 17;n;n;e;s;s;s;s",
            desc: "這便是開封府霍霍有名的捕頭張龍,他身體強壯,看上去武功不錯。",
          },
          { jh: "開封", loc: "放生池", name: "孔大官人", way: "jh 17;n;n;e;s;s;s;s;w", desc: "開封府中的富戶,最近家中似乎有些變故。" },
          { jh: "開封", loc: "素齋廚", name: "素斋师傅", name_tw: "素齋師傅", way: "jh 17;n;n;e;s;s;s;w", desc: "在寺廟中燒飯的和尚。" },
          { jh: "開封", loc: "禦街北", name: "李四", way: "jh 17;n;n;n", desc: "他長得奸嘴猴腮的,一看就不像是個好人。" },
          { jh: "開封", loc: "貢院", name: "陈举人", name_tw: "陳舉人", way: "jh 17;n;n;n;e", desc: "看起來有些酸腐的書生,正在查看貢院佈告牌。" },
          {
            jh: "開封",
            loc: "西角樓大街",
            name: "流浪汉",
            name_tw: "流浪漢",
            way: "jh 17;n;n;n;n",
            desc: "這是一名看上去老實巴交的流浪漢,聽說他跟官府有交情,最好不要招惹。",
          },
          { jh: "開封", loc: "雅瓷軒", name: "富家弟子", way: "jh 17;n;n;n;n;e", desc: "一個白白胖胖的年輕人,一看就知道是嬌生慣養慣的富家子。" },
          { jh: "開封", loc: "天波門", name: "赵虎", name_tw: "趙虎", way: "jh 17;n;n;n;n;n", desc: "這便是開封府霍霍有名的捕頭趙虎,他身體強壯,看上去武功不錯。" },
          { jh: "開封", loc: "溪邊小路", name: "踏青妇人", name_tw: "踏青婦人", way: "jh 17;n;n;n;n;n;e", desc: "春天出來遊玩的婦人,略有姿色。" },
          { jh: "開封", loc: "瓦屋", name: "平夫人", way: "jh 17;n;n;n;n;n;e;n;n", desc: "方面大耳,眼睛深陷,臉上全無血色。" },
          { jh: "開封", loc: "柳樹林", name: "恶狗", name_tw: "惡狗", way: "jh 17;n;n;n;n;n;e;n;n;n", desc: "這是一條看家護院的惡狗。" },
          {
            jh: "開封",
            loc: "煉藥房",
            name: "平怪医",
            name_tw: "平怪醫",
            way: "jh 17;n;n;n;n;n;e;n;n;n;event_1_27702191",
            desc: "他身材矮胖,腦袋極大,生兩撇鼠須,搖頭晃腦,形相十分滑稽。",
          },
          {
            jh: "開封",
            loc: "天波府",
            name: "杨排风",
            name_tw: "楊排風",
            way: "jh 17;n;n;n;n;w",
            desc: "容貌俏麗,風姿綽約,自幼在天波楊門長大,性情爽直勇敢,平日裡常跟穆桂英練功習武,十八般武藝樣樣在行。曾被封為“徵西先鋒將軍”,大敗西夏國元帥殷奇。因為是燒火丫頭出身,且隨身武器是燒火棍,所以被宋仁宗封為“火帥”。又因為,民間稱讚其為“紅顏火帥”。",
          },
          { jh: "開封", loc: "天波府", name: "天波侍卫", name_tw: "天波侍衛", way: "jh 17;n;n;n;n;w", desc: "天波府侍衛,個個均是能征善戰的勇士!" },
          {
            jh: "開封",
            loc: "中院",
            name: "柴郡主",
            way: "jh 17;n;n;n;n;w;w;w",
            desc: "六郎之妻,為後週世宗柴榮之女,宋太祖趙匡胤敕封皇御妹金花郡主。一名巾幗英雄、女中豪傑,成為當時著名的楊門女將之一,有當時天下第一美女之稱。",
          },
          {
            jh: "開封",
            loc: "北院",
            name: "穆桂英",
            way: "jh 17;n;n;n;n;w;w;w;n;n",
            desc: "穆柯寨穆羽之女,有沉魚落雁之容,且武藝超群,巾幗不讓須眉。傳說有神女傳授神箭飛刀之術。因陣前與楊宗保交戰,穆桂英生擒宗保並招之成親,歸於楊家將之列,為楊門女將中的傑出人物。",
          },
          {
            jh: "開封",
            loc: "演兵場",
            name: "杨文姬",
            name_tw: "楊文姬",
            way: "jh 17;n;n;n;n;w;w;w;n;n;w",
            desc: "乃天波楊門么女。體態文秀儒雅、有驚鴻之貌,集萬千寵愛於一身,被楊門一族視為掌上明珠。其武學集楊門之大成,卻又脫胎於楊門自成一格,實屬武林中不可多得的才女。",
          },
          { jh: "開封", loc: "回廊", name: "侍女", way: "jh 17;n;n;n;n;w;w;w;s", desc: "一個豆蔻年華的小姑娘,看其身手似也是有一點武功底子的呢。" },
          {
            jh: "開封",
            loc: "天波碧潭",
            name: "佘太君",
            way: "jh 17;n;n;n;n;w;w;w;s;s;w",
            desc: "名將之女,自幼受其父兄武略的影響,青年時候就成為一名性機敏、善騎射,文武雙全的女將。她與普通的大家閨秀不同,她研習兵法,頗通將略,把戍邊御侵、保衛疆域、守護中原民眾為己任,協助父兄練兵把關,具備巾幗英雄的氣度。夫君邊關打仗,她在楊府內組織男女僕人丫環習武,僕人的武技和忠勇之氣個個都不亞於邊關的士兵。",
          },
          {
            jh: "開封",
            loc: "天波樓",
            name: "杨延昭",
            name_tw: "楊延昭",
            way: "jh 17;n;n;n;n;w;w;w;w",
            desc: "楊延昭是北宋抗遼名將楊業的長子,契丹人認為北斗七星中的第六顆主鎮幽燕北方,是他們的剋星,遼人將他看做是天上的六郎星宿下凡,故稱為楊六郎。",
          },
          { jh: "開封", loc: "汴河大街西", name: "新郎官", way: "jh 17;n;n;w", desc: "這是一名披著大紅花的新郎官,臉上喜氣洋洋。" },
          { jh: "開封", loc: "稻香居", name: "混混张三", name_tw: "混混張三", way: "jh 17;n;n;w;n", desc: "他長得奸嘴猴腮的,一看就不像是個好人。" },
          { jh: "開封", loc: "稻香居二樓", name: "铁翼", name_tw: "鐵翼", way: "jh 17;n;n;w;n;n", desc: "他是大旗門的元老。他剛正不阿,鐵骨諍諍。" },
          { jh: "開封", loc: "稻香居二樓", name: "刘财主", name_tw: "劉財主", way: "jh 17;n;n;w;n;n", desc: "開封府中的富戶,看起來腦滿腸肥,養尊處優。" },
          { jh: "開封", loc: "藥鋪", name: "赵大夫", name_tw: "趙大夫", way: "jh 17;n;w", desc: "趙大夫醫術高明,尤其善治婦科各種疑難雜症。" },
          { jh: "開封", loc: "郊外別院", name: "新娘", way: "jh 17;sw;nw", desc: "新郎官的未婚妻,被高衙內抓到此處。" },
          { jh: "開封", loc: "橋底密室", name: "耶律夷烈", way: "jh 17;sw;s;sw;nw;ne;event_1_38940168", desc: "遼德宗耶律大石之子,身材高大,滿面虯髯。" },
          { jh: "明教", loc: "鏈橋", name: "杨左使", name_tw: "楊左使", name_new: "梁風", way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;e;e;n;n;n", desc: "明教光明左使。" },
          { jh: "明教", loc: "觀景台", name: "神秘女子", way: "jh 18;n;nw;n;n;w", desc: "這是一個女子" },
          {
            jh: "明教",
            loc: "盜洞",
            name: "蒙面人",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;n;n;n;n;event_1_90080676;event_1_56007071;e;ne;n;nw",
            desc: "用厚厚面巾蒙著臉上的武士,看不清他的真面目。",
          },
          { jh: "明教", loc: "小村", name: "村民", way: "jh 18", desc: "這是村落裡的一個村名。" },
          { jh: "明教", loc: "屋子", name: "沧桑老人", name_tw: "滄桑老人", way: "jh 18;e", desc: "這是一個滿臉滄桑的老人。" },
          { jh: "明教", loc: "巨石", name: "明教小圣使", name_tw: "明教小聖使", way: "jh 18;n;nw;n;n;n;n;n", desc: "他是一個明教小聖使。" },
          { jh: "明教", loc: "巨木旗大廳", name: "闻旗使", name_tw: "聞旗使", way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n", desc: "他是明教巨林旗掌旗使。" },
          {
            jh: "明教",
            loc: "明教",
            name: "韦蝠王",
            name_tw: "韋蝠王",
            name_new: "季燕青",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n",
            desc: "明教四大護法之一,傳說喜好吸人鮮血。",
          },
          { jh: "明教", loc: "大空地", name: "彭散玉", way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n", desc: "明教五散仙之一。" },
          { jh: "明教", loc: "洪水旗大廳", name: "唐旗使", way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;e;e", desc: "他是明教白水旗掌旗使。" },
          { jh: "明教", loc: "大空地", name: "周散仙", way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;e;e;n", desc: "明教五散仙之一" },
          { jh: "明教", loc: "銳金旗", name: "庄旗使", name_tw: "莊旗使", way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;e;e;n;n", desc: "明教耀金旗掌旗使。" },
          {
            jh: "明教",
            loc: "大空地",
            name: "冷步水",
            name_new: "冷臉先生",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n",
            desc: "他是明教五散仙之一。在他僵硬的面孔上看不出一點表情。",
          },
          { jh: "明教", loc: "遇水堂", name: "张散仙", name_tw: "張散仙", way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;e", desc: "明教五散仙之一。長於風雅之做。" },
          { jh: "明教", loc: "明教偏殿", name: "冷文臻", way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n", desc: "冷步水的侄子,較為自傲,且要面子。" },
          {
            jh: "明教",
            loc: "列英堂",
            name: "殷鹰王",
            name_tw: "殷鷹王",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n",
            desc: "他就是赫赫有名的白眉鷹王,張大教主的外公,曾因不滿明教的混亂,獨自創立了飛鷹教,自從其外孫成為教主之後,便迴歸了明教",
          },
          {
            jh: "明教",
            loc: "列英堂",
            name: "明教教众",
            name_tw: "明教教眾",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n",
            desc: "他是身材矮小,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一黑色聖衣,似乎有一身武藝。",
          },
          {
            jh: "明教",
            loc: "獅王殿",
            name: "谢狮王",
            name_tw: "謝獅王",
            name_new: "仇畢烈",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;e",
            desc: "他就是赫赫有名的金發獅王,張大教主的義父,生性耿直,只因滿心仇恨和脾氣暴躁而做下了許多憾事。",
          },
          {
            jh: "明教",
            loc: "明教大殿",
            name: "张教主",
            name_tw: "張教主",
            name_new: "九陽君",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;n",
            desc: "年方二十多歲的年輕人。明教現今正統教主,武功集各家之長最全面,修為當世之罕見。",
          },
          { jh: "明教", loc: "聖火橋", name: "范右使", name_tw: "範右使", way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;n;n", desc: "明教光明右使。" },
          {
            jh: "明教",
            loc: "黑金橋",
            name: "小昭",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;n;n;n",
            desc: "她雙目湛湛有神,修眉端鼻,頰邊微現梨渦,真是秀美無倫,只是年紀幼小,身材尚未長成,雖然容貌絕麗,卻掩不住容顏中的稚氣。",
          },
          {
            jh: "明教",
            loc: "龍王殿",
            name: "黛龙王",
            name_tw: "黛龍王",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;w",
            desc: "她就是武林中盛傳的紫衣龍王,她膚如凝脂,杏眼桃腮,容光照人,端麗難言。雖然已年過中年,但仍風姿嫣然。",
          },
          {
            jh: "明教",
            loc: "昆崙墟",
            name: "九幽毒魔",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;w;nw;nw;event_1_70957287",
            desc: "千夜旗至尊九長老之一,看似一個面容慈祥的白發老人,鶴發童顏,雙手隱隱的黑霧卻顯露了他不世的毒功!",
          },
          {
            jh: "明教",
            loc: "毒池地牢",
            name: "青衣女孩",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;w;nw;nw;event_1_70957287;event_1_39374335;;kill?九幽毒童;event_1_2077333",
            desc: "一個身著青衣的小女孩,被抓來此出準備煉毒之用,雖能感覺到恐懼,但雙眼仍透出不屈的頑強。",
          },
          {
            jh: "明教",
            loc: "九幽毒池",
            name: "九幽毒童",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;w;nw;nw;event_1_70957287;event_1_39374335",
            desc: "負責管理九幽毒池的童子們,個個面色陰沉,殘忍好殺。",
          },
          {
            jh: "明教",
            loc: "鐵木長廊",
            name: "明教小喽啰",
            name_tw: "明教小嘍囉",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;w",
            desc: "明教的一個小嘍囉,看起來有點猥瑣,而且還有點陰險。",
          },
          { jh: "明教", loc: "烈火旗大廳", name: "辛旗使", way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;w;w", desc: "他是明教烈焰旗掌旗使。" },
          {
            jh: "明教",
            loc: "大空地",
            name: "布袋大师",
            name_tw: "布袋大師",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;w;w;n",
            desc: "他是明教五散仙之一的布袋大師說不得,腰間歪歪斜斜的掛著幾支布袋。",
          },
          {
            jh: "明教",
            loc: "厚土旗大廳",
            name: "颜旗使",
            name_tw: "顏旗使",
            name_new: "楊塬",
            way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;w;w;n;n",
            desc: "他是明教深土旗掌旗使。",
          },
          { jh: "明教", loc: "民居", name: "村妇", name_tw: "村婦", way: "jh 18;w", desc: "一個村婦。" },
          { jh: "明教", loc: "臥房", name: "小男孩", way: "jh 18;w;n", desc: "這是個七八歲的小男孩。" },
          { jh: "明教", loc: "臥房", name: "老太婆", way: "jh 18;w;n", desc: "一個滿臉皺紋的老太婆。" },
          { jh: "全真教", loc: "終南石階", name: "终南山游客", name_tw: "終南山遊客", way: "jh 19;s;s;s;sw;s", desc: "一個來終南山遊玩的遊客。" },
          { jh: "全真教", loc: "終南石階", name: "男童", way: "jh 19;s;s;s;sw;s;e;n;nw", desc: "這是一個男童。" },
          { jh: "全真教", loc: "終南石階", name: "全真女弟子", way: "jh 19;s;s;s;sw;s;e;n;nw;n", desc: "這是一個女道姑。" },
          { jh: "全真教", loc: "全真教大門", name: "迎客道长", name_tw: "迎客道長", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n", desc: "他是全真教內負責接待客人的道士。" },
          { jh: "全真教", loc: "萬物堂", name: "程遥伽", name_tw: "程遙伽", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n", desc: "她長相清秀端莊。" },
          {
            jh: "全真教",
            loc: "天心殿",
            name: "尹志平",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n",
            desc: "他是丘處機的得意大弟子尹志平,他粗眉大眼,長的有些英雄氣概,在全真教第三代弟子中算得上年輕有為。身材不高,眉宇間似乎有一股憂鬱之色。長的倒是長眉俊目,容貌秀雅,面白無須,可惜朱雀和玄武稍有不和。",
          },
          { jh: "全真教", loc: "天心殿", name: "练功弟子", name_tw: "練功弟子", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n", desc: "這是全真教的練功弟子。" },
          {
            jh: "全真教",
            loc: "後堂三進",
            name: "孙不二",
            name_tw: "孫不二",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;e;e;e",
            desc: "她就是全真教二代弟子中唯一的女弟子孫不二孫真人。她本是馬鈺入道前的妻子,道袍上繡著一個骷髏頭。",
          },
          { jh: "全真教", loc: "柴房", name: "柴火道士", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;e;e;n;n", desc: "一個負責柴火的道士。" },
          {
            jh: "全真教",
            loc: "靜修室",
            name: "马钰",
            name_tw: "馬鈺",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n",
            desc: "他就是王重陽的大弟子,全真七子之首,丹陽子馬鈺馬真人。他慈眉善目,和藹可親,正笑著看著你。",
          },
          {
            jh: "全真教",
            loc: "小花園",
            name: "丘处机",
            name_tw: "丘處機",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n",
            desc: "他就是江湖上人稱‘長春子’的丘處機丘真人,他方面大耳,滿面紅光,劍目圓睜,雙眉如刀,相貌威嚴,平生疾惡如仇。",
          },
          { jh: "全真教", loc: "勤習堂", name: "老道长", name_tw: "老道長", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;e", desc: "這是一個年老的道人。" },
          {
            jh: "全真教",
            loc: "小花園",
            name: "王处一",
            name_tw: "王處一",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n",
            desc: "他就是全真七子之五王處一王真人。他身材修長,服飾整潔,三綹黑須飄在胸前,神態瀟灑。",
          },
          { jh: "全真教", loc: "小花園", name: "鹿道清", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;e", desc: "他是全真教尹志平門下第四代弟子" },
          { jh: "全真教", loc: "小花園", name: "青年弟子", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n", desc: "一個風程僕僕的俠客。" },
          {
            jh: "全真教",
            loc: "容物堂",
            name: "谭处端",
            name_tw: "譚處端",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;e",
            desc: "他就是全真次徒譚處端譚真人,他身材魁梧,濃眉大眼,嗓音洪亮,拜重陽真人為師前本是鐵匠出身。",
          },
          {
            jh: "全真教",
            loc: "過真殿",
            name: "刘处玄",
            name_tw: "劉處玄",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;e;e",
            desc: "他就是全真三徒劉處玄劉真人,他身材瘦小,但顧盼間自有一種威嚴氣概。",
          },
          { jh: "全真教", loc: "廚房", name: "掌厨道士", name_tw: "掌廚道士", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;e;e;e", desc: "一個負責掌廚的道士。" },
          { jh: "全真教", loc: "大堂一進", name: "小麻雀", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;e;e;e;n", desc: "一隻嘰嘰咋咋的小麻雀。" },
          { jh: "全真教", loc: "肥料房", name: "老人", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "這是一個老人,在全真教內已有幾十年了。" },
          { jh: "全真教", loc: "後花園", name: "挑水道士", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e", desc: "這是全真教內負責挑水的道士。" },
          { jh: "全真教", loc: "樹林", name: "蜜蜂", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;n", desc: "一直忙碌的小蜜蜂。" },
          { jh: "全真教", loc: "會真堂", name: "观想兽", name_tw: "觀想獸", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;w", desc: "一隻只有道家之所才有的怪獸。" },
          {
            jh: "全真教",
            loc: "元始殿",
            name: "赵师兄",
            name_tw: "趙師兄",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;w;n",
            desc: "他就是全真教真人王處一的弟子趙師兄",
          },
          {
            jh: "全真教",
            loc: "藥劑室",
            name: "老顽童",
            name_tw: "老頑童",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;w;w;n",
            desc: "此人年齡雖大但卻頑心未改,一頭亂糟糟的花白鬍子,一雙小眼睛透出讓人覺得滑稽的神色。",
          },
          { jh: "全真教", loc: "藏經殿", name: "小道童", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;w", desc: "他是全真教的一個小道童。" },
          {
            jh: "全真教",
            loc: "天尊殿",
            name: "重阳祖师",
            name_tw: "重陽祖師",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;w;w;s",
            desc: "他就是全真教的開山祖師,其身材消瘦,精神矍鑠,飄飄然彷彿神仙中人",
          },
          { jh: "全真教", loc: "後堂一進", name: "小道童", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;w;w;w;s", desc: "一個全真教的小道童。" },
          {
            jh: "全真教",
            loc: "大禪房",
            name: "郝大通",
            way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;w;w;w;w;n;n;n",
            desc: "他就是全真七子中的郝大通郝真人。他身材微胖,象個富翁模樣,身上穿的道袍雙袖皆無。",
          },
          { jh: "全真教", loc: "馬廄", name: "健马", name_tw: "健馬", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;w;w;w;s", desc: "一匹健壯的大馬。" },
          { jh: "全真教", loc: "馬廄", name: "李四", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;w;w;w;s", desc: "這是一箇中年道士。" },
          { jh: "全真教", loc: "事為室", name: "小道童", way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;w", desc: "他是全真教的一個小道童。" },
          { jh: "古墓", loc: "事為室", name: "白玉蜂", way: "", desc: "這是一隻玉色的蜜蜂,個頭比普通蜜蜂大得多,翅膀上被人用尖針刺有字" },
          { jh: "古墓", loc: "事為室", name: "红玉蜂", name_tw: "紅玉蜂", way: "", desc: "這是一隻玉色的蜜蜂,個頭比普通蜜蜂大得多,翅膀上被人用尖針刺有字。" },
          { jh: "古墓", loc: "", name: "毒蟒", way: ".樹上", desc: "一條龐大無比,色彩斑斕的巨蟒。渾身發出陣陣強烈的腥臭味。" },
          { jh: "古墓", loc: "小樹林", name: "天蛾", way: "jh 20;w;w;s;e;s;s;s", desc: "蜜蜂的天敵之一。" },
          { jh: "古墓", loc: "小樹林", name: "食虫虻", name_tw: "食蟲虻", way: "jh 20;w;w;s;e;s;s;s;s;s;sw", desc: "食肉昆蟲,蜜蜂的天敵之一。" },
          { jh: "古墓", loc: "草地", name: "玉蜂", way: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s", desc: "這是一隻玉色的蜜蜂,個頭比普通蜜蜂大得多,翅膀上被人用尖針刺有字。" },
          {
            jh: "古墓",
            loc: "懸崖",
            name: "玉蜂",
            way: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;e",
            desc: "這是一隻玉色的蜜蜂,個頭比普通蜜蜂大得多,翅膀上被人用尖針刺有字。",
          },
          {
            jh: "古墓",
            loc: "中廳",
            name: "龙儿",
            name_tw: "龍兒",
            way: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;s;s;e;e",
            desc: "盈盈而站著一位秀美絕俗的女子,肌膚間少了一層血色,顯得蒼白異常。披著一襲輕紗般的白衣,猶似身在煙中霧裡。",
          },
          {
            jh: "古墓",
            loc: "密室",
            name: "林祖师",
            name_tw: "林祖師",
            way: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;s;s;e;e;event_1_3723773;se;n;e;s;e;s;e",
            desc: "她就是古墓派的開山祖師,雖然已經是四十許人,望之卻還如同三十出頭。當年她與全真教主王重陽本是一對癡心愛侶,只可惜有緣無份,只得獨自在這古墓上幽居。",
          },
          {
            jh: "古墓",
            loc: "小屋",
            name: "孙婆婆",
            name_tw: "孫婆婆",
            way: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;s;s;s;s;s;e;e;e;e;s;e",
            desc: "這是一位慈祥的老婆婆,正看著你微微一笑。",
          },
          { jh: "白馱山", loc: "小路", name: "雷震天", way: "jh 21;nw;ne;n;n;ne", desc: "雷橫天的兒子,與其父親不同,長得頗為英俊。" },
          { jh: "白馱山", loc: "中軍大帳", name: "军中主帅", name_tw: "軍中主帥", way: "jh 21;n;n;n;n;w;w;w;w", desc: "敵軍主帥,黑盔黑甲,手持長刀。" },
          { jh: "白馱山", loc: "近衛狼營", name: "银狼近卫", name_tw: "銀狼近衛", way: "jh 21;n;n;n;n;w;w;w", desc: "主帥身側的近衛,都是萬里挑一的好手" },
          {
            jh: "白馱山",
            loc: "飛羽箭陣",
            name: "飞羽神箭",
            name_tw: "飛羽神箭",
            way: "jh 21;n;n;n;n;w;w",
            desc: "百發百中的神箭手,難以近身,必須用暗器武學方可隔空攻擊",
          },
          {
            jh: "白馱山",
            loc: "青銅盾陣",
            name: "青衣盾卫",
            name_tw: "青衣盾衛",
            way: "jh 21;n;n;n;n;w",
            desc: "身著青衣,手持巨盾,是敵軍陣前的鐵衛,看起來極難對付。",
          },
          { jh: "白馱山", loc: "戈壁", name: "傅介子", way: "jh 21", desc: "中原朝廷出使西域樓蘭國的使臣,氣宇軒昂,雍容華度,似也會一些武功。" },
          {
            jh: "白馱山",
            loc: "玉門關外",
            name: "玉门守将",
            name_tw: "玉門守將",
            way: "jh 21;n;n;n;n;e",
            desc: "一位身經百戰的將軍,多年駐守此地,臉上滿是大漠黃沙和狂風留下的滄桑。",
          },
          { jh: "白馱山", loc: "玉門關西門", name: "玉门守军", name_tw: "玉門守軍", way: "jh 21;n;n;n;n;e;e", desc: "玉門關的守衛軍士,將軍百戰死,壯士十年歸。" },
          { jh: "白馱山", loc: "西馳馬道", name: "玄甲骑兵", name_tw: "玄甲騎兵", way: "jh 21;n;n;n;n;e;e;e", desc: "黑盔黑甲的天策騎兵,連馬也被鋥亮的鎧甲包裹著。" },
          { jh: "白馱山", loc: "西車道", name: "车夫", name_tw: "車夫", way: "jh 21;n;n;n;n;e;e;e;e", desc: "一名駕車的車夫,塵霜滿面。" },
          {
            jh: "白馱山",
            loc: "守將府",
            name: "天策大将",
            name_tw: "天策大將",
            way: "jh 21;n;n;n;n;e;e;e;e;e",
            desc: "天策府左將軍,英勇善戰,智勇雙全。身穿黑盔黑甲,腰間有一柄火紅的長刀。",
          },
          {
            jh: "白馱山",
            loc: "守將府",
            name: "玄甲参将",
            name_tw: "玄甲參將",
            way: "jh 21;n;n;n;n;e;e;e;e;e",
            desc: "天策玄甲軍的參將,雙目專注,正在認真地看著城防圖。",
          },
          { jh: "白馱山", loc: "戈壁灘", name: "马匪", name_tw: "馬匪", way: "jh 21;n;n;n;n;e;e;e;e;e;e;e;e;e", desc: "這是肆虐戈壁的馬匪,長相兇狠,血債累累。" },
          {
            jh: "白馱山",
            loc: "馬車店",
            name: "醉酒男子",
            way: "jh 21;n;n;n;n;e;e;e;e;e;e;e;s",
            desc: "此人看似已經喝了不少,面前擺著不下七八個空酒罈,兩頰緋紅,然而雙目卻仍是炯炯有神,身長不足七尺,腰別一把看似貴族名士方才有的長劍,談笑之間雄心勃勃,睥睨天下。男子醉言醉語之間,似是自稱青蓮居士。",
          },
          {
            jh: "白馱山",
            loc: "馬車店",
            name: "慕容孤烟",
            name_tw: "慕容孤煙",
            way: "jh 21;n;n;n;n;e;e;e;e;e;e;e;s",
            desc: "英姿颯爽的馬車店女老闆,漢族和鮮卑族混血,雙目深邃,含情脈脈,細卷的栗色長發上夾著一個金色玉蜻蜓。",
          },
          {
            jh: "白馱山",
            loc: "龍門客棧",
            name: "凤七",
            name_tw: "鳳七",
            way: "jh 21;n;n;n;n;e;e;e;e;e;s;s;w",
            desc: "無影樓金鳳堂堂主,武功卓絕自是不在話下,腕上白玉鐲襯出如雪肌膚,腳上一雙鎏金鞋用寶石裝飾。",
          },
          { jh: "白馱山", loc: "絲綢之路驛站", name: "匈奴杀手", name_tw: "匈奴殺手", way: "jh 21;n;n;n;n;e;n;n;n", desc: "匈奴人殺手,手持彎刀,眼露兇光。" },
          { jh: "白馱山", loc: "東街", name: "花花公子", way: "jh 21;nw", desc: "這是個流裡流氣的花花公子。" },
          { jh: "白馱山", loc: "小路", name: "小山贼", name_tw: "小山賊", way: "jh 21;nw;ne;n;n", desc: "這是個尚未成年的小山賊。" },
          { jh: "白馱山", loc: "洞口", name: "山贼", name_tw: "山賊", way: "jh 21;nw;ne;n;n;ne;n", desc: "這是個面目可憎的山賊。" },
          { jh: "白馱山", loc: "洞內", name: "雷横天", name_tw: "雷橫天", way: "jh 21;nw;ne;n;n;ne;n;n", desc: "這是個粗魯的山賊頭。一身膘肉,看上去內力極度強勁!" },
          { jh: "白馱山", loc: "側洞", name: "金花", way: "jh 21;nw;ne;n;n;ne;n;n;w", desc: "一個年少貌美的姑娘。" },
          { jh: "白馱山", loc: "杖場", name: "侍杖", way: "jh 21;nw;ne;n;n;ne;w", desc: "他頭上包著紫布頭巾,一襲紫衫,沒有一絲褶皺。" },
          { jh: "白馱山", loc: "墳地", name: "寡妇", name_tw: "寡婦", way: "jh 21;nw;ne;ne", desc: "一個年輕漂亮又不甘寂寞的小寡婦。" },
          { jh: "白馱山", loc: "打鐵鋪", name: "铁匠", name_tw: "鐵匠", way: "jh 21;nw;s", desc: "鐵匠正用汗流浹背地打鐵。" },
          { jh: "白馱山", loc: "西街", name: "舞蛇人", way: "jh 21;nw;w", desc: "他是一個西域來的舞蛇人。" },
          { jh: "白馱山", loc: "西街", name: "农民", name_tw: "農民", way: "jh 21;nw;w", desc: "一個很健壯的壯年農民。" },
          { jh: "白馱山", loc: "酒店", name: "店小二", way: "jh 21;nw;w;n", desc: "這位店小二正笑咪咪地忙著招呼客人。" },
          { jh: "白馱山", loc: "小橋", name: "村姑", way: "jh 21;nw;w;w", desc: "一個很清秀的年輕農村姑娘,挎著一隻蓋著布小籃子。" },
          { jh: "白馱山", loc: "廣場", name: "小孩", way: "jh 21;nw;w;w;nw", desc: "這是個農家小孩子" },
          { jh: "白馱山", loc: "農舍", name: "农家妇女", name_tw: "農家婦女", way: "jh 21;nw;w;w;nw;e", desc: "一個很精明能幹的農家婦女。" },
          { jh: "白馱山", loc: "大門", name: "门卫", name_tw: "門衛", way: "jh 21;nw;w;w;nw;n;n", desc: "這是個年富力強的衛兵,樣子十分威嚴。" },
          { jh: "白馱山", loc: "大廳", name: "丫环", name_tw: "丫環", way: "jh 21;nw;w;w;nw;n;n;n;n", desc: "一個很能幹的丫環。" },
          {
            jh: "白馱山",
            loc: "大廳",
            name: "欧阳少主",
            name_tw: "歐陽少主",
            name_new: "白鶴軒",
            way: "jh 21;nw;w;w;nw;n;n;n;n",
            desc: "他一身飄逸的白色長衫,手搖折扇,風流儒雅。",
          },
          { jh: "白馱山", loc: "練功場", name: "李教头", name_tw: "李教頭", way: "jh 21;nw;w;w;nw;n;n;n;n;n", desc: "這是個和藹可親的教頭。" },
          { jh: "白馱山", loc: "練功房", name: "教练", name_tw: "教練", way: "jh 21;nw;w;w;nw;n;n;n;n;n;e", desc: "這是個和藹可親的教練。" },
          { jh: "白馱山", loc: "練功室", name: "陪练童子", name_tw: "陪練童子", way: "jh 21;nw;w;w;nw;n;n;n;n;n;e;ne", desc: "這是個陪人練功的陪練童子。" },
          { jh: "白馱山", loc: "門廊", name: "管家", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n", desc: "一個老謀深算的老管家。" },
          { jh: "白馱山", loc: "花園", name: "老毒物", name_new: "白厲峰", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n", desc: "他是白馱山莊主,號稱“老毒物”。" },
          { jh: "白馱山", loc: "花園", name: "白衣少女", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n", desc: "一個聰明伶俐的白衣少女。" },
          { jh: "白馱山", loc: "廚房", name: "肥肥", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;e", desc: "一個肥頭大耳的廚師,兩隻小眼睛不停地眨巴著。" },
          { jh: "白馱山", loc: "柴房", name: "老材", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;e;e", desc: "一個有名的吝嗇鬼,好象他整日看守著柴房也能發財似的。" },
          { jh: "白馱山", loc: "兔苑", name: "白兔", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne", desc: "一隻雪白的小白兔,可愛之致。" },
          {
            jh: "白馱山",
            loc: "蛇園",
            name: "驯蛇人",
            name_tw: "馴蛇人",
            way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;e",
            desc: "蛇園裡面的馴蛇人,替白駝山莊馴養各種毒蛇。",
          },
          { jh: "白馱山", loc: "蛇園", name: "金环蛇", name_tw: "金環蛇", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;e", desc: "一隻讓人看了起毛骨悚然的金環蛇。" },
          { jh: "白馱山", loc: "蛇園", name: "竹叶青蛇", name_tw: "竹葉青蛇", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;e", desc: "一隻讓人看了起雞皮疙瘩的竹葉青蛇。" },
          { jh: "白馱山", loc: "獸舍", name: "野狼", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;w", desc: "一隻獨行的野狼,半張著的大嘴裡露著幾顆獠牙。" },
          { jh: "白馱山", loc: "獸舍", name: "狐狸", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;w", desc: "一隻多疑成性的狐狸。" },
          { jh: "白馱山", loc: "獸舍", name: "雄狮", name_tw: "雄獅", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;w", desc: "一隻矯健的雄獅,十分威風。" },
          { jh: "白馱山", loc: "獸舍", name: "老虎", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;w", desc: "一隻斑斕猛虎,雄偉極了。" },
          { jh: "白馱山", loc: "後院", name: "张妈", name_tw: "張媽", way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;nw", desc: "一個歷經滄桑的老婆婆。" },
          {
            jh: "白馱山",
            loc: "藥房",
            name: "小青",
            way: "jh 21;nw;w;w;nw;n;n;n;n;n;w;s",
            desc: "這是個聰明乖巧的小姑娘,打扮的很樸素,一襲青衣,卻也顯得落落有致。小青對人非常熱情。你要是跟她打過交道就會理解這一點!",
          },
          { jh: "白馱山", loc: "草叢", name: "黑冠巨蟒", way: "jh 21;nw;w;w;nw;n;n;n;n;n;w;w;w;n", desc: "一隻龐然大物,它眼中噴火,好象要一口把你吞下。" },
          { jh: "白馱山", loc: "岩洞", name: "蟒蛇", way: "jh 21;nw;w;w;nw;n;n;n;n;n;w;w;w;n;n;n", desc: "一隻昂首直立,吐著長舌芯的大蟒蛇。" },
          { jh: "白馱山", loc: "武器庫", name: "仕卫", name_tw: "仕衛", way: "jh 21;nw;w;w;nw;n;n;n;w", desc: "這是個樣子威嚴的仕衛。" },
          { jh: "白馱山", loc: "山路", name: "樵夫", way: "jh 21;nw;w;w;nw;nw;nw", desc: "一個很健壯的樵夫。" },
          { jh: "白馱山", loc: "山莊大門", name: "玄衣中年", way: "jh 21;nw;w;w;nw;nw;nw;n;w;s;event_1_47975698", desc: "一身玄衣的中年人,似乎是這裡山莊的一名守衛" },
          {
            jh: "白馱山",
            loc: "正堂",
            name: "闻人毅",
            name_tw: "聞人毅",
            way: "jh 21;nw;w;w;nw;nw;nw;n;w;s;event_1_47975698;s;sw;s;ne;e;s;s",
            desc: "一位神駿的青年,神情冷峻,週身似乎有一股強烈的劍氣包圍,令人感到非常壓抑。",
          },
          {
            jh: "嵩山",
            loc: "劍池",
            name: "左罗",
            name_tw: "左羅",
            way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n",
            desc: "左掌門的侄子,武功平平,但多謀善斷,有傳聞說他是左掌門的親生兒子。",
          },
          {
            jh: "嵩山",
            loc: "瀑布山洞",
            name: "马帮精锐",
            name_tw: "馬幫精銳",
            way: "jh 22;n;n;n;ss1;n;e;n;event_1_29122616",
            desc: "身材異常高大的男子,眼神中充滿殺氣,臉上滿布虯龍似的傷疤。",
          },
          {
            jh: "嵩山",
            loc: "瀑布山洞",
            name: "枯瘦的人",
            way: "jh 22;n;n;w;w;s;s;s;s;s;event_1_52783704",
            desc: "身形枯瘦,似乎被困於此多年,但眼神中仍有強烈的生存意志",
          },
          { jh: "嵩山", loc: "太室闕", name: "脚夫", name_tw: "腳夫", way: "jh 22", desc: "五大三粗的漢子,看起來會些拳腳功夫。" },
          { jh: "嵩山", loc: "青石大道", name: "风骚少妇", name_tw: "風騷少婦", way: "jh 22;n", desc: "一個風騷的少婦,頗有幾分姿色。" },
          { jh: "嵩山", loc: "青石大道", name: "秋半仙", way: "jh 22;n", desc: "一名算命道士,灰色道袍上綴著幾個補丁。" },
          { jh: "嵩山", loc: "中嶽廟", name: "锦袍老人", name_tw: "錦袍老人", way: "jh 22;n;n", desc: "神情威猛須發花白的老人,看起來武功修為頗高。" },
          { jh: "嵩山", loc: "青崗坪", name: "柳易之", way: "jh 22;n;n;n;n", desc: "朝廷通事舍人,負責傳達皇帝旨意。" },
          { jh: "嵩山", loc: "盧鴻草堂", name: "卢鸿一", name_tw: "盧鴻一", way: "jh 22;n;n;n;n;e", desc: "一名布衣老者,慈眉善目,須發皆白。" },
          {
            jh: "嵩山",
            loc: "盧崖瀑布",
            name: "英元鹤",
            name_tw: "英元鶴",
            way: "jh 22;n;n;n;n;e;n",
            desc: "這是一名枯瘦矮小的黑衣老人,一雙灰白的耳朵看起來有些詭異。",
          },
          { jh: "嵩山", loc: "啟母闕", name: "游客", name_tw: "遊客", way: "jh 22;n;n;w", desc: "來嵩山遊玩的男子,書生打扮,看來來頗為儒雅。" },
          { jh: "嵩山", loc: "嵩嶽山道", name: "野狼", way: "jh 22;n;n;w;n", desc: "山林覓食的野狼,看起來很餓。" },
          { jh: "嵩山", loc: "嵩陽書院", name: "林立德", way: "jh 22;n;n;w;n;n", desc: "在嵩陽書院進學的書生,看起來有些木訥。" },
          { jh: "嵩山", loc: "石階", name: "山贼", name_tw: "山賊", way: "jh 22;n;n;w;n;n;n", desc: "攔路搶劫的山賊" },
          { jh: "嵩山", loc: "無極老姆洞", name: "修行道士", way: "jh 22;n;n;w;n;n;n;n", desc: "在嵩山隱居修行的道士" },
          { jh: "嵩山", loc: "密林小徑", name: "黄色毒蛇", name_tw: "黃色毒蛇", way: "jh 22;n;n;w;n;n;n;n;event_1_88705407", desc: "一條吐舌蛇信子的毒蛇。" },
          { jh: "嵩山", loc: "山溪畔", name: "麻衣刀客", way: "jh 22;n;n;w;n;n;n;n;event_1_88705407;s;s", desc: "一身麻衣,頭戴斗笠的刀客" },
          { jh: "嵩山", loc: "石洞", name: "白板煞星", way: "jh 22;n;n;w;n;n;n;n;event_1_88705407;s;s;s;s", desc: "沒有鼻子,臉孔平平,像一塊白板,看起來極為可怖" },
          { jh: "嵩山", loc: "山楂林", name: "小猴", way: "jh 22;n;n;w;n;n;n;n;n", desc: "這是一隻調皮的小猴子,雖是畜牲,卻喜歡模仿人樣。" },
          { jh: "嵩山", loc: "朝天門", name: "万大平", name_tw: "萬大平", way: "jh 22;n;n;w;n;n;n;n;n;e", desc: "嵩山弟子,看起來很普通。" },
          {
            jh: "嵩山",
            loc: "朝天門",
            name: "芙儿",
            name_tw: "芙兒",
            way: "jh 22;n;n;w;n;n;n;n;n;e;e",
            desc: "一名身穿淡綠衫子的少女,只見她臉如白玉,顏若朝華,真是豔冠群芳的絕色美人。",
          },
          { jh: "嵩山", loc: "峻極山道", name: "嵩山弟子", way: "jh 22;n;n;w;n;n;n;n;n;e;n", desc: "這是一名嵩山弟子,武功看起來稀鬆平常。" },
          { jh: "嵩山", loc: "峻極禪院", name: "史师兄", name_tw: "史師兄", way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n", desc: "嵩山派大弟子,武功修為頗高。" },
          { jh: "嵩山", loc: "會盟堂", name: "白头仙翁", name_tw: "白頭仙翁", way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n", desc: "嵩山派高手,年紀不大,頭花卻已全白。" },
          { jh: "嵩山", loc: "劍池", name: "左挺", way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n", desc: "冷麵短髯,相貌堂皇的青年漢子。" },
          { jh: "嵩山", loc: "東長廊", name: "钟九曲", name_tw: "鍾九曲", way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;e", desc: "臉白無須,看起來不像練武之人。" },
          {
            jh: "嵩山",
            loc: "北長廊",
            name: "陆太保",
            name_tw: "陸太保",
            way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;n",
            desc: "面目兇光的中年漢子,雖是所謂名門正派,但手段極為兇殘。",
          },
          { jh: "嵩山", loc: "書齋", name: "高锦毛", name_tw: "高錦毛", way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;n;e", desc: "須發火紅的中年漢子" },
          {
            jh: "嵩山",
            loc: "花園",
            name: "邓神鞭",
            name_tw: "鄧神鞭",
            way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;n;n",
            desc: "一名面容黯淡的老人,但看外表,很難想到他是一名內外皆修的高手。",
          },
          {
            jh: "嵩山",
            loc: "臥室",
            name: "聂红衣",
            name_tw: "聶紅衣",
            way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;n;n;e",
            desc: "一名體態風流的少婦,酥胸微露,媚眼勾人。",
          },
          { jh: "嵩山", loc: "獨尊壇", name: "左盟主", way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;n;n;n", desc: "身穿杏黃長袍,冷口冷麵,喜怒皆不行於色,心機頗深。" },
          {
            jh: "嵩山",
            loc: "西長廊",
            name: "乐老狗",
            name_tw: "樂老狗",
            way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;w",
            desc: "這人矮矮胖胖,麵皮黃腫,約莫五十來歲年紀,目神光炯炯,凜然生威,兩隻手掌肥肥的又小又厚。",
          },
          { jh: "嵩山", loc: "練武場", name: "冷峻青年", way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;w;n;n", desc: "一個風程僕僕的俠客。" },
          {
            jh: "嵩山",
            loc: "廚房",
            name: "伙夫",
            name_tw: "伙夫",
            way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;w;n;w",
            desc: "一名肥頭大耳的伙夫,負責打理嵩山派一眾大小夥食。",
          },
          { jh: "嵩山", loc: "倉庫", name: "沙秃翁", name_tw: "沙禿翁", way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;w;w", desc: "這是一名禿頭老者,一雙鷹眼微閉。" },
          {
            jh: "嵩山",
            loc: "封禪台",
            name: "麻衣汉子",
            name_tw: "麻衣漢子",
            way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;w;n",
            desc: "頭戴斗笠,身材瘦長,一身麻衣的中年男子,看起來有些詭異。",
          },
          { jh: "嵩山", loc: "魔雲洞口", name: "吸血蝙蝠", way: "jh 22;n;n;w;w;s", desc: "一隻體型巨大的吸血蝙蝠。" },
          { jh: "嵩山", loc: "魔雲洞空地", name: "瞎眼剑客", name_tw: "瞎眼劍客", way: "jh 22;n;n;w;w;s;s", desc: "一名黑衣劍客,雙面失明。" },
          { jh: "嵩山", loc: "危崖", name: "瞎眼老者", way: "jh 22;n;n;w;w;s;s;s;s;s", desc: "這是一名黑衣瞎眼老者,看起來武功修為頗高。" },
          { jh: "嵩山", loc: "通天洞", name: "瞎眼刀客", way: "jh 22;n;n;w;w;s;s;s;s;w", desc: "一名黑衣刀客,雙面失明。" },
          {
            jh: "寒梅莊",
            loc: "囚室",
            name: "厉傲天",
            name_tw: "厲傲天",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n;;kill?夏春雷;@夏春雷的屍體;s;e;s;s;s;w;w;give meizhuang_meizhuang3;n;n;n;n;n;e;event_1_35389772",
            desc: "這名老者身材甚高,一頭黑發,穿的是一襲青衫,長長的臉孔,臉色雪白,更無半分血色,眉目清秀,只是臉色實在白得怕人,便如剛從墳墓中出來的殭屍一般。",
          },
          {
            jh: "寒梅莊",
            loc: "酒室",
            name: "奎孜墨",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n;;kill?夏春雷;@夏春雷的屍體;s;e;s;s;s;w;w;give meizhuang_meizhuang3;n;n;n;n;n",
            desc: "這是一名身穿黑衣的年輕男子,一張臉甚是蒼白,漆黑的眉毛下是藝術按個深沉的眼睛,深沉的跟他的年齡極不相符。",
          },
          { jh: "寒梅莊", loc: "嶽王廟", name: "武悼", way: "jh 23;n;n;e;event_1_50956819", desc: "一個白發蒼蒼的老人,默默打掃著這萬人景仰的武穆祠堂。" },
          { jh: "寒梅莊", loc: "柳樹林", name: "柳府家丁", way: "jh 23", desc: "這是杭州有名大戶柳府的家丁,穿著一身考究的短衫,一副目中無人的樣子。" },
          { jh: "寒梅莊", loc: "梅林", name: "老者", way: "jh 23;n;n", desc: "一個姓汪的老者,似乎有什麼秘密在身上。" },
          {
            jh: "寒梅莊",
            loc: "梅林",
            name: "柳玥",
            way: "jh 23;n;n",
            desc: "柳府二小姐,只見她眸含秋水清波流盼,香嬌玉嫩,秀靨豔比花嬌,指如削蔥根,口如含朱丹,一顰一笑動人心魂,旖旎身姿在上等絲綢長裙包裹下若隱若現。聽說柳府二千金芳名遠揚,傳聞柳府大小姐月夜逃婚,至今不知下落。",
          },
          {
            jh: "寒梅莊",
            loc: "放鶴亭",
            name: "筱西风",
            name_tw: "筱西風",
            way: "jh 23;n;n;e",
            desc: "這是一名看起來很冷峻的男子,只見他鬢若刀裁,眉如墨畫,身上穿著墨色的緞子衣袍,袍內露出銀色鏤空木槿花的鑲邊,腰上掛著一把長劍。",
          },
          { jh: "寒梅莊", loc: "青石闆大路", name: "梅庄护院", name_tw: "梅莊護院", way: "jh 23;n;n;n", desc: "一身家人裝束的壯漢,要掛寶刀,看起來有些功夫。" },
          { jh: "寒梅莊", loc: "大天井", name: "梅庄家丁", name_tw: "梅莊家丁", way: "jh 23;n;n;n;n;n", desc: "一身家人裝束的男子,看起來有些功夫。" },
          { jh: "寒梅莊", loc: "大廳", name: "施令威", way: "jh 23;n;n;n;n;n;n", desc: "一身家人裝束的老者,目光炯炯,步履穩重,看起來武功不低。" },
          { jh: "寒梅莊", loc: "百木園", name: "丁管家", way: "jh 23;n;n;n;n;n;n;n", desc: "一身家人裝束的老者,目光炯炯,步履穩重,看起來武功不低。" },
          {
            jh: "寒梅莊",
            loc: "棋室",
            name: "玄天指",
            way: "jh 23;n;n;n;n;n;n;n;e;s",
            desc: "這人雖然生的眉清目秀,然而臉色泛白,頭發極黑而臉色極白,像一具殭屍的模樣。據說此人酷愛下棋,為人工於心計。",
          },
          { jh: "寒梅莊", loc: "奇槐坡", name: "瘦小汉子", name_tw: "瘦小漢子", way: "jh 23;n;n;n;n;n;n;n;n", desc: "臉如金紙的瘦小的中年男子,一身黑衣,腰繫黃帶。" },
          {
            jh: "寒梅莊",
            loc: "畫室",
            name: "龙点睛",
            name_tw: "龍點睛",
            way: "jh 23;n;n;n;n;n;n;n;n;e;n",
            desc: "此人髯長及腹,一身酒氣,據說此人極為好酒好丹青,為人豪邁豁達。",
          },
          {
            jh: "寒梅莊",
            loc: "臨水平台",
            name: "上官香云",
            name_tw: "上官香雲",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n",
            desc: "這女子有著傾城之貌,閉月之姿,流轉星眸顧盼生輝,發絲隨意披散,慵懶不羈。她是江南一帶有名的歌妓,據聞琴棋書畫無不精通,文人雅士、王孫公子都想一親芳澤。",
          },
          {
            jh: "寒梅莊",
            loc: "書齋",
            name: "铁笔张",
            name_tw: "鐵筆張",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n;e",
            desc: "這人身型矮矮胖胖,頭頂禿得油光滑亮,看起來沒有半點文人雅緻,卻極為嗜好書法。",
          },
          { jh: "寒梅莊", loc: "杏林", name: "黑衣刀客", way: "jh 23;n;n;n;n;n;n;n;n;n;n;event_1_8188693;n", desc: "一身黑色勁裝,手持大刀,看起來很兇狠。" },
          {
            jh: "寒梅莊",
            loc: "練武場",
            name: "青衣剑客",
            name_tw: "青衣劍客",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n;event_1_8188693;n;n",
            desc: "一身青衣,不知道練得什麼邪門功夫,看起來臉色鐵青。",
          },
          {
            jh: "寒梅莊",
            loc: "菜園",
            name: "黄衫婆婆",
            name_tw: "黃衫婆婆",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n;event_1_8188693;n;n;n;e;n",
            desc: "雖已滿頭白發,但眉眼間依舊可見年輕時的娟秀。",
          },
          {
            jh: "寒梅莊",
            loc: "茅草屋",
            name: "红衣僧人",
            name_tw: "紅衣僧人",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n;event_1_8188693;n;n;n;n",
            desc: "這人雖然身穿紅色僧袍,但面目猙獰,看起來絕非善類。",
          },
          {
            jh: "寒梅莊",
            loc: "涼棚",
            name: "紫袍老者",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n;event_1_8188693;n;n;w",
            desc: "看起來氣度不凡的老人,紫色臉膛在紫袍的襯托下顯得更是威嚴。",
          },
          { jh: "寒梅莊", loc: "琴室", name: "琴童", way: "jh 23;n;n;n;n;n;n;n;n;n;n;w", desc: "這是一名青衣童子,扎著雙髻,眉目清秀。" },
          {
            jh: "寒梅莊",
            loc: "內室",
            name: "夏春雷",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n",
            desc: "這是一名身型骨瘦如柴的老人,炯炯有神的雙目卻讓內行人一眼看出其不俗的內力。",
          },
          {
            jh: "寒梅莊",
            loc: "酒室",
            name: "地牢看守",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n;;kill?夏春雷;@夏春雷的屍體;s;e;s;s;s;w;w;give meizhuang_meizhuang3",
            desc: "身穿灰布衣裳,臉色因為常年不見陽光,看起來有些灰白。",
          },
          {
            jh: "寒梅莊",
            loc: "酒室",
            name: "地鼠",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n;;kill?夏春雷;@夏春雷的屍體;s;e;s;s;s;w;w;give meizhuang_meizhuang3;n;n",
            desc: "一隻肥大的地鼠,正在覓食。",
          },
          {
            jh: "寒梅莊",
            loc: "酒室",
            name: "地鼠",
            way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n;;kill?夏春雷;@夏春雷的屍體;s;e;s;s;s;w;w;give meizhuang_meizhuang3;n;n;n;n",
            desc: "一隻肥大的地鼠,正在覓食。",
          },
          {
            jh: "寒梅莊",
            loc: "小院",
            name: "柳蓉",
            way: "jh 23;n;n;n;n;n;n;n;n;w",
            desc: "這女子雖是一襲僕人粗布衣裳,卻掩不住其俊俏的容顏。只見那張粉臉如花瓣般嬌嫩可愛,櫻桃小嘴微微輕啟,似是要訴說少女心事。",
          },
          {
            jh: "寒梅莊",
            loc: "廚房",
            name: "丁二",
            way: "jh 23;n;n;n;n;n;n;n;n;w;n",
            desc: "這是一名滿臉油光的中年男子,雖然其貌不揚,據說曾是京城御廚,蒸炒煎炸樣樣拿手。",
          },
          {
            jh: "寒梅莊",
            loc: "偏房",
            name: "聋哑老人",
            name_tw: "聾啞老人",
            way: "jh 23;n;n;n;n;n;n;n;n;w;w",
            desc: "這是一名彎腰曲背的聾啞老人,須發皆白,滿臉皺紋。據說他每天都去湖底地牢送飯。",
          },
          {
            jh: "寒梅莊",
            loc: "酒室",
            name: "庄左使",
            name_tw: "莊左使",
            way: "jh 23;n;n;n;n;n;n;n;w;w",
            desc: "這是一名身穿白袍的老人,容貌清癯,刻頦下疏疏朗朗一縷花白長須,身材高瘦,要掛彎刀。",
          },
          {
            jh: "泰山",
            loc: "木屋",
            name: "铁恶人",
            name_tw: "鐵惡人",
            way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;w;n;n;n;n;e",
            desc: "鐵毅同父異母之弟,為了「大旗門」寶藏,時常算計其大哥鐵毅。",
          },
          { jh: "泰山", loc: "木屋", name: "黑衣人", way: "", desc: "一個風程僕僕的俠客。" },
          { jh: "泰山", loc: "青州城外", name: "镖师", name_tw: "鏢師", way: "jh 24;se", desc: "當地鏢局的鏢師,現在被狼軍士兵團團圍住,難以脫身。" },
          { jh: "泰山", loc: "", name: "铁翼", name_tw: "鐵翼", way: ".位置:地牢,靠謎題飛", desc: "鐵翼是鐵血大旗門的元老。他剛正不阿,鐵骨諍諍,如今被囚禁於此。" },
          { jh: "泰山", loc: "岱宗坊", name: "挑夫", way: "jh 24", desc: "這青年漢子看起來五大三粗,估計會些三腳貓功夫。" },
          { jh: "泰山", loc: "石階", name: "黄衣刀客", name_tw: "黃衣刀客", way: "jh 24;n", desc: "這傢伙滿臉橫肉,一付凶神惡煞的模樣,令人望而生畏。" },
          { jh: "泰山", loc: "一天門", name: "瘦僧人", way: "jh 24;n;n", desc: "他是一位中年遊方和尚,骨瘦如柴,身上的袈裟打滿了補丁。" },
          { jh: "泰山", loc: "天梯", name: "柳安庭", way: "jh 24;n;n;n", desc: "這是個飽讀詩書,卻手無縛雞之力的年輕書生。" },
          { jh: "泰山", loc: "石闆路", name: "石云天", name_tw: "石雲天", way: "jh 24;n;n;n;n", desc: "生性豁達,原本是丐幫弟子,因為風流本性難改,被逐出丐幫。" },
          { jh: "泰山", loc: "彌勒院", name: "朱莹莹", name_tw: "朱瑩瑩", way: "jh 24;n;n;n;n;e", desc: "豔麗的容貌、曼妙的身姿,真是數不盡的萬種風情。" },
          {
            jh: "泰山",
            loc: "小洞天",
            name: "温青青",
            name_tw: "溫青青",
            way: "jh 24;n;n;n;n;e;e",
            desc: "這名女子神態嫻靜淡雅,穿著一身石青色短衫,衣履精緻,一張俏臉白裡透紅,好一個美麗俏佳人。",
          },
          {
            jh: "泰山",
            loc: "小洞天",
            name: "易安居士",
            way: "jh 24;n;n;n;n;e;e",
            desc: "這是有“千古第一才女”之稱的李清照,自幼生活優裕,其父李格非藏書甚豐,小時候就在良好的家庭環境中打下文學基礎。少年時即負文學的盛名,她的詞更是傳誦一時。中國女作家中,能夠在文學史上佔一席地的,必先提李易安。她生活的時代雖在北宋南宋之間,卻不願意隨著當時一般的潮流,而專意於小令的吟詠。她的名作象《醉花陰》,《如夢令》,有佳句象“花自飄零水自流,一種相思兩處閒愁”等等,都膾炙人口。",
          },
          {
            jh: "泰山",
            loc: "白騾塚",
            name: "欧阳留云",
            name_tw: "歐陽留雲",
            way: "jh 24;n;n;n;n;e;s",
            desc: "這是位中年武人,肩背長劍,長長的劍穗隨風飄揚,看來似乎身懷絕藝。",
          },
          {
            jh: "泰山",
            loc: "飛雲閣",
            name: "吕进",
            name_tw: "呂進",
            way: "jh 24;n;n;n;n;n",
            desc: "此人出身神秘,常常獨來獨往,戴一副鐵面具,不讓人看到真面目,師承不明。",
          },
          { jh: "泰山", loc: "萬仙樓", name: "司马玄", name_tw: "司馬玄", way: "jh 24;n;n;n;n;n;n", desc: "這是一名白發老人,慈眉善目,據說此人精通醫術和藥理。" },
          {
            jh: "泰山",
            loc: "三義柏",
            name: "桑不羁",
            name_tw: "桑不羈",
            way: "jh 24;n;n;n;n;n;n;e",
            desc: "此人身似猿猴,動作矯健,因輕功出眾,江湖中難有人可以追的上他,故而以刺探江湖門派消息為生。",
          },
          { jh: "泰山", loc: "鬥母宮", name: "于霸天", name_tw: "於霸天", way: "jh 24;n;n;n;n;n;n;n", desc: "此人身材魁梧,身穿鐵甲,看起來似乎是官府的人。" },
          {
            jh: "泰山",
            loc: "山谷小溪",
            name: "神秘游客",
            name_tw: "神秘遊客",
            way: "jh 24;n;n;n;n;n;n;n;e",
            desc: "此人年紀雖不大,但須發皆白,一身黑袍,看起來氣度不凡。",
          },
          { jh: "泰山", loc: "雲步橋", name: "李三", way: "jh 24;n;n;n;n;n;n;n;n;n", desc: "此人無發無眉,相貌極其醜陋。" },
          { jh: "泰山", loc: "酌泉亭", name: "仇霸", way: "jh 24;n;n;n;n;n;n;n;n;n;e", desc: "此人獨目禿頂,面目兇惡,來官府通緝要犯。" },
          {
            jh: "泰山",
            loc: "五大夫松",
            name: "平光杰",
            name_tw: "平光傑",
            way: "jh 24;n;n;n;n;n;n;n;n;n;n",
            desc: "這是一名身穿粗布衣服的少年,背上揹著一個竹簍,裡面放著一些不知名的藥草。",
          },
          {
            jh: "泰山",
            loc: "十八盤",
            name: "玉师兄",
            name_tw: "玉師兄",
            way: "jh 24;n;n;n;n;n;n;n;n;n;n;n",
            desc: "這人面色灰白,雙眼無神,看起來一副沉溺酒色的模樣。",
          },
          { jh: "泰山", loc: "南天門", name: "玉师伯", name_tw: "玉師伯", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n", desc: "泰山掌門的師叔,此人看起來老奸巨猾。" },
          { jh: "泰山", loc: "天街", name: "任娘子", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e", desc: "這是一名豔麗少婦,勾魂雙面中透出一股殺氣。" },
          { jh: "泰山", loc: "石階", name: "红衣卫士", name_tw: "紅衣衛士", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e", desc: "一身紅色勁裝的衛士,看起來有些功夫。" },
          {
            jh: "泰山",
            loc: "迎旭亭",
            name: "白飞羽",
            name_tw: "白飛羽",
            way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;e",
            desc: "這人算得上是一個美男子,長眉若柳,身如玉樹。",
          },
          {
            jh: "泰山",
            loc: "禪房",
            name: "商鹤鸣",
            name_tw: "商鶴鳴",
            way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;n;e",
            desc: "這人生的有些難看,黑紅臉膛,白發長眉,看起來有些陰鬱。",
          },
          {
            jh: "泰山",
            loc: "玉皇殿",
            name: "冯太监",
            name_tw: "馮太監",
            way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;n;n;n",
            desc: "皇帝身邊鶴發童顏的太監,權勢滔天,眼中閃著精光。",
          },
          {
            jh: "泰山",
            loc: "玉皇殿",
            name: "钟逍林",
            name_tw: "鍾逍林",
            way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;n;n;n",
            desc: "這是一名魁梧的中年男子,看起來內家功夫造詣不淺。",
          },
          {
            jh: "泰山",
            loc: "登封台",
            name: "西门宇",
            name_tw: "西門宇",
            way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;n;n;n;n",
            desc: "這是一名身材偉岸的中年男子,看起來霸氣逼人。",
          },
          {
            jh: "泰山",
            loc: "望河亭",
            name: "西门允儿",
            name_tw: "西門允兒",
            way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;n;w",
            desc: "這是一名極有靈氣的女子,穿著碧綠紗裙。",
          },
          { jh: "泰山", loc: "雙鞭客棧", name: "黄老板", name_tw: "黃老闆", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;s", desc: "雙鞭客棧老闆,看起來精明過人。" },
          { jh: "泰山", loc: "泰山派山門", name: "迟一城", name_tw: "遲一城", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "泰山弟子,劍眉星目,身姿挺拔如松。" },
          { jh: "泰山", loc: "前院", name: "泰山弟子", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "這是一名青衣弟子,手裡握著一把長劍。" },
          { jh: "泰山", loc: "廂房", name: "建除", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e", desc: "泰山掌門的弟子,身形矯健,看起來武功不錯。" },
          { jh: "泰山", loc: "東靈殿", name: "天柏", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "泰山掌門的師弟,看起來英氣勃勃。" },
          { jh: "泰山", loc: "後院", name: "天松", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n", desc: "泰山掌門的師弟,嫉惡如仇,性子有些急躁。" },
          {
            jh: "泰山",
            loc: "靜觀山房",
            name: "泰山掌门",
            name_tw: "泰山掌門",
            way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
            desc: "此人為泰山掌門,此人看起來正氣凜然。",
          },
          { jh: "泰山", loc: "休息室", name: "玉师叔", name_tw: "玉師叔", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w", desc: "泰山掌門的師叔,處事冷靜,極有見識。" },
          { jh: "泰山", loc: "桃花峪入口", name: "黑衣密探", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;w", desc: "這是一名蒙面密探。" },
          { jh: "泰山", loc: "桃花路", name: "毒蛇", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;w;n", desc: "這是一條斑斕的大蛇,一眼看去就知道有劇毒" },
          { jh: "泰山", loc: "垂釣台", name: "筱墨客", way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;w;n;n;w", desc: "這人臉上掛著難以捉摸的笑容,看起來城府極深。" },
          { jh: "泰山", loc: "望人松", name: "玉师弟", name_tw: "玉師弟", way: "jh 24;n;n;n;n;n;n;n;n;n;n;w", desc: "此人一身道袍,看起來頗為狡詐。" },
          {
            jh: "泰山",
            loc: "翠竹林",
            name: "海棠杀手",
            name_tw: "海棠殺手",
            way: "jh 24;n;n;n;n;n;n;n;n;w",
            desc: "這人的臉上看起來沒有一絲表情,手裡的刀刃閃著寒光。",
          },
          {
            jh: "泰山",
            loc: "石亭",
            name: "路独雪",
            name_tw: "路獨雪",
            way: "jh 24;n;n;n;n;n;n;n;n;w;n;n",
            desc: "這人便是江湖有名的海棠殺手“三劍斷命”,看起來倒也算是一表人才,只是雙目透出的殺氣卻讓人見之膽寒。",
          },
          {
            jh: "泰山",
            loc: "大石坪",
            name: "铁云",
            name_tw: "鐵雲",
            way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n",
            desc: "據說殺手無情便無敵,這人看起來風流倜儻,卻是極為冷血之人。",
          },
          {
            jh: "泰山",
            loc: "百丈崖",
            name: "孔翎",
            way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;n;n",
            desc: "據說他就是海棠殺手組織的首領,不過看他的樣子,似乎不像是一個能統領眾多殺手的人。",
          },
          {
            jh: "泰山",
            loc: "石橋",
            name: "姬梓烟",
            name_tw: "姬梓煙",
            way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w",
            desc: "這是一名極為妖豔的女子,一身黑色的緊身衣將其包裹得曲線畢露,估計十個男人見了十個都會心癢難耐。",
          },
          {
            jh: "泰山",
            loc: "朱櫻林",
            name: "柳兰儿",
            name_tw: "柳蘭兒",
            way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n",
            desc: "這是一個看起來天真爛漫的少女,不過等她的劍刺穿你的身體時,你才會意識到天真是多麼好的偽裝。",
          },
          { jh: "泰山", loc: "朱櫻林", name: "朱樱林", name_tw: "朱櫻林", way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n", desc: "" },
          { jh: "泰山", loc: "石門", name: "布衣男子", way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870", desc: "這是一名身穿粗布衣服的男子,看起來很強壯。" },
          { jh: "泰山", loc: "巨石廣場", name: "阮小", way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n", desc: "這人五短身材,尖嘴猴腮。" },
          {
            jh: "泰山",
            loc: "聚兵房",
            name: "史义",
            name_tw: "史義",
            way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n;n;e",
            desc: "這人身穿粗布勁裝,滿臉絡腮鬍,雙眼圓瞪,似乎隨時準備發怒。",
          },
          {
            jh: "泰山",
            loc: "演武場",
            name: "林忠达",
            name_tw: "林忠達",
            way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n;n;n;n",
            desc: "這人看起來很普通,是那種見過後便會忘記的人。",
          },
          {
            jh: "泰山",
            loc: "三透天",
            name: "铁面人",
            name_tw: "鐵面人",
            way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n;n;n;n;n",
            desc: "這人臉上蒙著一張黑鐵面具,看不見他的模樣,但面具後雙眼卻給人一種滄桑感。",
          },
          {
            jh: "泰山",
            loc: "茅舍",
            name: "司马墉",
            name_tw: "司馬墉",
            way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n;n;n;w",
            desc: "這人穿著一身長袍,敏銳的雙眼讓人感覺到他的精明過人。",
          },
          { jh: "泰山", loc: "跑馬場", name: "阮大", way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n;w", desc: "這人五短身材,尖嘴猴腮。" },
          { jh: "泰山", loc: "山崖", name: "鲁刚", name_tw: "魯剛", way: "jh 24;n;n;n;n;n;n;w", desc: "一名隱士,據聞此人精通鑄劍。" },
          {
            jh: "泰山",
            loc: "紅門宮",
            name: "程不为",
            name_tw: "程不為",
            way: "jh 24;n;n;n;n;w",
            desc: "此人出身神秘,常常獨來獨往,戴一副鐵面具,不讓人看到真面目,師承不明。",
          },
          { jh: "大旗門", loc: "", name: "卓三娘", way: ".靠謎題飛", desc: "閃電卓三娘輕功世無雙,在碧落賦中排名第三。" },
          { jh: "大旗門", loc: "", name: "小白兔", way: ".靠謎題飛", desc: "小白兔白又白兩隻耳朵豎起來。" },
          { jh: "大旗門", loc: "", name: "朱藻", way: ".靠謎題飛", desc: "風流倜儻" },
          { jh: "大旗門", loc: "", name: "水灵儿", name_tw: "水靈兒", way: ".靠謎題飛", desc: "她滿面愁容,手裡雖然拿著本書,卻只是呆呆的出神。" },
          { jh: "大旗門", loc: "", name: "风老四", name_tw: "風老四", way: ".靠謎題飛", desc: "風梭風九幽,但他現在走火入魔,一動也不能動了。" },
          {
            jh: "大旗門",
            loc: "",
            name: "阴宾",
            name_tw: "陰賓",
            way: ".靠謎題飛",
            desc: "她面上蒙著輕紅羅紗,隱約間露出面容輪廓,當真美得驚人,宛如煙籠芍藥,霧裡看花",
          },
          { jh: "大旗門", loc: "海邊路", name: "渔夫", name_tw: "漁夫", way: "jh 25;e;e;e", desc: "這是一個滿臉風霜的老漁夫。" },
          { jh: "大旗門", loc: "海邊", name: "叶缘", name_tw: "葉緣", way: "jh 25;e;e;e;e;s", desc: "剛拜入大旗門不久的青年。" },
          {
            jh: "大旗門",
            loc: "常春島渡口",
            name: "老婆子",
            way: "jh 25;e;e;e;e;s;yell",
            desc: "她面容被歲月侵蝕,風雨吹打,劃出了千百條皺紋,顯得那麼衰老但一雙眼睛,卻仍亮如閃電,似是隻要一眼瞧過去,任何人的秘密,卻再也休想瞞過她。",
          },
          { jh: "大旗門", loc: "小路", name: "罗少羽", name_tw: "羅少羽", way: "jh 25;e;e;e;e;s;yell;e", desc: "剛拜入大旗門不久的青年。" },
          { jh: "大旗門", loc: "小路", name: "青衣少女", way: "jh 25;e;e;e;e;s;yell;e;ne", desc: "一個身材苗條,身著青衣的少女。" },
          { jh: "大旗門", loc: "觀月頂", name: "青衣少女", way: "jh 25;e;e;e;e;s;yell;e;ne;se;e;e;e;e", desc: "一個身材苗條,身著青衣的少女。" },
          {
            jh: "大旗門",
            loc: "觀月頂",
            name: "日岛主",
            name_tw: "日島主",
            name_new: "鐵夫人",
            way: "jh 25;e;e;e;e;s;yell;e;ne;se;e;e;e;e",
            desc: "日島主乃大旗門第七代掌門人云翼之妻,因看不慣大旗門人對其n妻子的無情,開創常春島一派,以收容世上所有傷心女子。",
          },
          { jh: "大旗門", loc: "礁石", name: "潘兴鑫", name_tw: "潘興鑫", way: "jh 25;e;e;e;e;s;yell;s", desc: "剛到拜入大旗門不久的青年。" },
          {
            jh: "大旗門",
            loc: "洞穴",
            name: "铁掌门",
            name_tw: "鐵掌門",
            name_new: "雷昊陽",
            way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028",
            desc: "他是大旗門的傳人。",
          },
          {
            jh: "大旗門",
            loc: "石屋",
            name: "夜皇",
            name_new: "鐵雍華",
            way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028;s;e;n;w;w",
            desc: "他容光煥發,須發有如衣衫般輕柔,看來雖是瀟灑飄逸,又帶有一種不可抗拒之威嚴。",
          },
          {
            jh: "大旗門",
            loc: "秘道",
            name: "红衣少女",
            name_tw: "紅衣少女",
            way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028;s;e;n;w;w;s;w",
            desc: "她身穿輕紗柔絲,白足如霜,青絲飄揚。",
          },
          { jh: "大旗門", loc: "秘道", name: "紫衣少女", way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028;s;e;n;w;w;s;w", desc: "她身穿輕紗柔絲,白足如霜,青絲飄揚。" },
          { jh: "大旗門", loc: "秘道", name: "橙衣少女", way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028;s;e;n;w;w;s;w", desc: "她身穿輕紗柔絲,白足如霜,青絲飄揚。" },
          {
            jh: "大旗門",
            loc: "秘道",
            name: "蓝衣少女",
            name_tw: "藍衣少女",
            way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028;s;e;n;w;w;s;w",
            desc: "她身穿輕紗柔絲,白足如霜,藍絲飄揚。",
          },
          { jh: "大旗門", loc: "危崖前", name: "宾奴", name_tw: "賓奴", way: "jh 25;w", desc: "陰賓所養的波斯貓" },
          { jh: "大昭寺", loc: "草原", name: "头狼", name_tw: "頭狼", way: "jh 26;w;w;w;n;w;w;w;n", desc: "狼群之王,體型碩大,狼牙寒鋒畢露。" },
          {
            jh: "大昭寺",
            loc: "陰山",
            name: "李将军",
            name_tw: "李將軍",
            way: "jh 26;w;w;n",
            desc: "一個玄甲黑盔,身披白色披風的少年將軍,雖面容清秀,卻不掩眉宇之間的果決和堅毅。",
          },
          { jh: "大昭寺", loc: "草原", name: "镇魂将", name_tw: "鎮魂將", way: "jh 26;w;w;w;n;w;w;w;n", desc: "金盔金甲的護陵大將。" },
          {
            jh: "大昭寺",
            loc: "草原",
            name: "突厥先锋大将",
            name_tw: "突厥先鋒大將",
            way: "jh 26;w;w;w;n;n",
            desc: "東突厥狼軍先鋒大將,面目兇狠,身披狼皮鎧甲,揹負長弓,手持丈餘狼牙棒。",
          },
          { jh: "大昭寺", loc: "大青山", name: "神秘甲士", way: "jh 26;w;w;n;w", desc: "身披重甲,手持長戟,不許旁人前進一步。" },
          { jh: "大昭寺", loc: "烏拉山", name: "地宫暗哨", name_tw: "地宮暗哨", way: "jh 26;w;w;n;w;w", desc: "黑衣黑靴,一旦有外人靠近地宮,便手中暗器齊發。" },
          { jh: "大昭寺", loc: "狼山", name: "守山力士", way: "jh 26;w;w;n;w;w;w", desc: "他們的雙拳,便是鎮守陵寢最好的武器。" },
          { jh: "大昭寺", loc: "草原", name: "牧羊女", way: "jh 26", desc: "一個天真活潑,美麗大方的少女。" },
          { jh: "大昭寺", loc: "草原", name: "草原狼", way: "jh 26;w", desc: "一直兇殘的草原狼。" },
          { jh: "大昭寺", loc: "草原", name: "小绵羊", name_tw: "小綿羊", way: "jh 26;w", desc: "一隻全身雪白的的綿羊。" },
          { jh: "大昭寺", loc: "草原", name: "牧羊女", way: "jh 26;w;w", desc: "一個牧羊女正在放羊。" },
          { jh: "大昭寺", loc: "草原", name: "大绵羊", name_tw: "大綿羊", way: "jh 26;w;w", desc: "一隻全身雪白的的綿羊。" },
          { jh: "大昭寺", loc: "草原", name: "白衣少年", way: "jh 26;w;w;w", desc: "年紀輕輕的少年,武功了得,卻心狠手辣。" },
          { jh: "大昭寺", loc: "草原", name: "小羊羔", way: "jh 26;w;w;w", desc: "一隻全身雪白的的綿羊。" },
          { jh: "大昭寺", loc: "城門", name: "城卫", name_tw: "城衛", way: "jh 26;w;w;w;w;w", desc: "一個年青的藏僧。" },
          { jh: "大昭寺", loc: "塔頂", name: "紫衣妖僧", way: "jh 26;w;w;w;w;w;n", desc: "附有邪魔之氣的僧人。" },
          { jh: "大昭寺", loc: "塔頂", name: "塔僧", way: "jh 26;w;w;w;w;w;n", desc: "一個負責看管舍利塔的藏僧。" },
          { jh: "大昭寺", loc: "八角街", name: "关外旅客", name_tw: "關外旅客", way: "jh 26;w;w;w;w;w;w", desc: "這是一位來大昭寺遊覽的旅客。" },
          { jh: "大昭寺", loc: "八角街", name: "护寺喇嘛", name_tw: "護寺喇嘛", way: "jh 26;w;w;w;w;w;w", desc: "一個大招寺的藏僧。" },
          { jh: "大昭寺", loc: "八角街", name: "护寺藏尼", name_tw: "護寺藏尼", way: "jh 26;w;w;w;w;w;w;n", desc: "一個大招寺的藏尼。" },
          { jh: "大昭寺", loc: "鷹記商號", name: "卜一刀", way: "jh 26;w;w;w;w;w;w;n;n;e", desc: "他是個看起來相當英俊的年輕人,不過點神秘莫測的感覺。" },
          { jh: "大昭寺", loc: "八角街", name: "疯狗", name_tw: "瘋狗", way: "jh 26;w;w;w;w;w;w;n;n;w", desc: "一隻渾身髒兮兮的野狗,一雙眼睛正惡狠狠地瞪著你。" },
          { jh: "大昭寺", loc: "八角街", name: "余洪兴", name_tw: "餘洪興", way: "jh 26;w;w;w;w;w;w;s", desc: "這是位笑眯眯的丐幫八袋弟子,生性多智,外號小吳用。" },
          { jh: "大昭寺", loc: "迎梅客棧", name: "店老板", name_tw: "店老闆", way: "jh 26;w;w;w;w;w;w;s;e", desc: "這位店老闆正在招呼客人。" },
          {
            jh: "大昭寺",
            loc: "八角街",
            name: "野狗",
            way: "jh 26;w;w;w;w;w;w;s;s;w;w;w;w",
            desc: "一隻渾身髒兮兮的野狗,一雙眼睛正惡狠狠地瞪著你。一隻渾身髒兮兮的野狗。",
          },
          { jh: "大昭寺", loc: "八角街", name: "收破烂的", name_tw: "收破爛的", way: "jh 26;w;w;w;w;w;w;s;s;w;w;w;w", desc: "一個收破爛的。" },
          { jh: "大昭寺", loc: "八角街", name: "樵夫", way: "jh 26;w;w;w;w;w;w;s;s;w;w;w;w", desc: "你看到一個粗壯的大漢,身上穿著普通樵夫的衣服。" },
          { jh: "大昭寺", loc: "八角街", name: "乞丐", way: "jh 26;w;w;w;w;w;w;s;s;w;w;w;w;n;n", desc: "一個滿臉風霜之色的老乞丐。" },
          { jh: "大昭寺", loc: "驛站", name: "陶老大", way: "jh 26;w;w;w;w;w;w;s;w", desc: "這是整天笑咪咪的車老闆,雖然功夫不高,卻也過得自在。" },
          { jh: "大昭寺", loc: "木屋", name: "胭松", way: "jh 26;w;w;w;w;w;w;w;w;n;e", desc: "胭松是葛倫高僧的得意二弟子。" },
          { jh: "大昭寺", loc: "寶塔", name: "塔祝", way: "jh 26;w;w;w;w;w;w;w;w;w", desc: "這個老人看起來七十多歲了,看著他佝僂的身影,你忽然覺得心情沈重了下來。" },
          { jh: "大昭寺", loc: "禪房", name: "灵空", name_tw: "靈空", way: "jh 26;w;w;w;w;w;w;w;w;w;w", desc: "靈空高僧是大昭寺現在的主持。" },
          { jh: "大昭寺", loc: "禪房", name: "护寺藏尼", name_tw: "護寺藏尼", way: "jh 26;w;w;w;w;w;w;w;w;w;w", desc: "一個大招寺的藏尼。" },
          {
            jh: "大昭寺",
            loc: "大昭秘境",
            name: "葛伦",
            name_tw: "葛倫",
            way: "jh 26;w;w;w;w;w;w;w;w;w;w;ask?lama_master;event_1_91837538",
            desc: "葛倫高僧已在大昭寺主持多年。男女弟子遍佈關外。",
          },
          {
            jh: "魔教",
            loc: "風雷堂正殿",
            name: "童长老",
            name_tw: "童長老",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;nw",
            desc: "他使得一手好錘法。",
          },
          { jh: "魔教", loc: "飲馬灘", name: "船夫", name_tw: "船夫", way: "jh 27;ne;nw;w;nw;w;w", desc: "一個船夫。" },
          { jh: "魔教", loc: "黃土小徑", name: "冉无望", name_tw: "冉無望", way: "jh 27;ne;n;ne", desc: "一個面容俊朗的少年,卻眉頭深鎖,面帶殺氣。" },
          { jh: "魔教", loc: "飲馬灘", name: "外面船夫", name_tw: "外面船夫", way: "jh 27;ne;nw;w;nw;w;w", desc: "一個船夫。" },
          {
            jh: "魔教",
            loc: "跪拜坪",
            name: "见钱开",
            name_tw: "見錢開",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;e",
            desc: "此人十分喜好錢財。",
          },
          {
            jh: "魔教",
            loc: "日月神道",
            name: "魔教弟子",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n",
            desc: "這傢伙滿臉橫肉,一付凶神惡煞的模樣,令人望而生畏。",
          },
          {
            jh: "魔教",
            loc: "神教監牢",
            name: "(紫色)魔教犯人",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;e;n",
            desc: "一個魔教的犯人,他們都是到魔教臥底的各大門派弟子事洩被捕的",
          },
          {
            jh: "魔教",
            loc: "神教監牢",
            name: "(青色)魔教犯人",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;e;e;e;n",
            desc: "一個魔教的犯人,他們都是到魔教臥底的各大門派弟子事洩被捕的",
          },
          {
            jh: "魔教",
            loc: "神教監牢",
            name: "(红色)魔教犯人",
            name_tw: "(紅色)魔教犯人",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;e;e;e;e;n",
            desc: "一個魔教的犯人,他們都是到魔教臥底的各大門派弟子事洩被捕的",
          },
          {
            jh: "魔教",
            loc: "神教監牢",
            name: "(蓝色)魔教犯人",
            name_tw: "(藍色)魔教犯人",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;e;e;e;e;e;n",
            desc: "一個魔教的犯人,他們都是到魔教臥底的各大門派弟子事洩被捕的",
          },
          {
            jh: "魔教",
            loc: "神劍閣",
            name: "独孤风",
            name_tw: "獨孤風",
            name_new: "夏侯京",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;e",
            desc: "此人是用劍高手。",
          },
          {
            jh: "魔教",
            loc: "魔慶堂",
            name: "杨延庆",
            name_tw: "楊延慶",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;e;e",
            desc: "他使得一手好槍法。",
          },
          {
            jh: "魔教",
            loc: "魔松閣",
            name: "范松",
            name_tw: "範松",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;e;e;e",
            desc: "他使得一手好斧法。",
          },
          {
            jh: "魔教",
            loc: "魔靈閣",
            name: "巨灵",
            name_tw: "巨靈",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e",
            desc: "他使得一手好錘法。",
          },
          {
            jh: "魔教",
            loc: "魔楚閣",
            name: "楚笑",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e",
            desc: "雖是女子,但武功絕不輸於須眉。",
          },
          {
            jh: "魔教",
            loc: "成德殿",
            name: "莲亭",
            name_tw: "蓮亭",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;n",
            desc: "他身形魁梧,滿臉虯髯,形貌極為雄健。",
          },
          {
            jh: "魔教",
            loc: "成德殿",
            name: "(亮蓝色)魔教弟子",
            name_tw: "(亮藍色)魔教弟子",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;n",
            desc: "",
          },
          {
            jh: "魔教",
            loc: "針線小築",
            name: "东方教主",
            name_tw: "東方教主",
            name_new: "葵花傳人",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;n;n;event_1_57107759;e;e;n;w",
            desc: "他就是日月神教教主。號稱無人可敵。",
          },
          {
            jh: "魔教",
            loc: "魔容閣",
            name: "花想容",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;w",
            desc: "她使得一手好刀法。",
          },
          {
            jh: "魔教",
            loc: "魔洋閣",
            name: "曲右使",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;w;w",
            desc: "他使得一手好鉤法。",
          },
          {
            jh: "魔教",
            loc: "魔風閣",
            name: "张矮子",
            name_tw: "張矮子",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;w;w;w",
            desc: "他使得一手好武功。",
          },
          {
            jh: "魔教",
            loc: "魔雲閣",
            name: "张白发",
            name_tw: "張白發",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w",
            desc: "他使得一手好掌法。",
          },
          {
            jh: "魔教",
            loc: "魔鶴閣",
            name: "赵长老",
            name_tw: "趙長老",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w",
            desc: "他使得一手好叉法。",
          },
          {
            jh: "魔教",
            loc: "風雷堂",
            name: "王诚",
            name_tw: "王誠",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;ne",
            desc: "他使得一手好刀法。",
          },
          {
            jh: "魔教",
            loc: "白虎堂正堂",
            name: "上官云",
            name_tw: "上官雲",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;n",
            desc: "他使得一手好劍法。",
          },
          {
            jh: "魔教",
            loc: "流雲堂",
            name: "桑三娘",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;ne",
            desc: "她使得一手好叉法。",
          },
          {
            jh: "魔教",
            loc: "霸氣堂",
            name: "葛停香",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;nw",
            desc: "他天生神力,勇猛無比。",
          },
          {
            jh: "魔教",
            loc: "白虎堂",
            name: "罗烈",
            name_tw: "羅烈",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;se",
            desc: "他使得一手好槍法。",
          },
          {
            jh: "魔教",
            loc: "朱雀正堂",
            name: "贾布",
            name_tw: "賈布",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;sw",
            desc: "他使得一手好鉤法。",
          },
          {
            jh: "魔教",
            loc: "玄武正堂",
            name: "鲍长老",
            name_tw: "鮑長老",
            way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;w",
            desc: "他一身橫練的功夫,孔武有力。",
          },
          { jh: "魔教", loc: "飲馬灘", name: "里面船夫", name_tw: "裡面船夫", way: "jh 27;ne;nw;w;nw;w;w;yell", desc: "一個船夫。" },
          { jh: "魔教", loc: "步神小道", name: "(青色)魔教弟子", way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n", desc: "" },
          { jh: "魔教", loc: "步神小道", name: "青色魔教弟子", way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n", desc: "" },
          {
            jh: "魔教",
            loc: "繩索吊橋",
            name: "魔教弟子",
            way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n",
            desc: "這傢伙滿臉橫肉,一付凶神惡煞的模樣,令人望而生畏。",
          },
          { jh: "魔教", loc: "鐵門", name: "白色魔教弟子", way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n", desc: "" },
          { jh: "魔教", loc: "鐵門", name: "(白色)魔教弟子", way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n", desc: "" },
          { jh: "魔教", loc: "鐵門", name: "(蓝色)魔教弟子", name_tw: "(藍色)魔教弟子", way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n", desc: "" },
          { jh: "魔教", loc: "鐵門", name: "蓝色魔教弟子", name_tw: "藍色魔教弟子", way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n", desc: "" },
          { jh: "魔教", loc: "平地", name: "黄色魔教弟子", name_tw: "黃色魔教弟子", way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n", desc: "" },
          {
            jh: "魔教",
            loc: "平地",
            name: "(黄色)魔教弟子",
            name_tw: "(黃色)魔教弟子",
            way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n",
            desc: "",
          },
          { jh: "魔教", loc: "子午樓", name: "店小二", way: "jh 27;ne;w", desc: "這是一個忙忙碌碌的小二。" },
          { jh: "魔教", loc: "子午樓", name: "客店老板", name_tw: "客店老闆", way: "jh 27;ne;w", desc: "一個賊眉鼠眼的商人。" },
          { jh: "魔教", loc: "黑山林", name: "黑熊", way: "jh 27;se;e", desc: "一隻健壯的黑熊。" },
          { jh: "魔教", loc: "林洞", name: "怪人", way: "jh 27;se;e;e;e", desc: "看起來像是隻妖怪一般。" },
          { jh: "星宿海", loc: "山洞", name: "玄衣刀妖", way: "jh 28;n;w;w;w;se", desc: "一個白發老人,身著紫衣,眼神兇狠,太陽穴隆起,顯是有不低的內力修為。" },
          { jh: "星宿海", loc: "小屋", name: "波斯老者", way: "jh 28;nw;sw", desc: "一個老者來自波斯,似乎是一個鐵匠,臉上看起來有點陰險的感覺。" },
          { jh: "星宿海", loc: "天山下", name: "波斯商人", way: "jh 28", desc: "一個高鼻藍眼的波斯商人。他看著你臉上露出狡猾的笑容。" },
          { jh: "星宿海", loc: "天山山路", name: "牧羊人", way: "jh 28;n", desc: "一個老漢,趕著幾十只羊。" },
          {
            jh: "星宿海",
            loc: "天山山路",
            name: "星宿派钹手",
            name_tw: "星宿派鈸手",
            way: "jh 28;n;n",
            desc: "他是星宿派的擊鈸手。他手中拿著一對銅鈸,一邊敲一邊扯著嗓子唱些肉麻的話。",
          },
          { jh: "星宿海", loc: "天山山路", name: "星宿派鼓手", way: "jh 28;n;n", desc: "他是星宿派的吹鼓手。他面前放著一隻銅鼓,一邊敲一邊扯著嗓子唱些肉麻的話。" },
          {
            jh: "星宿海",
            loc: "天山山路",
            name: "狮吼师兄",
            name_tw: "獅吼師兄",
            way: "jh 28;n;n",
            desc: "他就是丁老怪的二弟子。他三十多歲,獅鼻闊口,一望而知不是中土人士。",
          },
          {
            jh: "星宿海",
            loc: "天山山路",
            name: "星宿派号手",
            name_tw: "星宿派號手",
            way: "jh 28;n;n",
            desc: "他是星宿派的吹號手。他手中拿著一隻銅號,鼓足力氣一臉沉醉地吹著。",
          },
          {
            jh: "星宿海",
            loc: "星宿海",
            name: "摘星大师兄",
            name_tw: "摘星大師兄",
            way: "jh 28;n;n;n",
            desc: "他就是丁老怪的大弟子、星宿派大師兄。他三十多歲,臉龐瘦削,眼光中透出一絲乖戾之氣。",
          },
          {
            jh: "星宿海",
            loc: "日月洞",
            name: "丁老怪",
            name_new: "天宿老怪",
            way: "jh 28;n;n;n;n;n",
            desc: "他就是天宿派開山祖師、令正派人士深惡痛絕的天宿老怪。可是他看起來形貌清奇,仙風道骨。",
          },
          {
            jh: "星宿海",
            loc: "石道",
            name: "采花子",
            name_tw: "採花子",
            way: "jh 28;n;n;n;n;nw;w",
            desc: "採花子是星宿派的一個小嘍羅,武功雖不好,但生性淫邪,經常姦淫良家婦女,是官府通緝的犯人,故而星宿派名義上也不承認有這個弟子。",
          },
          { jh: "星宿海", loc: "天山山路", name: "紫姑娘", way: "jh 28;n;w", desc: "她就是丁老怪弟子紫姑娘。她容顏俏麗,可眼神中總是透出一股邪氣。" },
          { jh: "星宿海", loc: "小路", name: "天狼师兄", name_tw: "天狼師兄", way: "jh 28;n;w;n", desc: "他就是丁老怪的三弟子。" },
          { jh: "星宿海", loc: "小路", name: "出尘师弟", name_tw: "出塵師弟", way: "jh 28;n;w;n;n", desc: "他就是丁老怪的八弟子。他身才矮胖,可手中握的鋼杖又長又重。" },
          { jh: "星宿海", loc: "天山山路", name: "采药人", name_tw: "採藥人", way: "jh 28;n;w;w", desc: "一個辛苦工作的採藥人。" },
          {
            jh: "星宿海",
            loc: "天山頂峰",
            name: "周女侠",
            name_tw: "週女俠",
            way: "jh 28;n;w;w;w;w",
            desc: "身形修長,青裙曳地。皮膚白嫩,美若天人。恍若仙子下凡,是人世間極少的絕美女子。其武功修為十分了得。",
          },
          { jh: "星宿海", loc: "天山頂峰", name: "毒蛇", way: "jh 28;n;w;w;w;w", desc: "一隻有著三角形腦袋的蛇,尾巴沙沙做響。" },
          { jh: "星宿海", loc: "百龍山", name: "毒蛇", way: "jh 28;n;w;w;w;w;n", desc: "一隻有著三角形腦袋的蛇,尾巴沙沙做響。" },
          { jh: "星宿海", loc: "野牛溝", name: "牦牛", name_tw: "犛牛", way: "jh 28;n;w;w;w;w;w;w;nw;ne;nw;w", desc: "這是一頭常見的崑崙山野犛牛" },
          { jh: "星宿海", loc: "野牛溝", name: "雪豹", way: "jh 28;n;w;w;w;w;w;w;nw;ne;nw;w", desc: "這是一頭通體雪白的崑崙山雪豹,極為罕有。" },
          { jh: "星宿海", loc: "伊犁", name: "唐冠", way: "jh 28;nw", desc: "唐門中的貴公子,父親是唐門中的高層,看起來極自負。" },
          { jh: "星宿海", loc: "伊犁", name: "伊犁", way: "jh 28;nw", desc: "" },
          { jh: "星宿海", loc: "伊犁", name: "矮胖妇女", name_tw: "矮胖婦女", way: "jh 28;nw", desc: "一個很胖的中年婦女。" },
          { jh: "星宿海", loc: "巴依家院", name: "巴依", way: "jh 28;nw;e", desc: "一個風塵僕僕的俠客。。" },
          { jh: "星宿海", loc: "巴依家院", name: "小孩", way: "jh 28;nw;e", desc: "這是個小孩子" },
          {
            jh: "星宿海",
            loc: "巴依家客廳",
            name: "阿凡提",
            way: "jh 28;nw;e;e",
            desc: "他頭上包著頭巾,長著向上翹的八字鬍,最喜歡捉弄巴依、幫助窮人。他常給別人出謎語。",
          },
          { jh: "星宿海", loc: "賽馬場", name: "伊犁马", name_tw: "伊犁馬", way: "jh 28;nw;nw", desc: "這是一匹雄壯的母馬,四肢發達,毛發油亮。" },
          { jh: "星宿海", loc: "賽馬場", name: "阿拉木罕", way: "jh 28;nw;nw", desc: "她身段不肥也不瘦。她的眉毛像彎月,她的眼睛很多情。" },
          { jh: "星宿海", loc: "雜貨鋪", name: "买卖提", name_tw: "買賣提", way: "jh 28;nw;w", desc: "買賣提是個中年商人,去過幾次中原,能講一點兒漢話。" },
          {
            jh: "星宿海",
            loc: "戈壁山洞",
            name: "天梵密使",
            way: "jh 28;nw;w;buy /map/xingxiu/npc/obj/fire from xingxiu_maimaiti;e;se;sw;event_1_83637364",
            desc: "天梵宗主密使,遮住了容貌,神秘莫測。",
          },
          { jh: "星宿海", loc: "南疆沙漠", name: "梅师姐", name_tw: "梅師姐", way: "jh 28;sw", desc: "此人一臉幹皺的皮膚,雙眼深陷,猶如一具死屍。" },
          { jh: "星宿海", loc: "南疆沙漠", name: "铁尸", name_tw: "鐵屍", way: "jh 28;sw;nw;sw;sw;nw;nw;se;sw", desc: "這人全身乾枯,不像一個人,倒像是一具乾屍。" },
          { jh: "茅山", loc: "南疆沙漠", name: "心魔", way: "", desc: "缺" },
          { jh: "茅山", loc: "山道", name: "野猪", name_tw: "野豬", way: "jh 29;n", desc: "一隻笨笨的野豬" },
          {
            jh: "茅山",
            loc: "龍城道場",
            name: "阳明居士",
            name_tw: "陽明居士",
            way: "jh 29;n;n;n;n;event_1_60035830;place?平台;e",
            desc: "陽明居士瀟灑俊逸,一代鴻儒,學識淵博且深諳武事,有「軍神」之美譽,他開創的「陽明心學」更是打破了朱派獨霸天下的局面。",
          },
          {
            jh: "茅山",
            loc: "",
            name: "张天师",
            name_tw: "張天師",
            way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?無名山峽谷;n",
            desc: "他是龍虎山太乙一派的嫡系傳人,他法力高強,威名遠播。",
          },
          {
            jh: "茅山",
            loc: "",
            name: "万年火龟",
            name_tw: "萬年火龜",
            way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?無名山峽谷;n",
            desc: "一隻尺許大小,通體火紅的烏龜。",
          },
          {
            jh: "茅山",
            loc: "",
            name: "道士",
            way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?洞口;n;n;n;n;n;e;n",
            desc: "茅山派的道士,著一身黑色的道袍",
          },
          {
            jh: "茅山",
            loc: "",
            name: "孙天灭",
            name_tw: "孫天滅",
            way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?洞口;n;n;n;n;n;n;n",
            desc: "孫天滅外號六指小真人,是林忌最喜愛的徒弟。他盡得林忌真傳!",
          },
          {
            jh: "茅山",
            loc: "",
            name: "道灵",
            name_tw: "道靈",
            way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?洞口;n;n;n;n;n;n;n;event_1_98579273",
            desc: "道靈真人是林忌的師弟,也是上代掌門的關門弟子,雖然比林忌小了幾歲,但道行十分高深,「谷衣心法」已修煉到極高境界了。",
          },
          {
            jh: "茅山",
            loc: "",
            name: "林忌",
            way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?洞口;n;n;n;n;n;n;n;event_1_98579273;n",
            desc: "林忌是一位道行十分高深的修道者,你發現他的眼珠一個是黑色的,一個是金色的,這正是「谷衣心法」修煉到極高境界的徵兆。",
          },
          {
            jh: "茅山",
            loc: "",
            name: "护山使者",
            name_tw: "護山使者",
            way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?洞口;n;n;n;n;n;n;n;event_1_98579273;w",
            desc: "護山使者是茅山派的護法,著一身黑色的道袍",
          },
          {
            jh: "桃花島",
            loc: "后院",
            name: "桃花岛弟子",
            name_tw: "桃花島弟子",
            way: "jh 30;n;n;n;n;n;n;n",
            desc: "一個三十出頭的小夥子,身板結實,雙目有神,似乎練過幾年功夫。",
          },
          { jh: "桃花島", loc: "", name: "陆废人", name_tw: "陸廢人", way: "jh 30", desc: "他是黃島主的三弟子。" },
          { jh: "桃花島", loc: "", name: "老渔夫", name_tw: "老漁夫", way: "jh 30;n;n;n;n;n;n", desc: "一個看上去毫不起眼的老漁夫,然而……" },
          {
            jh: "桃花島",
            loc: "习武房",
            name: "桃花岛弟子",
            name_tw: "桃花島弟子",
            way: "jh 30;n;n;n;n;n;n;n;n;n;n;w",
            desc: "一個二十出頭的小夥子,身板結實,雙目有神,似乎練過幾年功夫。",
          },
          { jh: "桃花島", loc: "", name: "曲三", way: "jh 30;n;n;n;n;n;n;n;n;n;n;e;e;n", desc: "他是黃島主的四弟子。" },
          { jh: "桃花島", loc: "", name: "丁高阳", name_tw: "丁高陽", way: "jh 30;n;n;n;n;n;n;n;n;n;n;e;s", desc: "曲三的一位好友,神態似乎非常著急。" },
          {
            jh: "桃花島",
            loc: "",
            name: "黄岛主",
            name_tw: "黃島主",
            name_new: "李奇門",
            way: "jh 30;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
            desc: "他就是桃花島主,喜怒無常,武功深不可測。",
          },
          { jh: "桃花島", loc: "", name: "蓉儿", name_tw: "蓉兒", way: "jh 30;n;n;n;n;n;n;n;n;n;n;n;n;n;n;se;s", desc: "她是黃島主的愛女,長得極為漂亮。" },
          {
            jh: "桃花島",
            loc: "药房",
            name: "桃花岛弟子",
            name_tw: "桃花島弟子",
            way: "jh 30;n;n;n;n;n;n;n;n;n;n;w;w;s",
            desc: "一個二十出頭的小夥子,身板結實,雙目有神,似乎練過幾年功夫。",
          },
          {
            jh: "桃花島",
            loc: "",
            name: "哑仆",
            name_tw: "啞僕",
            way: "jh 30;n;n;n;n;n;n;n;n;n;n;w;w;s",
            desc: "這是一個桃花島的啞僕。他們全是十惡不赦的混蛋,黃藥師刺啞他們,充為下御。",
          },
          { jh: "桃花島", loc: "", name: "哑仆人", name_tw: "啞僕人", way: "jh 30;n;n;n;n;n;n;n;w;w", desc: "又聾又啞,似乎以前曾是一位武林高手。" },
          {
            jh: "桃花島",
            loc: "",
            name: "神雕大侠",
            name_tw: "神雕大俠",
            name_new: "過必修",
            way: "jh 30;n;n;ne",
            desc: "他就是神雕大俠,一張清癯俊秀的臉孔,劍眉入鬢。",
          },
          { jh: "桃花島", loc: "", name: "傻姑", way: "jh 30;yell;w;n", desc: "這位姑娘長相還算端正,就是一副傻頭傻腦的樣子。" },
          {
            jh: "桃花島",
            loc: "",
            name: "戚总兵",
            name_tw: "戚總兵",
            way: "jh 30;yell;w;n;e",
            desc: "此乃東南海防駐軍主將,英武之氣凜凜逼人,威信素著,三軍皆畏其令,從不敢擾民。",
          },
          {
            jh: "鐵雪山莊",
            loc: "",
            name: "小贩",
            name_tw: "小販",
            way: "jh 11;e;e;s;n;nw;w;nw;e",
            desc: "這小販左手提著個籃子,右手提著個酒壺。籃上繫著銅鈴,不住叮鐺作響。",
          },
          { jh: "鐵雪山莊", loc: "", name: "酒肉和尚", way: "jh 11;e;e;s;n;nw;w;nw;e;e;e;n;w", desc: "這是一個僧不僧俗不俗,滿頭亂發的怪人" },
          {
            jh: "鐵雪山莊",
            loc: "野猪岭",
            name: "纵横老野猪\u001b\t",
            name_tw: "縱橫老野豬\u001b\t",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e",
            desc: "兩件普通的黑布衣衫罩在身上,粗獷的眉宇間英華內斂,目光凝實如玉,顯出極高的修行。《參同契》有云:「故鉛外黑,內懷金華,被褐懷玉,外為狂夫」。目睹此人,可窺一斑。",
          },
          { jh: "鐵雪山莊", loc: "", name: "老妖", way: "jh 31;n;se;e;se;s;s;sw;se;se", desc: "一個金眼赤眉的老人,傳說來自遙遠的黑森之山,有著深不可測的妖道修為。" },
          { jh: "鐵雪山莊", loc: "羊肠小道", name: "樵夫", way: "jh 31;n;n;n", desc: "一個砍柴為生的樵夫。" },
          { jh: "鐵雪山莊", loc: "", name: "樵夫", way: "jh 31;n;n;n;w", desc: "一個砍柴為生的樵夫。" },
          { jh: "鐵雪山莊", loc: "世外桃源", name: "欧冶子", name_tw: "歐冶子", way: "jh 31;n;n;n;w;w;w", desc: "華夏鑄劍第一人,許多神劍曾出自他手。" },
          { jh: "鐵雪山莊", loc: "翠竹庄门", name: "老张", name_tw: "老張", way: "jh 31;n;n;n;w;w;w;w;n", desc: "鐵血山莊的門衛。" },
          {
            jh: "鐵雪山莊",
            loc: "山庄前院",
            name: "雪鸳",
            name_tw: "雪鴛",
            way: "jh 31;n;n;n;w;w;w;w;n;n",
            desc: "神秘的綠衣女子,似乎隱居在鐵雪山莊,無人能知其來歷。",
          },
          { jh: "鐵雪山莊", loc: "", name: "小翠", way: "jh 31;n;n;n;w;w;w;w;n;n;n", desc: "鐵雪山莊的一個丫鬟。" },
          {
            jh: "鐵雪山莊",
            loc: "",
            name: "雪蕊儿",
            name_tw: "雪蕊兒",
            way: "jh 31;n;n;n;w;w;w;w;n;n;n",
            desc: "雪蕊兒膚白如雪,很是漂亮。在這鐵雪山莊中,和鐵少過著神仙一般的日子。",
          },
          { jh: "鐵雪山莊", loc: "翠竹屋", name: "铁少", name_tw: "鐵少", way: "jh 31;n;n;n;w;w;w;w;n;n;n", desc: "鐵山是一個風流倜儻的公子。" },
          { jh: "鐵雪山莊", loc: "山庄后院", name: "白袍公", way: "jh 31;n;n;n;w;w;w;w;n;n;n;n", desc: "一個一襲白衣的老翁。" },
          { jh: "鐵雪山莊", loc: "", name: "黑袍公", way: "jh 31;n;n;n;w;w;w;w;n;n;n;n", desc: "一個一襲黑衣的老翁。" },
          { jh: "鐵雪山莊", loc: "洞后营地", name: "黑衣人", way: "jh 31;n;e;n;n;se;sw;s;nw;n", desc: "全身黑衣的青年,現在似乎沒有沒有帶面罩,相貌很不顯眼" },
          {
            jh: "鐵雪山莊",
            loc: "营地大帐",
            name: "黑衣首领",
            name_tw: "黑衣首領",
            way: "jh 31;n;e;n;n;se;sw;s;nw;n;e",
            desc: "看起來像是這裡的首領,身穿黑衣,相貌非常普通",
          },
          {
            jh: "鐵雪山莊",
            loc: "青石溪畔",
            name: "陳小神",
            way: "jh 31;n;se",
            desc: "快活林裡小神仙,一個眉清目秀的江湖新人,據說機緣巧合下得到了不少江湖秘藥,功力非同一般,前途不可限量。",
          },
          { jh: "鐵雪山莊", loc: "", name: "剑荡八荒", name_tw: "劍蕩八荒", way: "jh 31;n;se;e", desc: "虯髯大漢,要憑一把鐵劍戰勝天下高手,八荒無敵。" },
          { jh: "鐵雪山莊", loc: "", name: "魏娇", name_tw: "魏嬌", way: "jh 31;n;se;e;se", desc: "女扮男裝的青衣秀士,手持長劍,英姿颯爽,好一個巾幗不讓須眉。" },
          { jh: "鐵雪山莊", loc: "", name: "神仙姐姐", way: "jh 31;n;se;e;se;s", desc: "白裙襲地,仙氣氤氳,武林中冉冉升起的新星,誓要問鼎至尊榜,執天下之牛耳。" },
          {
            jh: "鐵雪山莊",
            loc: "半山桃林",
            name: "寒夜·斩",
            name_tw: "寒夜·斬",
            way: "jh 31;n;se;e;se;s;s",
            desc: "一副浪蕩書生打扮的中年劍客,據說他也曾是一代高手。",
          },
          {
            jh: "鐵雪山莊",
            loc: "",
            name: "他",
            way: "jh 31;n;se;e;se;s;s;sw",
            desc: "這人的名字頗為奇怪,只一個字。行為也頗為怪誕,總是藏在花叢裡。不過武功底子看起來卻一點都不弱。",
          },
          {
            jh: "鐵雪山莊",
            loc: "",
            name: "出品人◆风云",
            name_tw: "出品人◆風雲",
            way: "jh 31;n;se;e;se;s;s;sw;se",
            desc: "江湖豪門『21世紀影業』的核心長老之一,與幫主番茄攜手打下一片江山,江湖中威震一方的豪傑。",
          },
          {
            jh: "鐵雪山莊",
            loc: "",
            name: "二虎子",
            way: "jh 31;n;se;e;se;s;s;sw;se;se",
            desc: "一個已過盛年的江湖高手,像是曾有過輝煌,卻早已隨風吹雨打去。他曾有過很多名字,現在卻連一個像樣的都沒有留下,只剩下喝醉後嘴裡呢喃不清的“大師”,“二二二”,“泯恩仇”,你也聽不出個所以然。",
          },
          {
            jh: "鐵雪山莊",
            loc: "",
            name: "欢乐剑客",
            name_tw: "歡樂劍客",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e",
            desc: "『地府』威震江湖的右護法,手中大斧不知道收留了多少江湖高手的亡魂。",
          },
          {
            jh: "鐵雪山莊",
            loc: "",
            name: "黑市老鬼",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw",
            desc: "江湖人無人不知,無人不曉的黑市老鬼頭,包裹裡無奇不有,無所不賣,只要你有錢,什麼稀奇的貨品都有,比如黑鬼的凝視,眼淚,咆哮,微笑。。。一應俱全。",
          },
          {
            jh: "鐵雪山莊",
            loc: "踏云小径",
            name: "无头苍蝇",
            name_tw: "無頭蒼蠅",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne",
            desc: "一個佝僂著身軀的玄衣老頭,從後面看去,似是沒有頭一樣,頗為駭人。",
          },
          {
            jh: "鐵雪山莊",
            loc: "",
            name: "神弑☆铁手",
            name_tw: "神弒☆鐵手",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n",
            desc: "武林中數一數二的後起之秀,和所有崛起的江湖高手一樣,潛心修煉,志氣淩雲。",
          },
          {
            jh: "鐵雪山莊",
            loc: "",
            name: "禅师",
            name_tw: "禪師",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne",
            desc: "一個退隱的禪師,出家人連名字都忘懷了,只剩下眼中隱含的光芒還能看出曾是問鼎武林的高手。",
          },
          {
            jh: "鐵雪山莊",
            loc: "",
            name: "道一",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n",
            desc: "後起之秀,面若中秋之月,色如春曉之花,鬢若刀裁,眉如墨畫。",
          },
          {
            jh: "鐵雪山莊",
            loc: "真龙隐武阁",
            name: "采菊隐士",
            name_tw: "採菊隱士",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n",
            desc: "一個與世無爭的清修高人,無心江湖,潛心修仙。用「美男子」來形容他一點也不為過。身高近七尺,穿著一襲繡綠紋的紫長袍,外罩一件亮綢面的乳白色對襟襖背子。",
          },
          {
            jh: "鐵雪山莊",
            loc: "武神步道",
            name: "【人间】雨修",
            name_tw: "【人間】雨修",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n",
            desc: "曾經的江湖第二豪門『天傲閣』的大當家,武勇過人,修為頗深。怎奈何門派日漸式微,江湖聲望一日不如一日,讓人不禁扼腕嘆息,縱使一方霸主也獨木難支。",
          },
          {
            jh: "鐵雪山莊",
            loc: "无双洞",
            name: "汉时叹",
            name_tw: "漢時嘆",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;e;e;event_1_47175535",
            desc: "身穿水墨色衣、頭戴一片氈巾,生得風流秀氣。『地府』幫的開山祖師,曾是武功橫絕一時的江湖至尊。手中暗器『大巧不工』聞者喪膽,鏢身有字『揮劍訣浮雲』。",
          },
          {
            jh: "鐵雪山莊",
            loc: "破虚石台",
            name: "冷泉心影",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;e;n",
            desc: "『不落皇朝』當之無愧的君主和領袖,致力破除心中習武障魔,參得無上武道。頭上戴著束發嵌寶紫金冠,齊眉勒著二龍搶珠金抹額,如同天上神佛降臨人世。",
          },
          {
            jh: "鐵雪山莊",
            loc: "绣冬堂",
            name: "烽火戏诸侯",
            name_tw: "烽火戲諸侯",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;n;n;n;e;e;event_1_94442590",
            desc: "身軀凜凜,相貌堂堂。一雙眼光射寒星,兩彎眉渾如刷漆。胸脯橫闊,有萬夫難敵之威風。武林至尊榜頂尖劍客,一人一劍,手持『春雷』蕩平天劍谷,天下武林無人不曉!神劍劍身一面刻“鳳年”,一面刻著“天狼”。",
          },
          {
            jh: "鐵雪山莊",
            loc: "燕谿阁",
            name: "阿不",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;n;n;n;w;w;event_1_57281457",
            desc: "器宇軒昂,吐千丈淩雲之志氣。白衣黑發,雙手負於背後,立於巨巖之頂,直似神明降世。這是武林至尊榜第一高手,不世出的天才劍客,率『縱橫天下』幫獨尊江湖。手持一柄『穿林雨』長槍,槍柄上刻著一行小字:『歸去,也無風雨也無晴』。",
          },
          {
            jh: "鐵雪山莊",
            loc: "破虚石台",
            name: "男主角◆番茄",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;w;n",
            desc: "江湖豪門『21世紀影業』的靈魂,當世絕頂高手之一,正在此潛心修練至上武學心法,立志要在這腥風血雨的江湖立下自己的聲威!",
          },
          {
            jh: "鐵雪山莊",
            loc: "沉剑渊",
            name: "剑仙",
            name_tw: "劍仙",
            way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;w;w;sw",
            desc: "白須白發,仙風道骨,離世獨居的高人。",
          },
          {
            jh: "鐵雪山莊",
            loc: "球霸酒家",
            name: "小飞",
            name_tw: "小飛",
            way: "jh 31;n;se;e;se;s;w",
            desc: "『不落皇朝』的二當家,為人灑脫風趣,酷愛蹴鞠,酒量超群,以球入道。傳聞只要飲下三杯佳釀,帶醉出戰,那麼不論是踢全場、轉花枝、大小出尖,流星趕月,他都能憑藉出色的技藝獨佔鰲頭。",
          },
          { jh: "慕容山莊", loc: "", name: "家丁", way: "jh 32;n;n", desc: "一個穿著僕人服裝的家丁。" },
          { jh: "慕容山莊", loc: "", name: "邓家臣", name_tw: "鄧家臣", way: "jh 32;n;n;se", desc: "他是慕容家四大家臣之首,功力最為深厚。" },
          {
            jh: "慕容山莊",
            loc: "",
            name: "朱姑娘",
            way: "jh 32;n;n;se;e;s;s",
            desc: "這是個身穿紅衣的女郎,大約十七八歲,一臉精靈頑皮的神氣。一張鵝蛋臉,眼珠靈動,別有一番動人風韻。",
          },
          {
            jh: "慕容山莊",
            loc: "",
            name: "船工小厮",
            name_tw: "船工小廝",
            way: "jh 32;n;n;se;e;s;s;event_1_99232080",
            desc: "一位年輕的船工。表情看上去很消沉,不知道發生了什麼。",
          },
          {
            jh: "慕容山莊",
            loc: "",
            name: "芳绫",
            name_tw: "芳綾",
            way: "jh 32;n;n;se;e;s;s;event_1_99232080;e;e;s;e;s;e;e;e",
            desc: "她看起來像個小靈精,頭上梳兩個小包包頭。她坐在地上,看到你看她便向你作了個鬼臉!你想她一定是調皮才會在這受罰!",
          },
          {
            jh: "慕容山莊",
            loc: "",
            name: "无影斥候",
            name_tw: "無影斥候",
            way: "jh 32;n;n;se;e;s;s;event_1_99232080;e;e;s;e;s;e;e;e;n",
            desc: "經常在孔府徘徊的斥候。",
          },
          {
            jh: "慕容山莊",
            loc: "",
            name: "柳掌门",
            name_tw: "柳掌門",
            way: "jh 32;n;n;se;e;s;s;event_1_99232080;e;e;s;e;s;e;e;e;s;s;event_1_92057893;e;s;event_1_8205862",
            desc: "封山劍派掌門,看似中了某種迷香,昏昏沉沉的睡著。",
          },
          {
            jh: "慕容山莊",
            loc: "",
            name: "慕容老夫人",
            way: "jh 32;n;n;se;n",
            desc: "她身穿古銅緞子襖裙,腕帶玉鐲,珠翠滿頭,打扮的雍容華貴,臉上皺紋甚多,眼睛迷迷朦朦,似乎已經看不見東西。",
          },
          { jh: "慕容山莊", loc: "", name: "慕容侍女", way: "jh 32;n;n;se;n", desc: "一個侍女,年齡不大。" },
          { jh: "慕容山莊", loc: "", name: "公冶家臣", way: "jh 32;n;n;se;n;n", desc: "他是慕容家四大家臣之二,為人穩重。" },
          { jh: "慕容山莊", loc: "", name: "包家将", name_tw: "包家將", way: "jh 32;n;n;se;n;n;n;n", desc: "他是慕容家四大家臣之三,生性喜歡饒舌。" },
          { jh: "慕容山莊", loc: "", name: "风波恶", name_tw: "風波惡", way: "jh 32;n;n;se;n;n;n;n;n", desc: "他是慕容家四大家臣之四,最喜歡打架,輕易卻不服輸。" },
          { jh: "慕容山莊", loc: "", name: "慕容公子", way: "jh 32;n;n;se;n;n;n;n;w;w;n", desc: "他是姑蘇慕容的傳人,他容貌俊雅,風度過人,的確非尋常人可比。" },
          {
            jh: "慕容山莊",
            loc: "",
            name: "慕容家主",
            name_new: "燕浩宇",
            way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;event_1_72278818;event_1_35141481;event_1_35141481;event_1_35141481;event_1_35141481;event_1_35141481;event_1_35141481;w",
            desc: "他是姑蘇慕容的傳人,可以說是自慕容龍城以下武功最為傑出之人。不僅能貫通天下百家之長,更是深為精通慕容家絕技。",
          },
          { jh: "慕容山莊", loc: "", name: "小兰", name_tw: "小蘭", way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;w", desc: "這是一個蔓陀山莊的丫環。" },
          {
            jh: "慕容山莊",
            loc: "",
            name: "神仙姐姐",
            way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;w;n;e;n;e;n;e",
            desc: "她秀美的面龐之上,端莊中帶有稚氣,隱隱含著一絲憂色。見你注目看她不覺低頭輕嘆。只聽得這輕輕一聲嘆息。霎時之間,你不由得全身一震,一顆心怦怦跳動。心想:“這一聲嘆息如此好聽,世上怎能有這樣的聲音?”聽得她唇吐玉音,更是全身熱血如沸!",
          },
          { jh: "慕容山莊", loc: "", name: "小茗", way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;w;n;e;n;e;n;n", desc: "這是一個蔓陀山莊的丫環。" },
          {
            jh: "慕容山莊",
            loc: "",
            name: "王夫人",
            way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;w;n;e;n;e;n;n",
            desc: "她身穿鵝黃綢衫,眉目口鼻均美豔無倫,臉上卻頗有風霜歲月的痕跡。",
          },
          {
            jh: "慕容山莊",
            loc: "",
            name: "严妈妈",
            name_tw: "嚴媽媽",
            way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;w;n;e;n;e;n;w",
            desc: "一箇中年婦女,身上的皮膚黝黑,常年不見天日的結果。",
          },
          {
            jh: "大理",
            loc: "",
            name: "侍从",
            name_tw: "侍從",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;n;w;n",
            desc: "這位倒也打扮的利索,一身短打,白布包頭,翹起的褲腿,一雙潔白的布鞋,格外醒目。他正準備出去籌備白尼族一年一度的大會。",
          },
          { jh: "大理", loc: "", name: "摆夷女子", name_tw: "擺夷女子", way: "jh 33;sw;sw", desc: "她是一個身著白衣的擺夷女子,長發飄飄,身態娥娜。" },
          { jh: "大理", loc: "", name: "士兵", way: "jh 33;sw;sw;s;s", desc: "他是一個大理國禁衛軍士兵,身著錦衣,手執鋼刀,雙目精光炯炯,警惕地巡視著四週的情形。" },
          { jh: "大理", loc: "", name: "武将", name_tw: "武將", way: "jh 33;sw;sw;s;s", desc: "他站在那裡,的確有說不出的威風。" },
          {
            jh: "大理",
            loc: "下关城",
            name: "台夷商贩",
            name_tw: "台夷商販",
            way: "jh 33;sw;sw;s;s;s;nw;n",
            desc: "一位台夷族的商販,正在販賣一竹簍剛打上來的活蹦亂跳的鮮魚。",
          },
          { jh: "大理", loc: "", name: "乌夷商贩", name_tw: "烏夷商販", way: "jh 33;sw;sw;s;s;s;nw;n", desc: "一位烏夷族的商販,挑著一擔皮毛野味在販賣。" },
          { jh: "大理", loc: "", name: "土匪", way: "jh 33;sw;sw;s;s;s;nw;n;ne;n;n;ne", desc: "" },
          { jh: "大理", loc: "", name: "猎人", name_tw: "獵人", way: "jh 33;sw;sw;s;s;s;nw;n;nw;n", desc: "一位身強力壯的烏夷族獵手。" },
          { jh: "大理", loc: "", name: "皮货商", name_tw: "皮貨商", way: "jh 33;sw;sw;s;s;s;nw;n;nw;n", desc: "一位來遠道而來的漢族商人,來此採購皮貨。" },
          { jh: "大理", loc: "", name: "牧羊女", way: "jh 33;sw;sw;s;s;s;nw;n;nw;n;n;n;n;e;e", desc: "她是一個擺夷牧羊女子。" },
          { jh: "大理", loc: "", name: "牧羊人", way: "jh 33;sw;sw;s;s;s;nw;n;nw;n;n;n;n;e;e", desc: "他一個擺夷牧羊男子。" },
          { jh: "大理", loc: "", name: "僧人", way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;e;e", desc: "一個精壯僧人。" },
          {
            jh: "大理",
            loc: "",
            name: "贵公子",
            name_tw: "貴公子",
            way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;e;e;e;e;e",
            desc: "這是一介翩翩貴公子,長得到也算玉樹臨風、一表人才,可偏偏一雙眼睛卻愛斜著瞟人。",
          },
          {
            jh: "大理",
            loc: "",
            name: "恶奴",
            name_tw: "惡奴",
            way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;e;e;e;e;e",
            desc: "他看上去膀大腰粗,橫眉怒目,滿面橫肉。看來手下倒也有點功夫。",
          },
          {
            jh: "大理",
            loc: "",
            name: "枯大师",
            name_tw: "枯大師",
            way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;e;e;e;n",
            desc: "他的面容奇特之極,左邊的一半臉色紅潤,皮光肉滑,有如嬰兒,右邊的一半卻如枯骨,除了一張焦黃的麵皮之外全無肌肉,骨頭突了出來,宛然便是半個骷髏骨頭。這是他修習枯榮禪功所致。",
          },
          { jh: "大理", loc: "", name: "平通镖局镖头", name_tw: "平通鏢局鏢頭", way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s", desc: "" },
          { jh: "大理", loc: "", name: "「平通镖局」镖头", name_tw: "「平通鏢局」鏢頭", way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s", desc: "一個風塵僕僕的俠客。。" },
          {
            jh: "大理",
            loc: "",
            name: "游客",
            name_tw: "遊客",
            way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e",
            desc: "一個遠道來的漢族遊客,風塵僕僕,但顯然為眼前美景所動,興高彩烈。",
          },
          { jh: "大理", loc: "", name: "村妇", name_tw: "村婦", way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e", desc: "一個年輕的擺夷村婦。" },
          { jh: "大理", loc: "", name: "段公子", way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne", desc: "他是一個身穿青衫的年輕男子。臉孔略尖,自有一股書生的呆氣。" },
          { jh: "大理", loc: "罗伽甸", name: "农夫", name_tw: "農夫", way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e", desc: "一位身強體壯的擺夷族農夫。" },
          {
            jh: "大理",
            loc: "阳宗镇",
            name: "台夷商贩",
            name_tw: "台夷商販",
            way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e",
            desc: "一個台夷婦女,揹著個竹簍販賣些絲織物品和手工藝品。",
          },
          { jh: "大理", loc: "", name: "老祭祀", way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;ne;e;n", desc: "" },
          {
            jh: "大理",
            loc: "",
            name: "老祭司",
            way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;ne;e;n",
            desc: "一個頗老朽的擺夷老人,穿戴齊整,是本村的祭司,權力頗大,相當於族長。",
          },
          { jh: "大理", loc: "", name: "采桑女", name_tw: "採桑女", way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;s", desc: "一個年輕的擺夷採桑姑娘。" },
          {
            jh: "大理",
            loc: "",
            name: "竹叶青蛇",
            name_tw: "竹葉青蛇",
            way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;sw",
            desc: "一隻讓人看了起雞皮疙瘩的竹葉青蛇。",
          },
          {
            jh: "大理",
            loc: "林中山涧",
            name: "采笋人",
            name_tw: "採筍人",
            way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;sw;s",
            desc: "一個壯年村民,住在數里外的村莊,背後背了個竹筐,手拿一把砍柴刀,上山來採竹筍。",
          },
          {
            jh: "大理",
            loc: "",
            name: "砍竹人",
            way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;sw;s;s",
            desc: "一個壯年村民,住在山下的村落裡,是上山來砍伐竹子的。",
          },
          {
            jh: "大理",
            loc: "",
            name: "养蚕女",
            name_tw: "養蠶女",
            way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;sw;s;s;e;e",
            desc: "一個年輕的擺夷村婦,養蠶紡絲為生。",
          },
          {
            jh: "大理",
            loc: "",
            name: "纺纱女",
            name_tw: "紡紗女",
            way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;sw;s;s;e;n;e;n",
            desc: "一個年輕的擺夷村婦,心靈手巧,專擅紡紗。",
          },
          { jh: "大理", loc: "", name: "麻雀", way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;s", desc: "一隻嘰嘰喳喳,飛來飛去的小麻雀。" },
          { jh: "大理", loc: "玉虚观前", name: "小道姑", way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;s;w;n", desc: "玉虛觀的小道姑,她是在這接待香客的。" },
          { jh: "大理", loc: "", name: "刀俏尼", way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;s;w;n", desc: "這是個容貌秀麗的中年道姑,是個擺夷族女子,頗有雍容氣質。" },
          { jh: "大理", loc: "", name: "毒蜂", way: "jh 33;sw;sw;s;s;s;s;e;e;n", desc: "一隻色彩斑斕大個野蜂,成群結隊的。" },
          { jh: "大理", loc: "", name: "傅护卫", name_tw: "傅護衛", way: "jh 33;sw;sw;s;s;s;s;s;e", desc: "他是大理國四大護衛之一。" },
          {
            jh: "大理",
            loc: "",
            name: "褚护卫",
            name_tw: "褚護衛",
            way: "jh 33;sw;sw;s;s;s;s;s;e;n",
            desc: "他是大理國四大護衛之一。身穿黃衣,臉上英氣逼人。手持一根鐵桿。",
          },
          { jh: "大理", loc: "", name: "家丁", way: "jh 33;sw;sw;s;s;s;s;s;e;n;se", desc: "他是大理國鎮南王府的家丁。" },
          { jh: "大理", loc: "", name: "丹顶鹤", name_tw: "丹頂鶴", way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e", desc: "一隻全身潔白的丹頂鶴,看來是修了翅膀,沒法高飛了。" },
          { jh: "大理", loc: "", name: "段王妃", way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e", desc: "大理王妃,徐娘半老,風韻猶存。" },
          {
            jh: "大理",
            loc: "",
            name: "养花女",
            name_tw: "養花女",
            way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;e;e",
            desc: "一位養花少女,她每天就是照顧這數也數不清的茶花。",
          },
          { jh: "大理", loc: "", name: "段无畏", name_tw: "段無畏", way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;n", desc: "他是大理國鎮南王府管家。" },
          { jh: "大理", loc: "", name: "古护卫", name_tw: "古護衛", way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;n;n", desc: "" },
          { jh: "大理", loc: "", name: "王府御医", name_tw: "王府御醫", way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;n;n;n", desc: "一個風程僕僕的俠客。" },
          { jh: "大理", loc: "", name: "婉清姑娘", way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;n;n;n;ne;e;e;n", desc: "" },
          {
            jh: "大理",
            loc: "",
            name: "段皇爷",
            name_tw: "段皇爺",
            way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;n;n;n;ne;n",
            desc: "他就是大理國的鎮南王,當今皇太弟,是有名的愛情聖手。",
          },
          { jh: "大理", loc: "", name: "石人", way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;s", desc: "一個練功用的比武石人,雕鑿得很精細,如同真人一般。" },
          { jh: "大理", loc: "", name: "范司马", name_tw: "範司馬", way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;n;e", desc: "他是大理國三公之一。" },
          { jh: "大理", loc: "", name: "巴司空", way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;n;n", desc: "他是大理國三公之一。一個又瘦又黑的漢子,但他的擅長輕功。" },
          {
            jh: "大理",
            loc: "",
            name: "华司徒",
            name_tw: "華司徒",
            way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;n;w",
            desc: "他是大理國三大公之一。華司徒本名阿根,出身貧賤,現今在大理國位列三公,未發跡時,幹部的卻是盜墓掘墳的勾當,最擅長的本領是偷盜王公巨賈的墳墓。這些富貴人物死後,必有珍異寶物殉葬,華阿根從極遠處挖掘地道,通入墳墓,然後盜取寶物。所花的一和雖巨,卻由此而從未為人發覺。有一次他掘入一墳,在棺木中得到了一本殉葬的武功秘訣,依法修習,練成了一身卓絕的外門功夫,便捨棄了這下賤的營生,輔佐保定帝,累立奇功,終於升到司徒之職。",
          },
          {
            jh: "大理",
            loc: "",
            name: "霍先生",
            way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;w",
            desc: "他一身邋遢,形容委瑣,整天迷迷糊糊的睡不醒模樣。可是他的賬務十幾年來無可挑剔。原來他就是伏牛派的崔百泉,為避仇禍隱居於此。",
          },
          { jh: "大理", loc: "", name: "石匠", way: "jh 33;sw;sw;s;s;s;s;s;s;e;e", desc: "他是一個打磨大理石的石匠,身上只穿了一件坎肩,全身佈滿了厚實的肌肉。" },
          {
            jh: "大理",
            loc: "",
            name: "薛老板",
            name_tw: "薛老闆",
            way: "jh 33;sw;sw;s;s;s;s;s;s;e;n",
            desc: "這是一個經驗老到的生意人,一雙精明的眼睛不停的打量著你。",
          },
          {
            jh: "大理",
            loc: "",
            name: "江湖艺人",
            name_tw: "江湖藝人",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s",
            desc: "他是一個外地來的江湖藝人,手裡牽著一隻金絲猴兒,滿臉風塵之色。",
          },
          { jh: "大理", loc: "太和居", name: "店小二", way: "jh 33;sw;sw;s;s;s;s;s;s;s;e", desc: "這位店小二正笑咪咪地忙著,還不時拿起掛在脖子上的抹布擦臉。" },
          { jh: "大理", loc: "", name: "歌女", way: "jh 33;sw;sw;s;s;s;s;s;s;s;e;n", desc: "她是一個賣唱為生的歌女。" },
          {
            jh: "大理",
            loc: "",
            name: "南国姑娘",
            name_tw: "南國姑娘",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;e;s",
            desc: "南國的大姑娘頗帶有當地優美秀麗山水的風韻,甜甜的笑,又有天真的浪漫。她穿著白色上衣,藍色的寬褲,外面套著黑絲絨領褂,頭上纏著彩色的頭巾。",
          },
          {
            jh: "大理",
            loc: "",
            name: "摆夷老叟",
            name_tw: "擺夷老叟",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;e;s",
            desc: "一個擺夷老叟大大咧咧地坐在竹籬板舍門口,甩著三四個巴掌大的棕呂樹葉,瞧著道上來來往往的人們,倒也快活自在。",
          },
          {
            jh: "大理",
            loc: "",
            name: "大土司",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;n;w;n",
            desc: "大土司是擺夷族人氏,是蒼山納蘇系的。他倒是長的肥頭大耳的,每說一句話,每有一點表情,滿臉的肉紋便象是洱海里的波浪一樣。他身著綵綢,頭帶鳳羽,腳踩藤鞋,滿身掛著不同色彩的貝殼。只見他傲氣凜然地高居上座,不把來人看在眼裡。",
          },
          {
            jh: "大理",
            loc: "",
            name: "族头人",
            name_tw: "族頭人",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;n;w;n;se;ne",
            desc: "這位是哈尼的族頭人,哈尼是大理國的第三大族,大多聚在大都附近。此人貌甚精明,身穿對襟衣,亦是白布包頭。他坐在大土司的右下首,對來人細細打量著。",
          },
          {
            jh: "大理",
            loc: "",
            name: "黄衣卫士",
            name_tw: "黃衣衛士",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;n;w;s",
            desc: "這是位黃衣衛士,身著錦衣,手執鋼刀,雙目精光炯炯,警惕地巡視著四週的情形。",
          },
          {
            jh: "大理",
            loc: "",
            name: "盛皮罗客商",
            name_tw: "盛皮羅客商",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s",
            desc: "這是一位從印度來的客商,皮膚黝黑,白布包頭,大理把印度人叫作盛皮羅。",
          },
          { jh: "大理", loc: "客店", name: "店小二", way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;e", desc: "這位店小二正笑咪咪地忙著,還不時拿起掛在脖子上的抹布擦臉。" },
          {
            jh: "大理",
            loc: "",
            name: "古灯大师",
            name_tw: "古燈大師",
            name_new: "段氏南僧",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s",
            desc: "他身穿粗布僧袍,兩道長長的白眉從眼角垂了下來,面目慈祥,長須垂肩,眉間雖隱含愁苦,但一番雍容高華的神色,卻是一望而知。大師一生行善,積德無窮。",
          },
          {
            jh: "大理",
            loc: "",
            name: "族长",
            name_tw: "族長",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;e;n;n",
            desc: "一位滿臉皺紋的老年婦女,正是本村的族長。台夷時處母系氏族,族中權貴皆為婦女。",
          },
          {
            jh: "大理",
            loc: "",
            name: "祭司",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;e;n;n;n",
            desc: "一位滿臉皺紋的老年婦女,是本村的大祭司,常年司守祭台。台夷時處母系氏族,祭司要職皆為婦女。",
          },
          { jh: "大理", loc: "", name: "祭祀", way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;s;e;n;n;n", desc: "" },
          {
            jh: "大理",
            loc: "",
            name: "渔夫",
            name_tw: "漁夫",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;se;sw;n",
            desc: "一位台夷族的漁夫,扛這兩條竹槳,提著一個魚簍。",
          },
          {
            jh: "大理",
            loc: "",
            name: "台夷猎人",
            name_tw: "台夷獵人",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;se;sw;s",
            desc: "一位台夷族的獵手,擅用短弩,射飛鳥。",
          },
          {
            jh: "大理",
            loc: "",
            name: "台夷妇女",
            name_tw: "台夷婦女",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;se;sw;w",
            desc: "一位中年的台夷婦女,上著無領襯花對襟,下穿五色筒裙,正在編織漁網。",
          },
          {
            jh: "大理",
            loc: "",
            name: "台夷姑娘",
            name_tw: "台夷姑娘",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;sw;sw",
            desc: "一位年輕的台夷姑娘,上著無領襯花對襟,下穿五色筒裙。",
          },
          {
            jh: "大理",
            loc: "竹楼下",
            name: "水牛",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;sw;sw;n",
            desc: "一頭南方山區常見的水牛,是耕作的主力,也用來拉車載物。由於水草茂盛,長得十分肥壯。",
          },
          {
            jh: "大理",
            loc: "",
            name: "台夷农妇",
            name_tw: "台夷農婦",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;sw;sw;s",
            desc: "一位年輕的台夷農婦,在田裡辛勤地勞作著。",
          },
          {
            jh: "大理",
            loc: "青竹林",
            name: "采笋人",
            name_tw: "採筍人",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;sw;sw;w",
            desc: "一個盧鹿部的青年台夷婦女,背後背了個竹筐,手拿一把砍柴刀,來採竹筍。",
          },
          { jh: "大理", loc: "", name: "野兔", way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;se", desc: "一隻好可愛的小野兔。" },
          { jh: "大理", loc: "", name: "侍者", way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;w;w;se", desc: "他看上去長的眉清目秀。" },
          {
            jh: "大理",
            loc: "",
            name: "高侯爷",
            name_tw: "高侯爺",
            way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;w;w;se;n",
            desc: "大理國侯爺,這是位寬袍大袖的中年男子,三縷長髯,形貌高雅",
          },
          { jh: "大理", loc: "", name: "素衣卫士", name_tw: "素衣衛士", way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;w;w;se;n", desc: "這是位身懷絕技的武士。" },
          { jh: "大理", loc: "", name: "傣族首领", name_tw: "傣族首領", way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;w;w;se;n;n;e;e;se", desc: "" },
          { jh: "大理", loc: "", name: "陪从", name_tw: "陪從", way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;w;w;se;n;n;w;se", desc: "" },
          { jh: "大理", loc: "", name: "摆夷小孩", name_tw: "擺夷小孩", way: "jh 33;sw;sw;s;s;s;s;s;s;w", desc: "一個幼小的擺夷兒童。" },
          {
            jh: "大理",
            loc: "",
            name: "锦衣卫士",
            name_tw: "錦衣衛士",
            way: "jh 33;sw;sw;s;s;s;s;s;w",
            desc: "這是位錦衣衛士,身著錦衣,手執鋼刀,雙目精光炯炯,警惕地巡視著四週的情形。",
          },
          { jh: "大理", loc: "", name: "朱护卫", name_tw: "朱護衛", way: "jh 33;sw;sw;s;s;s;s;s;w", desc: "他是大理國四大護衛之一。一副書生酸溜溜的打扮行頭。" },
          { jh: "大理", loc: "", name: "太监", name_tw: "太監", way: "jh 33;sw;sw;s;s;s;s;s;w;n;n", desc: "一個風塵僕僕的俠客。。" },
          {
            jh: "大理",
            loc: "",
            name: "宫女",
            name_tw: "宮女",
            way: "jh 33;sw;sw;s;s;s;s;s;w;n;n;n;n",
            desc: "一位大理皇宮烏夷族宮女,以酥澤發,盤成兩環,一身宮裝,目無表情。",
          },
          { jh: "大理", loc: "", name: "破嗔", way: "jh 33;sw;sw;s;s;s;s;w;w;n", desc: "他是一個和尚,是黃眉大師的二弟子。" },
          { jh: "大理", loc: "", name: "破疑", way: "jh 33;sw;sw;s;s;s;s;w;w;n", desc: "他是一個和尚,是黃眉大師的大弟子。" },
          {
            jh: "大理",
            loc: "",
            name: "段恶人",
            name_tw: "段惡人",
            way: "jh 33;sw;sw;s;s;s;s;w;w;n;se",
            desc: "他身穿一件青布長袍,身高五尺有餘,臉上常年戴一張人皮面具,喜怒哀樂一絲不露。",
          },
          {
            jh: "大理",
            loc: "",
            name: "神农帮弟子",
            name_tw: "神農幫弟子",
            way: "jh 33;sw;sw;s;s;s;s;w;w;s",
            desc: "這是一個神農幫的幫眾,身穿黃衣,肩懸藥囊,手持一柄藥鋤。",
          },
          {
            jh: "大理",
            loc: "",
            name: "无量剑弟子",
            name_tw: "無量劍弟子",
            way: "jh 33;sw;sw;s;s;s;s;w;w;s;nw",
            desc: "這是無量劍派的一名弟子,腰挎一柄長劍,神情有些鬼祟,象是懼怕些什麼。",
          },
          { jh: "大理", loc: "", name: "吴道长", name_tw: "吳道長", way: "jh 33;sw;sw;s;s;s;s;w;w;w;w", desc: "一個看起來道風仙骨的道士。" },
          {
            jh: "大理",
            loc: "",
            name: "(镇雄)农夫",
            name_tw: "(鎮雄)農夫",
            way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;e",
            desc: "一位烏夷族的農夫,束發總於腦後,用布紗包著,上半身裸露,下著獸皮。",
          },
          { jh: "大理", loc: "", name: "农夫", name_tw: "農夫", way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;e", desc: "" },
          { jh: "大理", loc: "", name: "山羊", way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;n", desc: "一頭短角山羊,大理地區常見的家畜。" },
          { jh: "大理", loc: "", name: "少女", way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;ne", desc: "一位烏夷族的少女,以酥澤發,盤成兩環,上披藍紗頭巾,飾以花邊。" },
          { jh: "大理", loc: "", name: "乌夷老祭祀", name_tw: "烏夷老祭祀", way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;w;se", desc: "" },
          {
            jh: "大理",
            loc: "",
            name: "乌夷老祭司",
            name_tw: "烏夷老祭司",
            way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;w;se",
            desc: "一個烏夷族的祭司,身披烏夷大麾,戴著頗多金銀飾物,顯示其地位不凡。",
          },
          { jh: "大理", loc: "", name: "孟加拉虎", way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;s;s;w;w", desc: "一隻斑斕孟加拉虎,雄偉極了。" },
          { jh: "斷劍山莊", loc: "", name: "黑袍老人", way: "jh 34;ne;e;e;e;e;e;n;e;n", desc: "一生黑裝的老人。" },
          { jh: "斷劍山莊", loc: "", name: "白袍老人", way: "jh 34;ne;e;e;e;e;e;n;e;n", desc: "一生白裝的老人。" },
          { jh: "斷劍山莊", loc: "", name: "尼姑", way: "jh 34;ne;e;e;e;e;e;n;n;n;n;n;n;e", desc: "一個正虔誠唸經的尼姑。" },
          { jh: "斷劍山莊", loc: "", name: "和尚", way: "jh 34;ne;e;e;e;e;e;n;n;n;n;n;w", desc: "出了家的人,唯一做的事就是念經了。" },
          { jh: "斷劍山莊", loc: "", name: "摆渡老人", name_tw: "擺渡老人", way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell", desc: "一個飽經風霜的擺渡老人。" },
          {
            jh: "斷劍山莊",
            loc: "",
            name: "天怒剑客",
            name_tw: "天怒劍客",
            way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;e;e",
            desc: "他是獨孤求敗的愛徒,但他和師傅的性格相差極遠。他從不苟言笑,他的臉永遠冰冷,只因他已看透了世界,只因他殺的人已太多。他永遠只在殺人的時候微笑,當劍尖穿過敵人的咽喉,他那燦爛的一笑令人感到溫暖,只因他一向認為——死者無罪!",
          },
          { jh: "斷劍山莊", loc: "", name: "栽花老人", way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n", desc: "一個飽經風霜的栽花老人。" },
          { jh: "斷劍山莊", loc: "", name: "背刀人", way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;e;e", desc: "此人揹著一把生鏽的刀,他似乎姓浪,武功深不可測。" },
          {
            jh: "斷劍山莊",
            loc: "",
            name: "雁南飞",
            name_tw: "雁南飛",
            way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;e;n;e",
            desc: "這是一個絕美的女子,正在靜靜地望著天上的圓月。她的臉美麗而憂傷,憂傷得令人心碎。",
          },
          { jh: "斷劍山莊", loc: "", name: "剑癡", name_tw: "劍癡", way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;n;n;n", desc: "他是劍癡,劍重要過他的生命。" },
          {
            jh: "斷劍山莊",
            loc: "",
            name: "独孤不败",
            name_tw: "獨孤不敗",
            name_new: "劍魔求敗",
            way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;n;n;n;e;e;event_1_10251226",
            desc: "這就是一代劍帝獨孤求敗。獨孤求敗五歲練劍,十歲就已經罕有人能敵。被江湖稱為劍術天才。",
          },
          {
            jh: "斷劍山莊",
            loc: "",
            name: "雾中人",
            name_tw: "霧中人",
            way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;n;n;n;n",
            desc: "這個人全身都是模糊的,彷彿是一個並不真正存在的影子。只因他一生都生活在霧中,霧朦朧,人亦朦朧。",
          },
          {
            jh: "斷劍山莊",
            loc: "",
            name: "梦如雪",
            name_tw: "夢如雪",
            way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;n;w;w",
            desc: "這是一個尋夢的人。他已厭倦事實。他只有尋找曾經的夢,不知道這算不算是一種悲哀呢?",
          },
          { jh: "斷劍山莊", loc: "", name: "落魄中年", way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;w;s", desc: "一位落魄的中年人,似乎是一位鐵匠。" },
          {
            jh: "斷劍山莊",
            loc: "",
            name: "摘星老人",
            way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;w;s;w",
            desc: "他站在這裡已經有幾十年了。每天看天上劃過的流星,已經完全忘記了一切……甚至他自己。",
          },
          {
            jh: "斷劍山莊",
            loc: "",
            name: "任笑天",
            way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;w;w",
            desc: "這是一箇中年男子。正靜靜地站著,雙目微閉,正在聽海!",
          },
          {
            jh: "冰火島",
            loc: "",
            name: "蓬面老头",
            name_tw: "蓬面老頭",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;event_1_53278632",
            desc: "蓬頭垢面,衣服千絲萬縷,顯然被關在這裡已經很久了。",
          },
          {
            jh: "冰火島",
            loc: "",
            name: "火麒麟王",
            way: "jh 35;nw;nw;nw;n;ne;nw",
            desc: "渾身充滿灼熱的氣息,嘴巴可吐出高溫烈焰,擁有強韌的利爪以及鋒利的尖齒,是主宰冰火島上的獸王。島上酷熱的火山地帶便是他的領地,性格極其兇殘,會將所看到闖入其領地的生物物焚燒殆盡。",
          },
          {
            jh: "冰火島",
            loc: "",
            name: "游方道士",
            name_tw: "遊方道士",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e",
            desc: "一名雲遊四海的道士,頭束白色發帶,身上的道袍頗為殘舊,背馱著一個不大的行囊,臉上的皺紋顯示飽經風霜的遊歷,雙目卻清澈異常,彷彿包容了天地。",
          },
          {
            jh: "冰火島",
            loc: "",
            name: "梅花鹿",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e",
            desc: "一身赭黃色的皮毛,背上還有許多像梅花白點。頭上岔立著的一雙犄角,看上去頗有攻擊性。行動十分機敏。",
          },
          {
            jh: "冰火島",
            loc: "大冰原",
            name: "赵郡主",
            name_tw: "趙郡主",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n",
            desc: "天下兵馬大元帥汝陽王之女,大元第一美人。明豔不可方物,豔麗非凡,性格精靈俊秀,直率豪爽,對張大教主一往情深,為愛放棄所有與其共赴冰焰島廝守終身。",
          },
          {
            jh: "冰火島",
            loc: "",
            name: "谢狮王",
            name_tw: "謝獅王",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;ne;n",
            desc: "他就是明教的四大護法之一的金毛獅王。他身材魁偉異常,滿頭金發散披肩頭。但雙目已瞎。在你面前一站,威風凜凜,真如天神一般。",
          },
          {
            jh: "冰火島",
            loc: "",
            name: "白熊",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;ne",
            desc: "全身長滿白色長毛,雙爪極度鋒利,身材頗為剽悍,十分嗜血狂暴。是冰焰島上最強的獵食者。",
          },
          {
            jh: "冰火島",
            loc: "",
            name: "黑衣杀手",
            name_tw: "黑衣殺手",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;nw",
            desc: "穿著極其神秘的黑衣人,黑色的面巾遮住了他的面容。武功十分高強。",
          },
          {
            jh: "冰火島",
            loc: "冰火裂谷",
            name: "杀手头目",
            name_tw: "殺手頭目",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;nw;sw;se;s;sw;sw;se",
            desc: "頗為精明能幹。閃爍的雙眼散發毋容置疑的威望。乃是這群不明來歷黑衣人的統領頭目。",
          },
          {
            jh: "冰火島",
            loc: "冰火裂谷",
            name: "黑衣杀手",
            name_tw: "黑衣殺手",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;nw;sw;se;s;sw;sw;se",
            desc: "穿著極其神秘的黑衣人,黑色的面巾遮住了他的面容。武功十分高強。",
          },
          {
            jh: "冰火島",
            loc: "冰火裂谷",
            name: "元真和尚",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;nw;sw;se;s;sw;sw;se;se",
            desc: "此人武功極高,極富智謀,心狠手辣殺人如麻。因與前明教教主私怨而惱羞成怒,出家剃度意圖挑撥江湖各大派,以達殲滅明教顛覆武林之目的。與謝獅王也有過一段不為人知的恩怨情仇。",
          },
          {
            jh: "冰火島",
            loc: "",
            name: "雪狼",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;s;se;w;nw",
            desc: "毛色淨白,眼瞳紅如鮮血,牙齒十分銳利,身形巨大強壯,速度極快。天性狡猾,通常都是群體出動。",
          },
          {
            jh: "冰火島",
            loc: "",
            name: "殷夫人",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;s;se;w;nw;s;s;s;s;s;s;e",
            desc: "此女容貌嬌豔無倫,雖已過中年但風采依稀不減。為人任性長情,智計百出,武功十分了得。立場亦正亦邪。乃張五俠結發妻子,張大教主親生母親。",
          },
          {
            jh: "冰火島",
            loc: "",
            name: "张五侠",
            name_tw: "張五俠",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;s;se;w;nw;s;s;s;s;s;s;w;w;n;e;n;w;w;s;s",
            desc: "在武當七俠之中排行第五,人稱張五俠。雖人已過中年,但臉上依然俊秀。為人彬彬有禮,謙和中又遮不住激情如火的風發意氣。可謂文武雙全,乃現任張大教主的親生父親。",
          },
          {
            jh: "冰火島",
            loc: "",
            name: "火麒麟",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;n;nw",
            desc: "磷甲刀槍不入,四爪孔武有力速度奇快。渾身能散發極高溫的火焰,喜熱厭冷,嗜好吞噬火山晶元。現居於冰焰島火山一側。",
          },
          { jh: "冰火島", loc: "", name: "麒麟幼崽", way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;n;nw", desc: "火麒麟的愛子,生人勿近。" },
          { jh: "俠客島", loc: "", name: "丁三", way: "", desc: "一個鶴發童顏的老頭,穿得荒誕不經,但看似武功十分了得。" },
          { jh: "俠客島", loc: "", name: "侠客岛厮仆", name_tw: "俠客島廝僕", way: "jh 36;yell", desc: "他是島上的一個僕人,手底下似乎很有兩下子。" },
          { jh: "俠客島", loc: "", name: "黄衣船夫", name_tw: "黃衣船夫", way: "jh 36;yell", desc: "這是個身著黃衣的三十幾歲漢子,手持木槳,面無表情。" },
          {
            jh: "俠客島",
            loc: "",
            name: "张三",
            name_tw: "張三",
            way: "jh 36;yell;e",
            desc: "乃江湖傳聞中賞善罰惡使者之一,其精明能幹,為人大公無私。但平時大大咧咧表情十分滑稽。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "云游高僧",
            name_tw: "雲遊高僧",
            way: "jh 36;yell;e;ne;ne",
            desc: "一位雲遊四方的行者,風霜滿面,行色匆匆,似乎正在辦一件急事。",
          },
          { jh: "俠客島", loc: "", name: "马六", name_tw: "馬六", way: "jh 36;yell;e;ne;ne;ne;e;e", desc: "他身材魁梧,圓臉大耳,笑嘻嘻地和藹可親。" },
          {
            jh: "俠客島",
            loc: "",
            name: "侠客岛弟子",
            name_tw: "俠客島弟子",
            way: "jh 36;yell;e;ne;ne;ne;e;e",
            desc: "這是身材魁梧的壯漢,膀大腰圓,是島主從中原招募來的。力氣十分之大。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "龙岛主",
            name_tw: "龍島主",
            way: "jh 36;yell;e;ne;ne;ne;e;e;e",
            desc: "就是天下聞之色變的俠客島島主,號稱“不死神龍”。他須眉全白,臉色紅潤,有如孩童。看不出他的實際年紀。",
          },
          { jh: "俠客島", loc: "", name: "童子", way: "jh 36;yell;e;ne;ne;ne;e;e;e", desc: "這是一個十五六歲的少年,眉清目秀,聰明伶俐,深得島主喜愛。" },
          { jh: "俠客島", loc: "", name: "侍者", way: "jh 36;yell;e;ne;ne;ne;e;e;e;e", desc: "這是個身著黃衣的三十幾歲漢子,垂手站立,面無表情。" },
          {
            jh: "俠客島",
            loc: "",
            name: "史婆婆",
            way: "jh 36;yell;e;ne;ne;ne;e;e;e;e;e",
            desc: "她是雪山派白掌門的妻子,雖說現在人已顯得蒼老,但幾十年前提起“江湖一枝花”史小妹來,武林中卻是無人不知。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "谢居士",
            name_tw: "謝居士",
            way: "jh 36;yell;e;ne;ne;ne;e;e;e;e;e;e;n;e;e;ne",
            desc: "他就是摩天崖的主人。是個亦正亦邪的高手,但信守承諾,年輕時好武成興,無比驕傲,自認為天下第一。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "矮老者",
            way: "jh 36;yell;e;ne;ne;ne;e;e;e;e;e;e;n;n;n;e;ne;nw",
            desc: "此老身軀矮小,但氣度非凡,令人不敢小窺。他與其師弟高老者閉關已久,江湖上鮮聞其名。武功之高,卻令人震驚。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "高老者",
            way: "jh 36;yell;e;ne;ne;ne;e;e;e;e;e;e;n;n;n;e;ne;nw;w",
            desc: "他身形高大碩狀,滿面紅光。舉止滑稽,帶點傻氣,武功卻是極高。他因不常在江湖上露面,是以並非太多人知聞其名。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "朱熹",
            way: "jh 36;yell;e;ne;ne;ne;e;e;e;e;e;e;n;n;n;w;w",
            desc: "他是個精通詩理的學者,原本是被逼而來到俠客島,但學了武功後死心塌地的留了下來。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "木岛主",
            name_tw: "木島主",
            way: "jh 36;yell;e;ne;ne;ne;e;e;e;fly;e",
            desc: "他就是天下聞之色變的俠客島島主,號稱“葉上秋露”。只見他長須稀稀落落,兀自黑多白少,但一張臉卻滿是皺紋。看不出他的實際年紀。",
          },
          { jh: "俠客島", loc: "", name: "蓝衣弟子", name_tw: "藍衣弟子", way: "jh 36;yell;e;ne;ne;ne;e;e;n", desc: "她是木島主的女弟子,專管傳授島上弟子的基本功夫。" },
          {
            jh: "俠客島",
            loc: "",
            name: "李四",
            way: "jh 36;yell;e;ne;ne;ne;e;e;n",
            desc: "身形甚高,但十分瘦削,留一撇鼠尾須,臉色陰沉。就是江湖傳聞中賞善罰惡使者之一,其精明能幹,但總是陰沉著臉。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "石公子",
            way: "jh 36;yell;e;ne;ne;ne;e;n",
            desc: "這是一個年輕公子,面若中秋之月,色如春曉之花,鬢若刀裁,眉如墨畫,鼻如懸膽,情若秋波,雖怒而時笑,即視而有情。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "书生",
            name_tw: "書生",
            way: "jh 36;yell;e;ne;ne;ne;e;n",
            desc: "他看過去像個落泊的書生,呆頭呆腦的一付書呆子的樣子。但只要你留心,你就發現他兩眼深沉,而且腰掛一把長劍。",
          },
          { jh: "俠客島", loc: "", name: "丁当", name_tw: "丁當", way: "jh 36;yell;e;ne;ne;ne;e;n;n", desc: "一個十七八歲的少女,身穿淡綠衫子,一張瓜子臉,秀麗美豔。" },
          {
            jh: "俠客島",
            loc: "",
            name: "白掌门",
            name_tw: "白掌門",
            way: "jh 36;yell;e;ne;ne;ne;e;n;w",
            desc: "他就是雪山劍派的掌門人,習武成性,自認為天下武功第一,精明能幹,嫉惡如仇,性如烈火。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "白衣弟子",
            way: "jh 36;yell;e;ne;ne;ne;e;s",
            desc: "乃俠客島龍島主門下的一個弟子。身上穿著洗得發白的錦衣,頭上帶著秀才帽,一臉的書呆子氣,怎麼看也不象是個武林中人。",
          },
          { jh: "俠客島", loc: "", name: "王五", way: "jh 36;yell;e;ne;ne;ne;e;s", desc: "他大約二十多歲,精明能幹,笑嘻嘻的和藹可親。" },
          { jh: "俠客島", loc: "", name: "店小二", way: "jh 36;yell;e;ne;ne;ne;e;s;e", desc: "位店小二正笑咪咪地忙著,還不時拿起掛在脖子上的抹布擦臉。" },
          { jh: "俠客島", loc: "", name: "侠客岛闲人", name_tw: "俠客島閒人", way: "jh 36;yell;e;ne;ne;ne;e;s;w", desc: "他是島上一個遊手好閒的人。不懷好意。" },
          { jh: "俠客島", loc: "", name: "小猴子", way: "jh 36;yell;e;se;e", desc: "一隻機靈的猴子,眼巴巴的看著你,大概想討些吃的。" },
          { jh: "俠客島", loc: "", name: "樵夫", way: "jh 36;yell;e;se;e;e", desc: "一個一輩子以砍材為生的老樵夫,由於飽受風霜,顯出與年齡不相稱的衰老。" },
          {
            jh: "俠客島",
            loc: "",
            name: "医者",
            name_tw: "醫者",
            way: "jh 36;yell;e;se;e;e;e;e",
            desc: "一位白發銀須的老者。據說當年曾經是江湖上一位著名的神醫。'但自從來到俠客島上後,隱姓埋名,至今誰也不知道他真名是甚麼了。'他看起來懶洋洋的,你要是想請他療傷的話恐怕不那麼容易。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "石帮主",
            name_tw: "石幫主",
            way: "jh 36;yell;e;se;e;e;n;e;s",
            desc: "為人忠厚老實,性情溫和,天賦極高,記性極好。穿著一身破爛的衣服,卻也擋不住他一身的英氣。似乎身懷絕世武功。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "渔家少女",
            name_tw: "漁家少女",
            way: "jh 36;yell;e;se;e;e;s;s;s;e",
            desc: "這是個漁家少女,雖然只有十二、三歲,但身材已經發育得很好了,眼睛水汪汪很是誘人。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "阅书老者",
            name_tw: "閱書老者",
            way: "jh 36;yell;e;se;e;e;s;s;s;e;ne",
            desc: "一個精神矍爍的老者,他正手持書籍,穩站地上,很有姜太公之風。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "青年海盗",
            name_tw: "青年海盜",
            way: "jh 36;yell;e;se;e;e;s;s;s;e;ne;e;e;n",
            desc: "一個青年海盜,頗為精壯,,眼角中展露出了兇相。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "老海盗",
            name_tw: "老海盜",
            way: "jh 36;yell;e;se;e;e;s;s;s;e;ne;e;e;n;e;n;e;n",
            desc: "一個年老的海盜,雖然鬍子一大把了,但還是兇巴巴的。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "渔夫",
            name_tw: "漁夫",
            way: "jh 36;yell;e;se;e;e;s;s;s;s",
            desc: "看過去像個平平凡凡的漁夫,臉和赤裸的臂膀都曬得黑黑的。但只要你留心,你就發現他兩眼深沉,而且腰掛一把長劍。",
          },
          {
            jh: "俠客島",
            loc: "",
            name: "渔家男孩",
            name_tw: "漁家男孩",
            way: "jh 36;yell;e;se;e;e;s;s;s;w",
            desc: "這是個漁家少年,大概由於長期在室外的緣故,皮膚已曬得黝黑,人也長得很粗壯了。",
          },
          { jh: "俠客島", loc: "", name: "野猪", name_tw: "野豬", way: "jh 36;yell;e;se;e;e;w", desc: "這是一隻兇猛的野豬,長得極為粗壯,嘴裡還不斷發出可怕的哄聲。" },
          { jh: "絕情谷", loc: "", name: "冰蛇", way: "jh 37;n;e;e;nw;nw;w;n;nw;n;n;ne;n;nw;sw;event_1_12492702", desc: "身體猶如冰塊透明般的蛇。" },
          { jh: "絕情谷", loc: "", name: "千年寒蛇", way: "jh 37;n;e;e;nw;nw;w;n;nw;n;n;ne;n;nw;sw;event_1_12492702", desc: "一條通體雪白的大蛇。" },
          { jh: "絕情谷", loc: "", name: "土匪", way: "jh 37;n", desc: "在山谷下燒傷搶掠的惡人。" },
          { jh: "絕情谷", loc: "", name: "村民", way: "jh 37;n;e;e", desc: "世代生活於此的人,每日靠著進山打打獵生活。" },
          {
            jh: "絕情谷",
            loc: "",
            name: "雪若云",
            name_tw: "雪若雲",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;event_1_16813927",
            desc: "身著黑色紗裙,面容精緻秀美,神色冷若冰雪,嘴角卻隱隱透出一股溫暖的笑意。現在似是在被仇家圍攻,已是身受重傷。",
          },
          { jh: "絕情谷", loc: "", name: "养鳄人", name_tw: "養鱷人", way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;se", desc: "飼養鱷魚的年輕漢子。" },
          {
            jh: "絕情谷",
            loc: "",
            name: "鳄鱼",
            name_tw: "鱷魚",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;se",
            desc: "悠閒的在鱷魚潭邊休息,看似人畜無害,但是無人敢靠近它們。",
          },
          {
            jh: "絕情谷",
            loc: "",
            name: "囚犯",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;se;s;s;s",
            desc: "被關押在暗無天日的地牢內,落魄的樣子無法讓你聯想到他們曾是江湖好漢。",
          },
          { jh: "絕情谷", loc: "", name: "地牢看守", way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;se;s;s;s;w", desc: "看守著地牢的武者,一臉嚴肅,不知道在想些什麼。" },
          {
            jh: "絕情谷",
            loc: "",
            name: "天竺大师",
            name_tw: "天竺大師",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w",
            desc: "在絕情谷中研究怎麼破解情花之毒的醫學聖手。",
          },
          { jh: "絕情谷", loc: "", name: "养花女", name_tw: "養花女", way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n", desc: "照顧著絕情谷的花花草草的少女。" },
          { jh: "絕情谷", loc: "", name: "侍女", way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n", desc: "好色的絕情谷谷主從來劫來的少女。" },
          {
            jh: "絕情谷",
            loc: "",
            name: "拓跋嗣",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;ne",
            desc: "鮮卑皇族後裔,自幼就表現出過人的軍事天賦,十七歲時就遠赴河套抗擊柔然騎兵,迫使柔然不敢入侵。",
          },
          {
            jh: "絕情谷",
            loc: "",
            name: "没藏羽无",
            name_tw: "沒藏羽無",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;ne;e",
            desc: "多權謀,善用計,所率西夏堂刺客素以神鬼莫測著稱,讓對頭心驚膽戰。",
          },
          {
            jh: "絕情谷",
            loc: "",
            name: "野利仁嵘",
            name_tw: "野利仁嶸",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;ne;e;ne",
            desc: "西夏皇族後裔,黑道威名赫赫的殺手頭領,決策果斷,部署週密,講究戰法,神出鬼沒。",
          },
          {
            jh: "絕情谷",
            loc: "",
            name: "嵬名元昊",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;ne;e;ne;se",
            desc: "一副圓圓的面孔,炯炯的目光下,鷹勾鼻子聳起,剛毅中帶著幾分凜然不可侵犯的神態。中等身材,卻顯得魁梧雄壯,英氣逼人。平素喜穿白色長袖衣,頭戴黑色冠帽,身佩弓矢。此人城府心機深不可測,憑藉一身最驚世駭俗的的錘法位居西夏堂最處尊居顯之位,力圖在天波楊門與燕雲世家三方互相牽制各自鼎立態勢下,為本門謀求最大之利益。",
          },
          {
            jh: "絕情谷",
            loc: "",
            name: "谷主夫人",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw",
            desc: "絕情谷上一任谷主的女兒,被現任谷主所傷,終日只得坐在輪椅之上。",
          },
          {
            jh: "絕情谷",
            loc: "",
            name: "采花贼",
            name_tw: "採花賊",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw;n;ne;e;ne;e;n",
            desc: "聲名狼藉的採花賊,一路潛逃來到了絕情谷。",
          },
          {
            jh: "絕情谷",
            loc: "",
            name: "门卫",
            name_tw: "門衛",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw;n;nw",
            desc: "這是個年富力強的衛兵,樣子十分威嚴。",
          },
          { jh: "絕情谷", loc: "", name: "谷主分身", way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw;n;nw;n;nw", desc: "好色、陰險狡詐的獨眼龍。" },
          {
            jh: "絕情谷",
            loc: "",
            name: "绝情谷谷主",
            name_tw: "絕情谷谷主",
            way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw;n;nw;n;nw",
            desc: "好色、陰險狡詐的獨眼龍。",
          },
          { jh: "絕情谷", loc: "", name: "白衣女子", way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw;ne;n;ne", desc: "一個宛如仙女般的白衣女子。" },
          { jh: "絕情谷", loc: "", name: "野兔", way: "jh 37;n;e;e;nw;nw;w;n;nw;n;n", desc: "正在吃草的野兔。" },
          {
            jh: "絕情谷",
            loc: "",
            name: "绝情谷弟子",
            name_tw: "絕情谷弟子",
            way: "jh 37;n;e;e;nw;nw;w;n;nw;n;n;ne;n;nw",
            desc: "年紀不大,卻心狠手辣,一直守候在絕情山莊。",
          },
          {
            jh: "碧海山莊",
            loc: "碧海山庄大门",
            name: "护卫",
            name_tw: "護衛",
            way: "jh 38;n;n;n;n;n;n;n",
            desc: "他是一個身材高大的中年男子,看起來凶神惡煞,招惹不得。",
          },
          { jh: "碧海山莊", loc: "前院", name: "家丁", way: "jh 38;n;n;n;n;n;n;n;n", desc: "碧海山莊的家丁。" },
          { jh: "碧海山莊", loc: "", name: "耶律楚歌", way: "jh 38;n;n;n;n;n;n;n;n;n", desc: "" },
          {
            jh: "碧海山莊",
            loc: "碧海山庄大厅、炼丹室",
            name: "护卫总管",
            name_tw: "護衛總管",
            way: "jh 38;n;n;n;n;n;n;n;n;n",
            desc: "身材瘦小,可是一身武藝超群,碧海山莊之內能勝他者不超過五人。",
          },
          {
            jh: "碧海山莊",
            loc: "碧海山庄大厅",
            name: "耶律楚哥",
            way: "jh 38;n;n;n;n;n;n;n;n;n",
            desc: "出身契丹皇族,為人多智謀,善料敵先機,騎術了得,為大遼立下赫赫卓著戰功。故而被奉為燕雲世家之主。與天波楊門纏鬥一生,至死方休。",
          },
          {
            jh: "碧海山莊",
            loc: "厨房",
            name: "易牙传人",
            name_tw: "易牙傳人",
            way: "jh 38;n;n;n;n;n;n;n;n;n;e;se;s",
            desc: "一身廚藝已經傲世天下,煎、熬、燔、炙,無所不精。",
          },
          { jh: "碧海山莊", loc: "柴房", name: "砍柴人", way: "jh 38;n;n;n;n;n;n;n;n;n;e;se;s;e", desc: "碧海山莊所需木柴都由他來供給。" },
          { jh: "碧海山莊", loc: "客房", name: "独孤雄", name_tw: "獨孤雄", way: "jh 38;n;n;n;n;n;n;n;n;n;n;n;e;e;se;se;e;n", desc: "一個風程僕僕的俠客。" },
          {
            jh: "碧海山莊",
            loc: "宅院",
            name: "王子轩",
            name_tw: "王子軒",
            way: "jh 38;n;n;n;n;n;n;n;n;n;n;n;e;e;se;se;e;n;n;n",
            desc: "碧海山莊少莊主,整日沉迷於一些稀奇古怪的玩意。",
          },
          {
            jh: "碧海山莊",
            loc: "炼丹室",
            name: "王昕",
            way: "jh 38;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
            desc: "年過半百的中年男子,長相平庸,很難讓人把他與碧海山莊莊主這個身份聯想起來。",
          },
          { jh: "碧海山莊", loc: "碧海亭", name: "侍女", way: "jh 38;n;n;n;n;n;n;n;w;w;nw", desc: "打理碧海山莊上上下下的雜物。" },
          {
            jh: "碧海山莊",
            loc: "小桥",
            name: "尹秋水",
            way: "jh 38;n;n;n;n;n;n;n;w;w;nw;w",
            desc: "她肌膚勝雪,雙目猶似一泓清水,顧盼之際,自有一番清雅高華的氣質,讓人為之所攝、自慚形穢、不敢褻瀆。但那冷傲靈動中頗有勾魂攝魄之態,又讓人不能不魂牽蒙繞。",
          },
          {
            jh: "碧海山莊",
            loc: "花园",
            name: "养花女",
            name_tw: "養花女",
            way: "jh 38;n;n;n;n;n;n;n;w;w;nw;w;w;n;n",
            desc: "一位養花少女,她每天就是照顧這數也數不清的花。",
          },
          { jh: "碧海山莊", loc: "桃花源", name: "隐士", name_tw: "隱士", way: "jh 38;n;n;n;n;w", desc: "厭倦了這世間的紛紛擾擾,隱居於此的世外高人。" },
          { jh: "碧海山莊", loc: "溪流", name: "野兔", way: "jh 38;n;n;n;n;w;w", desc: "正在吃草的兔子。" },
          { jh: "碧海山莊", loc: "龙王殿", name: "僧人", way: "jh 38;n;n;w", desc: "龍王殿僧人,負責每年祭祀龍王。" },
          { jh: "碧海山莊", loc: "龙王殿", name: "法明大师", name_tw: "法明大師", way: "jh 38;n;n;w", desc: "管理龍王殿的高僧,龍王殿大大小小的事物都是他在負責。" },
          { jh: "天山", loc: "官道", name: "周教头", name_tw: "週教頭", way: "jh 39;ne", desc: "大內軍教頭,外表樸實無華,實則鋒芒內斂。有著一腔江湖豪情。" },
          {
            jh: "天山",
            loc: "",
            name: "辛怪人",
            way: "jh 39;ne;e;n;ne",
            desc: "性情古怪,不好交往,喜用新招,每每和對方對招之際,學會對方的招式,然後拿來對付對方,令到對方啼笑皆非。。是個狼養大的孩子,他很能打,打起來不要命,一個性情古怪的人,有著一段謎一樣的過去。",
          },
          {
            jh: "天山",
            loc: "",
            name: "穆小哥",
            way: "jh 39;ne;e;n;ne;ne;n",
            desc: "一個只有十八九歲的小夥子,樂觀豁達,無處世經驗,對情感也茫然無措,擅長進攻,變化奇快。",
          },
          {
            jh: "天山",
            loc: "",
            name: "武壮士",
            name_tw: "武壯士",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n",
            desc: "他身穿一件藏藍色古香緞夾袍,腰間綁著一根青色蟒紋帶,一頭暗紅色的發絲,有著一雙深不可測眼睛,體型挺秀,當真是風度翩翩颯爽英姿。",
          },
          {
            jh: "天山",
            loc: "",
            name: "程首领",
            name_tw: "程首領",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw",
            desc: "她是「靈柩宮」九天九部中鈞天部的副首領。",
          },
          {
            jh: "天山",
            loc: "",
            name: "菊剑",
            name_tw: "菊劍",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;n",
            desc: "這是個容貌姣好的女子,瓜子臉蛋,眼如點漆,清秀絕俗。",
          },
          {
            jh: "天山",
            loc: "",
            name: "兰剑",
            name_tw: "蘭劍",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;s",
            desc: "這是個容貌姣好的女子,瓜子臉蛋。",
          },
          {
            jh: "天山",
            loc: "",
            name: "符针神",
            name_tw: "符針神",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n",
            desc: "她是「靈柩宮」九天九部中陽天部的首領她號稱「針神」",
          },
          {
            jh: "天山",
            loc: "",
            name: "梅剑",
            name_tw: "梅劍",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;e",
            desc: "她有著白皙的面容,猶如梅花般的親麗脫俗,堆雲砌黑的濃發,整個人顯得妍姿俏麗惠質蘭心。",
          },
          {
            jh: "天山",
            loc: "",
            name: "护关弟子",
            name_tw: "護關弟子",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;n;e;e;s",
            desc: "這是掌門最忠心的護衛,武功高深莫測。正用警惕的眼光打量著你。",
          },
          {
            jh: "天山",
            loc: "",
            name: "余婆",
            name_tw: "餘婆",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;n;e;nw",
            desc: "她是「靈柩宮」九天九部中昊天部的首領。她跟隨童姥多年,出生入死,飽經風霜。",
          },
          {
            jh: "天山",
            loc: "",
            name: "九翼",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;n;e;nw;w;ne",
            desc: "他是西夏一品堂禮聘的高手,身材高瘦,臉上總是陰沉沉的他輕功極高,擅使雷公擋,憑一手雷公擋功夫,成為江湖的一流高手。",
          },
          {
            jh: "天山",
            loc: "",
            name: "天山死士",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;n;e;nw;w;nw",
            desc: "是掌門從武林擄掠天資聰明的小孩至天山培養的弟子,自小就相互廝殺,脫穎而出者便會成為天山死士,只聽命於掌門一人,倘若有好事者在天山大動干戈,他將毫不猶豫的將對方動武,至死方休。",
          },
          {
            jh: "天山",
            loc: "",
            name: "天山大剑师",
            name_tw: "天山大劍師",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;n;e;nw;w;nw",
            desc: "棄塵世而深居天山顛峰,數十年成鑄劍宗師,鑄成七把寶劍。此七把劍代表晦明大師在天山上經過的七個不同劍的境界。",
          },
          {
            jh: "天山",
            loc: "",
            name: "竹剑",
            name_tw: "竹劍",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;w",
            desc: "這是個容貌姣好的女子,瓜子臉蛋,眼如點漆,清秀絕俗。你總覺得在哪見過她。",
          },
          { jh: "天山", loc: "", name: "石嫂", way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;w", desc: "她是[靈柩宮]的廚師。" },
          {
            jh: "天山",
            loc: "",
            name: "楚大师兄",
            name_tw: "楚大師兄",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;ne;nw;event_1_17801939;place?星星峽",
            desc: "有“塞外第一劍客”之稱、“游龍一出,萬劍臣服”之勇。性傲、極度自信、重情重義、兒女情長,具有英雄氣蓋,但容易感情用事,做事走極端。乃天山派大師兄。",
          },
          {
            jh: "天山",
            loc: "",
            name: "傅奇士",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;ne;nw;event_1_17801939;place?星星峽;ne;ne;nw",
            desc: "一個三綹長須、面色紅潤、儒冠儒服的老人,不但醫術精妙,天下無匹,而且長於武功,在劍法上有精深造詣。除此之外,他還是書畫名家。",
          },
          {
            jh: "天山",
            loc: "",
            name: "杨英雄",
            name_tw: "楊英雄",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;ne;nw;event_1_17801939;place?星星峽;ne;ne;nw;nw",
            desc: "一個有情有義的好男兒,他武功高強大義凜然,乃天山派二師兄。",
          },
          {
            jh: "天山",
            loc: "",
            name: "胡大侠",
            name_tw: "胡大俠",
            way: "jh 39;ne;e;n;ne;ne;n;ne;nw;ne;nw;event_1_17801939;place?星星峽;ne;ne;nw;nw;nw;w",
            desc: "因其武功高強神出鬼沒。在江湖上人送外號「雪山飛狐」。他身穿一件白色長衫,腰間別著一把看起來很舊的刀。他滿腮虯髯,根根如鐵,一頭濃發,卻不結辮。",
          },
          { jh: "天山", loc: "", name: "波斯商人", way: "jh 39;ne;e;n;ne;ne;se", desc: "這是一位來自波斯的商人,經商手段十分高明。" },
          {
            jh: "天山",
            loc: "",
            name: "铁好汉",
            name_tw: "鐵好漢",
            way: "jh 39;ne;e;n;ne;ne;se;e",
            desc: "邱莫言重金僱傭的綠林好漢,賀蘭山草寇。缺乏主見,使一柄沒有太多特色的單刀,雖是為財而來,卻也不失為江湖義士。",
          },
          { jh: "天山", loc: "", name: "贺好汉", name_tw: "賀好漢", way: "jh 39;ne;e;n;ne;ne;se;e", desc: "乃行走江湖的綠林好漢,脾氣極為暴躁。" },
          { jh: "天山", loc: "", name: "韩马夫", name_tw: "韓馬夫", way: "jh 39;ne;e;n;ne;ne;se;e;e", desc: "一位憨直的漢子,面容普通,但本性古道熱腸,有俠義本色。" },
          { jh: "天山", loc: "", name: "刁屠夫", way: "jh 39;ne;e;n;ne;ne;se;e;n", desc: "乃龍門客棧屠夫,此人憑藉常年累月的剔骨切肉練就一身好刀法。" },
          {
            jh: "天山",
            loc: "",
            name: "金老板",
            name_tw: "金老闆",
            way: "jh 39;ne;e;n;ne;ne;se;e;n",
            desc: "龍門客棧老闆娘,為人八面玲瓏。左手使鏢,右手使刀,體態婀娜多姿,嫵媚潑辣。",
          },
          { jh: "天山", loc: "", name: "蒙面女郎", way: "jh 39;ne;e;n;ne;ne;se;e;s;e;se", desc: "這是個身材嬌好的女郎,輕紗遮面,一雙秀目中透出一絲殺氣。" },
          { jh: "天山", loc: "", name: "牧民", way: "jh 39;ne;e;n;nw", desc: "這是一位邊塞牧民,正在驅趕羊群。" },
          { jh: "天山", loc: "", name: "塞外胡兵", way: "jh 39;ne;e;n;nw;nw;w;s;s", desc: "一副凶神惡煞的長相,來自塞外。以擄掠關外牧民衛生。" },
          {
            jh: "天山",
            loc: "",
            name: "胡兵头领",
            name_tw: "胡兵頭領",
            way: "jh 39;ne;e;n;nw;nw;w;s;s;sw;n;nw;e;sw;w",
            desc: "手持一根狼牙棒,揹負一口長弓。身材高大,面目可憎。",
          },
          {
            jh: "天山",
            loc: "",
            name: "乌刀客",
            name_tw: "烏刀客",
            way: "jh 39;ne;e;n;nw;nw;w;s;s;sw;n;nw;e;sw;w;s;w",
            desc: "他就是名動江湖的烏老大,昔日曾謀反童姥未遂而被囚禁於此。",
          },
          { jh: "天山", loc: "", name: "宝箱", name_tw: "寶箱", way: "jh 39;ne;e;n;nw;nw;w;s;s;sw;n;nw;e;sw;w;s;w;n;w;event_1_69872740", desc: "" },
          { jh: "苗疆", loc: "", name: "温青", name_tw: "溫青", way: "jh 40;s;s;s;s", desc: "此人俊秀異常,個性溫和有風度,喜好遊歷山水是一位姿態優雅的翩翩君子。" },
          { jh: "苗疆", loc: "", name: "田嫂", way: "jh 40;s;s;s;s;e;s;se", desc: "一個白皙豐滿的中年婦人." },
          { jh: "苗疆", loc: "", name: "金背蜈蚣", way: "jh 40;s;s;s;s;e;s;se;sw;s;s", desc: "一條三尺多長,張牙舞爪的毒蜈蚣。" },
          { jh: "苗疆", loc: "", name: "樵夫", way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e", desc: "一位面色黑紅,悠然自得的樵夫." },
          { jh: "苗疆", loc: "", name: "三足金蟾", way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw", desc: "一隻拳頭大小通身金黃的小蟾蜍,據說只有月宮才有。" },
          {
            jh: "苗疆",
            loc: "",
            name: "莽牯朱蛤",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s",
            desc: "一隻拳頭大小,叫聲洪亮的毒蛤蟆。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "食尸蝎",
            name_tw: "食屍蠍",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s",
            desc: "一條三尺來長,全身鐵甲的毒蠍子。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "蛇",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e",
            desc: "一條七尺多長,手腕般粗細的毒蛇。十分駭人。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "五毒教徒",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw",
            desc: "一個五毒的基層教徒,看來剛入教不久。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "沙护法",
            name_tw: "沙護法",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n",
            desc: "他就是五毒教的護法弟子,身材魁梧,方面大耳。在教中轉管招募教眾,教授弟子們的入門功夫。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "五毒弟子",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n",
            desc: "五毒教一個身體強壯的苗族青年,看來武功已小由所成。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "毒郎中",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;e",
            desc: "一位身穿道服,乾癟黑瘦的中年苗人.",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "毒女",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n",
            desc: "年紀約20歲,冷豔絕倫,背景離奇,混身是毒,外號毒女曼陀羅,涉嫌下毒命案,其實她是個十分善良的女子。與鐵捕快有一段纏綿悱惻的愛情,花耐寒而豔麗。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "白髯老者",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;w;w",
            desc: "一個須發皆白的老者,精神矍鑠,滿面紅光。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "潘左护法",
            name_tw: "潘左護法",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n",
            desc: "他就是五毒教的左護法,人稱笑面閻羅。別看他一臉笑眯眯的,但是常常殺人於彈指之間,一手五毒鉤法也已達到登峰造極的境界。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "大祭司",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n;e",
            desc: "乃苗疆最為德高望重的祭師。但凡祭祀之事皆是由其一手主持。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "岑秀士",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n;nw",
            desc: "他就是五毒教的右護法,人稱五毒秀士。經常裝扮成一個白衣秀士的模樣,沒事總愛附庸風雅。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "何教主",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n;nw;ne;ne;nw;ne;e",
            desc: "你對面的是一個一身粉紅紗裙,笑靨如花的少女。她長得肌膚雪白,眉目如畫,赤著一雙白嫩的秀足,手腳上都戴著閃閃的金鐲。誰能想到她就是五毒教的教主,武林人士提起她無不膽顫心驚。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "五毒护法",
            name_tw: "五毒護法",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n;nw;ne;ne;nw;ne;e",
            desc: "乃幫主的貼身護法,為人忠心耿耿,武藝深不可測。幫主有難時,會豁盡全力以護佑她人身安全。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "齐长老",
            name_tw: "齊長老",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n;nw;ne;ne;se;se",
            desc: "他就是五毒教的長老,人稱錦衣毒丐。乃是教主的同門師兄,在教中一向飛揚跋扈,大權獨攬。他長的身材魁梧,面目猙獰,身穿一件五彩錦衣,太陽穴高高墳起。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "白鬓老者",
            name_tw: "白鬢老者",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;w",
            desc: "",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "何长老",
            name_tw: "何長老",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;w;sw",
            desc: "她就是五毒教的長老,教主的姑姑。隨然是教主的長輩,但功夫卻是一塊跟上代教主學的。據說她曾經被立為教主繼承人,但後來犯下大錯,所以被罰到此處面壁思過,以贖前罪。她穿著一身破舊的衣衫,滿臉疤痕,長得骨瘦如柴,雙目中滿是怨毒之色。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "阴山天蜈",
            name_tw: "陰山天蜈",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;s",
            desc: "一條三寸多長,長有一雙翅膀劇毒蜈蚣。",
          },
          {
            jh: "苗疆",
            loc: "",
            name: "蓝姑娘",
            name_tw: "藍姑娘",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄峽;sw",
            desc: "此女千嬌百媚,風韻甚佳,聲音嬌柔宛轉,蕩人心魄。年齡約莫二十三四歲。喜歡養毒蛇,能煉製傳說中苗族人的蠱毒,還善於配置各種劇毒。喜歡吹洞簫,口哨也很好。",
          },
          { jh: "苗疆", loc: "", name: "吸血蜘蛛", way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;s;sw", desc: "一隻拳頭大小,全身綠毛的毒蜘蛛。" },
          { jh: "苗疆", loc: "", name: "人面蜘蛛", way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;s;sw", desc: "一隻面盆大小,長著人樣腦袋的大蜘蛛。" },
          { jh: "苗疆", loc: "", name: "苗村长", name_tw: "苗村長", way: "jh 40;s;s;s;s;w;w;w", desc: "這是本村的村長,凡是村裡各家各戶,老老少少的事他沒有不知道的。" },
          { jh: "苗疆", loc: "", name: "苗家小娃", way: "jh 40;s;s;s;s;w;w;w;n", desc: "此娃肥肥胖胖,走路一晃一晃,甚是可愛。" },
          { jh: "苗疆", loc: "", name: "苗族少女", way: "jh 40;s;s;s;s;w;w;w;w", desc: "一個身穿苗族服飾的妙齡少女。" },
          { jh: "苗疆", loc: "", name: "苗族少年", way: "jh 40;s;s;s;s;w;w;w;w", desc: "一個身穿苗族服飾的英俊少年。" },
          { jh: "白帝城", loc: "", name: "近身侍卫", name_tw: "近身侍衛", way: "jh 41;se;e;e;nw;nw;n;n;e;ne;e", desc: "公孫將軍的近身侍衛,手執長劍。" },
          { jh: "白帝城", loc: "", name: "白衣弟子", way: "jh 41;se;e;e", desc: "身穿白衣的青年弟子,似乎身手不凡,傲氣十足。" },
          { jh: "白帝城", loc: "", name: "镇长", name_tw: "鎮長", way: "jh 41;se;e;e;ne;ne;se;e;e;ne", desc: "白發蒼蒼的鎮長,看起來還挺精神的。" },
          { jh: "白帝城", loc: "", name: "李巡", way: "jh 41;se;e;e;ne;ne;se;e;e;s;w", desc: "白發蒼蒼的老頭,貌似是李峰的父親。" },
          { jh: "白帝城", loc: "", name: "守门士兵", name_tw: "守門士兵", way: "jh 41;se;e;e;nw;nw", desc: "身穿白帝城軍服的士兵。" },
          {
            jh: "白帝城",
            loc: "",
            name: "公孙将军",
            name_tw: "公孫將軍",
            way: "jh 41;se;e;e;nw;nw;n;n;e;ne;e",
            desc: "公孫氏的一位將軍,深受白帝信任,被派到紫陽城擔任守城要務。",
          },
          { jh: "白帝城", loc: "", name: "贴身侍卫", name_tw: "貼身侍衛", way: "jh 41;se;e;e;nw;nw;n;n;e;ne;e", desc: "" },
          { jh: "白帝城", loc: "", name: "粮官", name_tw: "糧官", way: "jh 41;se;e;e;nw;nw;n;n;e;ne;n;nw;n", desc: "負責管理紫陽城的糧倉的官員。" },
          { jh: "白帝城", loc: "", name: "白衣士兵", way: "jh 41;se;e;e;nw;nw;n;n;w;w", desc: "身穿白衣的士兵,正在街上巡邏。" },
          {
            jh: "白帝城",
            loc: "",
            name: "文将军",
            name_tw: "文將軍",
            way: "jh 41;se;e;e;nw;nw;n;n;w;w;n;n;e",
            desc: "白帝城公孫氏的外戚,主要在紫陽城替白帝城防禦外敵。",
          },
          { jh: "白帝城", loc: "", name: "白衣少年", way: "jh 41;se;e;e;se;se;se;se", desc: "身穿白帝城統一服飾的少年,長相雖然一般,但神態看起來有點傲氣。" },
          { jh: "白帝城", loc: "", name: "李峰", way: "jh 41;se;e;e;se;se;se;se;s;s", desc: "精神奕奕的中年漢子,看起來非常自信。" },
          { jh: "白帝城", loc: "", name: "李白", way: "jh 41;se;e;e;se;se;se;se;s;s;s", desc: "字太白,號青蓮居士,又號“謫仙人”,他拿著一壺酒,似乎醉醺醺的樣子。" },
          { jh: "白帝城", loc: "", name: "“妖怪”", way: "jh 41;se;e;e;se;se;se;se;s;s;s;e", desc: "一個公孫氏的紈絝弟子,無聊得假扮妖怪到處嚇人。" },
          { jh: "白帝城", loc: "", name: "庙祝", name_tw: "廟祝", way: "jh 41;se;e;e;se;se;se;se;s;s;s;e;e;ne", desc: "一個風程僕僕的俠客。" },
          {
            jh: "白帝城",
            loc: "",
            name: "鹤发老人",
            name_tw: "鶴發老人",
            way: "jh 41;se;e;e;se;se;se;se;s;s;s;e;e;ne;event_1_7159906;w;nw;n;sw;s;nw;w;w",
            desc: "一頭濃密鶴發,臉上雖然皺紋滿布,但整個人看起來仍然生機勃勃,不知道此人活了多久。",
          },
          { jh: "白帝城", loc: "", name: "练武士兵", name_tw: "練武士兵", way: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;e;e", desc: "正在奮力操練的士兵。" },
          {
            jh: "白帝城",
            loc: "",
            name: "白帝",
            way: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;n;n;n",
            desc: "現任白帝,乃公孫氏族長,看起來威嚴無比,在他身旁能感受到不少壓力。",
          },
          { jh: "白帝城", loc: "", name: "狱卒", name_tw: "獄卒", way: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;w;w;w", desc: "一個普通的獄卒,似乎在這發呆。" },
          {
            jh: "墨家機關城",
            loc: "",
            name: "索卢参",
            name_tw: "索盧參",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n",
            desc: "此人乃墨子學生,為人特別誠懇,因此被指派負責接待外賓司儀一職。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "墨家弟子",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n",
            desc: "一聲正氣稟然的裝束,乃天下間心存俠義之人仰慕墨家風采而成為其中一員。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "高孙子",
            name_tw: "高孫子",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n",
            desc: "為墨子的學生,口才十分了得。故而負責機關城與外界聯繫。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "黑衣人",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213",
            desc: "一身蒙面黑衣,鬼鬼祟祟,不知是何人。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "随巢子",
            name_tw: "隨巢子",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;e",
            desc: "此人乃墨子的學生,沉迷於打造大型機關獸,木鳶便是出自其手。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "曹公子",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;n;e",
            desc: "早年曾質疑墨子之道,後被博大精深的墨家機關術所折服,專職看守天工塢。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "墨子",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;n;ne",
            desc: "墨家的開山祖師,以一人之力開創出機關流派,須眉皆白,已不知其歲數幾何,但依然滿臉紅光,精神精神煥發。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "耕柱子",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;n;nw",
            desc: "為墨子的學生,此人天資異稟,但驕傲自滿,因此被墨子懲罰到兼愛祠看管。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "鲁班",
            name_tw: "魯班",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;n;w",
            desc: "機關術的專家,以善於發明各種機關而聞名。木匠出身,在機關術上有著天人一般的精湛技藝。如今不知為何來到墨家機關城。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "高何",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;sw",
            desc: "此人乃墨子學生,面相凶神惡煞,因而負責機關城的安全事務。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "随师弟",
            name_tw: "隨師弟",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;sw;sw",
            desc: "隨巢子的師弟,因犯事被暫時關於此地。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "大匠师",
            name_tw: "大匠師",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;w;w",
            desc: "鑄藝高超的墨家宗師,主管墨家兵器打造。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "屈将子",
            name_tw: "屈將子",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;s;e;s;ne;s;sw;nw;s;se;s;e;e",
            desc: "此人乃資深航海師,墨家麾下的殸龍船便是由其掌控。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "偷剑贼",
            name_tw: "偷劍賊",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;s;e;s;ne;s;sw;nw;s;se;s;e;e;e",
            desc: "身穿黑色夜行衣,舉手投足之間盡顯高手風範,實力不容小覷。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "徐夫子",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;s;e;s;ne;s;sw;nw;s;se;s;sw;s;s",
            desc: "墨家最優秀的鑄匠,畢生致力精研鑄劍術,很多名震天下的神兵利刃皆是出自他手。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "治徒娱",
            name_tw: "治徒娛",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;n;w",
            desc: "為墨子的學生,有過目不忘之才數目分明之能,因此在節用市坐鎮負責機關城資源調配。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "大博士",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;w",
            desc: "對天下學術有著極高造詣的宗師,主管墨家學說的傳承。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "高石子",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;w",
            desc: "此人乃墨子的學生,深受墨子欣賞。曾經當過高官,現主管墨家日常政務。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "荆轲",
            name_tw: "荊軻",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;n;n",
            desc: "墨家絕頂刺客,劍法在墨家中出類拔萃,為人慷慨俠義。備受墨家弟子所敬重。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "燕丹",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;n;n",
            desc: "此人乃前朝皇族,滅國之後投身到墨家麾下四處行俠仗義神秘莫測。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "庖丁",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;n;n;n;n;n",
            desc: "一名憨厚開朗的大胖子,其刀法如神,是個燒遍天下美食的名廚。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "县子硕",
            name_tw: "縣子碩",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;w;w;n;e",
            desc: "此人乃墨子學生,與高何一樣無惡不作,後師從墨子,收心斂性,專職培養墨家人才。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "魏越",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;w;w;n;n;e",
            desc: "為墨子的學生,此人天敏而好學,時常不恥下問,因此被墨子欽點在此顧守書籍。",
          },
          {
            jh: "墨家機關城",
            loc: "",
            name: "公尚过",
            name_tw: "公尚過",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;w;w;n;n;n;e",
            desc: "墨子的弟子,深得墨子器重,為人大公無私,現主管墨家的檢察維持門內秩序。",
          },
          {
            jh: "掩月城",
            loc: "瀑下石屋(六道探视)",
            name: "雪若云",
            name_tw: "雪若雲",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;se;se;s;s;sw;s;sw;sw;sw;sw;event_1_67934650",
            desc: "這是無影樓長老雪若雲,此刻正在榻上打坐靜養。",
          },
          {
            jh: "掩月城",
            loc: "出云厅",
            name: "执法长老",
            name_tw: "執法長老",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e;e",
            desc: "這是出雲莊四大長老之一的執法長老,負責莊中的法規制度的執行,嚴肅公正,一絲不苟。",
          },
          {
            jh: "掩月城",
            loc: "松柏石道",
            name: "狄啸",
            name_tw: "狄嘯",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e",
            desc: "這是一個能征戰四方的將軍,出雲莊的得力大將。",
          },
          {
            jh: "掩月城",
            loc: "风花谷",
            name: "小马驹",
            name_tw: "小馬駒",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se",
            desc: "出生不足一年的小馬駒,雖不知其名,但顯是有著極純正優秀的血統,世人皆說風花牧場盡收天下名駒,此言非虛。",
          },
          {
            jh: "掩月城",
            loc: "",
            name: "宋喉",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;event_1_90371900",
            desc: "武林第一通緝犯,可為何被通緝無人所知。如今藏身於隱秘之所,似是在等待何人。",
          },
          { jh: "掩月城", loc: "越女玉雕", name: "野狗", way: "jh 43", desc: "一條低頭啃著骨頭的野狗。" },
          {
            jh: "掩月城",
            loc: "越女玉雕",
            name: "执定长老",
            name_tw: "執定長老",
            way: "jh 43",
            desc: "出雲閣四大長老之一,負責出雲莊在城中的各種日常事務,也帶一些難得下山的年輕小弟子來城中歷練。雖表情嚴肅,卻深受晚輩弟子的喜愛。",
          },
          {
            jh: "掩月城",
            loc: "越女玉雕",
            name: "佩剑少女",
            name_tw: "佩劍少女",
            way: "jh 43",
            desc: "兩個年方豆蔻的小女孩,身上揹著一把短劍,腰間繫著一塊『出雲』玉牌,臉上全是天真爛漫。",
          },
          { jh: "掩月城", loc: "南岭密道", name: "穿山甲", way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne", desc: "這是一隻穿山甲。" },
          { jh: "掩月城", loc: "南岭密道", name: "火狐", way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw", desc: "這是一隻紅色皮毛的狐狸。" },
          {
            jh: "掩月城",
            loc: "南岭密道",
            name: "黄鹂",
            name_tw: "黃鸝",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se",
            desc: "這是一隻黃鸝鳥兒,吱吱呀呀地唱著。",
          },
          {
            jh: "掩月城",
            loc: "花海",
            name: "夜攸裳",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se",
            desc: "一個來自波斯國的女子,看似穿著華裙,內中卻是勁衣。頭上扎著一個側髻,斜插著一支金玉雙鳳釵。",
          },
          {
            jh: "掩月城",
            loc: "出云庄、松柏石道",
            name: "云卫",
            name_tw: "雲衛",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n",
            desc: "這是守衛出雲莊大門的守衛,氣度不凡。",
          },
          {
            jh: "掩月城",
            loc: "松柏石道",
            name: "云将",
            name_tw: "雲將",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e",
            desc: "這是統管出雲莊護衛的將領,龍行虎步,神威凜凜。",
          },
          {
            jh: "掩月城",
            loc: "松柏石道",
            name: "女眷",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e",
            desc: "這是出雲莊的女眷,雖為女流,卻精通武藝。",
          },
          {
            jh: "掩月城",
            loc: "松柏石道",
            name: "青云仙子",
            name_tw: "青雲仙子",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e",
            desc: "這是一個遊歷四方的道姑,姿態飄逸,身負古琴,能成為出雲莊的客人,怕也是來頭不小。",
          },
          { jh: "掩月城", loc: "", name: "狄仁啸", name_tw: "狄仁嘯", way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e", desc: "" },
          {
            jh: "掩月城",
            loc: "出云厅",
            name: "执剑长老",
            name_tw: "執劍長老",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e;e",
            desc: "這是出雲莊四大長老之一的執劍長老,負責傳授莊中武士的武藝,其一身武功之高自是不在話下。",
          },
          {
            jh: "掩月城",
            loc: "出云厅",
            name: "秦东海",
            name_tw: "秦東海",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e;e",
            desc: "是出雲莊的主人,也是出雲部軍隊的大統帥。身穿獅頭麒麟鎧,腰佩神劍。",
          },
          {
            jh: "掩月城",
            loc: "出云厅、密室(秦东海推石狮)",
            name: "执典长老",
            name_tw: "執典長老",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e;e;event_1_89957254;ne;ne;se;s;s;s",
            desc: "這是出雲莊四大長老之一的執典長老,負責維護管理莊中重要的典籍和秘書。",
          },
          {
            jh: "掩月城",
            loc: "冶炼坊",
            name: "莫邪传人",
            name_tw: "莫邪傳人",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;n",
            desc: "這是一個頂尖的鑄煉天匠,據傳曾是莫邪的弟子。",
          },
          {
            jh: "掩月城",
            loc: "九牧溪",
            name: "老仆",
            name_tw: "老僕",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;n;n",
            desc: "一名忠心耿耿的老僕人,一言不發地守在公子身後。",
          },
          {
            jh: "掩月城",
            loc: "甲胄坊",
            name: "制甲师",
            name_tw: "制甲師",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;s",
            desc: "這是一個頂尖的製造甲冑的大師。",
          },
          {
            jh: "掩月城",
            loc: "练武场",
            name: "试剑士",
            name_tw: "試劍士",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;s;s",
            desc: "這是一個試煉各式兵器和器械的武士。",
          },
          { jh: "掩月城", loc: "锁龙潭", name: "黑衣老者", way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;se;se;s;s;sw;s", desc: "一個表情兇狠的黑衣老者,你最好還是不要招惹他。" },
          {
            jh: "掩月城",
            loc: "深山石窟",
            name: "六道禅师",
            name_tw: "六道禪師",
            way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;se;se;s;s;sw;s;sw;sw;sw;sw",
            desc: "曾經的武林禪宗第一高手,武功修為極高,內力深厚,一身真氣護體的功夫,尋常人難以企及。",
          },
          { jh: "掩月城", loc: "落霞山径", name: "野兔", way: "jh 43;n;ne;ne;n;n;n;nw", desc: "這是一隻灰耳白尾的野兔" },
          { jh: "掩月城", loc: "落霞山径", name: "老烟杆儿", name_tw: "老煙桿兒", way: "jh 43;n;ne;ne;n;n;n;nw;n", desc: "一名白發蒼蒼的老人,手持一柄煙桿兒。" },
          { jh: "掩月城", loc: "落霞山径", name: "杂货脚夫", name_tw: "雜貨腳夫", way: "jh 43;n;ne;ne;n;n;n;nw;n", desc: "一個負責運送日常雜貨的腳夫。" },
          { jh: "掩月城", loc: "落霞山径", name: "短衫剑客", name_tw: "短衫劍客", way: "jh 43;n;ne;ne;n;n;n;nw;n;ne", desc: "一個身著短衫,利落乾淨的劍客。" },
          { jh: "掩月城", loc: "落霞山径", name: "巧儿", name_tw: "巧兒", way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne", desc: "一個聰明伶俐,嬌小可愛的小丫頭。" },
          { jh: "掩月城", loc: "落霞山径", name: "青牛", way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n", desc: "一頭通體泛青,健碩無比的公牛。" },
          { jh: "掩月城", loc: "落霞山径", name: "骑牛老汉", name_tw: "騎牛老漢", way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n", desc: "一個黑衫華發的老人,腰佩長劍。" },
          { jh: "掩月城", loc: "孤鹜枫林", name: "书童", name_tw: "書童", way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w", desc: "一名年不及二八的小書童,身上揹著書簍。" },
          {
            jh: "掩月城",
            loc: "孤鹜枫林",
            name: "樊川居士",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw",
            desc: "百年難得一出的天縱英才,詩文當世無二,其詩雄姿英發。而人如其詩,個性張揚,如鶴舞長空,俊朗飄逸。",
          },
          {
            jh: "掩月城",
            loc: "孤鹜枫林",
            name: "青衫女子",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw",
            desc: "一名身著青衫,頭戴碧玉簪的年青女子。手裡拿著一支綠色玉簫。",
          },
          {
            jh: "掩月城",
            loc: "无影楼",
            name: "无影暗侍",
            name_tw: "無影暗侍",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw",
            desc: "這是一個無影樓守門的侍衛,全身黑衣,面帶黑紗。",
          },
          {
            jh: "掩月城",
            loc: "退思台",
            name: "琴仙子",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n",
            desc: "一個身著樸素白裙,滿頭青絲垂下的少女,手指輕動,天籟般的琴音便流淌而出。琴聲之間還包含了極深的內力修為。",
          },
          {
            jh: "掩月城",
            loc: "千叶飞瀑",
            name: "百晓居士",
            name_tw: "百曉居士",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e",
            desc: "這是一個江湖事無所不曉的老頭,總是一副若有所思的樣子。",
          },
          {
            jh: "掩月城",
            loc: "碎影栈道",
            name: "清风童子",
            name_tw: "清風童子",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e;se;se",
            desc: "這是無影樓的小侍童。",
          },
          {
            jh: "掩月城",
            loc: "落英小筑",
            name: "刀仆",
            name_tw: "刀僕",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e;se;se;se;sw;sw",
            desc: "這是天刀宗師的僕人,忠心耿耿。",
          },
          {
            jh: "掩月城",
            loc: "落英小筑",
            name: "天刀宗师",
            name_tw: "天刀宗師",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e;se;se;se;sw;sw",
            desc: "一個白發老人,身形挺拔,傳說這是二十年前突然消失於武林的天下第一刀客。",
          },
          {
            jh: "掩月城",
            loc: "与谁同坐亭(花间回廊入亭赏月)",
            name: "虬髯长老",
            name_tw: "虯髯長老",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e;se;se;se;sw;sw;s;e;s;s;s;event_1_69228002",
            desc: "這是無影閣四大長老之一的虯髯公,滿面赤色的虯髯,腰間一把帝王之劍。",
          },
          { jh: "掩月城", loc: "黑岩溪", name: "赤尾雪狐", way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;sw", desc: "一隻通體雪白,尾稍赤紅如火的狐狸。" },
          {
            jh: "掩月城",
            loc: "黑岩溪",
            name: "泥鳅",
            name_tw: "泥鰍",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;sw;sw",
            desc: "一條烏黑油亮的小泥鰍,在溪水中暢快地遊著。",
          },
          {
            jh: "掩月城",
            loc: "黑岩溪",
            name: "灰衣血僧",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;sw;sw;sw;s;s",
            desc: "一個滿面煞氣,身著灰色僧袍,手持大環刀的中年惡僧。",
          },
          {
            jh: "掩月城",
            loc: "白龙天瀑",
            name: "白鹭",
            name_tw: "白鷺",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;sw;sw;sw;s;s;s",
            desc: "一隻羽毛如雪的白鷺,雙翅一展有丈許,直欲振翅上九天而去。",
          },
          { jh: "掩月城", loc: "清溪石板路", name: "行脚贩子", name_tw: "行腳販子", way: "jh 43;sw", desc: "這是一個遠道而來的商人,滿面風塵。" },
          { jh: "掩月城", loc: "马车店、铁匠铺", name: "店老板", name_tw: "店老闆", way: "jh 43;sw;sw;sw;s;se;se;se", desc: "馬車店老闆,年近不惑。" },
          { jh: "掩月城", loc: "骡马市", name: "白衣弟子", way: "jh 43;sw;sw;sw;s;se;se;se;e", desc: "出雲莊的年輕弟子,第一次來到市集,看什麼都是新鮮。" },
          {
            jh: "掩月城",
            loc: "铁匠铺",
            name: "青衫铁匠",
            name_tw: "青衫鐵匠",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;e",
            desc: "一個深藏不露的鐵匠,據說能打出最上乘的武器。",
          },
          {
            jh: "掩月城",
            loc: "骡马市",
            name: "黑衣骑士",
            name_tw: "黑衣騎士",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;n",
            desc: "穿著馬靴的黑衣少年,似是在維持市場的秩序。",
          },
          {
            jh: "掩月城",
            loc: "天青原",
            name: "青鬃野马",
            name_tw: "青鬃野馬",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw",
            desc: "野外的空闊遼遠,青鬃馬揚起鬃毛,收腰扎背,四蹄翻飛,跨阡度陌,躍丘越壑,盡情地奔馳在自由的風裡。",
          },
          { jh: "掩月城", loc: "天青原", name: "牧民", way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw", desc: "一個風霜滿面卻面帶微笑的中年男子。" },
          {
            jh: "掩月城",
            loc: "风花谷",
            name: "乌骓马",
            name_tw: "烏騅馬",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne",
            desc: "通體黑緞子一樣,油光放亮,唯有四個馬蹄子部位白得賽雪。烏騅背長腰短而平直,四肢關節筋腱發育壯實,這樣的馬有個講頭,名喚“踢雪烏騅”。",
          },
          { jh: "掩月城", loc: "风花谷", name: "的卢幼驹", name_tw: "的盧幼駒", way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne", desc: "額上有白點,通體黝黑的神駿幼駒。" },
          {
            jh: "掩月城",
            loc: "风花牧场",
            name: "千小驹",
            name_tw: "千小駒",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s",
            desc: "一個年近弱冠的小孩子,身著皮襖,手拿小鞭,自幼在牧場長大,以馬駒為名,也極善與馬兒相處,據說他能聽懂馬兒說話。",
          },
          {
            jh: "掩月城",
            loc: "风花牧场",
            name: "秦惊烈",
            name_tw: "秦驚烈",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s",
            desc: "一個身高七尺的偉岸男子,腰裡掛著彎刀,明明是滿臉虯髯,臉上卻總是帶著溫和的微笑。",
          },
          {
            jh: "掩月城",
            loc: "风花马道",
            name: "小马驹儿",
            name_tw: "小馬駒兒",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e",
            desc: "一隻剛出生不久的小馬駒,雖步行踉蹌,卻也已能看出純種烈血寶馬的一二分風采。",
          },
          { jh: "掩月城", loc: "风花马道", name: "牧羊犬", way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e", desc: "牧民們的牧羊犬,威風凜凜,忠心耿耿。" },
          {
            jh: "掩月城",
            loc: "风花马道",
            name: "追风马",
            name_tw: "追風馬",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e",
            desc: "中原諸侯夢寐以求的軍中良馬,可日行六百,四蹄翻飛,逐風不休。",
          },
          {
            jh: "掩月城",
            loc: "风花马道",
            name: "诸侯秘使",
            name_tw: "諸侯秘使",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne",
            desc: "一個來求購良馬的使者,不知道哪個諸侯派出,身份隱秘。",
          },
          {
            jh: "掩月城",
            loc: "风花马道",
            name: "赤菟马",
            name_tw: "赤菟馬",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;ne",
            desc: "人中呂布,馬中赤兔,如龍如神,日行千里,紅影震懾千軍陣!",
          },
          {
            jh: "掩月城",
            loc: "风花马道",
            name: "风如斩",
            name_tw: "風如斬",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;ne;ne",
            desc: "風花牧場上最好的牧人之一,左耳吊墜是一隻狼王之齒,腰間的馬刀也是功勳赫赫!",
          },
          {
            jh: "掩月城",
            loc: "轻舞丘",
            name: "白狐",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;ne;ne;nw",
            desc: "一隻通體雪白的小狐狸,在樹洞裡伸出頭來看著你。",
          },
          { jh: "掩月城", loc: "轻舞丘", name: "小鹿", way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;ne;ne;nw;nw", desc: "" },
          { jh: "掩月城", loc: "", name: "破石寻花", name_tw: "破石尋花", way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;ne;ne;nw;nw;w", desc: "" },
          {
            jh: "掩月城",
            loc: "风花马道",
            name: "爪黄飞电",
            name_tw: "爪黃飛電",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se",
            desc: "據說是魏武帝最愛的名駒,體型高大,氣勢磅礴,萬馬之中也可一眼看出。",
          },
          { jh: "掩月城", loc: "风花马道", name: "黑狗", way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s", desc: "一條牧場上的黑狗,汪汪地衝你叫著。" },
          {
            jh: "掩月城",
            loc: "风花马道",
            name: "照夜玉狮子",
            name_tw: "照夜玉獅子",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s",
            desc: "此馬天下無雙,通體上下,一色雪白,沒有半根雜色,渾身雪白,傳說能日行千里,產於西域,是極品中的極品。",
          },
          {
            jh: "掩月城",
            loc: "风花马道",
            name: "鲁总管",
            name_tw: "魯總管",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s;se",
            desc: "風花牧場的總管,上上下下的諸多事情都歸他打理,內務外交都會經他之手。他卻一副好整以暇的樣子,似是經緯盡在掌握。",
          },
          {
            jh: "掩月城",
            loc: "风花马道",
            name: "风花侍女",
            name_tw: "風花侍女",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s;se",
            desc: "風花牧場的侍女,雖名義上都是僕從,但卻神色輕鬆,喜笑顏開,和主人管事們都親熱非常。",
          },
          {
            jh: "掩月城",
            loc: "天玑台",
            name: "天玑童子",
            name_tw: "天璣童子",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s;se;e",
            desc: "天璣樓裡的小童子,身穿青衫,頭系藍色發帶。",
          },
          {
            jh: "掩月城",
            loc: "百里原",
            name: "灰耳兔",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s;sw;sw",
            desc: "一隻白色的兔子,耳朵卻是灰色。",
          },
          { jh: "掩月城", loc: "", name: "闻香寻芳", name_tw: "聞香尋芳", way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s;sw;sw;sw", desc: "" },
          {
            jh: "掩月城",
            loc: "九牧溪",
            name: "绛衣剑客",
            name_tw: "絳衣劍客",
            way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;se",
            desc: "一名身著絳色短衫的劍客,太陽穴微微鼓起,顯是有著極強內力修為。",
          },
          { jh: "掩月城", loc: "九牧溪", name: "白衣公子", way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;se;ne", desc: "手持折扇,白衣飄飄的俊美公子,似是女扮男裝。" },
          { jh: "掩月城", loc: "浣衣台", name: "农家少妇", name_tw: "農家少婦", way: "jh 43;sw;sw;sw;w", desc: "附近農家的新婚婦人,一邊帶著孩子,一邊浣洗著衣服。" },
          { jh: "掩月城", loc: "浣衣台", name: "六婆婆", way: "jh 43;sw;sw;sw;w", desc: "年長的婦女,總忍不住要善意地指導一下年輕女孩們的家務。" },
          {
            jh: "掩月城",
            loc: "甜水井",
            name: "青壮小伙",
            name_tw: "青壯小夥",
            way: "jh 43;sw;sw;sw;w;w",
            desc: "在井邊打水的健壯少年,渾身都是緊實的肌肉,總是在有意無意之間展示著自己的力量。",
          },
          { jh: "掩月城", loc: "东林集市", name: "醉酒男子", way: "jh 43;w", desc: "一名喝得酩酊大醉的男子,看起來似是個浪蕩的公子哥。" },
          { jh: "掩月城", loc: "东林集市", name: "仆人", name_tw: "僕人", way: "jh 43;w", desc: "富家公子的僕人,唯唯諾諾地跟在身後。" },
          { jh: "掩月城", loc: "犹怜楼", name: "紫衣仆从", name_tw: "紫衣僕從", way: "jh 43;w;n", desc: "身著紫衣的侍從,不像是青樓守衛,卻更有豪門王府門衛的氣派。" },
          {
            jh: "掩月城",
            loc: "妙玉池",
            name: "轻纱女侍",
            name_tw: "輕紗女侍",
            way: "jh 43;w;n;n",
            desc: "一名身著輕紗的女子,黛眉輕掃,紅唇輕啟,嘴角勾起的那抹弧度彷彿還帶著絲絲嘲諷。眼波一轉。流露出的風情讓人忘記一切。",
          },
          {
            jh: "掩月城",
            loc: "妙玉池",
            name: "抚琴女子",
            name_tw: "撫琴女子",
            way: "jh 43;w;n;n",
            desc: "身著紅衣的撫琴少女,紅色的外袍包裹著潔白細膩的肌膚,她偶爾站起走動,都要露出細白水嫩的小腿。腳上的銀鈴也隨著步伐輕輕發出零零碎碎的聲音。纖細的手指劃過古樸的琵琶。令人騷動的琴聲從弦衫流淌下來。",
          },
          { jh: "掩月城", loc: "曲径", name: "小厮", name_tw: "小廝", way: "jh 43;w;n;n;n", desc: "樓裡的小廝,看起來乖巧得很。" },
          { jh: "掩月城", loc: "曲径", name: "梅映雪", way: "jh 43;w;n;n;n;ne", desc: "一名英姿颯爽的女劍客,身手非凡,負責把守通向後院的小路。" },
          {
            jh: "掩月城",
            loc: "朝暮阁",
            name: "琴楚儿",
            name_tw: "琴楚兒",
            way: "jh 43;w;n;n;n;ne;nw;nw;ne",
            desc: "女子長長的秀發隨著絕美的臉龐自然垂下,月光下,長發上似乎流動著一條清澈的河流,直直瀉到散開的裙角邊,那翠色慾流的玉簫輕輕挨著薄薄的紅唇,蕭聲悽美蒼涼。她的雙手潔白無瑕,輕柔的流動在樂聲中,白色的衣裙,散落的長發,流離悽美。她眉宇間,憂傷像薄薄的晨霧一樣籠罩著。沒有金冠玉飾,沒有尊貴華杉。她卻比任何人都美。",
          },
          { jh: "掩月城", loc: "朝暮阁", name: "寄雪奴儿", name_tw: "寄雪奴兒", way: "jh 43;w;n;n;n;ne;nw;nw;ne", desc: "一條從西域帶來的波斯貓。" },
          {
            jh: "掩月城",
            loc: "荼蘼阁",
            name: "舞眉儿",
            name_tw: "舞眉兒",
            way: "jh 43;w;n;n;n;ne;nw;nw;nw",
            desc: "猶憐樓內最善舞的女子,雲袖輕擺招蝶舞、纖腰慢擰飄絲絛。她似是一隻蝴蝶翩翩飛舞、一片落葉空中搖曳,又似是叢中的一束花、隨著風的節奏扭動腰肢。若有若無的笑容始終盪漾在她臉上,清雅如同夏日荷花。",
          },
          {
            jh: "掩月城",
            loc: "落魂厅",
            name: "黑纱舞女",
            name_tw: "黑紗舞女",
            way: "jh 43;w;n;n;w",
            desc: "一個在大廳中間舞台上表演的舞女,身著黑紗。她玉足輕旋,在地上留下點點畫痕,水袖亂舞,沾染墨汁勾勒眼裡牡丹,裙襬旋舞,朵朵蓮花在她腳底綻放,柳腰輕搖,勾人魂魄,暗送秋波,一時間天地競相為此美色而失色羞愧。可謂是絲竹羅衣舞紛飛!",
          },
          { jh: "掩月城", loc: "落魂厅", name: "女官人", way: "jh 43;w;n;n;w", desc: "猶憐樓的女主事,半老徐娘,風韻猶存。" },
          { jh: "掩月城", loc: "东林集市", name: "老乞丐", way: "jh 43;w;w", desc: "衣衫破爛卻不汙穢的老乞丐,身上有八個口袋,似是丐幫淨衣八袋弟子。" },
          { jh: "掩月城", loc: "东林集市", name: "赤髯刀客", way: "jh 43;w;w", desc: "一名面向粗曠威武的刀客,鬍髯全是火紅之色,似是鍾馗一般。" },
          { jh: "掩月城", loc: "东林集市", name: "华衣女子", name_tw: "華衣女子", way: "jh 43;w;w", desc: "衣著華貴的女子,年紀尚輕,身上似藏有一些秘密。" },
          { jh: "掩月城", loc: "东林集市", name: "马帮弟子", name_tw: "馬幫弟子", way: "jh 43;w;w;w", desc: "漠北馬幫的得力弟子。" },
          { jh: "掩月城", loc: "东林集市", name: "候君凛", name_tw: "候君凜", way: "jh 43;w;w;w", desc: "一名中年男子,雖是平常俠客打扮,卻頗有幾分朝廷中人的氣度。" },
          { jh: "掩月城", loc: "卧马客栈", name: "养马小厮", name_tw: "養馬小廝", way: "jh 43;w;w;w;n", desc: "這是客棧門口負責為客人牽馬餵馬的小廝。" },
          { jh: "掩月城", loc: "客栈大堂", name: "客栈掌柜", name_tw: "客棧掌櫃", way: "jh 43;w;w;w;n;n", desc: "臥馬客棧的大掌櫃的。" },
          { jh: "掩月城", loc: "客栈大堂", name: "店小二", way: "jh 43;w;w;w;n;n", desc: "一個跑前跑後的小二,忙得不可開交。" },
          { jh: "掩月城", loc: "西郊小路", name: "蝮蛇", way: "jh 43;w;w;w;w", desc: "當地特有的毒蛇,嘶嘶地發出警告,你最好不要靠近。" },
          {
            jh: "掩月城",
            loc: "西郊小路",
            name: "东方秋",
            name_tw: "東方秋",
            way: "jh 43;w;w;w;w;nw;n;n",
            desc: "一名年青劍客,腰插一塊顯是王府內的令牌,讓人對其身份產生了好奇。",
          },
          {
            jh: "掩月城",
            loc: "沧浪河渡口西",
            name: "函谷关武官",
            name_tw: "函谷關武官",
            way: "jh 43;w;w;w;w;nw;n;n;nw",
            desc: "函谷關統兵武官,駐守渡口監視著敵人的動向。",
          },
          {
            jh: "掩月城",
            loc: "沧浪河渡口西",
            name: "函谷关官兵",
            name_tw: "函谷關官兵",
            way: "jh 43;w;w;w;w;nw;n;n;nw",
            desc: "這是鎮守函谷關的官兵,在渡口偵探敵情。",
          },
          { jh: "掩月城", loc: "沧浪河谷", name: "长刀敌将", name_tw: "長刀敵將", way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw", desc: "這是一名手持長刀的敵將。" },
          { jh: "掩月城", loc: "", name: "黑虎敌将", name_tw: "黑虎敵將", way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w", desc: "" },
          { jh: "掩月城", loc: "", name: "长鞭敌将", name_tw: "長鞭敵將", way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw", desc: "" },
          { jh: "掩月城", loc: "", name: "巨锤敌将", name_tw: "巨錘敵將", way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s", desc: "" },
          { jh: "掩月城", loc: "", name: "狼牙敌将", name_tw: "狼牙敵將", way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw", desc: "" },
          { jh: "掩月城", loc: "", name: "金刚敌将", name_tw: "金剛敵將", way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw", desc: "" },
          { jh: "掩月城", loc: "", name: "蛮斧敌将", name_tw: "蠻斧敵將", way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n", desc: "" },
          { jh: "掩月城", loc: "", name: "血枪敌将", name_tw: "血槍敵將", way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n;n;n;nw", desc: "" },
          { jh: "掩月城", loc: "", name: "夜魔", way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n;n;n;nw;nw", desc: "" },
          { jh: "掩月城", loc: "", name: "千夜精锐", name_tw: "千夜精銳", way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n;n;n;nw;nw;n", desc: "" },
          { jh: "掩月城", loc: "", name: "胡人王子", way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n;n;n;nw;nw;n;n;ne", desc: "" },
          {
            jh: "掩月城",
            loc: "",
            name: "夜魔侍从",
            name_tw: "夜魔侍從",
            way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n;n;n;nw;nw;n;n;ne;ne;ne",
            desc: "",
          },
          {
            jh: "海雲閣",
            loc: "星夜閣4",
            name: "越女",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;w;w;s;s",
            desc: "這是一個隱世劍客,年方十六,眉目之間極為清秀,卻滿懷幽怨,莫不是受了情傷?",
          },
          { jh: "海雲閣", loc: "海云镇", name: "马夫", name_tw: "馬夫", way: "jh 44", desc: "這是一個等候主人的馬夫,耐心地打掃著馬車。" },
          { jh: "海雲閣", loc: "海云镇", name: "野狗", way: "jh 44;n", desc: "一隻渾身髒兮兮的野狗。" },
          { jh: "海雲閣", loc: "海云镇", name: "老镇长", name_tw: "老鎮長", way: "jh 44;n;n", desc: "這是海雲鎮的鎮長,平日裡也沒啥事情可管,便拿著個菸袋閒逛。" },
          { jh: "海雲閣", loc: "晒谷场", name: "烟袋老头", name_tw: "菸袋老頭", way: "jh 44;n;n;w", desc: "一個顯然有著不低功夫底子的老頭子,手拿一個菸袋。" },
          { jh: "海雲閣", loc: "晒谷场", name: "青年女子", way: "jh 44;n;n;w", desc: "一個青年女劍客,年方二八,身姿矯健。" },
          { jh: "海雲閣", loc: "海云镇", name: "背枪客", name_tw: "背槍客", way: "jh 44;n;n;n", desc: "這是一個青年武士,背後揹著一把亮銀長槍。" },
          { jh: "海雲閣", loc: "海云镇", name: "小孩", way: "jh 44;n;n;n;n", desc: "這是海雲鎮的一個小孩子,年方五六歲,天真爛漫。" },
          { jh: "海雲閣", loc: "新月道", name: "野兔", way: "jh 44;n;n;n;n;w;w", desc: "正在吃草的兔子。" },
          { jh: "海雲閣", loc: "满月道", name: "游客", name_tw: "遊客", way: "jh 44;n;n;n;n;e;ne", desc: "這是一個遊客,揹著手享受著山海美景。" },
          {
            jh: "海雲閣",
            loc: "怒龙栈道",
            name: "青年剑客",
            name_tw: "青年劍客",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w",
            desc: "這是一個青年劍客,眼含劍氣。",
          },
          {
            jh: "海雲閣",
            loc: "怒龙栈道",
            name: "九纹龙",
            name_tw: "九紋龍",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w",
            desc: "這是海雲閣四大殺手之一的九紋龍,兇狠非常。",
          },
          {
            jh: "海雲閣",
            loc: "怒龙栈道",
            name: "蟒蛇",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n",
            desc: "一隻昂首直立,吐著長舌芯的大蟒蛇。",
          },
          {
            jh: "海雲閣",
            loc: "临海平台",
            name: "暗哨",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n",
            desc: "這是海雲閣的暗哨,身穿平常的布衣,卻掩飾不了眼神裡的狡黠和敏銳。",
          },
          {
            jh: "海雲閣",
            loc: "怒龙台",
            name: "石邪王",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;e;e;s;s",
            desc: "據說這曾是武林魔道名門掌門,其武學造詣也是登峰造極。",
          },
          {
            jh: "海雲閣",
            loc: "海云门",
            name: "天杀",
            name_tw: "天殺",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e",
            desc: "這是一名海雲閣高級殺手。",
          },
          {
            jh: "海雲閣",
            loc: "海云道",
            name: "地杀",
            name_tw: "地殺",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;wn;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;;s;s",
            desc: "這是一名海雲閣高級殺手。",
          },
          {
            jh: "海雲閣",
            loc: "海云道",
            name: "穿山豹",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;s;s;s;s;s",
            desc: "這事海雲閣四大殺手之一的穿山豹,行動敏捷,狡黠異常。",
          },
          {
            jh: "海雲閣",
            loc: "海云殿",
            name: "海东狮",
            name_tw: "海東獅",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
            desc: "這是海雲閣四大殺手之首的海東獅,近十年來從未失手,手底已有數十個江湖名門掌門的性命。",
          },
          {
            jh: "海雲閣",
            loc: "海云殿",
            name: "海云长老",
            name_tw: "海雲長老",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
            desc: "這是海雲閣內的長老級殺手。",
          },
          {
            jh: "海雲閣",
            loc: "海云殿",
            name: "红纱舞女",
            name_tw: "紅紗舞女",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
            desc: "這是一個身著輕紗的舞女,穿著輕薄,舞姿極盡媚態,眉目輕笑之間卻隱含著淡淡的殺氣。",
          },
          {
            jh: "海雲閣",
            loc: "海云殿",
            name: "青纱舞女",
            name_tw: "青紗舞女",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
            desc: "這是一個身著輕紗的舞女,穿著輕薄,舞姿極盡媚態,眉目輕笑之間卻隱含著淡淡的殺氣。",
          },
          {
            jh: "海雲閣",
            loc: "海云殿",
            name: "紫纱舞女",
            name_tw: "紫紗舞女",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
            desc: "這是一個身著輕紗的舞女,穿著輕薄,舞姿極盡媚態,眉目輕笑之間卻隱含著淡淡的殺氣。",
          },
          {
            jh: "海雲閣",
            loc: "海云殿",
            name: "白纱舞女",
            name_tw: "白紗舞女",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
            desc: "這是一個身著輕紗的舞女,穿著輕薄,舞姿極盡媚態,眉目輕笑之間卻隱含著淡淡的殺氣。",
          },
          {
            jh: "海雲閣",
            loc: "",
            name: "虬髯犯人",
            name_tw: "虯髯犯人",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n;n;nw;w;w;nw",
            desc: "這人滿臉虯髯,頭發長長的直垂至頸,衣衫破爛不堪,簡直如同荒山中的野人",
          },
          {
            jh: "海雲閣",
            loc: "",
            name: "六如公子",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;n;w;n;n;n;n;w;n;w;w;n;n;n",
            desc: "這是一個隱士,武學修為極高,也似乎並不受海雲閣轄制。",
          },
          {
            jh: "海雲閣",
            loc: "",
            name: "萧秋水",
            name_tw: "蕭秋水",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;n;e;n;n;n;n;n;e;e;n;n",
            desc: "傳聞他出自天下第一名門浣花劍派,卻無人知曉他的名諱。",
          },
          {
            jh: "海雲閣",
            loc: "苍穹栈道",
            name: "啸林虎",
            name_tw: "嘯林虎",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n",
            desc: "這事海雲閣四大殺手之一的嘯林虎,武功極高。",
          },
          {
            jh: "海雲閣",
            loc: "雪山小道",
            name: "陆大刀",
            name_tw: "陸大刀",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e",
            desc: "江湖南四奇之首,人稱仁義陸大刀。",
          },
          {
            jh: "海雲閣",
            loc: "雪山小道",
            name: "水剑侠",
            name_tw: "水劍俠",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne",
            desc: "江湖南四奇之一,外號叫作“冷月劍”",
          },
          {
            jh: "海雲閣",
            loc: "雪山小道",
            name: "乘风客",
            name_tw: "乘風客",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne",
            desc: "江湖南四奇之一,外號叫作“柔雲劍”。",
          },
          {
            jh: "海雲閣",
            loc: "雪山山脚",
            name: "血刀妖僧",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne;e;se;se;se",
            desc: "「血刀聖教」掌門人,自稱「武林第一邪派高手」,門下都作和尚打扮,但個個都是十惡不赦的淫僧。",
          },
          {
            jh: "海雲閣",
            loc: "山路",
            name: "花铁枪",
            name_tw: "花鐵槍",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne;e;se;se;se;ne;ne",
            desc: "江湖南四奇之一,外號叫作“中平槍”。",
          },
          {
            jh: "海雲閣",
            loc: "雪洞",
            name: "狄小侠",
            name_tw: "狄小俠",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne;e;se;se;se;ne;ne;n;n;n;n;nw",
            desc: "其貌不揚,但卻有情有義,敢愛敢恨,性格鮮明。",
          },
          {
            jh: "海雲閣",
            loc: "雪洞",
            name: "水姑娘",
            way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne;e;se;se;se;ne;ne;n;n;n;n;nw",
            desc: "白衫飄飄,樣貌清秀俏麗,人品俊雅,嫉惡如仇。",
          },
          { jh: "幽冥山莊", loc: "幽暗山路", name: "野狗", way: "jh 45;ne", desc: "一條低頭啃著骨頭的野狗。" },
          { jh: "幽冥山莊", loc: "幽暗山路", name: "毒蛇", way: "jh 45;ne;ne;n;n", desc: "當地特有的毒蛇,嘶嘶地發出警告,你最好不要靠近。" },
          {
            jh: "幽冥山莊",
            loc: "五龙堂",
            name: "柳激烟",
            name_tw: "柳激煙",
            way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n",
            desc: "五湖九州、黑白兩道、十二大派都尊稱為“捕神”的六扇門第一把好手。",
          },
          {
            jh: "幽冥山莊",
            loc: "正厅",
            name: "龟敬渊",
            name_tw: "龜敬淵",
            way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n",
            desc: "一名鶉衣百結、滿臉黑須的老人,眼睛瞪得像銅錢一般大,粗眉大目,雖然比較矮,但十分粗壯,就像鐵罩一般,一雙粗手,也比常人粗大一二倍。這人身上並無兵器,但一身硬功,“鐵布衫”橫練,再加上“十三太保”與“童於功”,據說已有十一成的火候,不但刀劍不入,就算一座山塌下來,也未必把他壓得住!",
          },
          {
            jh: "幽冥山莊",
            loc: "正厅",
            name: "淩玉象",
            way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n",
            desc: "銀眉白須,容貌十分清灌,身形頎長,常露慈藹之色,背插長劍",
          },
          {
            jh: "幽冥山莊",
            loc: "正厅",
            name: "慕容水云",
            name_tw: "慕容水雲",
            way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n",
            desc: "一個白發斑斑,但臉色泛紅的老者,腰問一柄薄而利的緬刀,終日不離身,左右太陽穴高高鼓起,顯然內功已入化境。",
          },
          {
            jh: "幽冥山莊",
            loc: "正厅",
            name: "沈错骨",
            name_tw: "沈錯骨",
            way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n",
            desc: "一個裝扮似道非道的老者,黑發長髯,態度冷傲,手中一把拂塵。",
          },
          {
            jh: "幽冥山莊",
            loc: "书房",
            name: "冷血",
            way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n;e",
            desc: "善劍法,性堅忍,他的劍法是沒有名堂的,他刺出一劍是一劍,快、準而狠,但都是沒招式名稱的。",
          },
          {
            jh: "幽冥山莊",
            loc: "后花园",
            name: "庄之洞",
            name_tw: "莊之洞",
            way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n;n",
            desc: "腰間纏著椎鏈子,一副精明能幹的樣子。",
          },
          {
            jh: "幽冥山莊",
            loc: "后花园",
            name: "高山青",
            way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n;n",
            desc: "高頭大馬,高山青拿著的是一條玉一般的桃木棍,棒身細滑,杖尖若刀,長七尺六寸。",
          },
          { jh: "幽冥山莊", loc: "二楼", name: "金盛煌", way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n;w", desc: "富甲一方,武功蓋世的“三十六手蜈蚣鞭”。" },
          { jh: "幽冥山莊", loc: "幽暗山路", name: "樵夫", way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n", desc: "一個砍柴為生的樵夫。" },
          { jh: "幽冥山莊", loc: "火堆", name: "鲍龙", name_tw: "鮑龍", way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;e", desc: "虯髯怒目的大漢。" },
          { jh: "幽冥山莊", loc: "火堆", name: "鲍蛇", name_tw: "鮑蛇", way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;e", desc: "虯髯怒目的大漢。" },
          { jh: "幽冥山莊", loc: "火堆", name: "鲍虎", name_tw: "鮑虎", way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;e", desc: "虯髯怒目的大漢。" },
          {
            jh: "幽冥山莊",
            loc: "山庄石道",
            name: "过之梗",
            name_tw: "過之梗",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne",
            desc: "年約四五十歲,長眉黑髯,樣子十分剛正。",
          },
          { jh: "幽冥山莊", loc: "山庄石道", name: "翁四", way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n", desc: "武功不弱,而且為人正義,素得俠名。" },
          {
            jh: "幽冥山莊",
            loc: "小连环坞",
            name: "屈奔雷",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;e",
            desc: "行事於正邪之間,性格剛烈,脾氣古怪,不過從不作傷天害理之事,只是明目張膽的搶劫燒殺,這人可幹得多了;據說他武功很高,內功外功兼備,鐵斧也使得出神入化。",
          },
          { jh: "幽冥山莊", loc: "小连环坞", name: "屈奔雷分身", way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;e", desc: "屈奔雷分身,實力不容小視!" },
          {
            jh: "幽冥山莊",
            loc: "枫林小栈",
            name: "伍湘云",
            name_tw: "伍湘雲",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;e;e",
            desc: "一身綵衣,垂發如瀑,腰上挽了一個小花結,結上兩柄玲瓏的小劍,更顯得人嬌如花,容光照人。",
          },
          {
            jh: "幽冥山莊",
            loc: "枫林小栈",
            name: "殷乘风",
            name_tw: "殷乘風",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;e;e",
            desc: "身段頎長而略瘦,但眉宇之間,十分精明銳利,猶如瓊瑤玉樹,豐神英朗",
          },
          {
            jh: "幽冥山莊",
            loc: "山庄石道",
            name: "辛仇",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n",
            desc: "自幼殘肢斷臂,受人歧視,故苦練奇技,仇殺江湖,無人不畏之如神鬼也。",
          },
          { jh: "幽冥山莊", loc: "山庄石道", name: "辛杀", name_tw: "辛殺", way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n", desc: "一個風程僕僕的俠客。" },
          {
            jh: "幽冥山莊",
            loc: "山庄石道",
            name: "蔡玉丹",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw",
            desc: "家財萬貫,是絲綢商人,但仁俠異常,喜助人,義疏財,武功很高。",
          },
          {
            jh: "幽冥山莊",
            loc: "山庄石道",
            name: "暗杀",
            name_tw: "暗殺",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n",
            desc: "這是跟隨辛十三孃的殺手。",
          },
          {
            jh: "幽冥山莊",
            loc: "山庄石道",
            name: "辛十三娘",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n",
            desc: "這女魔頭似具有動物的本能護體色,如貼在樹上動也不動,便像一張葉子一般,如坐在地上動也不動,便像一顆岩石一般;在黑夜裡便像是夜色的一部分,在雪地上就變成了雪花,誰也認不出來。",
          },
          {
            jh: "幽冥山莊",
            loc: "暗风岭",
            name: "巴司空",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;w",
            desc: "他是大理國三公之一。一個又瘦又黑的漢子,但他的擅長輕功。",
          },
          {
            jh: "幽冥山莊",
            loc: "山庄石道",
            name: "追命",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e",
            desc: "腳力無雙,所以輕功也奇佳,追蹤術一流,嗜酒如命。",
          },
          {
            jh: "幽冥山莊",
            loc: "山庄石道",
            name: "艳无忧",
            name_tw: "豔無憂",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e;e",
            desc: "江湖中一大魔頭,年輕貌美,因她擅‘吸血功’,以別人之鮮血,保持她的青春與容貌。",
          },
          {
            jh: "幽冥山莊",
            loc: "山庄石道",
            name: "摄魂鬼杀",
            name_tw: "攝魂鬼殺",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e;e",
            desc: "這是跟隨豔無憂的殺手,武功頗為高深。",
          },
          { jh: "幽冥山莊", loc: "幽冥山庄", name: "幽冥山庄", name_tw: "幽冥山莊", way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e;e;e;e", desc: "" },
          { jh: "花街", loc: "花街", name: "尊信门杀手", name_tw: "尊信門殺手", way: "jh 46;e", desc: "尊信門叛將帶領的殺手,個個心狠手辣。" },
          { jh: "花街", loc: "花街", name: "花札敖", way: "jh 46;e", desc: "魔宗長老,紫色瞳孔彰顯他天魔功法已經大成。" },
          { jh: "花街", loc: "花街", name: "山赤岳", name_tw: "山赤嶽", way: "jh 46;e;e", desc: "魔宗長老,使一對八角大錘。" },
          { jh: "花街", loc: "花街", name: "鹰飞", name_tw: "鷹飛", way: "jh 46;e;e;e", desc: "魔宗後起高手,是魔宗的希望。" },
          { jh: "花街", loc: "花街", name: "由蚩敌", name_tw: "由蚩敵", way: "jh 46;e;e;e;e", desc: "蒙古兩大高手之一,擅用連環索。" },
          { jh: "花街", loc: "花街", name: "强望生", name_tw: "強望生", way: "jh 46;e;e;e;e;e", desc: "火須紅發,蒙古兩大高手之一。" },
          { jh: "花街", loc: "花街", name: "莫意闲", name_tw: "莫意閒", way: "jh 46;e;e;e;e;e;e", desc: "江湖黑道邪派高手之一,列名十大高手榜。" },
          { jh: "花街", loc: "花街", name: "甄素善", way: "jh 46;e;e;e;e;e;e;e", desc: "黑道最富有誘惑力的女人,風情萬種。" },
          { jh: "花街", loc: "醉梦楼", name: "谈应手", name_tw: "談應手", way: "jh 46;e;e;e;e;e;e;e;e", desc: "黑道高手,十惡莊莊主,一方霸主。" },
          {
            jh: "花街",
            loc: "大厅",
            name: "方夜羽",
            way: "jh 46;e;e;e;e;e;e;e;e;n",
            desc: "「魔師」龐斑的關門弟子,有「小魔師」之稱,文秀之極,肌膚比少女還滑嫩,但身形頗高,肩寬膊闊,秀氣透出霸氣,造成一種予人文武雙全的感覺。",
          },
          { jh: "花街", loc: "二楼", name: "封寒", way: "jh 46;e;e;e;e;e;e;e;e;n;n;n;e;e", desc: "黑榜天下第二的高手,天下第一刀客。" },
          { jh: "花街", loc: "沁芳阁", name: "寒碧翠", way: "jh 46;e;e;e;e;e;e;e;e;n;n;n;e;e;e", desc: "優雅十分,舞姿傾城,據說觀舞可領悟出長生之道。" },
          { jh: "花街", loc: "凝香阁", name: "薄昭如", way: "jh 46;e;e;e;e;e;e;e;e;n;n;n;e;e;s", desc: "清雅十分,舞姿傾城,據說觀舞可領悟出防禦之道。" },
          {
            jh: "花街",
            loc: "藏娇阁",
            name: "盈散花",
            way: "jh 46;e;e;e;e;e;e;e;e;n;n;n;e;e;n",
            desc: "據說來自西域,擅長波斯舞,每日來觀舞之人絡繹不絕,雖耗費頗高,但據說觀舞可以領悟出武學攻擊招式的奧秘。",
          },
          { jh: "花街", loc: "花街", name: "怒蛟高手", way: "jh 46;e;e;e;e;e;e;e;e;e", desc: "這是黑道第一大幫-怒蛟幫的頂尖高手。" },
          {
            jh: "花街",
            loc: "花街",
            name: "戚长征",
            name_tw: "戚長征",
            way: "jh 46;e;e;e;e;e;e;e;e;e",
            desc: "江湖中的後起之秀,新一代高手中最好的刀客,得左手刀封寒親傳。",
          },
          { jh: "花街", loc: "花街", name: "韩柏", name_tw: "韓柏", way: "jh 46;e;e;e;e;e;e;e;e;e;e", desc: "陰差陽錯成為高手的小書童。" },
          { jh: "花街", loc: "花街", name: "烈震北", way: "jh 46;e;e;e;e;e;e;e;e;e;e;e", desc: "黑道最負盛名的神醫,義氣幹雲。" },
          { jh: "花街", loc: "花街", name: "赤尊信", way: "jh 46;e;e;e;e;e;e;e;e;e;e;e;e", desc: "尊信門門主,黑榜十大高手之一。" },
          { jh: "花街", loc: "花街", name: "乾罗", name_tw: "乾羅", way: "jh 46;e;e;e;e;e;e;e;e;e;e;e;e;e", desc: "山城門主,黑榜十大高手之一。" },
          {
            jh: "花街",
            loc: "花街",
            name: "厉若海",
            name_tw: "厲若海",
            way: "jh 46;e;e;e;e;e;e;e;e;e;e;e;e;e;e",
            desc: "黑道高手排名第三,也有人說他實力與浪翻雲相較也不差半分。",
          },
          { jh: "花街", loc: "花街", name: "浪翻云", name_tw: "浪翻雲", way: "jh 46;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e", desc: "黑榜之首,江湖第一大幫的核心人物。" },
          { jh: "西涼城", loc: "荒漠", name: "响尾蛇", name_tw: "響尾蛇", way: "jh 47;ne", desc: "一條帶有劇毒,尾環在禦敵時發出嗡嗡響的響尾蛇。" },
          { jh: "西涼城", loc: "荒丘", name: "官差", way: "jh 47;ne;n;n;n;nw", desc: "這是西涼城衙門的一名官差,呆呆的不言不動,只是渾身顫抖。" },
          { jh: "西涼城", loc: "荒丘", name: "官兵", way: "jh 47;ne;n;n;n;nw", desc: "西涼城的官兵,透著幾分疲憊。" },
          { jh: "西涼城", loc: "城外马道", name: "驿卒", name_tw: "驛卒", way: "jh 47;ne;n;n;n;ne;ne;e", desc: "這是別的城市前來此處送信的驛卒,滿面塵土。" },
          { jh: "西涼城", loc: "西凉城门", name: "官兵", way: "jh 47;ne;n;n;n;ne;ne;e;e;e", desc: "西涼城的官兵,透著幾分疲憊。" },
          { jh: "西涼城", loc: "土路", name: "苦力", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne", desc: "一個苦力打扮的漢子在這裡等人來僱用。" },
          { jh: "西涼城", loc: "土路", name: "屠淩心", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se", desc: "身材矮小,一張臉醜陋無比,滿是刀疤傷痕。" },
          { jh: "西涼城", loc: "土路", name: "昆仑杀手", name_tw: "崑崙殺手", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se", desc: "一個風程僕僕的俠客。" },
          { jh: "西涼城", loc: "土路", name: "金淩霜", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se;s", desc: "六十來歲年紀,雙目神光湛然。" },
          { jh: "西涼城", loc: "土路", name: "醉汉", name_tw: "醉漢", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se;s", desc: "一個喝得醉醺醺的年輕人。。。。。" },
          { jh: "西涼城", loc: "土路", name: "钱淩异", name_tw: "錢淩異", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se;s;s", desc: "一名高瘦的漢子,眼神陰毒。" },
          {
            jh: "西涼城",
            loc: "马王庙",
            name: "齐伯川",
            name_tw: "齊伯川",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se;s;s;s",
            desc: "燕陵鏢局的少鏢頭,平日裡飛揚跋扈,現在卻是一副落魄樣子。",
          },
          { jh: "西涼城", loc: "土路", name: "樵夫", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n", desc: "你看到一個粗壯的大漢,身上穿著普通樵夫的衣服。" },
          {
            jh: "西涼城",
            loc: "土路",
            name: "疯狗",
            name_tw: "瘋狗",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne",
            desc: "一隻渾身髒兮兮的野狗,一雙眼睛正惡狠狠地瞪著你。",
          },
          {
            jh: "西涼城",
            loc: "正殿",
            name: "止观大师",
            name_tw: "止觀大師",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;e;e;n;n;n;n;n",
            desc: "一名白衣灰須的老僧,雙眼炯炯有神。",
          },
          {
            jh: "西涼城",
            loc: "正殿",
            name: "止观分身",
            name_tw: "止觀分身",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;e;e;n;n;n;n;n",
            desc: "止觀大師的分身,戰鬥力爆棚!",
          },
          { jh: "西涼城", loc: "正殿", name: "慧清", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;e;e;n;n;n;n;n", desc: "止觀大師的親傳弟子,灰色衣袍。" },
          {
            jh: "西涼城",
            loc: "殿后小路",
            name: "佛灯",
            name_tw: "佛燈",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;e;e;n;n;n;n;n;n;ne;n",
            desc: "這是一盞佛燈,閃著微弱的青光,照亮著山路。",
          },
          { jh: "西涼城", loc: "土路", name: "野狗", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n", desc: "一隻渾身髒兮兮的野狗。" },
          { jh: "西涼城", loc: "土路", name: "农民", name_tw: "農民", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n", desc: "一個戴著斗笠,正在辛勤勞作的農民。" },
          {
            jh: "西涼城",
            loc: "土路",
            name: "马夫",
            name_tw: "馬夫",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n",
            desc: "這是一個等候主人的馬夫,耐心地打掃著馬車。",
          },
          { jh: "西涼城", loc: "铁剑山庄", name: "管家", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;ne;n;ne", desc: "鐵劍山莊管家,約莫五十來歲。" },
          {
            jh: "西涼城",
            loc: "正堂",
            name: "李铁杉",
            name_tw: "李鐵杉",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;ne;n;ne;n",
            desc: "一名紅光滿面的高大老者。",
          },
          {
            jh: "西涼城",
            loc: "燕陵镖局",
            name: "齐润翔",
            name_tw: "齊潤翔",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;nw",
            desc: "一名老者坐在鏢局大廳,須長及胸,生得一張紫膛臉,正是燕陵鏢局的總鏢頭齊潤翔。",
          },
          {
            jh: "西涼城",
            loc: "燕陵镖局",
            name: "黑衣镖师",
            name_tw: "黑衣鏢師",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;nw",
            desc: "身著黑衣的鏢師,一看就是經驗豐富的老江湖。",
          },
          {
            jh: "西涼城",
            loc: "练武场",
            name: "镖师",
            name_tw: "鏢師",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;nw;nw",
            desc: "燕陵鏢局的年青鏢師,正在發呆。",
          },
          { jh: "西涼城", loc: "中堂", name: "捕快", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;w;w", desc: "西涼城的捕快,腰佩單刀。" },
          {
            jh: "西涼城",
            loc: "中堂",
            name: "伍定远",
            name_tw: "伍定遠",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;w;w",
            desc: "黝黑的四方臉上一派威嚴,一望便知是這些官差的頭兒,衙門的捕頭。",
          },
          { jh: "西涼城", loc: "后堂", name: "捕快", way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;w;w;w", desc: "西涼城的捕快,腰佩單刀。" },
          { jh: "高昌迷宮", loc: "蒙古包", name: "苏普", name_tw: "蘇普", way: "jh 48;e;ne", desc: "年輕俊朗的小夥子,虎背熊腰,是大漠第一勇士蘇魯克的兒子。" },
          {
            jh: "高昌迷宮",
            loc: "蒙古包",
            name: "糟老头子",
            name_tw: "糟老頭子",
            way: "jh 48;e;ne",
            desc: "他滿頭白發,竟無一根是黑的,身材甚是高大,只是弓腰曲背,衰老已極",
          },
          {
            jh: "高昌迷宮",
            loc: "蒙古包",
            name: "陈达海",
            name_tw: "陳達海",
            way: "jh 48;e;ne",
            desc: "一個身穿羊皮襖的高大漢子,虯髯滿腮,他腰間上左右各插著一柄精光閃亮的短劍。兩柄短劍的劍把一柄金色,一柄銀色。",
          },
          { jh: "高昌迷宮", loc: "蒙古包", name: "阿曼", way: "jh 48;e;ne", desc: "貌美如花的哈薩克女子,蘇普的妻子。" },
          { jh: "高昌迷宮", loc: "蒙古包", name: "太行刀手", way: "jh 48;e;ne", desc: "當地的刀功絕活大師,隨便放在江湖中都是個了不起的刀霸。" },
          { jh: "高昌迷宮", loc: "蒙古包", name: "哈卜拉姆", way: "jh 48;e;ne;ne", desc: "鐵延部中精通「可蘭經」、最聰明最有學問的老人。" },
          { jh: "高昌迷宮", loc: "蒙古包", name: "牧民", way: "jh 48;e;ne;ne;se", desc: "哈薩克牧民,正在做著晚餐。" },
          {
            jh: "高昌迷宮",
            loc: "",
            name: "天铃鸟",
            name_tw: "天鈴鳥",
            way: "jh 48;e;ne;ne;s",
            desc: "這鳥兒的歌聲像是天上的銀鈴。它只在晚上唱歌,白天睡覺。有人說,這是天上的星星掉下來之後變的。又有些哈薩克人說,這是草原上一個最美麗、最會唱歌的少女死了之後變的。她的情郎不愛她了,她傷心死的。",
          },
          { jh: "高昌迷宮", loc: "大沙漠", name: "霍元龙", name_tw: "霍元龍", way: "jh 48;e;se", desc: "虯髯大漢,身挎長刀,一臉凶神惡煞。" },
          { jh: "高昌迷宮", loc: "大沙漠", name: "太行刀手", way: "jh 48;e;se", desc: "當地的刀功絕活大師,隨便放在江湖中都是個了不起的刀霸。" },
          { jh: "高昌迷宮", loc: "戈壁滩", name: "恶狼", name_tw: "惡狼", way: "jh 48;e;se;se;e;ne;se", desc: "一頭大灰狼,閃著尖利的牙齒。" },
          { jh: "高昌迷宮", loc: "戈壁滩", name: "响尾蛇", name_tw: "響尾蛇", way: "jh 48;e;se;se;e;ne;se;e", desc: "戈壁灘上的響尾蛇,你要小心了!" },
          { jh: "高昌迷宮", loc: "大沙漠", name: "骆驼", name_tw: "駱駝", way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;se;se;s", desc: "行走於沙漠的商隊駱駝。" },
          {
            jh: "高昌迷宮",
            loc: "山陵",
            name: "男尸",
            name_tw: "男屍",
            way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;se;se;s;s;s;sw",
            desc: "一具男屍,看身上的裝束似是中原武士。",
          },
          {
            jh: "高昌迷宮",
            loc: "山洞",
            name: "老翁",
            way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;se;se;s;s;s;sw;sw;s",
            desc: "身形瘦弱,形容枯槁,愁眉苦臉,身上穿的是漢人裝束,衣帽都已破爛不堪。但他頭發捲曲,卻又不大像漢人。",
          },
          {
            jh: "高昌迷宮",
            loc: "山洞",
            name: "李文秀",
            way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;se;se;s;s;s;sw;sw;s;sw;se",
            desc: "身著哈薩克長袍的漢族少女,眉清目秀,貌美如花。有人說,她唱出的歌聲,便如同那天鈴鳥一般動人。",
          },
          { jh: "高昌迷宮", loc: "甬道", name: "苏鲁克", name_tw: "蘇魯克", way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;ne;event_1_369927", desc: "哈薩克第一勇士,力大無窮。" },
          {
            jh: "高昌迷宮",
            loc: "甬道",
            name: "车尔库",
            name_tw: "車爾庫",
            way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;ne;event_1_369927;n",
            desc: "哈薩克第二勇士,蘇魯克的好朋友。",
          },
          {
            jh: "高昌迷宮",
            loc: "高昌宝藏",
            name: "瓦耳拉齐",
            name_tw: "瓦耳拉齊",
            way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;ne;event_1_369927;n;n;n",
            desc: "白衣白袍的哈薩克高手,為李文秀所救。",
          },
          { jh: "高昌迷宮", loc: "高昌宝藏", name: "分身", way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;ne;event_1_369927;n;n;n", desc: "瓦耳拉齊的分身,十分強悍!" },
          { jh: "京城", loc: "城外山路", name: "贵妇", name_tw: "貴婦", way: "rank go 194;s;se", desc: "城裡大戶人家的貴婦,正要上山拜佛還願。" },
          {
            jh: "京城",
            loc: "城外山路",
            name: "王一通",
            way: "rank go 194;s;se;se",
            desc: "千萬個小人物中的一個,讀過書算過賬,沒有經世致用之才,沒有平定一方之力,匡扶天下他沒有這個志氣,建功立業怕也沒有這個本事。老婆剛又生了個孩子,家裡卻又有債主上門,正急得如熱鍋上的螞蟻。",
          },
          { jh: "京城", loc: "西直门", name: "城门官兵", name_tw: "城門官兵", way: "rank go 194;s;se;se;se;e", desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。" },
          { jh: "京城", loc: "阜成门", name: "城门官兵", name_tw: "城門官兵", way: "rank go 194;s;se;se;se;e;s;s;s", desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。" },
          {
            jh: "京城",
            loc: "御花园",
            name: "银川公主",
            name_tw: "銀川公主",
            way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;nw;nw;n",
            desc: "貌美的皇帝長女,奉命西嫁和番,性格仁慈,高貴端麗,讓人不敢輕侮,西疆大戰中,展現出皇家天女的絕代風華,令無數亂臣賊子為之感動敬服。見識卓越,忍人所不能忍,在去西疆途中愛慕盧雲,可為了國家深藏情感。銀川有著極其獨立的人格和無奈得讓人心碎的命運。只因生在帝王家,便要在豆蔻年華永遠放棄自己的愛情和未來,遠嫁異邦,靠自己柔軟無依的肩膀支撐起千萬將士的性命和兩國的和平。都說華夏自古多英豪,為何女子從此不得歸故鄉?",
          },
          {
            jh: "京城",
            loc: "皇极殿",
            name: "柳昂天",
            way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;n;n;n",
            desc: "膽小的大將軍,赳赳武夫,官拜大都督,統領數十萬兵馬,卻是個怯懦政客。他表面是天下英雄的領袖和希望,然而卻一再屈從於強權,虛偽而懦弱。他不是殘害忠良之輩,但也不會為了公道正義損害自己的功名利祿;與奸臣鬥,並非因為伸張正義,而是因為自己也不好過。弱小者的沉默也許還能借口能力有限自身難保,然而處在這樣位高權重的位置,膽小卻是他千秋萬世的罪惡。",
          },
          { jh: "京城", loc: "皇极殿", name: "柳府铁卫", name_tw: "柳府鐵衛", way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;n;n;n", desc: "柳府的私人衛隊。" },
          {
            jh: "京城",
            loc: "皇极殿",
            name: "江充",
            way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;n;n;n",
            desc: "大奸臣,年約五十,十八省總按察,官拜太子太師。陰謀詭詐,多疑善變,是景泰王朝的第一權臣,與東廠劉敬、徵北大都督柳昂天鼎足而立。為一宗多年塵封的舊案屢出天山,威勢所逼,終令朝廷要員棄官亡命,也讓許多江湖人物走投無路。一個沒有武功、沒有文才的矮胖小人,憑著三寸不爛之舌和掌控他人的心理,便能夠驅使天下英傑如驅使豬狗。所有禍端皆應他而起,縱你有神佛之能也要被他誣陷、算計。都說只因奸臣當道,所以才有天下英雄皆不得志。然,哪朝沒有奸臣,何曾有過斷絕?當皇帝被矇蔽、直言之人死於橫禍、天下黎民盡皆哀嚎的時候,為何朝堂之上鴉雀無聲;而元兇授首、挫骨揚灰之際,卻又為何如此人聲鼎沸、爭先恐後?其實,膽怯的我們都曾是小人的幫兇,在每個時代裡,扮演著每一個骯髒的龐然大物的吹鼓手。江充,便是所有沉默的天下人心裡開出的惡之花。",
          },
          {
            jh: "京城",
            loc: "御书房",
            name: "刘敬",
            name_tw: "劉敬",
            way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;ne;ne;n;n;nw",
            desc: "作為朝廷三大派之一的領袖人物,他心機深沉、眼光毒辣、言辭精巧。",
          },
          {
            jh: "京城",
            loc: "御书房",
            name: "小太监",
            name_tw: "小太監",
            way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;ne;ne;n;n;nw",
            desc: "宮裡的小太監,身著布衣。",
          },
          {
            jh: "京城",
            loc: "正阳门",
            name: "城门官兵",
            name_tw: "城門官兵",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e",
            desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。",
          },
          {
            jh: "京城",
            loc: "永定大街",
            name: "东厂侍卫",
            name_tw: "東廠侍衛",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s",
            desc: "東廠的鷹犬,怕是又在做什麼壞事。",
          },
          {
            jh: "京城",
            loc: "永定大街",
            name: "九华山女弟子",
            name_tw: "九華山女弟子",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s",
            desc: "九華劍派的女弟子,身姿綽約,腰帶長劍。",
          },
          {
            jh: "京城",
            loc: "永定大街",
            name: "娟儿",
            name_tw: "娟兒",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s",
            desc: "青衣秀士徒弟,豔婷之師妹,對師傅師姐有極強的依賴心,情牽阿傻,然而阿傻恢復記憶後忘記與娟兒的一切經歷,離娟兒而去。",
          },
          { jh: "京城", loc: "永定大街", name: "侯府小姐", way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s", desc: "這是一個侯府的小姐,身著華麗,談吐優雅。" },
          {
            jh: "京城",
            loc: "永定大街",
            name: "小丫鬟",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s",
            desc: "一個笑嘻嘻的小丫頭,侯府的丫鬟,跟小姐顯是關係親密。",
          },
          { jh: "京城", loc: "王府后街", name: "莫淩山", way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e", desc: "崑崙劍派高手之一,心狠手辣。" },
          {
            jh: "京城",
            loc: "王府后街",
            name: "昆仑弟子",
            name_tw: "崑崙弟子",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e",
            desc: "崑崙劍派的弟子,白衣長劍。",
          },
          { jh: "京城", loc: "王府后街", name: "安道京", way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e", desc: "東廠大太監之一,功夫深不可測。" },
          {
            jh: "京城",
            loc: "王府后街",
            name: "东厂高手",
            name_tw: "東廠高手",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e",
            desc: "東廠高手,面目冷漠。",
          },
          {
            jh: "京城",
            loc: "萬福樓",
            name: "伍崇卿",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;s",
            desc: "伍定遠的義子,本為一流浪兒,伍定遠收養了他,並取名伍崇卿。武英帝復辟後為“義勇人”成員。後性情大變,怨伍定遠懦弱退縮。想用自己的方式保護伍定遠。曾在“魁星站五關”後蒙面黑衣獨自一人殺入太醫院,擊敗了包括蘇穎超、哲爾丹在內的眾多高手。",
          },
          {
            jh: "京城",
            loc: "萬福樓",
            name: "苏颖超",
            name_tw: "蘇穎超",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;s",
            desc: "武林四大宗師之一華山派掌門寧不凡嫡傳弟子,寧不凡退隱後,接任華山掌門,為武林新一代的俊傑。才貌雙全的蘇穎超,和「紫雲軒」少閣主瓊芳一見鍾情,可謂青梅竹馬。在太醫院中被黑衣人伍崇卿擊敗後,接著練劍遭遇瓶頸,揹負上了沉重的心理包袱。",
          },
          {
            jh: "京城",
            loc: "萬福樓",
            name: "店伙计",
            name_tw: "店夥計",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;s",
            desc: "一個酒樓的小夥計,十五六歲上下。",
          },
          {
            jh: "京城",
            loc: "萬福樓",
            name: "茶圣-陆羽",
            name_tw: "茶聖-陸羽",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;s",
            desc: "一個酒樓的小夥計,十五六歲上下。",
          },
          {
            jh: "京城",
            loc: "王府后街",
            name: "郝震湘",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e",
            desc: "本是一方名捕,奈何受人冤枉入獄,為保家人性命不得已委身於錦衣衛旗下,滿面惆悵。",
          },
          {
            jh: "京城",
            loc: "王府后街",
            name: "锦衣卫",
            name_tw: "錦衣衛",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e",
            desc: "本是朝廷衛士,卻已受東廠所轄。",
          },
          {
            jh: "京城",
            loc: "王府后街",
            name: "韦子壮",
            name_tw: "韋子壯",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e;e",
            desc: "武當弟子,現為侯府衛士統領,功力深厚。",
          },
          {
            jh: "京城",
            loc: "王府后街",
            name: "王府卫士",
            name_tw: "王府衛士",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e;e",
            desc: "善穆侯府的衛士,雙目炯炯有神,腰掛長刀。",
          },
          {
            jh: "京城",
            loc: "善穆侯府",
            name: "王府卫士",
            name_tw: "王府衛士",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e;e;n",
            desc: "善穆侯府的衛士,雙目炯炯有神,腰掛長刀。",
          },
          {
            jh: "京城",
            loc: "善穆侯府",
            name: "风流司郎中",
            name_tw: "風流司郎中",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e;e;n",
            desc: "俊俏無比的當朝司郎中,風流倜儻,當朝大學士之子,也是少林天絕神僧關門弟子。",
          },
          {
            jh: "京城",
            loc: "永安大街",
            name: "学士",
            name_tw: "學士",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w",
            desc: "一個在六部任職的學士,雖著便服,但氣度不凡。",
          },
          {
            jh: "京城",
            loc: "永安大街",
            name: "书生",
            name_tw: "書生",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w",
            desc: "一個斯文的書生,穿著有些寒酸。",
          },
          { jh: "京城", loc: "白虎赌坊", name: "荷官", way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;s", desc: "白虎賭坊的荷官,身姿曼妙,煙視媚行。" },
          {
            jh: "京城",
            loc: "白虎赌坊",
            name: "胡媚儿",
            name_tw: "胡媚兒",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;s",
            desc: "絕美無比的性感尤物,她雖使毒厲害,但卻是一個極重情義之人。她認死理,為江充辦事,便是一心一意,縱然江充勢敗,也是全力為其尋找玉璽。後來遇見盧雲,兩人日久相處,產生愛意,更是願意為了盧雲犧牲自己的一切。後來在與盧雲返回自己家鄉的途中遭到“鎮國鐵衛”的追殺迫害,不得已成為“鎮國鐵衛”的一員,加入了“客棧”。",
          },
          { jh: "京城", loc: "白虎赌坊", name: "下注血战", name_tw: "下注血戰", way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;s", desc: "" },
          { jh: "京城", loc: "青龙赌坊", name: "打手", way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;n", desc: "賭坊打手,滿臉橫肉,手持大錘。" },
          {
            jh: "京城",
            loc: "青龙赌坊",
            name: "藏六福",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;n",
            desc: "青龍賭坊的老闆,五十歲上下,腰間繫著一塊絕世玉璧,眼睛裡閃著狡黠的光芒。",
          },
          { jh: "京城", loc: "青龙赌坊", name: "兽雀游戏", name_tw: "獸雀遊戲", way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;n", desc: "" },
          {
            jh: "京城",
            loc: "地下格斗场",
            name: "琼芳",
            name_tw: "瓊芳",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;n",
            desc: "她生得明眸皓齒,桃笑李妍,臉頰上帶著兩個深深的酒渦,看來明媚可人,年歲雖小,但已是個十足十的美人胚子。瓊武川的孫女,紫雲軒少閣主,自幼失怙,被瓊國丈當男子養大,倍加寵愛。卻不知為何在這地下格鬥場。",
          },
          {
            jh: "京城",
            loc: "地下格斗场",
            name: "看场打手",
            name_tw: "看場打手",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;n",
            desc: "地下格鬥場的看場打手,面目冷漠。",
          },
          {
            jh: "京城",
            loc: "永安大街",
            name: "杂货贩子",
            name_tw: "雜貨販子",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w",
            desc: "一個賣雜貨的販子,你也許可以看看需要些什麼。",
          },
          { jh: "京城", loc: "永安大街", name: "苦力", way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w;w", desc: "進城找活路的苦力,衣著隨便,滿身灰塵。" },
          {
            jh: "京城",
            loc: "京城驿站",
            name: "掌柜",
            name_tw: "掌櫃",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w;w;s",
            desc: "驛站的大掌櫃,眼神深邃。",
          },
          {
            jh: "京城",
            loc: "永安大街",
            name: "醉汉",
            name_tw: "醉漢",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w;w;w",
            desc: "賭坊裡出來的醉漢,嘴裡嘟嘟囔囔些什麼,也許是一些賭坊的秘密。",
          },
          {
            jh: "京城",
            loc: "永安大街",
            name: "游客",
            name_tw: "遊客",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w;w;w;w",
            desc: "來京城遊玩的外地人,對大城市的繁華目不暇接,滿眼都是驚喜的神色。",
          },
          {
            jh: "京城",
            loc: "广和楼",
            name: "顾倩兮",
            name_tw: "顧倩兮",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w;w;w;w;n",
            desc: "出生揚州,其父乃景泰朝兵部尚書顧嗣源,未婚夫是景泰朝狀元盧雲,後因為盧雲掉入水瀑音訊全無,一邊撫養盧雲留下的小嬰兒楊神秀,一邊為父親被正統皇帝下獄的事而四處奔波,後因其父在獄中自殺,為繼承父親的志向開辦書林齋,批判朝政,與正統皇帝針鋒相對。後嫁給佛國的創始人楊肅觀。正統十年,再遇盧雲。是典型的學識淵博,見識不凡的奇女子,當之無愧的揚州第一美女。",
          },
          {
            jh: "京城",
            loc: "永定大街",
            name: "武将",
            name_tw: "武將",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;s",
            desc: "京城武將,虎背熊腰,膽大心細。",
          },
          { jh: "京城", loc: "永定大街", name: "捕快", way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;s", desc: "京城的捕快,自是與外地的不同。" },
          {
            jh: "京城",
            loc: "入城大道",
            name: "饥民",
            name_tw: "饑民",
            way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;s;s;s",
            desc: "天下災荒四起,流民失所,飢腸轆轆,只能上京城來乞食。",
          },
          { jh: "京城", loc: "德胜门", name: "城门官兵", name_tw: "城門官兵", way: "rank go 194;s;se;se;se;e;n;n;ne;e", desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。" },
          {
            jh: "京城",
            loc: "安定门",
            name: "城门官兵",
            name_tw: "城門官兵",
            way: "rank go 194;s;se;se;se;e;n;n;ne;e;e;e",
            desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。",
          },
          {
            jh: "京城",
            loc: "玄武门",
            name: "城门官兵",
            name_tw: "城門官兵",
            way: "rank go 194;s;se;se;se;e;n;n;ne;e;e;e;s;s;s",
            desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。",
          },
          {
            jh: "京城",
            loc: "东直门",
            name: "城门官兵",
            name_tw: "城門官兵",
            way: "rank go 194;s;se;se;se;e;n;n;ne;e;e;e;e;e;e;se;s;s",
            desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。",
          },
          { jh: "京城", loc: "通天塔", name: "通天塔", way: "rank go 194;s;se;se;se;e;n;n;ne;e;e;e;e;e;e;se;s;s;e;e;e;s;s", desc: "" },
          { jh: "越王劍宮", loc: "欧余山路", name: "樵夫", way: "jh 50", desc: "一個砍柴為生的樵夫。" },
          { jh: "越王劍宮", loc: "欧余山路", name: "毒蛇", way: "jh 50;ne", desc: "一條外表看起來十分花哨的蛇,毒性巨強。" },
          { jh: "越王劍宮", loc: "欧余山路", name: "欧余刀客", name_tw: "歐餘刀客", way: "jh 50;ne;ne", desc: "歐餘山中隱藏的刀客,武功深不可測。" },
          { jh: "越王劍宮", loc: "欧余山路", name: "山狼", way: "jh 50;ne;ne;n;n", desc: "歐餘山中的霸主,山狼,比一般的野狼大一倍有餘。" },
          { jh: "越王劍宮", loc: "欧余山路", name: "山狼王", way: "jh 50;ne;ne;n;n", desc: "歐餘山中的霸主,山狼,比一般的野狼大一倍有餘。" },
          {
            jh: "越王劍宮",
            loc: "欧余山路",
            name: "西施",
            way: "jh 50;ne;ne;n;n",
            desc: "施夷光,天下第一美女,世人稱為西施,尊稱其“西子“。越國苧蘿村浣紗女。她天生麗質、秀媚出眾。",
          },
          { jh: "越王劍宮", loc: "欧余山路", name: "范蠡", way: "jh 50;ne;ne;n;n;n;ne", desc: "越國當朝大夫,越王倚重的重臣。" },
          { jh: "越王劍宮", loc: "欧余山路", name: "欧余刀客", name_tw: "歐餘刀客", way: "jh 50;ne;ne;n;n;n;ne", desc: "歐餘山中隱藏的刀客,武功深不可測。" },
          {
            jh: "越王劍宮",
            loc: "欧余山路",
            name: "吴国暗探",
            name_tw: "吳國暗探",
            way: "jh 50;ne;ne;n;n;n;ne",
            desc: "來自吳國的暗探,隱藏在山中,負責刺探劍宮內的消息。",
          },
          { jh: "越王劍宮", loc: "欧余山路", name: "老奶奶", way: "jh 50;ne;ne;n;n;n;ne;ne;ne", desc: "一個拄著柺杖的老奶奶,似是在等著孫女回家。" },
          { jh: "越王劍宮", loc: "竹林", name: "青竹巨蟒", way: "jh 50;ne;ne;n;n;n;ne;ne;ne;n", desc: "青竹林中的巨型蟒蛇,通體翠綠,隱藏在竹林中,等待獵物自投羅網。" },
          {
            jh: "越王劍宮",
            loc: "竹林",
            name: "青竹巨蟒",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;n;n",
            desc: "青竹林中的巨型蟒蛇,通體翠綠,隱藏在竹林中,等待獵物自投羅網。",
          },
          { jh: "越王劍宮", loc: "竹林", name: "猎人", name_tw: "獵人", way: "jh 50;ne;ne;n;n;n;ne;ne;ne;n;n", desc: "山中的獵戶,正在尋覓今天的收穫。" },
          {
            jh: "越王劍宮",
            loc: "竹林",
            name: "白猿",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;n;n;n",
            desc: "一頭巨大的白猿,若是見生人來了,一聲長嘯,躍上樹梢,接連幾個縱躍,已竄出數十丈外,但聽得嘯聲淒厲,漸漸遠去,山谷間猿嘯回聲,良久不絕。",
          },
          {
            jh: "越王劍宮",
            loc: "欧余山路",
            name: "白猿",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se",
            desc: "一頭巨大的白猿,若是見生人來了,一聲長嘯,躍上樹梢,接連幾個縱躍,已竄出數十丈外,但聽得嘯聲淒厲,漸漸遠去,山谷間猿嘯回聲,良久不絕。",
          },
          { jh: "越王劍宮", loc: "欧余山路", name: "采药人", name_tw: "採藥人", way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se", desc: "一個山中的採藥人,年紀近五十了。" },
          { jh: "越王劍宮", loc: "欧余山路", name: "锦衣剑士", name_tw: "錦衣劍士", way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se", desc: "越王劍宮的精英劍士,身佩長劍。" },
          {
            jh: "越王劍宮",
            loc: "欧余山路",
            name: "青衣剑士",
            name_tw: "青衣劍士",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se",
            desc: "來自吳國的精英劍士,極度高傲自負。",
          },
          {
            jh: "越王劍宮",
            loc: "欧余山路",
            name: "青竹巨蟒",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s",
            desc: "青竹林中的巨型蟒蛇,通體翠綠,隱藏在竹林中,等待獵物自投羅網。",
          },
          {
            jh: "越王劍宮",
            loc: "欧余山路",
            name: "牧羊少女",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s",
            desc: "這少女一張瓜子臉,睫長眼大,皮膚白晰,容貌甚是秀麗,身材苗條,弱質纖纖,手持一根長竹竿。",
          },
          { jh: "越王劍宮", loc: "欧余山路", name: "山羊", way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s", desc: "雪白的羊毛,在少女的馴服下,乖巧在吃草。" },
          {
            jh: "越王劍宮",
            loc: "欧余山路",
            name: "采药少女",
            name_tw: "採藥少女",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s",
            desc: "在山中採藥戶的小女孩,只有十二三歲,卻已能熟練地行走山間,採集藥材。",
          },
          {
            jh: "越王劍宮",
            loc: "欧余山路",
            name: "锦衣剑士",
            name_tw: "錦衣劍士",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s",
            desc: "越王劍宮的精英劍士,身佩長劍。",
          },
          {
            jh: "越王劍宮",
            loc: "欧亭台",
            name: "锦衣剑士",
            name_tw: "錦衣劍士",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;sw;sw;sw",
            desc: "越王劍宮的精英劍士,身佩長劍。",
          },
          {
            jh: "越王劍宮",
            loc: "欧亭台",
            name: "青衣剑士",
            name_tw: "青衣劍士",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;sw;sw;sw",
            desc: "來自吳國的精英劍士,極度高傲自負。",
          },
          {
            jh: "越王劍宮",
            loc: "欧亭台",
            name: "风胡子",
            name_tw: "風胡子",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;sw;sw;sw",
            desc: "楚國鑄劍師,身著玄色短衫,歐冶子的二位弟子之一。",
          },
          {
            jh: "越王劍宮",
            loc: "欧亭台",
            name: "采药少女",
            name_tw: "採藥少女",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;sw;sw;sw",
            desc: "在山中採藥戶的小女孩,只有十二三歲,卻已能熟練地行走山間,採集藥材。",
          },
          {
            jh: "越王劍宮",
            loc: "大夫第",
            name: "山狼",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e",
            desc: "歐餘山中的霸主,山狼,比一般的野狼大一倍有餘",
          },
          {
            jh: "越王劍宮",
            loc: "大夫第",
            name: "锦衣剑士",
            name_tw: "錦衣劍士",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e",
            desc: "越王劍宮的精英劍士,身佩長劍。",
          },
          { jh: "越王劍宮", loc: "大夫第", name: "范蠡", way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e", desc: "越國當朝大夫,越王倚重的重臣。" },
          {
            jh: "越王劍宮",
            loc: "大夫第",
            name: "青衣剑士",
            name_tw: "青衣劍士",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e",
            desc: "來自吳國的精英劍士,極度高傲自負。",
          },
          {
            jh: "越王劍宮",
            loc: "大夫第",
            name: "风胡子",
            name_tw: "風胡子",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e",
            desc: "楚國鑄劍師,身著玄色短衫,歐冶子的二位弟子之一。",
          },
          {
            jh: "越王劍宮",
            loc: "大夫第",
            name: "西施",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e",
            desc: "施夷光,天下第一美女,世人稱為西施,尊稱其“西子“。越國苧蘿村浣紗女。她天生麗質、秀媚出眾。",
          },
          {
            jh: "越王劍宮",
            loc: "剑宫大门",
            name: "锦衣剑士",
            name_tw: "錦衣劍士",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n",
            desc: "越王劍宮的精英劍士,身佩長劍。",
          },
          {
            jh: "越王劍宮",
            loc: "论剑石台",
            name: "青衣剑士",
            name_tw: "青衣劍士",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n",
            desc: "來自吳國的精英劍士,極度高傲自負。",
          },
          {
            jh: "越王劍宮",
            loc: "论剑石台",
            name: "青衣剑士-御",
            name_tw: "青衣劍士-御",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n",
            desc: "來自吳國的精英劍士,極度高傲自負。",
          },
          {
            jh: "越王劍宮",
            loc: "论剑石台",
            name: "青衣剑士-极",
            name_tw: "青衣劍士-極",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n",
            desc: "來自吳國的精英劍士,極度高傲自負。",
          },
          {
            jh: "越王劍宮",
            loc: "藏虚殿",
            name: "越王",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n;n",
            desc: "越王身披錦袍,形貌拙異,頭頸甚長,嘴尖如鳥,對你微微一笑,你卻覺得毛骨悚然。",
          },
          {
            jh: "越王劍宮",
            loc: "藏虚殿",
            name: "金衣剑士",
            name_tw: "金衣劍士",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n;n",
            desc: "越國最頂尖的劍士,身著金衣,手持長劍。",
          },
          {
            jh: "越王劍宮",
            loc: "藏虚殿",
            name: "文种",
            name_tw: "文種",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n;n",
            desc: "春秋末期著名的謀略家。越王勾踐的謀臣,和范蠡一起為勾踐最終打敗吳王夫差立下赫赫功勞。",
          },
          {
            jh: "越王劍宮",
            loc: "铸剑台",
            name: "铸剑师",
            name_tw: "鑄劍師",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n;n;n",
            desc: "一個風程僕僕的俠客。",
          },
          {
            jh: "越王劍宮",
            loc: "铸剑台",
            name: "薛烛",
            name_tw: "薛燭",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n;n;n",
            desc: "二十多歲的年輕人,是歐冶子的二位親傳弟子之一。",
          },
          { jh: "江陵", loc: "长平街", name: "茶叶贩子", name_tw: "茶葉販子", way: "jh 51", desc: "來自外地的茶葉販子,來此收購也販賣茶葉。" },
          { jh: "江陵", loc: "长平街", name: "书生", name_tw: "書生", way: "jh 51;n", desc: "一個年紀輕輕的讀書人,拿著書本,搖頭晃腦。" },
          { jh: "江陵", loc: "长平街", name: "乞丐", way: "jh 51;n;n", desc: "一個衣衫襤褸的乞丐,口中嘟囔著一些模糊的語句。" },
          { jh: "江陵", loc: "江陵米店", name: "米三江", way: "jh 51;n;n;w", desc: "一個青衣小帽的中年商人,是米店的大掌櫃。" },
          { jh: "江陵", loc: "江陵米店", name: "米店伙计", name_tw: "米店夥計", way: "jh 51;n;n;w", desc: "米店的小夥計,正忙的不可開交。" },
          { jh: "江陵", loc: "江陵米店", name: "妇人", name_tw: "婦人", way: "jh 51;n;n;w", desc: "前來買米的婦人,手裡拿著米袋。" },
          {
            jh: "江陵",
            loc: "小倩花店",
            name: "花小倩",
            way: "jh 51;n;n;e",
            desc: "一個二十出頭,笑容動人的少女,有人說她是城中最美麗的少女,每天都會收到不少求愛的信箋呢。",
          },
          { jh: "江陵", loc: "长平街", name: "巡城府兵", way: "jh 51;n;n;n;n", desc: "江陵總兵府的巡城士兵,手持長矛,腰別鋼刀。" },
          { jh: "江陵", loc: "长平街", name: "巡城参将", name_tw: "巡城參將", way: "jh 51;n;n;n;n", desc: "江陵巡城參將,身材高大,腳步沉穩。" },
          {
            jh: "江陵",
            loc: "飞鸿客栈",
            name: "客栈小二",
            name_tw: "客棧小二",
            way: "jh 51;n;n;n;n;w",
            desc: "手拿酒壺菜碟,腳步如飛,忙得不亦樂乎,抬頭看你一眼,飛快地給你指了個座位。",
          },
          { jh: "江陵", loc: "飞鸿客栈", name: "酒保", way: "jh 51;n;n;n;n;w;w", desc: "客棧的小酒保,年紀大約十來歲而已。" },
          { jh: "江陵", loc: "飞鸿客栈", name: "江小酒", way: "jh 51;n;n;n;n;w;w;n", desc: "客棧老闆的女兒,一笑起來臉上就有兩個酒窩。" },
          { jh: "江陵", loc: "后庭", name: "江老板", name_tw: "江老闆", way: "jh 51;n;n;n;n;w;w;n;n", desc: "客棧的老闆,身材不高,卻自有一番氣度。" },
          { jh: "江陵", loc: "落日街", name: "苦力", way: "jh 51;n;n;n;n;e", desc: "一個衣衫襤褸的苦力,正在街角坐著等活兒上門。" },
          { jh: "江陵", loc: "落日街", name: "驿使", name_tw: "驛使", way: "jh 51;n;n;n;n;e;e;e", desc: "一個遠方驛站來的信使,看起來頗為悠閒,應是沒有公務在身。" },
          { jh: "江陵", loc: "落日街", name: "江陵府卫", name_tw: "江陵府衛", way: "jh 51;n;n;n;n;e;e;e;e", desc: "江陵總兵府的衛士,身披軟甲,腰胯長刀。" },
          { jh: "江陵", loc: "江陵府", name: "参将", name_tw: "參將", way: "jh 51;n;n;n;n;e;e;e;e;s", desc: "江陵總兵府的參將,都是蕭勁手下最得力的干將。" },
          { jh: "江陵", loc: "江陵府", name: "萧劲", name_tw: "蕭勁", way: "jh 51;n;n;n;n;e;e;e;e;s", desc: "江陵府總兵,統管兩湖地界,手握數萬大軍。" },
          { jh: "江陵", loc: "演兵场", name: "江陵府兵", way: "jh 51;n;n;n;n;e;e;e;e;s;s", desc: "江陵府統御下的士兵,一舉一動都有幹練之風,看起來頗為訓練得法。" },
          {
            jh: "江陵",
            loc: "霹雳门",
            name: "雷动山",
            name_tw: "雷動山",
            way: "jh 51;n;n;n;n;n;n;w",
            desc: "霹靂門兩湖分舵的舵主,太陽穴高高鼓起,顯然是有極深厚的內功。",
          },
          {
            jh: "江陵",
            loc: "药材店",
            name: "水掌柜",
            name_tw: "水掌櫃",
            way: "jh 51;n;n;n;n;n;n;n;nw;n",
            desc: "江陵府遠近幾百裡最出名的神醫,對藥材和醫理的理解出神入化。",
          },
          { jh: "江陵", loc: "药材店", name: "王铁柱", name_tw: "王鐵柱", way: "jh 51;n;n;n;n;n;n;n;nw;n", desc: "一個前來求藥的莊稼漢,看起來頗為著急。" },
          { jh: "江陵", loc: "北小街", name: "趟子手", way: "jh 51;n;n;n;n;e;e;e;e;n;n", desc: "鏢局的趟子手,是鏢局最低級的打手。" },
          {
            jh: "江陵",
            loc: "江陵镖局",
            name: "萧长河",
            name_tw: "蕭長河",
            way: "jh 51;n;n;n;n;e;e;e;e;n;n;w",
            desc: "江陵鏢局總鏢頭,一身長衫,手握一對鋼珠,頗有威不可犯之風。",
          },
          { jh: "江陵", loc: "江陵镖局", name: "分身", way: "jh 51;n;n;n;n;e;e;e;e;n;n;w", desc: "蕭長河的分身。" },
          {
            jh: "江陵",
            loc: "马厩",
            name: "周长老",
            name_tw: "週長老",
            way: "jh 51;n;n;n;n;e;e;e;e;n;n;w;w",
            desc: "蕭長河相交三十多年的生死之交,也是鏢局日常事務最主要的負責人。",
          },
          { jh: "江陵", loc: "马厩", name: "脱不花马", name_tw: "脫不花馬", way: "jh 51;n;n;n;n;e;e;e;e;n;n;w;w", desc: "大月氏遠道而來的最好的寶馬,可日行八百。" },
          { jh: "江陵", loc: "马厩", name: "分身", way: "jh 51;n;n;n;n;e;e;e;e;n;n;w;w", desc: "週長老的分身。" },
          {
            jh: "江陵",
            loc: "小鱼小食",
            name: "渔老",
            name_tw: "漁老",
            way: "jh 51;n;n;n;n;e;e;e;e;n;n;e",
            desc: "念過半百的老人,精神很好,手中拿著一張漁網在仔細修復。",
          },
          {
            jh: "江陵",
            loc: "小鱼小食",
            name: "余小鱼",
            name_tw: "餘小魚",
            way: "jh 51;n;n;n;n;e;e;e;e;n;n;e",
            desc: "豆蔻年華的小女孩,長得頗為清秀,正在熟練的整理著小食店,一副有條不紊成竹在胸的樣子。",
          },
          { jh: "江陵", loc: "北门", name: "城门守卫", name_tw: "城門守衛", way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n", desc: "江陵城的守衛士兵,鐵劍鐵甲。" },
          { jh: "江陵", loc: "江边路", name: "截道恶匪", name_tw: "截道惡匪", way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n", desc: "截道的惡匪,正惡狠狠地看著你。" },
          { jh: "江陵", loc: "码头", name: "漕帮好手", name_tw: "漕幫好手", way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n;n;n", desc: "漕幫的好手,個個都是浪裡白條。" },
          { jh: "江陵", loc: "江陵水道", name: "扬子鳄", name_tw: "揚子鱷", way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n;n;n;e;e", desc: "兇狠的鱷魚,正不懷好意地盯著你。" },
          {
            jh: "江陵",
            loc: "水道暗洞",
            name: "金冠巨蟒",
            way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n;n;n;e;e;e;e;e;se;event_1_1065178",
            desc: "一條通體火紅的巨蟒,頭部有金色花紋。",
          },
          { jh: "江陵", loc: "葬剑谷", name: "亡魂分身", way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n;n;n;e;e;e;e;e;se;event_1_1065178;se;se", desc: "一個風程僕僕的俠客。" },
          {
            jh: "江陵",
            loc: "葬剑谷",
            name: "剑之亡魂",
            name_tw: "劍之亡魂",
            way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n;n;n;e;e;e;e;e;se;event_1_1065178;se;se",
            desc: "一柄無主之劍。",
          },
          { jh: "江陵", loc: "落日街", name: "醉汉", name_tw: "醉漢", way: "jh 51;n;n;n;n;e;e;e;e;e;e", desc: "一個醉醺醺的男人,嘴裡不知道嘟囔著什麼。" },
          { jh: "江陵", loc: "南小街", name: "黑衣人", way: "jh 51;n;n;n;n;e;e;e;e;e;e;s", desc: "一個鬼鬼祟祟的黑衣人,腰間似乎藏著兵器。" },
          { jh: "江陵", loc: "南门", name: "城门守卫", name_tw: "城門守衛", way: "jh 51;n;n;n;n;e;e;e;e;e;e;s;s;s", desc: "江陵城的守衛士兵,鐵劍鐵甲。" },
          {
            jh: "江陵",
            loc: "城外泥路",
            name: "癞蛤蟆",
            name_tw: "癩蛤蟆",
            way: "jh 51;n;n;n;n;e;e;e;e;e;e;s;s;s;se;se",
            desc: "趴在城外泥路兩旁的沼澤地,正呱呱呱地叫著,真讓人心煩。",
          },
          {
            jh: "江陵",
            loc: "无双窑",
            name: "霍无双",
            name_tw: "霍無雙",
            way: "jh 51;n;n;n;n;e;e;e;e;e;e;s;s;s;se;se;e;e;e",
            desc: "兩湖最好的手藝人,從他手裡出品的瓷器,白若瑞雪,清透如浮雲。",
          },
          { jh: "江陵", loc: "落日街", name: "金莲", name_tw: "金蓮", way: "jh 51;n;n;n;n;e;e;e;e;e;e;e;e", desc: "玉泉酒坊老闆的相好,眉目流媚,身姿誘人。" },
          { jh: "江陵", loc: "深巷", name: "邋遢男子", way: "jh 51;n;n;n;n;e;e;e;e;e;e;e;e;se", desc: "一個醉醺醺的邋遢男子,正在對牆小便,你只想趕緊捂著鼻子走開。" },
          {
            jh: "江陵",
            loc: "玉泉酒坊",
            name: "酒坊伙计",
            name_tw: "酒坊夥計",
            way: "jh 51;n;n;n;n;e;e;e;e;e;e;e;e;se;e;e",
            desc: "酒坊的小夥計,忙得不可開交,瘦骨嶙峋。",
          },
          {
            jh: "江陵",
            loc: "玉泉酒坊",
            name: "九叔",
            way: "jh 51;n;n;n;n;e;e;e;e;e;e;e;e;se;e;e",
            desc: "酒坊現在的老闆,身上一派珠光寶氣,卻有人說他是盜了哥哥的產業。",
          },
          { jh: "天龍寺", loc: "苍山山脚", name: "小女童", way: "jh 52", desc: "一個金釵之年的小女孩。" },
          { jh: "天龍寺", loc: "苍山山脚", name: "小男童", way: "jh 52", desc: "一個垂髻之年的小男孩。" },
          { jh: "天龍寺", loc: "苍山山路", name: "羚牛", way: "jh 52;ne;ne;", desc: "蒼山特有,體形粗大,雌雄均具短角,分佈在蒼山麓密林地區。" },
          {
            jh: "天龍寺",
            loc: "苍山山路",
            name: "点苍派弟子",
            name_tw: "點蒼派弟子",
            way: "jh 52;ne;ne;n;",
            desc: "南詔「七大門派」之一,點蒼山明水秀,四季如春,門下弟子們從小拜師,在這環境中生長,大多數都是溫良如玉的君子,對名利都看得很淡。",
          },
          { jh: "天龍寺", loc: "苍山山路", name: "浮尘子", name_tw: "浮塵子", way: "jh 52;ne;ne;n;n;", desc: "點蒼派三大高手之一,仙風道骨。" },
          { jh: "天龍寺", loc: "苍山山路", name: "浮尘子分身", name_tw: "浮塵子分身", way: "jh 52;ne;ne;n;n;", desc: "浮塵子分身,咄咄逼人!" },
          {
            jh: "天龍寺",
            loc: "苍山山路",
            name: "云豹",
            name_tw: "雲豹",
            way: "jh 52;ne;ne;n;n;n;nw;",
            desc: "蒼山雲豹有著粗短而矯健的四肢,幾乎與身體一樣長而且很粗的尾巴。頭部略圓,口鼻突出,爪子非常大。體色金黃色,並覆蓋有大塊的深色雲狀斑紋,因此稱作“雲豹”。",
          },
          { jh: "天龍寺", loc: "苍山山路", name: "雯姑", way: "jh 52;ne;ne;n;n;n;nw;nw;", desc: "容貌國色天香,即使是嬌豔的花朵見了也要自愧不如。" },
          {
            jh: "天龍寺",
            loc: "苍山山路",
            name: "霞郎",
            way: "jh 52;ne;ne;n;n;n;nw;nw;",
            desc: "忠實善良,吃苦耐勞,心靈手巧,而且他的歌喉也美妙無比,歌聲像百靈一樣的婉轉,像夜鶯一般的悠揚。每當他唱起歌來的時候,山上的百鳥都會安靜下來,默默地傾聽他那美妙動人的歌聲。",
          },
          { jh: "天龍寺", loc: "苍山山路", name: "游客", name_tw: "遊客", way: "jh 52;ne;ne;n;n;n;nw;nw;n;n;", desc: "外地來蒼山的遊客,一副陶醉於美景之態。" },
          {
            jh: "天龍寺",
            loc: "苍山山路",
            name: "南诏公主",
            name_tw: "南詔公主",
            way: "jh 52;ne;ne;n;n;n;ne;ne;",
            desc: "她是身世撲搠的鄭氏南詔公主,從小就被送去水靈山險的苗疆由苗人撫養;她極擅苗人盅毒,並以此為趣。",
          },
          { jh: "天龍寺", loc: "苍山山路", name: "淩霄子", way: "jh 52;ne;ne;n;n;n;ne;ne;e;e", desc: "點蒼劍派三大高手之一,揹負古劍,手持拂塵。" },
          { jh: "天龍寺", loc: "苍山山路", name: "淩霄子分身", way: "jh 52;ne;ne;n;n;n;ne;ne;e;e", desc: "一個風程僕僕的俠客。" },
          {
            jh: "天龍寺",
            loc: "苍山山路",
            name: "点苍派弟子",
            name_tw: "點蒼派弟子",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;",
            desc: "南詔「七大門派」之一,點蒼山明水秀,四季如春,門下弟子們從小拜師,在這環境中生長,大多數都是溫良如玉的君子,對名利都看得很淡。",
          },
          {
            jh: "天龍寺",
            loc: "青石长阶",
            name: "枯叶蝶",
            name_tw: "枯葉蝶",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;",
            desc: "當它闔起兩張翅膀的時候,像生長在樹枝上的一張乾枯了的樹葉。誰也不注意它,誰也不會瞧它一眼。",
          },
          {
            jh: "天龍寺",
            loc: "青石长阶",
            name: "双尾褐凤蝶",
            name_tw: "雙尾褐鳳蝶",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;w",
            desc: "前翅黑色有光澤,有淡黃色細橫帶自前緣直達中脈,後翅狹長黑色,外緣呈扇形。",
          },
          {
            jh: "天龍寺",
            loc: "青石长阶",
            name: "金斑啄凤蝶",
            name_tw: "金斑啄鳳蝶",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;w;nw;nw;n;",
            desc: "南疆八大名貴蝴蝶之首,大理當地人稱之為“夢幻蝴蝶”",
          },
          {
            jh: "天龍寺",
            loc: "青石长阶",
            name: "不孤子",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;w;nw;nw;n;n;",
            desc: "一個年近五旬的劍客,身世極為神秘,內力修為看起來極為深厚。",
          },
          { jh: "天龍寺", loc: "青石长阶", name: "不孤子分身", way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;w;nw;nw;n;n;", desc: "哪怕是分身也爆發出強勁的內功氣場。" },
          {
            jh: "天龍寺",
            loc: "青石长阶",
            name: "玫瑰眼蝶",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;n;",
            desc: "全翅透明,薄若蟬翼,後翅膀為分散的玫瑰色,眼斑瞳仁上會反光。",
          },
          {
            jh: "天龍寺",
            loc: "牟尼楼",
            name: "打坐老僧",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;n;event_1_15863945;",
            desc: "一個打坐的老僧人,雙目緊閉,長眉下垂。",
          },
          {
            jh: "天龍寺",
            loc: "青石长阶",
            name: "谢逸紫",
            name_tw: "謝逸紫",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;n;n;n;",
            desc: "蒼山七劍之一,是雲南最出眾的女劍客,相貌出眾,身姿動人。",
          },
          {
            jh: "天龍寺",
            loc: "崇圣阁",
            name: "龙纹寺僧",
            name_tw: "龍紋寺僧",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;n;n;n;n;",
            desc: "天龍寺的老寺僧,前臂有飛龍紋身,地位較一般寺僧更高。",
          },
          {
            jh: "天龍寺",
            loc: "崇圣阁",
            name: "天龙方丈",
            name_tw: "天龍方丈",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;n;n;n;n;",
            desc: "天龍寺的方丈主持,白發白眉,面目慈祥。",
          },
          {
            jh: "天龍寺",
            loc: "险恶山路",
            name: "白开心",
            name_tw: "白開心",
            way: "rank go 237;nw;n;n;n;n;n;n;nw;nw;n",
            desc: "十大惡人之一,一個喜歡搗蛋的聰明人。",
          },
          {
            jh: "天龍寺",
            loc: "险恶山路",
            name: "剧毒蟒蛇",
            name_tw: "劇毒蟒蛇",
            way: "rank go 237;nw;n;n;n;n;n;n;nw",
            desc: "惡人谷內的劇毒蟒蛇,見人就會攻擊。",
          },
          {
            jh: "天龍寺",
            loc: "村口",
            name: "屠娇娇",
            name_tw: "屠嬌嬌",
            way: "rank go 237;nw;n;n;n;n;n;n",
            desc: "十大惡人之一,易容之術天下無雙。她的武功並不能算高超,但卻是十大惡人中最為智慧的,她是所有計劃的策動者,可說是算無遺策。",
          },
          {
            jh: "天龍寺",
            loc: "村口",
            name: "李大嘴",
            way: "rank go 237;nw;n;n;n;n;n;n",
            desc: "十大惡人之一,卻是一個不折不扣的好人。",
          },
          {
            jh: "天龍寺",
            loc: "土路",
            name: "铁战",
            name_tw: "鐵戰",
            way: "rank go 237;nw;n;n;n;n",
            desc: "十大惡人之一,對武學的癡迷到了忘我的境界,而且所研究的武功都讓人大跌眼鏡。",
          },
          {
            jh: "天龍寺",
            loc: "猛兽屋",
            name: "杜杀",
            name_tw: "杜殺",
            way: "rank go 237;nw;n;n;n;n;w",
            desc: "大惡人之一,面白如雪,身材清瘦。性格說一不二,冷酷勝雪。武功位列十大惡人之首,由於殘忍嗜殺,江湖送名曰——「血手」。",
          },
          {
            jh: "天龍寺",
            loc: "大槐树",
            name: "轩辕三光",
            name_tw: "軒轅三光",
            way: "rank go 237;nw;n;n;e",
            desc: "只要有好玩的事情,老賭鬼就會出現。",
          },
          {
            jh: "天龍寺",
            loc: "大槐树",
            name: "哈哈儿",
            name_tw: "哈哈兒",
            way: "rank go 237;nw;n;n;e",
            desc: "最可怕的不是明眼的惡人,而是明裡笑臉相迎暗地裡磨刀霍霍的笑面虎。十大惡人之一的「笑裡藏刀小彌陀」。",
          },
          {
            jh: "天龍寺",
            loc: "土路",
            name: "恶虎",
            name_tw: "惡虎",
            way: "rank go 237;nw;n",
            desc: "惡人谷內的兇獸,赤額金睛。",
          },
          {
            jh: "天龍寺",
            loc: "南山小院",
            name: "萧咪咪",
            name_tw: "蕭咪咪",
            way: "rank go 237;nw;n;w",
            desc: "十大惡人之一,美豔無雙,和他在一起的男人都不會有好下場。",
          },
          {
            jh: "天龍寺",
            loc: "土路",
            name: "欧阳丁",
            name_tw: "歐陽丁",
            way: "rank go 237;nw",
            desc: "十大惡人中唯一的兩兄弟,擁有著富可敵國的家財卻喜歡偷偷摸摸。",
          },
          {
            jh: "天龍寺",
            loc: "土路",
            name: "欧阳当",
            name_tw: "歐陽當",
            way: "rank go 237;nw",
            desc: "十大惡人中唯一的兩兄弟,擁有著富可敵國的家財卻喜歡偷偷摸摸。",
          },
          {
            jh: "天龍寺",
            loc: "大鹳淜洲",
            name: "柴绍",
            name_tw: "柴紹",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;",
            desc: "出身於將門,自幼便矯捷有勇力,抑強扶弱,聞名天下。",
          },
          {
            jh: "天龍寺",
            loc: "大鹳淜洲",
            name: "李秀宁",
            name_tw: "李秀寧",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;",
            desc: "高祖李淵之女,太宗之妹,自幼習武,且精通琴棋書畫,有著舉世無雙的外交才能。",
          },
          {
            jh: "天龍寺",
            loc: "天龙塔林",
            name: "小沙弥",
            name_tw: "小沙彌",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;w;sw;s;s",
            desc: "打掃塔林的小沙彌,身著灰色僧衣。",
          },
          {
            jh: "天龍寺",
            loc: "天龙塔林",
            name: "护塔僧兵",
            name_tw: "護塔僧兵",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;w;sw;s;s;sw;sw;",
            desc: "塔林的護衛僧兵,手持戒棍,一絲不苟。",
          },
          {
            jh: "天龍寺",
            loc: "天龙塔林",
            name: "护塔僧兵",
            name_tw: "護塔僧兵",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;w;sw;s;s;sw;sw;sw;se;",
            desc: "塔林的護衛僧兵,手持戒棍,一絲不苟。",
          },
          {
            jh: "天龍寺",
            loc: "天龙塔林",
            name: "小沙弥",
            name_tw: "小沙彌",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;w;sw;s;s;sw;sw;sw;se;se;se;",
            desc: "打掃塔林的小沙彌,身著灰色僧衣。",
          },
          {
            jh: "天龍寺",
            loc: "桃溪",
            name: "婠婠",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;",
            desc: "魔門邪派陰癸派的繼承人,為武功超強的蓋代魔女,雖年紀輕輕,有著美麗的容顏,卻是陰癸派有史以來最強傳人。",
          },
          {
            jh: "天龍寺",
            loc: "慈航静斋",
            name: "周老叹",
            name_tw: "週老嘆",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;",
            desc: "前任魔門第一高手,邪帝向雨田的四大弟子之一。",
          },
          {
            jh: "天龍寺",
            loc: "慈航静斋",
            name: "尤鸟倦",
            name_tw: "尤鳥倦",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;",
            desc: "前任魔門第一高手,邪帝向雨田的四大弟子之一。",
          },
          {
            jh: "天龍寺",
            loc: "慈航静斋",
            name: "丁九重",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;",
            desc: "前任魔門第一高手,邪帝向雨田的四大弟子之一。",
          },
          {
            jh: "天龍寺",
            loc: "慈航静斋",
            name: "金环真",
            name_tw: "金環真",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;",
            desc: "前任魔門第一高手,邪帝向雨田的四大弟子之一。",
          },
          {
            jh: "天龍寺",
            loc: "静云小径",
            name: "符瑶红",
            name_tw: "符瑤紅",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;n;n;e;ne;",
            desc: "陰癸派第一高手「血手」厲工的師妹,擅長男女歡合之術。",
          },
          {
            jh: "天龍寺",
            loc: "藏典塔",
            name: "杨虚彦",
            name_tw: "楊虛彥",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;n;n;n;n;n;",
            desc: "隋文帝楊堅之孫,太子楊勇之子,隋煬帝楊廣即位之後被「邪王」所救,由於資質好被其收為徒,並答應為其報仇復國。他不過是石之軒陰暗面的投影,石之軒對他的重用象徵他邪惡的一面佔上風,對侯希白的疼愛象徵善良面的迴歸。",
          },
          {
            jh: "天龍寺",
            loc: "赏雨亭",
            name: "侯希白",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;n;n;n;n;n;",
            desc: "侯希白琴棋書畫、文韜武略樣樣精通,愛流連青樓,自詡為護花使者,綽號乃「多情公子」。傾慕慈航靜齋傳人師妃暄,兩人曾共遊三峽。雖然週旋於眾美之間,卻絕非好色風流之徒。",
          },
          {
            jh: "天龍寺",
            loc: "桃溪",
            name: "『闲钓』",
            name_tw: "『閒釣』",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;",
            desc: "日常",
          },
          {
            jh: "天龍寺",
            loc: "后山茶园",
            name: "『采茶』",
            name_tw: "『採茶』",
            way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;n;n;e;ne;e;ne;ne;",
            desc: "日常",
          },
        ],
        Npc_New: [
          { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_wuyidashi", way: "jh 1" },
          { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_xiaotangren", way: "jh 1" },
          { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_guanggun", way: "jh 1" },
          { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_mercenary", way: "jh 1" },
          { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_chentang", way: "jh 1" },
          { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_shuangdanshizhe", way: "jh 1" },
          { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_zhounianxiaoer", way: "jh 1" },
          { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_waiter", way: "jh 1" },
          { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_jiandashi", way: "jh 1" },
          { jh: "雪亭鎮", loc: "廣場", id: "snow_worker", way: "jh 1;e" },
          { jh: "雪亭鎮", loc: "城隍廟", id: "snow_keeper", way: "jh 1;e;e" },
          { jh: "雪亭鎮", loc: "黃土小徑", id: "snow_dog", way: "jh 1;e;e;s;ne" },
          { jh: "雪亭鎮", loc: "山路", id: "snow_mengmianjianke", way: "jh 1;e;e;s;ne;ne" },
          { jh: "雪亭鎮", loc: "淳風武館大門", id: "snow_guard", way: "jh 1;e;n;e" },
          { jh: "雪亭鎮", loc: "淳風武館教練場", id: "snow_trainee", way: "jh 1;e;n;e;e" },
          { jh: "雪亭鎮", loc: "淳風武館教練場", id: "snow_fist_trainer", way: "jh 1;e;n;e;e" },
          { jh: "雪亭鎮", loc: "淳風武館大廳", id: "swordsman_master", way: "jh 1;e;n;e;e;e" },
          { jh: "雪亭鎮", loc: "書房", id: "snow_girl", way: "jh 1;e;n;e;e;e;e;n" },
          { jh: "雪亭鎮", loc: "雪亭鎮街道", id: "snow_drunk", way: "jh 1;e;n;n" },
          { jh: "雪亭鎮", loc: "雪亭鎮街道", id: "snow_scavenger", way: "jh 1;e;n;n" },
          { jh: "雪亭鎮", loc: "木屋", id: "snow_chefu", way: "jh 1;e;n;n;n;n;e" },
          { jh: "雪亭鎮", loc: "雪亭驛", id: "snow_dukuankuan", way: "jh 1;e;n;n;n;n;w" },
          { jh: "雪亭鎮", loc: "雪亭驛", id: "snow_post_officer", way: "jh 1;e;n;n;n;n;w" },
          { jh: "雪亭鎮", loc: "桑鄰藥鋪", id: "snow_herbalist", way: "jh 1;e;n;n;n;w" },
          { jh: "雪亭鎮", loc: "桑鄰藥鋪", id: "snow_woodcutter", way: "jh 1;e;n;n;n;w" },
          { jh: "雪亭鎮", loc: "打鐵鋪子", id: "snow_smith", way: "jh 1;e;n;n;w" },
          { jh: "雪亭鎮", loc: "安記錢莊", id: "snow_annihir", way: "jh 1;e;n;w" },
          { jh: "雪亭鎮", loc: "雪亭鎮街口", id: "gaibang_li-sh", way: "jh 1;e;s" },
          { jh: "雪亭鎮", loc: "雪亭鎮街道", id: "snow_farmer", way: "jh 1;e;s;w" },
          { jh: "雪亭鎮", loc: "雪亭鎮街道", id: "snow_old_farmer", way: "jh 1;e;s;w" },
          { jh: "雪亭鎮", loc: "書院", id: "snow_teacher", way: "jh 1;e;s;w;s" },
          { jh: "雪亭鎮", loc: "青石官道", id: "snow_crazy_dog", way: "jh 1;e;s;w;w" },
          { jh: "雪亭鎮", loc: "飲風客棧二樓", id: "snow_xinghedashi", way: "jh 1;雪亭鎮:飲風客棧^飲風客棧二樓" },
          { jh: "洛陽", loc: "礦場", id: "luoyang_kuangjian", way: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w" },
          { jh: "洛陽", loc: "冶煉場", id: "luoyang_heshiwo", way: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w;w" },
          { jh: "洛陽", loc: "南郊小路", id: "luoyang_luoyang18", way: "jh 2;n" },
          { jh: "洛陽", loc: "南門", id: "luoyang_luoyang21", way: "jh 2;n;n" },
          { jh: "洛陽", loc: "南市", id: "luoyang_luoyang13", way: "jh 2;n;n;e" },
          { jh: "洛陽", loc: "船塢", id: "luoyang_luoyang17", way: "jh 2;n;n;e;s;洛陽:洛水渡口^船塢" },
          { jh: "洛陽", loc: "南大街", id: "luoyang_yhsz", way: "jh 2;n;n;n" },
          { jh: "洛陽", loc: "南大街", id: "luoyang_luoyang24", way: "jh 2;n;n;n" },
          { jh: "洛陽", loc: "金刀門", id: "luoyang_luoyang27", way: "jh 2;n;n;n;e" },
          { jh: "洛陽", loc: "練武場", id: "luoyang_luoyang27", way: "jh 2;n;n;n;e;s" },
          { jh: "洛陽", loc: "練武場", id: "luoyang_luoyang16", way: "jh 2;n;n;n;e;s" },
          { jh: "洛陽", loc: "洛川街", id: "luoyang_luoyang26", way: "jh 2;n;n;n;n" },
          { jh: "洛陽", loc: "集市", id: "luoyang_luoyang26", way: "jh 2;n;n;n;n;e" },
          { jh: "洛陽", loc: "集市", id: "luoyang_luoyang12", way: "jh 2;n;n;n;n;e" },
          { jh: "洛陽", loc: "豬肉攤", id: "luoyang_luoyang14", way: "jh 2;n;n;n;n;e;s" },
          { jh: "洛陽", loc: "草屋", id: "luoyang_luoyang_fb8", way: "jh 2;n;n;n;n;n;e;e;n;n;e;n" },
          { jh: "洛陽", loc: "林間石階", id: "luoyang_luoyang_fb9", way: "jh 2;n;n;n;n;n;e;e;n;n;n" },
          { jh: "洛陽", loc: "登山小徑", id: "luoyang_luoyang_fb11", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n" },
          { jh: "洛陽", loc: "松風亭", id: "luoyang_luoyang_fb9", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;e" },
          { jh: "洛陽", loc: "松風亭", id: "luoyang_lingyun", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;e" },
          { jh: "洛陽", loc: "松風亭", id: "luoyang_lingzhongtian", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;e" },
          { jh: "洛陽", loc: "白公墓", id: "luoyang_luoyang_fb12", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n" },
          { jh: "洛陽", loc: "白公墓", id: "luoyang_heiyiwenshi", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n" },
          { jh: "洛陽", loc: "墓道", id: "luoyang_luoyang_fb12", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n;get_silver" },
          { jh: "洛陽", loc: "墓道", id: "luoyang_heiyiwenshi", way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n;get_silver" },
          { jh: "洛陽", loc: "聽伊亭", id: "luoyang_luoyang_fb10", way: "jh 2;n;n;n;n;n;e;e;n;n;n;w" },
          { jh: "洛陽", loc: "觀景台", id: "luoyang_luoyang_fb7", way: "jh 2;n;n;n;n;n;e;e;n;n;w" },
          { jh: "洛陽", loc: "富人莊院", id: "luoyang_luoyang26", way: "jh 2;n;n;n;n;n;e;n" },
          { jh: "洛陽", loc: "富人莊院", id: "luoyang_luoyang10", way: "jh 2;n;n;n;n;n;e;n" },
          { jh: "洛陽", loc: "儲藏室", id: "luoyang_luoyang26", way: "jh 2;n;n;n;n;n;e;n;op1" },
          { jh: "洛陽", loc: "儲藏室", id: "luoyang_luoyang10", way: "jh 2;n;n;n;n;n;e;n;op1" },
          { jh: "洛陽", loc: "青石街", id: "gaibang_lu", way: "jh 2;n;n;n;n;n;n;e" },
          { jh: "洛陽", loc: "北大街", id: "luoyang_luoyang3", way: "jh 2;n;n;n;n;n;n;n" },
          { jh: "洛陽", loc: "北大街", id: "luoyang_luoyang24", way: "jh 2;n;n;n;n;n;n;n" },
          { jh: "洛陽", loc: "錢莊", id: "luoyang_luoyang4", way: "jh 2;n;n;n;n;n;n;n;e" },
          { jh: "洛陽", loc: "北門", id: "luoyang_luoyang21", way: "jh 2;n;n;n;n;n;n;n;n" },
          { jh: "洛陽", loc: "北門", id: "luoyang_luoyang22", way: "jh 2;n;n;n;n;n;n;n;n" },
          { jh: "洛陽", loc: "北郊小路", id: "luoyang_luoyang19", way: "jh 2;n;n;n;n;n;n;n;n;n" },
          { jh: "洛陽", loc: "綠竹林", id: "luoyang_luoyang20", way: "jh 2;n;n;n;n;n;n;n;n;n;e" },
          { jh: "洛陽", loc: "綠竹雅舍", id: "luoyang_luoyang1", way: "jh 2;n;n;n;n;n;n;n;n;n;e;n" },
          { jh: "洛陽", loc: "清響齋", id: "luoyang_luoyang2", way: "jh 2;n;n;n;n;n;n;n;n;n;e;n;n" },
          { jh: "洛陽", loc: "密室", id: "luoyang_canjianloushouling", way: "jh 2;n;n;n;n;n;n;n;n;n;e;n;n;n" },
          { jh: "洛陽", loc: "沙石地", id: "changan_kanmenren", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s" },
          { jh: "洛陽", loc: "石土場", id: "changan_qinguan", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s;s" },
          { jh: "洛陽", loc: "沙石地", id: "changan_kanmenren", way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s;s;event_1_54329477;n" },
          { jh: "洛陽", loc: "城樓密室", id: "luoyang_luoyang23", way: "jh 2;n;n;n;n;n;n;n;n;w;洛陽:城樓^城樓密室" },
          { jh: "洛陽", loc: "當鋪", id: "luoyang_luoyang5", way: "jh 2;n;n;n;n;n;n;w" },
          { jh: "洛陽", loc: "馬廄", id: "luoyang_luoyang6", way: "jh 2;n;n;n;n;n;w;n;n;w" },
          { jh: "洛陽", loc: "牡丹園", id: "luoyang_luoyang7", way: "jh 2;n;n;n;n;n;w;s" },
          { jh: "洛陽", loc: "牡丹亭", id: "luoyang_luoyang8", way: "jh 2;n;n;n;n;n;w;s;luoyang111_op1" },
          { jh: "洛陽", loc: "賭坊大門", id: "luoyang_luoyang_fb3", way: "jh 2;n;n;n;n;n;w;w" },
          { jh: "洛陽", loc: "賭坊大廳", id: "luoyang_luoyang_fb4", way: "jh 2;n;n;n;n;n;w;w;n" },
          { jh: "洛陽", loc: "雅舍", id: "luoyang_luoyang_fb5", way: "jh 2;n;n;n;n;n;w;w;n;n;n;e" },
          { jh: "洛陽", loc: "銅駝巷", id: "luoyang_luoyang_fb3", way: "jh 2;n;n;n;n;w" },
          { jh: "洛陽", loc: "石街", id: "luoyang_luoyang_fb1", way: "jh 2;n;n;n;n;w;event_1_98995501;n" },
          { jh: "洛陽", loc: "石街", id: "luoyang_luoyang26", way: "jh 2;n;n;n;n;w;event_1_98995501;n" },
          { jh: "洛陽", loc: "酒肆", id: "luoyang_luoyang_fb2", way: "jh 2;n;n;n;n;w;event_1_98995501;n;n;e" },
          { jh: "洛陽", loc: "桃花別院", id: "luoyang_hongniang", way: "jh 2;n;n;n;n;w;s" },
          { jh: "洛陽", loc: "繡樓", id: "luoyang_luoyang9", way: "jh 2;n;n;n;n;w;s;w" },
          { jh: "洛陽", loc: "洛神廟", id: "luoyang_luoyang15", way: "jh 2;n;n;n;w" },
          { jh: "洛陽", loc: "地道", id: "luoyang_luoyang15", way: "jh 2;n;n;n;w;putuan" },
          { jh: "俠客島", loc: "", id: "luoyang_luoyang15", way: "" },
          { jh: "華山村", loc: "華山村村口", id: "huashancun_huashancun12", way: "jh 3" },
          { jh: "華山村", loc: "華山村村口", id: "taofan157799344", way: "jh 3" },
          { jh: "華山村", loc: "松林小徑", id: "huashancun_huashancun14", way: "jh 3;n" },
          { jh: "華山村", loc: "神女塚", id: "huashancun_huashancun19", way: "jh 3;n;e" },
          { jh: "華山村", loc: "青石街", id: "huashancun_huashancun12", way: "jh 3;s" },
          { jh: "華山村", loc: "青石街", id: "huashancun_popitouzi", way: "jh 3;s" },
          { jh: "華山村", loc: "碎石路", id: "huashancun_huashancun18", way: "jh 3;s;e" },
          { jh: "華山村", loc: "打鐵鋪", id: "taohua_fengmof", way: "jh 3;s;e;n" },
          { jh: "華山村", loc: "銀杏廣場", id: "huashancun_huashancun1", way: "jh 3;s;s" },
          { jh: "華山村", loc: "雜貨鋪", id: "huashancun_huashancun9", way: "jh 3;s;s;e" },
          { jh: "華山村", loc: "後院", id: "huashancun_huashancun17", way: "jh 3;s;s;e;s" },
          { jh: "華山村", loc: "車廂", id: "huashancun_huashancun3", way: "jh 3;s;s;e;s;huashancun24_op2" },
          { jh: "華山村", loc: "石闆橋", id: "huashancun_huashancun2", way: "jh 3;s;s;s" },
          { jh: "華山村", loc: "石闆橋", id: "huashancun_heigou", way: "jh 3;s;s;s" },
          { jh: "華山村", loc: "田間小路", id: "huashancun_huashancun16", way: "jh 3;s;s;s;s" },
          { jh: "華山村", loc: "油菜花地", id: "huashancun_huashancun20", way: "jh 3;s;s;s;s;huashancun15_op1" },
          { jh: "華山村", loc: "油菜花地", id: "huashancun_huashancun20", way: "jh 3;s;s;s;s;huashancun15_op1;event_1_46902878" },
          { jh: "華山村", loc: "蜿蜒山徑", id: "huashancun_huashancun_fb7", way: "jh 3;s;s;s;s;s;nw;n" },
          { jh: "華山村", loc: "清風寨大門", id: "huashancun_huashancun_fb8", way: "jh 3;s;s;s;s;s;nw;n;n" },
          { jh: "華山村", loc: "桃花泉", id: "huashancun_huashancun_fb9", way: "jh 3;s;s;s;s;s;nw;n;n;e" },
          { jh: "華山村", loc: "花房", id: "huashancun_huashancun_fb9", way: "jh 3;s;s;s;s;s;nw;n;n;e;get_silver" },
          { jh: "華山村", loc: "議事廳", id: "huashancun_huashancun_fb10", way: "jh 3;s;s;s;s;s;nw;n;n;n;n" },
          { jh: "華山村", loc: "後院", id: "huashancun_huashancun_fb11", way: "jh 3;s;s;s;s;s;nw;n;n;n;n;n" },
          { jh: "華山村", loc: "臥房", id: "huashancun_huashancun_fb12", way: "jh 3;s;s;s;s;s;nw;n;n;n;n;n;n" },
          { jh: "華山村", loc: "廂房", id: "huashancun_huashancun5", way: "jh 3;s;s;s;s;w;get_silver" },
          { jh: "華山村", loc: "大廳", id: "huashancun_huashancun_fb5", way: "jh 3;w;event_1_59520311;n;n;n;n;n" },
          { jh: "華山村", loc: "囚室", id: "huashancun_huashancun_fb4", way: "jh 3;w;event_1_59520311;n;n;w;get_silver" },
          { jh: "華山村", loc: "茶棚", id: "huashancun_huashancun13", way: "jh 3;w;n" },
          { jh: "華山", loc: "書房", id: "huashan_huashan6", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;n;n" },
          { jh: "華山", loc: "老君溝", id: "huashan_huashan11", way: "jh 4;n;n;n;n;n;n;e;n" },
          { jh: "華山", loc: "狹長通道", id: "huashan_huashan_fb5", way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s" },
          { jh: "華山", loc: "華山山腳", id: "huashan_huashan14", way: "jh 4" },
          { jh: "華山", loc: "莎蘿坪", id: "huashan_huashan1", way: "jh 4;n" },
          { jh: "華山", loc: "雲門", id: "huashan_huashan2", way: "jh 4;n;n" },
          { jh: "華山", loc: "青柯坪", id: "huashan_huashan9", way: "jh 4;n;n;n" },
          { jh: "華山", loc: "回心石", id: "huashan_huashan4", way: "jh 4;n;n;n;e" },
          { jh: "華山", loc: "蜿蜒山路", id: "huashan_huashan26", way: "jh 4;n;n;n;n;n;n" },
          { jh: "華山", loc: "蜿蜒山路", id: "huashan_huashan25", way: "jh 4;n;n;n;n;n;n" },
          { jh: "華山", loc: "群仙觀", id: "huashan_huashan7", way: "jh 4;n;n;n;n;n;n;e" },
          { jh: "華山", loc: "上天梯", id: "huashan_huashan27", way: "jh 4;n;n;n;n;n;n;n" },
          { jh: "華山", loc: "崎嶇山路", id: "huashan_huashan_fb4", way: "jh 4;n;n;n;n;n;n;n;event_1_91604710" },
          { jh: "華山", loc: "潭畔草地", id: "huashan_chengbuyou", way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s;s" },
          { jh: "華山", loc: "懸崖石洞", id: "huashan_fengbuping", way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s;s;s;e" },
          { jh: "華山", loc: "松林石徑", id: "huashan_huashan24", way: "jh 4;n;n;n;n;n;n;n;n" },
          { jh: "華山", loc: "朝陽峰山道", id: "huashan_huashan8", way: "jh 4;n;n;n;n;n;n;n;n;n" },
          { jh: "華山", loc: "長空棧道", id: "huashan_huashan_fb8", way: "jh 4;n;n;n;n;n;n;n;n;n;e" },
          { jh: "華山", loc: "臨淵石台", id: "huashan_huashan_fb9", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n" },
          { jh: "華山", loc: "草叢小路", id: "huashan_huashan_fb10", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n" },
          { jh: "華山", loc: "竹林", id: "huashan_huashan_fb11", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n" },
          { jh: "華山", loc: "密洞", id: "zonshi_fengqingyang", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;e;s;event_1_11292200" },
          { jh: "華山", loc: "空地", id: "huashan_huashan_fb12", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n" },
          { jh: "華山", loc: "小木屋", id: "huashan_huashan_fb13", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n;e" },
          { jh: "華山", loc: "華山之巔", id: "huashan_xiaolinzi", way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n;n" },
          { jh: "華山", loc: "前院", id: "huashan_gao", way: "jh 4;n;n;n;n;n;n;n;n;n;n" },
          { jh: "華山", loc: "正氣堂", id: "huashan_yue", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n" },
          { jh: "華山", loc: "後院", id: "huashan_huashan5", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n" },
          { jh: "華山", loc: "花園", id: "huashan_liangfa", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e" },
          { jh: "華山", loc: "長廊", id: "huashan_huashan21", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;s" },
          { jh: "華山", loc: "臥房", id: "huashan_huashan12", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;s;s" },
          { jh: "華山", loc: "凜然軒", id: "huashan_lao", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;n" },
          { jh: "華山", loc: "寢室", id: "huashan_lao", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;n;get_silver" },
          { jh: "華山", loc: "廚房", id: "huashan_huashan22", way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;w" },
          { jh: "華山", loc: "練武場", id: "huashan_shi", way: "jh 4;n;n;n;n;n;n;n;n;n;n;w" },
          { jh: "華山", loc: "庫房入口", id: "huashan_huashan_fb1", way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247" },
          { jh: "華山", loc: "地道入口", id: "huashan_huashan_fb2", way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247;s;s;s;s" },
          { jh: "華山", loc: "密室", id: "huashan_huashan_fb3", way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247;s;s;s;s;s;e" },
          { jh: "華山", loc: "玉女祠", id: "huashan_yueling", way: "jh 4;n;n;n;n;n;n;n;n;w;s" },
          { jh: "華山", loc: "思過崖", id: "huashan_dayou", way: "jh 4;n;n;n;n;n;n;n;n;w;w" },
          { jh: "華山", loc: "山洞", id: "huashan_linghu", way: "jh 4;n;n;n;n;n;n;n;n;w;w;n" },
          { jh: "華山", loc: "石壁", id: "huashan_linghu", way: "jh 4;n;n;n;n;n;n;n;n;w;w;n;get_xiangnang2" },
          { jh: "華山", loc: "觀瀑台", id: "huashan_huashan18", way: "jh 4;n;n;w" },
          { jh: "揚州", loc: "飛雪堂", id: "yangzhou_yangzhou12", way: "jh 5;n;n;n;n;n;e;n;e;n;w;n;n" },
          { jh: "揚州", loc: "揚州港", id: "yangzhou_chuanyundongzhu", way: "jh 5;n;n;n;n;n;n;n;n;n;n;ne" },
          { jh: "揚州", loc: "醉仙樓大廳", id: "yangzhou_yangzhou_fb10", way: "jh 5;n;n;n;n;n;n;e" },
          { jh: "揚州", loc: "醉仙樓大廳", id: "yangzhou_shijiueseng", way: "jh 5;n;n;n;n;n;n;e" },
          { jh: "揚州", loc: "太平橋", id: "yangzhou_baihuzilaotou", way: "jh 5;n;w" },
          { jh: "揚州", loc: "太平橋", id: "yangzhou_jiangziya", way: "jh 5;n;w" },
          { jh: "揚州", loc: "小東門橋", id: "baidicheng_doulilaoren", way: "jh 5;n;e" },
          { jh: "揚州", loc: "安定門", id: "yangzhou_yangzhou16", way: "jh 5" },
          { jh: "揚州", loc: "十裡長街3", id: "yangzhou_yangzhou20", way: "jh 5;n;n" },
          { jh: "揚州", loc: "小寶齋", id: "yangzhou_yangzhou9", way: "jh 5;n;n;e" },
          { jh: "揚州", loc: "十裡長街2", id: "yangzhou_yangzhou19", way: "jh 5;n;n;n" },
          { jh: "揚州", loc: "武館大門", id: "yangzhou_yangzhou_fb1", way: "jh 5;n;n;n;e" },
          { jh: "揚州", loc: "武館大院", id: "yangzhou_yangzhou_fb2", way: "jh 5;n;n;n;e;n" },
          { jh: "揚州", loc: "武館大廳", id: "yangzhou_yangzhou_fb4", way: "jh 5;n;n;n;e;n;n" },
          { jh: "揚州", loc: "長廊", id: "yangzhou_yangzhou_fb5", way: "jh 5;n;n;n;e;n;n;n" },
          { jh: "揚州", loc: "書房", id: "yangzhou_yangzhou_fb7", way: "jh 5;n;n;n;e;n;n;n;e" },
          { jh: "揚州", loc: "臥室", id: "yangzhou_yangzhou_fb6", way: "jh 5;n;n;n;e;n;n;n;n" },
          { jh: "揚州", loc: "休息室", id: "yangzhou_yangzhou_fb2", way: "jh 5;n;n;n;e;n;n;w;n;get_silver" },
          { jh: "揚州", loc: "練武場", id: "yangzhou_yangzhou_fb2", way: "jh 5;n;n;n;e;n;w" },
          { jh: "揚州", loc: "練武場", id: "yangzhou_yangzhou_fb3", way: "jh 5;n;n;n;e;n;w" },
          { jh: "揚州", loc: "十裡長街1", id: "yangzhou_yangzhou2", way: "jh 5;n;n;n;n" },
          { jh: "揚州", loc: "中央廣場", id: "yangzhou_yangzhou1", way: "jh 5;n;n;n;n;n" },
          { jh: "揚州", loc: "中央廣場", id: "gaibang_kongkong", way: "jh 5;n;n;n;n;n" },
          { jh: "揚州", loc: "至止堂", id: "yangzhou_yangzhou17", way: "jh 5;n;n;n;n;n;e;n;n;n" },
          { jh: "揚州", loc: "庭院", id: "yangzhou_guanjia", way: "jh 5;n;n;n;n;n;e;n;n" },
          { jh: "揚州", loc: "十裡長街4", id: "yangzhou_yangzhou30", way: "jh 5;n;n;n;n;n;n" },
          { jh: "揚州", loc: "十裡長街4", id: "yangzhou_yangzhou5", way: "jh 5;n;n;n;n;n;n" },
          { jh: "揚州", loc: "十裡長街4", id: "yangzhou_yangzhou28", way: "jh 5;n;n;n;n;n;n" },
          { jh: "揚州", loc: "樓梯", id: "yangzhou_yangzhou_fb12", way: "jh 5;n;n;n;n;n;n;e;n" },
          { jh: "揚州", loc: "二樓大廳", id: "yangzhou_yangzhou_fb11", way: "jh 5;n;n;n;n;n;n;e;n;n" },
          { jh: "揚州", loc: "芍藥宴廳", id: "yangzhou_yangzhou_fb14", way: "jh 5;n;n;n;n;n;n;e;n;n;e" },
          { jh: "揚州", loc: "牡丹宴廳", id: "yangzhou_yangzhou_fb15", way: "jh 5;n;n;n;n;n;n;e;n;n;n" },
          { jh: "揚州", loc: "觀景台", id: "yangzhou_yangzhou_fb9", way: "jh 5;n;n;n;n;n;n;e;n;n;n;n" },
          { jh: "揚州", loc: "芙蓉宴廳", id: "yangzhou_yangzhou_fb13", way: "jh 5;n;n;n;n;n;n;e;n;n;w" },
          { jh: "揚州", loc: "十裡長街5", id: "yangzhou_yangzhou6", way: "jh 5;n;n;n;n;n;n;n" },
          { jh: "揚州", loc: "富春茶社", id: "tieflag_yunjiuxiao", way: "jh 5;n;n;n;n;n;n;n;e" },
          { jh: "揚州", loc: "富春茶社", id: "yangzhou_yangzhou22", way: "jh 5;n;n;n;n;n;n;n;e" },
          { jh: "揚州", loc: "雅舍", id: "tieflag_yunjiuxiao", way: "jh 5;n;n;n;n;n;n;n;e;get_silver" },
          { jh: "揚州", loc: "雅舍", id: "yangzhou_yangzhou22", way: "jh 5;n;n;n;n;n;n;n;e;get_silver" },
          { jh: "揚州", loc: "十裡長街6", id: "yangzhou_yangzhou23", way: "jh 5;n;n;n;n;n;n;n;n" },
          { jh: "揚州", loc: "東關街", id: "yangzhou_yangzhou24", way: "jh 5;n;n;n;n;n;n;n;n;n;e" },
          { jh: "揚州", loc: "鎮淮門 ", id: "yangzhou_yangzhou29", way: "jh 5;n;n;n;n;n;n;n;n;n;n" },
          { jh: "揚州", loc: "禪智寺山門", id: "yangzhou_yangzhou26", way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n" },
          { jh: "揚州", loc: "昆丘台", id: "yangzhou_yangzhou11", way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;e" },
          { jh: "揚州", loc: "呂祖照面池", id: "yangzhou_yangzhou27", way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;n;n;e" },
          { jh: "揚州", loc: "竹西亭", id: "yangzhou_yangzhou28", way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;w" },
          { jh: "揚州", loc: "竹西亭", id: "yangzhou_yangzhou10", way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;w" },
          { jh: "揚州", loc: "虹橋", id: "yangzhou_yangzhou31", way: "jh 5;n;n;n;n;n;n;n;n;w" },
          { jh: "揚州", loc: "草河北街", id: "yangzhou_yangzhou13", way: "jh 5;n;n;n;n;n;n;n;n;w;w" },
          { jh: "揚州", loc: "魁星閣", id: "yangzhou_yangzhou12", way: "jh 5;n;n;n;n;n;n;n;n;w;w;n" },
          { jh: "揚州", loc: "閣樓", id: "yangzhou_lilijun", way: "jh 5;n;n;n;n;n;n;n;n;w;w;n;get_silver" },
          { jh: "揚州", loc: "淺月樓", id: "yangzhou_qingyimenwei", way: "jh 5;n;n;n;n;n;n;n;n;w;w;w" },
          { jh: "揚州", loc: "淺月樓大廳", id: "yangzhou_qingyimenwei", way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s" },
          { jh: "揚州", loc: "二樓走道", id: "yangzhou_qingyimenwei", way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s;e" },
          { jh: "揚州", loc: "淺月樓偏廳", id: "yangzhou_qingyimenwei", way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s;w" },
          { jh: "揚州", loc: "廣陵當鋪", id: "yangzhou_yangzhou7", way: "jh 5;n;n;n;n;n;n;n;w" },
          { jh: "揚州", loc: "武廟", id: "yangzhou_yangzhou21", way: "jh 5;n;n;n;n;n;n;w" },
          { jh: "揚州", loc: "武廟", id: "yangzhou_miaozhu", way: "jh 5;n;n;n;n;n;n;w" },
          { jh: "揚州", loc: "武廟", id: "snow_gangdu", way: "jh 5;n;n;n;n;n;n;w" },
          { jh: "揚州", loc: "通泗橋", id: "gumu_limochou", way: "jh 5;n;n;n;n;n;w" },
          { jh: "揚州", loc: "衙門大門", id: "yangzhou_yangzhou_fb16", way: "jh 5;n;n;n;n;n;w;w;n" },
          { jh: "揚州", loc: "正堂", id: "yangzhou_yangzhou_fb18", way: "jh 5;n;n;n;n;n;w;w;n;n;n" },
          { jh: "揚州", loc: "內室", id: "yangzhou_yangzhou_fb18", way: "jh 5;n;n;n;n;n;w;w;n;n;n;get_silver" },
          { jh: "揚州", loc: "天井", id: "yangzhou_yangzhou_fb17", way: "jh 5;n;n;n;n;n;w;w;n;n;w" },
          { jh: "揚州", loc: "玉器店", id: "yangzhou_yangzhou14", way: "jh 5;n;n;n;n;n;w;w;s;s" },
          { jh: "揚州", loc: "彥明錢莊", id: "yangzhou_yangzhou3", way: "jh 5;n;n;n;n;w" },
          { jh: "揚州", loc: "彥明錢莊", id: "yangzhou_xiaofeizei", way: "jh 5;n;n;n;n;w" },
          { jh: "揚州", loc: "銀庫", id: "yangzhou_yangzhou18", way: "jh 5;n;n;n;n;w;yangzhou16_op1" },
          { jh: "揚州", loc: "黃記雜貨", id: "yangzhou_yangzhou4", way: "jh 5;n;n;n;w" },
          { jh: "揚州", loc: "鐵匠鋪", id: "yangzhou_yangzhou25", way: "jh 5;n;n;w" },
          { jh: "揚州", loc: "花店", id: "yangzhou_yangzhou15", way: "jh 5;n;w;w;n" },
          { jh: "丐幫", loc: "樹洞內部", id: "gaibang_qiu-wan", way: "jh 6" },
          { jh: "丐幫", loc: "樹洞內部", id: "gaibang_zuo-qu", way: "jh 6" },
          { jh: "丐幫", loc: "樹洞下", id: "gaibang_liang", way: "jh 6;event_1_98623439" },
          { jh: "丐幫", loc: "暗道", id: "huashancun_cangjianloushouling", way: "jh 6;event_1_98623439;ne;n" },
          { jh: "丐幫", loc: "屋角邊", id: "gaibang_he-bj", way: "jh 6;event_1_98623439;ne;n;ne;ne" },
          { jh: "丐幫", loc: "谷場槐樹邊", id: "gaibang_ma-jw", way: "jh 6;event_1_98623439;ne;n;ne;ne;ne" },
          { jh: "丐幫", loc: "沙丘小洞", id: "gaibang_yu-hx", way: "jh 6;event_1_98623439;ne;n;ne;ne;ne;event_1_97428251" },
          { jh: "丐幫", loc: "暗道", id: "gaibang_mo-bu", way: "jh 6;event_1_98623439;ne;ne" },
          { jh: "丐幫", loc: "儲藏室", id: "gaibang_huo-du", way: "jh 6;event_1_98623439;s" },
          { jh: "丐幫", loc: "密室", id: "zonshi_jiejiufeng", way: "jh 6;event_1_98623439;s;w" },
          { jh: "喬陰縣", loc: "樹王墳", id: "choyin_shadow", way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070;s;s;s;s;event_1_65599392" },
          { jh: "喬陰縣", loc: "喬陰縣城北門", id: "choyin_cityguard", way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070" },
          { jh: "喬陰縣", loc: "喬陰縣城北門", id: "obj_garrison", way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070" },
          { jh: "喬陰縣", loc: "喬陰縣城北門", id: "choyin_ghost", way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070" },
          { jh: "喬陰縣", loc: "石闆空地", id: "choyin_cangjianlouxuezhe", way: "jh 7;s;s;s;w" },
          { jh: "喬陰縣", loc: "休息室", id: "choyin_cangjianlouzhanglao", way: "jh 7;s;s;s;s;s;s;e;n;n;e" },
          { jh: "喬陰縣", loc: "喬陰縣城北門", id: "choyin_cityguard", way: "jh 7" },
          { jh: "喬陰縣", loc: "喬陰縣城北門", id: "choyin_ghost", way: "jh 7" },
          { jh: "喬陰縣", loc: "福林大街", id: "choyin_cake_vendor", way: "jh 7;s" },
          { jh: "喬陰縣", loc: "福林大街", id: "obj_garrison", way: "jh 7;s" },
          { jh: "喬陰縣", loc: "福林大街", id: "zonshi_lujiuyou", way: "jh 7;s" },
          { jh: "喬陰縣", loc: "福林大街", id: "beggar_master", way: "jh 7;s" },
          { jh: "喬陰縣", loc: "福林大街", id: "choyin_dumpling_seller", way: "jh 7;s;s;s" },
          { jh: "喬陰縣", loc: "樹王墳內部", id: "choyin_guairen", way: "jh 7;s;s;s;s;event_1_65599392;w" },
          { jh: "喬陰縣", loc: "福林酒樓", id: "choyin_sergeant", way: "jh 7;s;s;s;s;s;s;e" },
          { jh: "喬陰縣", loc: "福林酒樓", id: "choyin_boss", way: "jh 7;s;s;s;s;s;s;e" },
          { jh: "喬陰縣", loc: "福林酒樓", id: "choyin_youngman", way: "jh 7;s;s;s;s;s;s;e;n" },
          { jh: "喬陰縣", loc: "福林酒樓", id: "choyin_servant", way: "jh 7;s;s;s;s;s;s;e;n" },
          { jh: "喬陰縣", loc: "福林酒樓", id: "choyin_guard", way: "jh 7;s;s;s;s;s;s;e;n;n" },
          { jh: "喬陰縣", loc: "曲橋", id: "choyin_scholar", way: "jh 7;s;s;s;s;s;s;s;s;e" },
          { jh: "喬陰縣", loc: "曲橋", id: "choyin_girl", way: "jh 7;s;s;s;s;s;s;s;s;e;n;e" },
          { jh: "喬陰縣", loc: "曲橋", id: "choyin_maid", way: "jh 7;s;s;s;s;s;s;s;s;e;n;e" },
          { jh: "喬陰縣", loc: "曼雲台", id: "scholar_master", way: "jh 7;s;s;s;s;s;s;s;s;e;n;e;s;e" },
          { jh: "喬陰縣", loc: "火龍將軍廟", id: "choyin_crone", way: "jh 7;s;s;s;s;s;s;s;sw;w" },
        ],
      },
      dailyList: [
        { n: "剑宫白猿", v: "rank go 204;e;s;s;s;s;s;s;s;s;w;w;n;n;n;n;nw;nw;nw;n;n;n;" },
        { n: "云远寺", v: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;e;event_1_2215721" },
        { n: "闯入冥庄", v: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e;e;e;e;event_1_77775145" },
        { n: "西凉铁剑", v: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;ne;n;ne;n;" },
        { n: "四大绝杀", v: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;n;e;n;n;n;n;n;w;w;n;n;n;n;n;n;n;n" },
        { n: "十八木人", v: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;n;n;n;event_1_91914705;e;e;e" },
        { n: "去通天塔", v: "rank go 193" },
        { n: "去红螺寺", v: "rank go 194" },
        { n: "去越女剑楼", v: "rank go 204" },
        { n: "去铸剑洞", v: "rank go 210" },
        { n: "去霹雳门", v: "rank go 222" },
        { n: "去葬剑谷", v: "rank go 223" },
        { n: "去无湘楼", v: "rank go 231" },
        { n: "去藏典塔", v: "rank go 232" },
        { n: "去魔皇殿", v: "rank go 236" },
        { n: "去名将堂", v: "rank go 262" },
        { n: "去一品堂", v: "rank go 296" },
        { n: "去无为寺", v: "jh 54;#4 nw;#2 w;#8 n;#2 ne;#2 nw;#6 n;" },
        { n: "去石棺", v: "jh 54;#4 nw;#2 w;#8 n;#2 nw;w;nw;#2 n;w;#2 n;" },
        { n: "拱辰楼", v: "jh 54;nw;nw;nw;nw;w;w;n;n;n;n;n;w;w;sw;w;event_1_69046360;;place?狮子口;w;s;s;w;w;w;se;n;nw;s;e;w;sw;w;w;w;n;n;n;n;w;w;w;w;w;w;w;w;n;" },
        { n: "塔林湖畔", v: "rank go 231;s;s;s;se;se;e;s;s;s;s;se;se;s;s;s" },
        { n: "种丹秘境", v: "jh 54;nw;nw;nw;nw;w;w;n;n;n;n;n;w;w;sw;w;event_1_69046360;event_1_30634412;place?巍宝仙踪:2;" },
        { n: "灵鹫宫", v: "rank go 311" },
        { n: "去哈日", v: "rank go 262;e;s;w;w;s;sw;sw;sw;sw;nw;nw;n;nw;ne;" },
      ],
      QuestAnsLibs: {
        "“白玉牌楼”场景是在哪个地图上?": "c",
        "“百龙山庄”场景是在哪个地图上?": "b",
        "“冰火岛”场景是在哪个地图上?": "b",
        "“常春岛渡口”场景是在哪个地图上?": "c",
        "“跪拜坪”场景是在哪个地图上?": "b",
        "“翰墨书屋”场景是在哪个地图上?": "c",
        "“花海”场景是在哪个地图上?": "a",
        "“留云馆”场景是在哪个地图上?": "b",
        "“日月洞”场景是在哪个地图上?": "b",
        "“蓉香榭”场景是在哪个地图上?": "c",
        "“三清殿”场景是在哪个地图上?": "b",
        "“三清宫”场景是在哪个地图上?": "c",
        "“双鹤桥”场景是在哪个地图上?": "b",
        "“无名山脚”场景是在哪个地图上?": "d",
        "“伊犁”场景是在哪个地图上?": "b",
        "“鹰记商号”场景是在哪个地图上?": "d",
        "“迎梅客栈”场景是在哪个地图上?": "d",
        "“子午楼”场景是在哪个地图上?": "c",
        "8级的装备摹刻需要几把刻刀": "a",
        NPC公平子在哪一章地图: "a",
        瑷伦在晚月庄的哪个场景: "b",
        安惜迩是在那个场景: "c",
        "黯然销魂掌有多少招式?": "c",
        黯然销魂掌是哪个门派的技能: "a",
        "八卦迷阵是哪个门派的阵法?": "b",
        八卦迷阵是那个门派的阵法: "a",
        "白金戒指可以在哪位那里获得?": "b",
        "白金戒指可以在哪位npc那里获得?": "b",
        "白金手镯可以在哪位那里获得?": "a",
        "白金手镯可以在哪位npc那里获得?": "a",
        "白金项链可以在哪位那里获得?": "b",
        "白金项链可以在哪位npc那里获得?": "b",
        "白蟒鞭的伤害是多少?": "a",
        白驼山第一位要拜的师傅是谁: "a",
        白银宝箱礼包多少元宝一个: "d",
        "白玉腰束是腰带类的第几级装备?": "b",
        拜师风老前辈需要正气多少: "b",
        拜师老毒物需要蛤蟆功多少级: "a",
        拜师铁翼需要多少内力: "b",
        拜师小龙女需要容貌多少: "c",
        拜师张三丰需要多少正气: "b",
        包家将是哪个门派的师傅: "a",
        包拯在哪一章: "d",
        "宝石合成一次需要消耗多少颗低级宝石?": "c",
        "宝玉帽可以在哪位那里获得?": "d",
        宝玉鞋击杀哪个可以获得: "a",
        宝玉鞋在哪获得: "a",
        "暴雨梨花针的伤害是多少?": "c",
        北斗七星阵是第几个的组队副本: "c",
        北冥神功是哪个门派的技能: "b",
        北岳殿神像后面是哪位: "b",
        匕首加什么属性: "c",
        碧海潮生剑在哪位师傅处学习: "a",
        "碧磷鞭的伤害是多少?": "b",
        镖局保镖是挂机里的第几个任务: "d",
        "冰魄银针的伤害是多少?": "b",
        病维摩拳是哪个门派的技能: "b",
        不可保存装备下线多久会消失: "c",
        不属于白驼山的技能是什么: "b",
        沧海护腰可以镶嵌几颗宝石: "d",
        "沧海护腰是腰带类的第几级装备?": "a",
        藏宝图在哪个NPC处购买: "a",
        藏宝图在哪个处购买: "b",
        藏宝图在哪里那里买: "a",
        "草帽可以在哪位那里获得?": "b",
        成功易容成异性几次可以领取易容成就奖: "b",
        "成长计划第七天可以领取多少元宝?": "d",
        "成长计划六天可以领取多少银两?": "d",
        "成长计划需要多少元宝方可购买?": "a",
        城里打擂是挂机里的第几个任务: "d",
        城里抓贼是挂机里的第几个任务: "b",
        充值积分不可以兑换下面什么物品: "d",
        出生选武学世家增加什么: "a",
        "闯楼第几层可以获得称号“藏剑楼护法”": "b",
        "闯楼第几层可以获得称号“藏剑楼楼主”": "d",
        "闯楼第几层可以获得称号“藏剑楼长老”": "c",
        闯楼每多少层有称号奖励: "a",
        春风快意刀是哪个门派的技能: "b",
        春秋水色斋需要多少杀气才能进入: "d",
        从哪个处进入跨服战场: "a",
        摧心掌是哪个门派的技能: "a",
        达摩在少林哪个场景: "c",
        "达摩杖的伤害是多少?": "d",
        "打开引路蜂礼包可以得到多少引路蜂?": "b",
        "打排行榜每天可以完成多少次?": "a",
        打土匪是挂机里的第几个任务: "c",
        打造刻刀需要多少个玄铁: "a",
        打坐增长什么属性: "a",
        "大保险卡可以承受多少次死亡后不降技能等级?": "b",
        大乘佛法有什么效果: "d",
        大旗门的修养术有哪个特殊效果: "a",
        大旗门的云海心法可以提升哪个属性: "c",
        大招寺的金刚不坏功有哪个特殊效果: "a",
        大招寺的铁布衫有哪个特殊效果: "c",
        "当日最低累积充值多少元即可获得返利?": "b",
        刀法基础在哪掉落: "a",
        倒乱七星步法是哪个门派的技能: "d",
        "等级多少才能在世界频道聊天?": "c",
        第一个副本需要多少等级才能进入: "d",
        "貂皮斗篷是披风类的第几级装备?": "b",
        丁老怪是哪个门派的终极师傅: "a",
        丁老怪在星宿海的哪个场景: "b",
        东方教主在魔教的哪个场景: "b",
        斗转星移是哪个门派的技能: "a",
        斗转星移阵是哪个门派的阵法: "a",
        "毒龙鞭的伤害是多少?": "a",
        毒物阵法是哪个门派的阵法: "b",
        "独孤求败有过几把剑?": "d",
        独龙寨是第几个组队副本: "a",
        "读书写字301-400级在哪里买书": "c",
        读书写字最高可以到多少级: "b",
        端茶递水是挂机里的第几个任务: "b",
        断云斧是哪个门派的技能: "a",
        "锻造一把刻刀需要多少玄铁碎片锻造?": "c",
        "锻造一把刻刀需要多少银两?": "a",
        兑换易容面具需要多少玄铁碎片: "c",
        多少消费积分换取黄金宝箱: "a",
        多少消费积分可以换取黄金钥匙: "b",
        翻译梵文一次多少银两: "d",
        方媃是哪个门派的师傅: "b",
        飞仙剑阵是哪个门派的阵法: "b",
        风老前辈在华山哪个场景: "b",
        风泉之剑加几点悟性: "c",
        "风泉之剑可以在哪位那里获得?": "b",
        "风泉之剑可以在哪位npc那里获得?": "b",
        风泉之剑在哪里获得: "d",
        "疯魔杖的伤害是多少?": "b",
        "伏虎杖的伤害是多少?": "c",
        副本完成后不可获得下列什么物品: "b",
        副本一次最多可以进几人: "a",
        副本有什么奖励: "d",
        富春茶社在哪一章: "c",
        "改名字在哪改?": "d",
        丐帮的绝学是什么: "a",
        丐帮的轻功是哪个: "b",
        干苦力是挂机里的第几个任务: "a",
        "钢丝甲衣可以在哪位那里获得?": "d",
        高级乾坤再造丹加什么: "b",
        "高级乾坤再造丹是增加什么的?": "b",
        高级突破丹多少元宝一颗: "d",
        "割鹿刀可以在哪位npc那里获得?": "b",
        葛伦在大招寺的哪个场景: "b",
        根骨能提升哪个属性: "c",
        功德箱捐香火钱有什么用: "a",
        "功德箱在雪亭镇的哪个场景?": "c",
        "购买新手进阶礼包在挂机打坐练习上可以享受多少倍收益?": "b",
        孤独求败称号需要多少论剑积分兑换: "b",
        孤儿出身增加什么: "d",
        古灯大师是哪个门派的终极师傅: "c",
        古灯大师在大理哪个场景: "c",
        "古墓多少级以后才能进去?": "d",
        寒玉床睡觉修炼需要多少点内力值: "c",
        寒玉床睡觉一次多久: "c",
        寒玉床需要切割多少次: "d",
        寒玉床在哪里切割: "a",
        "寒玉床在那个地图可以找到?": "a",
        黑狗血在哪获得: "b",
        "黑水伏蛟可以在哪位那里获得?": "c",
        红宝石加什么属性: "b",
        洪帮主在洛阳哪个场景: "c",
        "虎皮腰带是腰带类的第几级装备?": "a",
        花不为在哪一章: "a",
        花花公子在哪个地图: "a",
        华山村王老二掉落的物品是什么: "a",
        华山施戴子掉落的物品是什么: "b",
        华山武器库从哪个NPC进: "d",
        黄宝石加什么属性: "c",
        黄岛主在桃花岛的哪个场景: "d",
        黄袍老道是哪个门派的师傅: "c",
        "积分商城在雪亭镇的哪个场景?": "c",
        "技能柳家拳谁教的?": "a",
        技能数量超过了什么消耗潜能会增加: "b",
        嫁衣神功是哪个门派的技能: "b",
        剑冢在哪个地图: "a",
        街头卖艺是挂机里的第几个任务: "a",
        "金弹子的伤害是多少?": "a",
        金刚不坏功有什么效果: "a",
        "金刚杖的伤害是多少?": "a",
        "金戒指可以在哪位npc那里获得?": "d",
        "金手镯可以在哪位npc那里获得?": "b",
        "金丝鞋可以在哪位npc那里获得?": "b",
        "金项链可以在哪位npc那里获得?": "d",
        金玉断云是哪个门派的阵法: "a",
        "锦缎腰带是腰带类的第几级装备?": "a",
        "精铁棒可以在哪位那里获得?": "d",
        九区服务器名称: "d",
        九阳神功是哪个门派的技能: "c",
        九阴派梅师姐在星宿海哪个场景: "a",
        军营是第几个组队副本: "b",
        "开通VIP月卡最低需要当天充值多少元方有购买资格?": "a",
        "可以召唤金甲伏兵助战是哪个门派?": "a",
        客商在哪一章: "b",
        孔雀氅可以镶嵌几颗宝石: "b",
        "孔雀氅是披风类的第几级装备?": "c",
        枯荣禅功是哪个门派的技能: "a",
        跨服是星期几举行的: "b",
        跨服天剑谷每周六几点开启: "a",
        跨服需要多少级才能进入: "c",
        跨服在哪个场景进入: "c",
        兰花拂穴手是哪个门派的技能: "a",
        蓝宝石加什么属性: "a",
        蓝止萍在哪一章: "c",
        蓝止萍在晚月庄哪个小地图: "b",
        老毒物在白驮山的哪个场景: "b",
        老顽童在全真教哪个场景: "b",
        莲花掌是哪个门派的技能: "a",
        烈火旗大厅是那个地图的场景: "c",
        烈日项链可以镶嵌几颗宝石: "c",
        林祖师是哪个门派的师傅: "a",
        灵蛇杖法是哪个门派的技能: "c",
        淩波微步是哪个门派的技能: "b",
        淩虚锁云步是哪个门派的技能: "b",
        "领取消费积分需要寻找哪个NPC?": "c",
        "鎏金缦罗是披风类的第几级装备?": "d",
        柳淳风在哪一章: "c",
        柳淳风在雪亭镇哪个场景: "b",
        柳文君所在的位置: "a",
        六脉神剑是哪个门派的绝学: "a",
        陆得财是哪个门派的师傅: "c",
        陆得财在乔阴县的哪个场景: "a",
        论剑每天能打几次: "a",
        论剑是每周星期几: "c",
        论剑是什么时间点正式开始: "a",
        论剑是星期几进行的: "c",
        论剑是星期几举行的: "c",
        论剑输一场获得多少论剑积分: "a",
        论剑要在晚上几点前报名: "b",
        "论剑在周几进行?": "b",
        论剑中步玄派的师傅是哪个: "a",
        论剑中大招寺第一个要拜的师傅是谁: "c",
        论剑中古墓派的终极师傅是谁: "d",
        论剑中花紫会的师傅是谁: "c",
        论剑中青城派的第一个师傅是谁: "a",
        论剑中青城派的终极师傅是谁: "d",
        论剑中逍遥派的终极师傅是谁: "c",
        论剑中以下不是峨嵋派技能的是哪个: "b",
        论剑中以下不是华山派的人物的是哪个: "d",
        论剑中以下哪个不是大理段家的技能: "c",
        论剑中以下哪个不是大招寺的技能: "b",
        论剑中以下哪个不是峨嵋派可以拜师的师傅: "d",
        论剑中以下哪个不是丐帮的技能: "d",
        论剑中以下哪个不是丐帮的人物: "a",
        论剑中以下哪个不是古墓派的的技能: "b",
        论剑中以下哪个不是华山派的技能的: "d",
        论剑中以下哪个不是明教的技能: "d",
        论剑中以下哪个不是魔教的技能: "a",
        论剑中以下哪个不是魔教的人物: "d",
        论剑中以下哪个不是全真教的技能: "d",
        论剑中以下哪个不是是晚月庄的技能: "d",
        论剑中以下哪个不是唐门的技能: "c",
        论剑中以下哪个不是唐门的人物: "c",
        论剑中以下哪个不是铁雪山庄的技能: "d",
        论剑中以下哪个不是铁血大旗门的技能: "c",
        论剑中以下哪个是大理段家的技能: "a",
        论剑中以下哪个是大招寺的技能: "b",
        论剑中以下哪个是丐帮的技能: "b",
        论剑中以下哪个是花紫会的技能: "a",
        论剑中以下哪个是华山派的技能的: "a",
        论剑中以下哪个是明教的技能: "b",
        论剑中以下哪个是青城派的技能: "b",
        论剑中以下哪个是唐门的技能: "b",
        论剑中以下哪个是天邪派的技能: "b",
        论剑中以下哪个是天邪派的人物: "a",
        论剑中以下哪个是铁雪山庄的技能: "c",
        论剑中以下哪个是铁血大旗门的技能: "b",
        论剑中以下哪个是铁血大旗门的师傅: "a",
        论剑中以下哪个是晚月庄的技能: "a",
        论剑中以下哪个是晚月庄的人物: "a",
        论剑中以下是峨嵋派技能的是哪个: "a",
        论语在哪购买: "a",
        骆云舟在哪一章: "c",
        骆云舟在乔阴县的哪个场景: "b",
        落英神剑掌是哪个门派的技能: "b",
        吕进在哪个地图: "a",
        绿宝石加什么属性: "c",
        漫天花雨匕在哪获得: "a",
        茅山的绝学是什么: "b",
        茅山的天师正道可以提升哪个属性: "d",
        茅山可以招几个宝宝: "c",
        茅山派的轻功是什么: "b",
        茅山天师正道可以提升什么: "c",
        茅山学习什么技能招宝宝: "a",
        茅山在哪里拜师: "c",
        "每次合成宝石需要多少银两?": "a",
        每个玩家最多能有多少个好友: "a",
        vip每天不可以领取什么: "b",
        每天的任务次数几点重置: "d",
        每天分享游戏到哪里可以获得20元宝: "a",
        每天能挖几次宝: "d",
        每天能做多少个谜题任务: "a",
        每天能做多少个谜: "a",
        每天能做多少个师门任务: "c",
        每天微信分享能获得多少元宝: "d",
        每天有几次试剑: "b",
        "每天在线多少个小时即可领取消费积分?": "b",
        每突破一次技能有效系数加多少: "a",
        密宗伏魔是哪个门派的阵法: "c",
        灭绝师太在第几章: "c",
        灭绝师太在峨眉山哪个场景: "a",
        明教的九阳神功有哪个特殊效果: "a",
        "明月帽要多少刻刀摩刻?": "a",
        摹刻10级的装备需要摩刻技巧多少级: "b",
        "摹刻烈日宝链需要多少级摩刻技巧?": "c",
        "摹刻扬文需要多少把刻刀?": "a",
        魔鞭诀在哪里学习: "d",
        魔教的大光明心法可以提升哪个属性: "d",
        莫不收在哪一章: "a",
        "墨磷腰带是腰带类的第几级装备?": "d",
        木道人在青城山的哪个场景: "b",
        慕容家主在慕容山庄的哪个场景: "a",
        慕容山庄的斗转星移可以提升哪个属性: "d",
        哪个NPC掉落拆招基础: "a",
        哪个处可以捏脸: "a",
        哪个分享可以获得20元宝: "b",
        哪个技能不是魔教的: "d",
        哪个门派拜师没有性别要求: "d",
        哪个npc属于全真七子: "b",
        哪样不能获得玄铁碎片: "c",
        能增容貌的是下面哪个技能: "a",
        "捏脸需要花费多少银两?": "c",
        "捏脸需要寻找哪个NPC?": "a",
        "欧阳敏是哪个门派的?": "b",
        欧阳敏是哪个门派的师傅: "b",
        欧阳敏在哪一章: "a",
        欧阳敏在唐门的哪个场景: "c",
        "排行榜最多可以显示多少名玩家?": "a",
        逄义是在那个场景: "a",
        "披星戴月是披风类的第几级装备?": "d",
        劈雳拳套有几个镶孔: "a",
        霹雳掌套的伤害是多少: "b",
        辟邪剑法是哪个门派的绝学技能: "a",
        辟邪剑法在哪学习: "b",
        婆萝蜜多心经是哪个门派的技能: "b",
        七宝天岚舞是哪个门派的技能: "d",
        "七星鞭的伤害是多少?": "c",
        七星剑法是哪个门派的绝学: "a",
        棋道是哪个门派的技能: "c",
        千古奇侠称号需要多少论剑积分兑换: "d",
        乾坤大挪移属于什么类型的武功: "a",
        乾坤一阳指是哪个师傅教的: "a",
        青城派的道德经可以提升哪个属性: "c",
        青城派的道家心法有哪个特殊效果: "a",
        清风寨在哪: "b",
        清风寨在哪个地图: "d",
        清虚道长在哪一章: "d",
        去唐门地下通道要找谁拿钥匙: "a",
        全真的道家心法有哪个特殊效果: "a",
        全真的基本阵法有哪个特殊效果: "b",
        全真的双手互搏有哪个特殊效果: "c",
        日月神教大光明心法可以提升什么: "d",
        "如何将华山剑法从400级提升到440级?": "d",
        如意刀是哪个门派的技能: "c",
        "山河藏宝图需要在哪个NPC手里购买?": "d",
        上山打猎是挂机里的第几个任务: "c",
        少林的混元一气功有哪个特殊效果: "d",
        少林的易筋经神功有哪个特殊效果: "a",
        蛇形刁手是哪个门派的技能: "b",
        什么影响打坐的速度: "c",
        什么影响攻击力: "d",
        什么装备不能镶嵌黄水晶: "d",
        "什么装备都能镶嵌的是什么宝石?": "c",
        什么装备可以镶嵌紫水晶: "c",
        神雕大侠所在的地图: "b",
        神雕大侠在哪一章: "a",
        "神雕侠侣的时代背景是哪个朝代?": "d",
        "神雕侠侣的作者是?": "b",
        升级什么技能可以提升根骨: "a",
        "生死符的伤害是多少?": "a",
        师门磕头增加什么: "a",
        "师门任务每天可以完成多少次?": "a",
        "师门任务每天可以做多少个?": "c",
        "师门任务什么时候更新?": "b",
        师门任务一天能完成几次: "d",
        "师门任务最多可以完成多少个?": "d",
        施令威在哪个地图: "b",
        石师妹哪个门派的师傅: "c",
        "使用朱果经验潜能将分别增加多少?": "a",
        "首次通过乔阴县不可以获得那种奖励?": "a",
        受赠的消费积分在哪里领取: "d",
        "兽皮鞋可以在哪位那里获得?": "b",
        树王坟在第几章节: "c",
        双儿在扬州的哪个小地图: "a",
        孙天灭是哪个门派的师傅: "c",
        踏雪无痕是哪个门派的技能: "b",
        "踏云棍可以在哪位那里获得?": "a",
        唐门的唐门毒经有哪个特殊效果: "a",
        唐门密道怎么走: "c",
        天蚕围腰可以镶嵌几颗宝石: "d",
        "天蚕围腰是腰带类的第几级装备?": "d",
        天山姥姥在逍遥林的哪个场景: "d",
        天山折梅手是哪个门派的技能: "c",
        天师阵法是哪个门派的阵法: "b",
        天邪派在哪里拜师: "b",
        天羽奇剑是哪个门派的技能: "a",
        "铁戒指可以在哪位那里获得?": "a",
        "铁手镯可以在哪位那里获得?": "a",
        铁血大旗门云海心法可以提升什么: "a",
        "通灵需要花费多少银两?": "d",
        "通灵需要寻找哪个NPC?": "c",
        突破丹在哪里购买: "b",
        屠龙刀法是哪个门派的绝学技能: "b",
        屠龙刀是什么级别的武器: "a",
        挖剑冢可得什么: "a",
        "弯月刀可以在哪位那里获得?": "b",
        玩家每天能够做几次正邪任务: "c",
        "玩家想修改名字可以寻找哪个NPC?": "a",
        晚月庄的内功是什么: "b",
        晚月庄的七宝天岚舞可以提升哪个属性: "b",
        晚月庄的小贩在下面哪个地点: "a",
        晚月庄七宝天岚舞可以提升什么: "b",
        晚月庄主线过关要求: "a",
        王铁匠是在那个场景: "b",
        王重阳是哪个门派的师傅: "b",
        "魏无极处读书可以读到多少级?": "a",
        魏无极身上掉落什么装备: "c",
        魏无极在第几章: "a",
        闻旗使在哪个地图: "a",
        "乌金玄火鞭的伤害是多少?": "d",
        "乌檀木刀可以在哪位那里获得?": "d",
        "乌檀木刀可以在哪位npc那里获得?": "d",
        "钨金腰带是腰带类的第几级装备?": "d",
        武当派的绝学技能是以下哪个: "d",
        "武穆兵法提升到多少级才能出现战斗必刷?": "d",
        武穆兵法通过什么学习: "a",
        武学世家加的什么初始属性: "a",
        舞中之武是哪个门派的阵法: "b",
        "西毒蛇杖的伤害是多少?": "c",
        吸血蝙蝠在下面哪个地图: "a",
        "下列哪项战斗不能多个玩家一起战斗?": "a",
        下列装备中不可摹刻的是: "c",
        下面哪个不是古墓的师傅: "d",
        下面哪个不是门派绝学: "d",
        下面哪个不是魔教的: "d",
        下面哪个地点不是乔阴县的: "d",
        下面哪个门派是正派: "a",
        下面哪个是天邪派的师傅: "a",
        下面有什么是寻宝不能获得的: "c",
        "向师傅磕头可以获得什么?": "b",
        逍遥步是哪个门派的技能: "a",
        逍遥林是第几章的地图: "c",
        逍遥林怎么弹琴可以见到天山姥姥: "b",
        逍遥派的绝学技能是以下哪个: "a",
        萧辟尘在哪一章: "d",
        "小李飞刀的伤害是多少?": "d",
        "小龙女住的古墓是谁建造的?": "b",
        小男孩在华山村哪里: "a",
        新人礼包在哪个npc处兑换: "a",
        新手礼包在哪里领取: "a",
        "新手礼包在哪领取?": "c",
        需要使用什么衣服才能睡寒玉床: "a",
        选择孤儿会影响哪个属性: "c",
        选择商贾会影响哪个属性: "b",
        选择书香门第会影响哪个属性: "b",
        选择武学世家会影响哪个属性: "a",
        学习屠龙刀法需要多少内力: "b",
        雪莲有什么作用: "a",
        雪蕊儿是哪个门派的师傅: "a",
        雪蕊儿在铁雪山庄的哪个场景: "d",
        扬文的属性: "a",
        扬州询问黑狗能到下面哪个地点: "a",
        扬州在下面哪个地点的处可以获得玉佩: "c",
        "羊毛斗篷是披风类的第几级装备?": "a",
        阳刚之劲是哪个门派的阵法: "c",
        "杨过小龙女分开多少年后重逢?": "c",
        杨过在哪个地图: "a",
        "夜行披风是披风类的第几级装备?": "a",
        夜皇在大旗门哪个场景: "c",
        一个队伍最多有几个队员: "c",
        一天能完成谜题任务多少个: "b",
        一天能完成师门任务有多少个: "c",
        一天能完成挑战排行榜任务多少次: "a",
        一张分身卡的有效时间是多久: "c",
        一指弹在哪里领悟: "b",
        移开明教石板需要哪项技能到一定级别: "a",
        以下不是步玄派的技能的哪个: "c",
        以下不是天宿派师傅的是哪个: "c",
        以下不是隐藏门派的是哪个: "d",
        以下哪个宝石不能镶嵌到戒指: "c",
        以下哪个宝石不能镶嵌到内甲: "a",
        以下哪个宝石不能镶嵌到披风: "c",
        以下哪个宝石不能镶嵌到腰带: "c",
        以下哪个宝石不能镶嵌到衣服: "a",
        "以下哪个不是道尘禅师教导的武学?": "d",
        "以下哪个不是何不净教导的武学?": "c",
        "以下哪个不是慧名尊者教导的技能?": "d",
        "以下哪个不是空空儿教导的武学?": "b",
        "以下哪个不是梁师兄教导的武学?": "b",
        "以下哪个不是论剑的皮肤?": "d",
        "以下哪个不是全真七子?": "c",
        "以下哪个不是宋首侠教导的武学?": "d",
        "以下哪个不是微信分享好友、朋友圈、QQ空间的奖励?": "a",
        "以下哪个不是岳掌门教导的武学?": "a",
        以下哪个不是在洛阳场景: "d",
        以下哪个不是在雪亭镇场景: "d",
        以下哪个不是在扬州场景: "d",
        "以下哪个不是知客道长教导的武学?": "b",
        "以下哪个门派不是隐藏门派?": "c",
        "以下哪个门派是正派?": "d",
        "以下哪个门派是中立门派?": "a",
        以下哪个是步玄派的祖师: "b",
        以下哪个是封山派的祖师: "c",
        以下哪个是花紫会的祖师: "a",
        以下哪个是晚月庄的祖师: "d",
        "以下哪些物品不是成长计划第二天可以领取的?": "c",
        "以下哪些物品不是成长计划第三天可以领取的?": "d",
        "以下哪些物品不是成长计划第一天可以领取的?": "d",
        "以下哪些物品是成长计划第四天可以领取的?": "a",
        "以下哪些物品是成长计划第五天可以领取的?": "b",
        以下属于邪派的门派是哪个: "b",
        以下属于正派的门派是哪个: "a",
        "以下谁不精通降龙十八掌?": "d",
        "以下有哪些物品不是每日充值的奖励?": "d",
        倚天剑加多少伤害: "d",
        "倚天屠龙记的时代背景哪个朝代?": "a",
        易容后保持时间是多久: "a",
        易容面具需要多少玄铁兑换: "c",
        易容术多少级才可以易容成异性NPC: "a",
        "易容术可以找哪位NPC学习?": "b",
        易容术向谁学习: "a",
        易容术在哪里学习: "a",
        "易容术在哪学习?": "b",
        "银手镯可以在哪位那里获得?": "b",
        "银丝链甲衣可以在哪位npc那里获得?": "a",
        "银项链可以在哪位那里获得?": "b",
        尹志平是哪个门派的师傅: "b",
        隐者之术是那个门派的阵法: "a",
        鹰爪擒拿手是哪个门派的技能: "a",
        "影响你出生的福缘的出生是?": "d",
        油流麻香手是哪个门派的技能: "a",
        游龙散花是哪个门派的阵法: "d",
        玉蜂浆在哪个地图获得: "a",
        玉女剑法是哪个门派的技能: "b",
        岳掌门在哪一章: "a",
        云九天是哪个门派的师傅: "c",
        云问天在哪一章: "a",
        在洛阳萧问天那可以学习什么心法: "b",
        在庙祝处洗杀气每次可以消除多少点: "a",
        "在哪个NPC可以购买恢复内力的药品?": "c",
        在哪个处可以更改名字: "a",
        在哪个处领取免费消费积分: "d",
        在哪个处能够升级易容术: "b",
        "在哪里可以找到“香茶”?": "a",
        在哪里捏脸提升容貌: "d",
        在哪里消杀气: "a",
        在逍遥派能学到的技能是哪个: "a",
        在雪亭镇李火狮可以学习多少级柳家拳: "b",
        在战斗界面点击哪个按钮可以进入聊天界面: "d",
        "在正邪任务中不能获得下面什么奖励?": "d",
        怎么样获得免费元宝: "a",
        赠送李铁嘴银两能够增加什么: "a",
        张教主在明教哪个场景: "d",
        张三丰在哪一章: "d",
        张三丰在武当山哪个场景: "d",
        张松溪在哪个地图: "c",
        张天师是哪个门派的师傅: "a",
        张天师在茅山哪个场景: "d",
        "长虹剑在哪位那里获得?": "a",
        "长剑在哪里可以购买?": "a",
        正邪任务杀死好人增长什么: "b",
        正邪任务一天能做几次: "a",
        正邪任务中客商的在哪个地图: "a",
        正邪任务中卖花姑娘在哪个地图: "b",
        "正邪任务最多可以完成多少个?": "d",
        支线对话书生上魁星阁二楼杀死哪个NPC给10元宝: "a",
        朱姑娘是哪个门派的师傅: "a",
        朱老伯在华山村哪个小地图: "b",
        "追风棍可以在哪位npc那里获得?": "a",
        追风棍在哪里获得: "b",
        紫宝石加什么属性: "d",
        下面哪个npc不是魔教的: "d",
        藏宝图在哪里npc那里买: "a",
        从哪个npc处进入跨服战场: "a",
        钻石项链在哪获得: "a",
        在哪个npc处能够升级易容术: "b",
        扬州询问黑狗子能到下面哪个地点: "a",
        北岳殿神像后面是哪位npc: "b",
        "兽皮鞋可以在哪位npc那里获得?": "b",
        在哪个npc处领取免费消费积分: "d",
        "踏云棍可以在哪位npc那里获得?": "a",
        "钢丝甲衣可以在哪位npc那里获得?": "d",
        "铁手镯可以在哪位npc那里获得?": "a",
        哪个npc处可以捏脸: "a",
        "草帽可以在哪位npc那里获得?": "b",
        "铁戒指可以在哪位npc那里获得?": "a",
        "银项链可以在哪位npc那里获得?": "b",
        在哪个npc处可以更改名字: "a",
        "宝玉帽可以在哪位npc那里获得?": "d",
        论剑中以下哪个不是晚月庄的技能: "d",
        "精铁棒可以在哪位npc那里获得?": "d",
        "弯月刀可以在哪位npc那里获得?": "b",
        藏宝图在哪个npc处购买: "b",
        宝玉鞋击杀哪个npc可以获得: "a",
        "银手镯可以在哪位npc那里获得?": "b",
        扬州在下面哪个地点的npc处可以获得玉佩: "c",
        跨服天剑谷是星期几举行的: "b",
        "长虹剑在哪位npc那里获得?": "a",
        "追风棍在哪里获得?": "b",
        "黑水伏蛟可以在哪位npc那里获得?": "c",
        跨服副本周六几点开启: "a",
        "铁手镯  可以在哪位npc那里获得?": "a",
        "首次通过桥阴县不可以获得那种奖励?": "a",
        "黯然消魂掌有多少招式?": "c",
        论剑一次最多能突破几个技能: "c",
      },
      usualList: [
        { n: "风泉之剑", v: "jh 7;s;s;s;s;s;s;s;s;e;n;e;s;e" },
        { n: "洛阳挖矿", v: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w;w" },
        { n: "青竹蛇", v: "jh 2;n;n;n;n;n;n;n;n;n;e" },
        { n: "武当桃园", v: "jh 10;w;n;n;w;w;w;n;n;n;n;e;e;e;e;s;e;s;e" },
        { n: "小龙女", v: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;s;s;e;e" },
        { n: "㊖游四海", v: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;w", style: { "background-color": "#9FE" } },
        { n: "白驼去星宿", v: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;n;" },
        { n: "峨眉大门", v: "jh 8;w;nw;n;n;n;n;e;e;n;n;e" },
        { n: "全真大门", v: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;" },
        { n: "乔阴老太婆", v: "jh 7;s;s;s;s;s;s;s;sw;w" },
        { n: "洛阳白冢", v: "jh 2;n;n;n;n;n;e;e;n;n;n;n;" },
        { n: "云梦璃", v: "jh 2;#15 n;#6 e;#14 n;event_1_95312623" },
        { n: "扬州武庙", v: "jh 5;n;n;n;n;n;n;w" },
        { n: "富春茶社", v: "jh 5;n;n;n;n;n;n;n;e;get_silver" },
        { n: "杭界山", v: "jh 2;n;n;e;s;洛陽:洛水渡口^船塢;go_hjs go;se;se;ne;w;n;" },
        { n: "浣花剑碑", v: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e" },
        { n: "京城赌坊", v: "rank go 195" },
        { n: "掩月千小驹", v: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s" },
        { n: "泰山孔翎", v: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;n;n" },
        { n: "长安秦王", v: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;n;n;n;n" },
        { n: "百晓居士", v: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e" },
        { n: "去花街", v: "rank go 170" },
        { n: "生死双修", v: "rank go 232;s;s;s;e;ne;" },
        { n: "星宿射雕", v: "jh 28;n;w;w;w;w;w;w;nw;ne;nw;ne;nw;ne;e" },
        { n: "杏花牧童", v: "rank go 184" },
        { n: "真龙隐武阁", v: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n" },
        { n: "过巨石阵", v: "s;sw;s;w;n;nw;w;sw;nw;n;" },
        { n: "天龙闲钓", v: "rank go 232;s;s;s;s;s;s" },
        { n: "天龙采茶", v: "rank go 232;s;s;s;e;ne;e;ne;ne;" },
        { n: "花街醉梦楼", v: "jh 46;e;e;e;e;e;e;e;e;n;n;n;e;e" },
        { n: "去巍山文庙", v: "jh 54;#4 nw;#2 w;#4 n;#2 e;n;#2 e;" },
        { n: "南诏左到右", v: "e;e;e;se;ne;sw;nw;e;ne;e" },
        { n: "马车去文庙", v: "jh 1;e;n;n;n;n;w;event_1_90287255 go 9;n;#5 e;#4 s;e;e;e;e;e;se;ne;sw;nw;e;ne;e;e;n;e;event_1_30634412;e;ne;e;e;s;e;e;n;e;e" },
        { n: "马车去南诏", v: "jh 1;e;n;n;n;n;w;event_1_90287255 go 9;" },
        { n: "萬福樓", v: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;s" },
      ],
      pathCmds: { e: "go east", s: "go south", w: "go west", n: "go north", se: "go southeast", sw: "go southwest", ne: "go northeast", nw: "go northwest" },
      cityList: [
        "雪亭鎮",
        "洛陽",
        "華山村",
        "華山",
        "揚州",
        "丐幫",
        "喬陰縣",
        "峨眉山",
        "恆山",
        "武當山",
        "晚月莊",
        "水煙閣",
        "少林寺",
        "唐門",
        "青城山",
        "逍遙林",
        "開封",
        "光明頂",
        "全真教",
        "古墓",
        "白馱山",
        "嵩山",
        "梅莊",
        "泰山",
        "鐵血大旗門",
        "大昭寺",
        "黑木崖",
        "星宿海",
        "茅山",
        "桃花島",
        "鐵雪山莊",
        "慕容山莊",
        "大理",
        "斷劍山莊",
        "冰火島",
        "俠客島",
        "絕情谷",
        "碧海山莊",
        "天山",
        "苗疆",
        "白帝城",
        "墨家機關城",
        "掩月城",
        "海雲閣",
        "幽冥山莊",
        "花街",
        "西涼城",
        "高昌迷宮",
        "京城",
        "越王劍宮",
        "江陵",
        "天龍寺",
        "西夏",
        "南詔國",
      ],
      cityId: {
        baidicheng: "白帝城",
        baituo: "白馱山",
        baizhong: "洛陽",
        banruotang: "少林寺",
        beiyinxiang: "洛陽",
        bihaishanzhuang: "碧海山莊",
        binghuo: "冰火島",
        changan: "洛陽",
        choyin: "喬陰縣",
        dali: "大理",
        duanjian: "斷劍山莊",
        emei: "峨眉山",
        gaibang: "丐幫",
        gaochangmigong: "高昌迷宮",
        guanwai: "大昭寺",
        gumu: "古墓",
        haiyunge: "海雲閣",
        heilongtan: "泰山",
        heimuya: "魔教",
        henshan: "恆山",
        huajie: "花街",
        huashan: "華山",
        huashancun: "華山村",
        hudidinao: "寒梅莊",
        jiangling: "江陵",
        jingcheng: "京城",
        jishanlvgu: "嵩山",
        jueqinggu: "絕情谷",
        kaifeng: "開封",
        latemoon: "晚月莊",
        luohantang: "少林寺",
        luoyang: "洛陽",
        luoyanya: "華山",
        meizhuang: "寒梅莊",
        miaojiang: "苗疆",
        mingjiao: "光明頂",
        mojiajiguancheng: "墨家機關城",
        moyundong: "嵩山",
        murong: "慕容山莊",
        qingcheng: "青城山",
        qingfengzhai: "華山村",
        qinqitai: "恆山",
        quanzhen: "全真教",
        resort: "鐵雪山莊",
        shaolin: "少林寺",
        snow: "雪亭鎮",
        songshan: "嵩山",
        taishan: "泰山",
        tangmen: "唐門",
        taoguan: "茅山",
        taohua: "桃花島",
        tianlongsi: "天龍寺",
        tianshan: "天山",
        tianshengxia: "華山",
        tianshengzhai: "泰山",
        tieflag: "大旗門",
        tudimiao: "華山村",
        waterfog: "水煙閣",
        wudang: "武當山",
        wuguan: "揚州",
        wuqiku: "華山",
        xiakedao: "俠客島",
        xiaoyao: "逍遙林",
        xiliangcheng: "西涼城",
        xinglinxiaoyuan: "寒梅莊",
        xingxiu: "星宿海",
        yangzhou: "揚州",
        yangzhouguanya: "揚州",
        yanyuecheng: "掩月城",
        yezhulin: "開封",
        yingoudufang: "洛陽",
        yuewangjiangong: "越王劍宮",
        yuhuangding: "泰山",
        yuwangtai: "開封",
        zizhiyu: "恆山",
        zuixianlou: "揚州",
      },
      qlList: [
        { n: "書房", v: "jh 1;e;n;e;e;e;e;n" },
        { n: "打鐵鋪子", v: "jh 1;e;n;n;w" },
        { n: "桑鄰藥鋪", v: "jh 1;e;n;n;n;w" },
        { n: "南市", v: "jh 2;n;n;e" },
        { n: "繡樓", v: "jh 2;n;n;n;n;w;s;w" },
        { n: "北大街", v: "jh 2;n;n;n;n;n;n;n" },
        { n: "錢莊", v: "jh 2;n;n;n;n;n;n;n;e" },
        { n: "雜貨鋪", v: "jh 3;s;s;e" },
        { n: "祠堂大門", v: "jh 3;s;s;w" },
        { n: "廳堂", v: "jh 3;s;s;w;n" },
      ],
      mjList: [
        { n: "山坳", v: "jh 1;e;n;n;n;n;n;" },
        { n: "桃花泉", v: "jh 3;s;s;s;s;s;nw;n;n;e" },
        { n: "千尺幢", v: "jh 4;n;n;n;n" },
        { n: "猢猻愁", v: "jh 4;n;n;n;n;n;n;e;n;n;" },
        { n: "潭畔草地", v: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s;s" },
        { n: "玉女峰", v: "jh 4;n;n;n;n;n;n;n;n;w" },
        { n: "長空棧道", v: "jh 4;n;n;n;n;n;n;n;n;n;e" },
        { n: "臨淵石台", v: "jh 4;n;n;n;n;n;n;n;n;n;e;n;" },
        { n: "沙丘小洞", v: "jh 6;event_1_98623439;ne;n;#3 ne;event_1_97428251;" },
        { n: "九老洞", v: "jh 8;w;nw;#4 n;e;e;n;n;e;kill emei_shoushan;#4 n;w;#9 n;nw;sw;w;nw;w" },
        { n: "懸根松", v: "jh 9;n;w" },
        { n: "夕陽嶺", v: "jh 9;n;n;e" },
        { n: "青雲坪", v: "jh 13;e;s;s;w;w" },
        { n: "玉壁瀑布", v: "jh 16;s;s;s;s;e;n;e" },
        { n: "湖邊", v: "jh 16;s;s;s;s;e;n;e;event_1_5221690;s;w" },
        { n: "碧水寒潭", v: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;e;e;se;se;e" },
        { n: "寒水潭", v: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;e;se;" },
        { n: "懸崖", v: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;e" },
        { n: "戈壁", v: "jh 21;" },
        { n: "盧崖瀑布", v: "jh 22;n;n;n;n;e;n" },
        { n: "啟母石", v: "jh 22;n;n;w;w" },
        { n: "無極老姆洞", v: "jh 22;n;n;w;n;n;n;n;" },
        { n: "山溪畔", v: "jh 22;n;n;w;n;n;n;n;event_1_88705407;s;s" },
        { n: "奇槐坡", v: "jh 23;n;n;n;n;n;n;n;n;" },
        { n: "天梯", v: "jh 24;n;n;n;" },
        { n: "小洞天", v: "jh 24;n;n;n;n;e;e" },
        { n: "雲步橋", v: "jh 24;n;n;n;n;n;n;n;n;n;" },
        { n: "觀景台", v: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;" },
        { n: "危崖前", v: "jh 25;w" },
        { n: "草原", v: "jh 26;w" },
        { n: "無名山峽谷", v: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?無名山峽谷;" },
      ],
      prizeList: [
        [
          "明月鞋",
          "月光寶甲衣",
          "明月戒",
          "明月帽",
          "明月項鍊",
          "明月手鐲",
          "屠龍刀",
          "倚天劍",
          "冰魄銀針",
          "墨玄掌套",
          "碧磷鞭",
          "烈日棍",
          "西毒蛇杖",
          "星月大斧",
          "碧玉錘",
          "霸王槍",
        ],
        [
          "烈日寶靴",
          "日光寶甲衣",
          "烈日寶戒",
          "烈日帽",
          "烈日寶鏈",
          "烈日寶鐲",
          "斬神刀",
          "誅仙劍",
          "暴雨梨花針",
          "龍象拳套",
          "七星鞭",
          "殘陽棍",
          "伏虎杖",
          "破冥斧",
          "撼魂錘",
          "赤焰槍",
        ],
        [
          "斬龍寶靴",
          "龍皮至尊甲衣",
          "斬龍寶戒",
          "斬龍帽",
          "斬龍寶鏈",
          "斬龍寶鐲",
          "飛宇天怒刀",
          "九天龍吟劍",
          "小李飛刀",
          "天罡掌套",
          "烏金玄火鞭",
          "開天寶棍",
          "達摩杖",
          "天雷斷龍斧",
          "燭幽鬼煞錘",
          "斬龍鎏金槍",
        ],
        [
          "君影草",
          "矢車菊",
          "忘憂草",
          "仙客來",
          "雪英",
          "朝開暮落花",
          "夕霧草",
          "鳳凰木",
          "熙顏花",
          "晚香玉",
          "淩霄花",
          "彼岸花",
          "洛神花",
          "百宜雪梅",
          "胤天寶帽碎片",
          "胤天項鍊碎片",
          "胤天寶戒碎片",
          "魚腸碎片",
          "軒轅劍碎片",
          "破嶽拳套碎片",
          "胤天寶鐲碎片",
          "胤天寶靴碎片",
          "胤天紫金衣碎片",
          "昊天龍旋鎧碎片",
          "水羽雲裳碎片",
          "奉天金帶碎片",
          "鳳羽乾坤盾碎片",
          "玄冰凝魄槍碎片",
          "雷霆誅神刀碎片",
          "天雨玄鏢碎片",
          "天神杖碎片",
          "轟天巨棍碎片",
          "神龍怒火鞭碎片",
          "胤武伏魔斧碎片",
          "九天滅世錘碎片",
        ],
      ],
      masterList: [
        { n: _("九阴", "九陰"), in: "九陰派", npc: ["梅師姐", "鐵屍"] },
        { n: _("白驼", "白馱"), in: "白馱山派", npc: ["門衛", "白馱山@管家", "白鶴軒", "白厲峰"] },
        { n: _("唐门", "唐門"), in: "唐門", npc: ["歐陽敏"] },
        { n: "魔教", in: "魔教", npc: ["見錢開", "上官雲", "夏侯京", "楊延慶", "葵花傳人"] },
        { n: "青城", in: "青城派", npc: ["吉人英", "黃袍老道", "呂朝陽", "林長老"] },
        { n: "星宿", in: "天宿派", npc: ["天宿老怪"] },
        { n: "天邪", in: "天邪派", npc: ["於蘭天武"] },
        { n: "大招", in: "大招寺", npc: ["葛倫"] },
        { n: "晚月", in: "晚月莊", npc: ["璦倫"] },
        { n: "花紫", in: "花紫會", npc: ["陸得財"] },
        { n: "少林", in: "少林派", npc: ["清為比丘", "達摩老祖"] },
        { n: _("华山", "華山"), in: "華山派", npc: ["獨孤傳人"] },
        { n: "大理", in: "大理段家", npc: ["段氏南僧"] },
        { n: "武当", in: "武當派", npc: ["張三豐"] },
        { n: "铁旗", in: "大旗門", npc: ["鐵雍華"] },
        { n: "明教", in: "明教", npc: ["楊塬", "冷臉先生", "季燕青", "梁風", "仇畢烈", "九陽君"] },
        { n: "全真", in: "全真派", npc: ["老頑童"] },
        { n: "丐帮", in: "丐幫", npc: ["尚鋤姦"] },
        { n: "峨嵋", in: "峨嵋派", npc: ["通星師太"] },
        { n: "步玄", in: "步玄派", npc: ["駱雲舟"] },
        { n: "逍遥", in: "逍遙派", npc: ["童冰煙"] },
        { n: "慕容", in: "慕容世家", npc: ["燕浩宇"] },
        { n: "古墓", in: "古墓派", npc: ["過必修"] },
        { n: "桃花", in: "桃花島", npc: ["李奇門"] },
        { n: "茅山", in: "茅山派", npc: ["張天師"] },
        { n: "铁雪", in: "鐵雪山莊", npc: ["鐵少", "雪蕊兒"] },
        { n: "封山", in: "封山劍派", npc: ["柳淳風"] },
        { n: "断剑", in: "斷劍山莊", npc: ["劍魔求敗"] },
        { n: "风花", in: "風花牧場", npc: ["宋喉"] },
        { n: "天波", in: "天波楊門", npc: ["楊延昭"] },
        { n: "燕云", in: "燕雲世家", npc: ["耶律楚哥"] },
        { n: "西夏", in: "西夏堂", npc: ["嵬名元昊"] },
        { n: "自动出师", v: "eval_PLU.autoChushi()" },
      ],
      gemPrefix: ["碎裂的", "裂開的", "", "無暇的", "完美的", "君王的", "皇帝的", "天神的"],
      gemType: [
        { name: "紅寶石", key: "hongbaoshi", color: "#F00" },
        { name: "黃寶石", key: "huangbaoshi", color: "#FA0" },
        { name: "綠寶石", key: "lvbaoshi", color: "#0C0" },
        { name: "藍寶石", key: "lanbaoshi", color: "#00F" },
        { name: "紫寶石", key: "zishuijing", color: "#F0F" },
      ],
      qixiaList: [
        "宇文無敵",
        "李玄霸",
        "夏嶽卿",
        "玄月研",
        "穆妙羽",
        "烈九州",
        "厲滄若",
        "八部龍將",
        "妙無心",
        "巫夜姬",
        "狼居胥",
        "風行騅",
        "風無痕",
        "吳縝",
        "狐蒼雁",
        "護竺",
        "李宇飛",
        "龐統",
        "逆風舞",
        "王蓉",
        "浪喚雨",
        "火雲邪神",
        "風南",
        "郭濟",
        "步驚鴻",
      ],
      qixiaFriend: [
        { name: "宇文無敵", skillFN: 40000 },
        { name: "李玄霸", skillFN: 40000 },
        { name: "夏嶽卿", skillFN: 40000 },
        { name: "玄月研", skillFN: 40000 },
        { name: "穆妙羽", skillFN: 40000 },
        { name: "烈九州", skillFN: 40000 },
        { name: "厲滄若", skillFN: 40000 },
        { name: "八部龍將", skillFN: 40000 },
        { name: "妙無心", skillFN: 40000 },
        { name: "巫夜姬", skillFN: 40000 },
        { name: "狼居胥", skillFN: 40000 },
        { name: "風行騅", skillFN: 40000 },
        { name: "風無痕", skillFN: 40000 },
        { name: "吳縝", skillFN: 40000 },
        { name: "狐蒼雁", skillFN: 35000 },
        { name: "護竺", skillFN: 35000 },
        { name: "李宇飛", skillFN: 25000 },
        { name: "龐統", skillFN: 25000 },
        { name: "逆風舞", skillFN: 25000 },
        { name: "王蓉", skillFN: 25000 },
        { name: "浪喚雨", skillFN: 25000 },
        { name: "火雲邪神", skillFN: 25000 },
        { name: "風南", skillFN: 25000 },
        { name: "郭濟", skillFN: 25000 },
        { name: "步驚鴻", skillFN: 25000 },
      ],
      youxiaList: [
        {
          n: "門客",
          v: [
            "王語嫣",
            "範蠡",
            "程靈素",
            "水靈光",
            "霍青桐",
            "石青璇",
            "李紅袖",
            "宋玉緻",
            "華佗",
            "魯妙子",
            "顧倩兮",
            "水笙",
            "林仙兒",
            "郭襄",
            "程瑛",
            "任盈盈",
            "阿朱",
            "袁紫衣",
            "趙敏",
            "小昭",
            "韋小寶",
          ],
        },
        { n: "邪武", v: ["林遠圖", "厲工", "金輪法王", "鳩摩智", "上官金虹", "封寒", "卓淩昭", "厲若海", "乾羅", "孫恩", "婠婠", "練霓裳", "成昆", "侯希白", "夜魔"] },
        {
          n: "俠客",
          v: ["0柯鎮惡", "哈瑪雅", "喬峰", "盧雲", "虛竹", "徐子陵", "虛夜月", "雲夢璃", "花無缺", "風行烈", "黃藥師", "洪七公", "石破天", "寧不凡", "獨孤求敗"],
        },
        { n: "魔尊", v: ["龐斑", "楊肅觀", "歐陽鋒", "葉孤城", "燕狂徒"] },
        { n: "宗師", v: ["宋缺", "逍遙子", "李尋歡", "令東來", "楚留香"] },
      ],
      youxiaSkillMap: [
        {
          skill: "長春不老功",
          name: "逍遙子",
          kind: "宗師",
          type: "內功",
          pre: [
            { skill: "龍象般若功", name: "金輪法王", kind: "邪武", type: "內功", lvl: 40 },
            { skill: "紫血大法", name: "厲工", kind: "邪武", type: "內功", lvl: 40 },
          ],
        },
        {
          skill: "九陰逆",
          name: "歐陽鋒",
          kind: "魔尊",
          type: "內功",
          pre: [
            { skill: "白首太玄經", name: "石破天", kind: "俠客", type: "內功", lvl: 40 },
            { skill: "彈指神通", name: "黃藥師", kind: "俠客", type: "掌法", lvl: 40 },
          ],
        },
        {
          skill: "鳳舞九天",
          name: "宮九",
          kind: "魔尊",
          type: "輕功",
          pre: [
            { skill: "天魔妙舞", name: "婠婠", kind: "邪武", type: "輕功", lvl: 120 },
            { skill: "雲夢歸月", name: "雲夢璃", kind: "俠客", type: "輕功", lvl: 120 },
            { skill: "飛鴻鞭法", name: "哈瑪雅", kind: "俠客", type: "鞭法", lvl: 120 },
            {
              skill: "踏月留香",
              name: "楚留香",
              kind: "宗師",
              type: "輕功",
              lvl: 120,
              pre: [
                { skill: "天魔妙舞", name: "婠婠", kind: "邪武", type: "輕功", lvl: 40 },
                { skill: "雲夢歸月", name: "雲夢璃", kind: "俠客", type: "輕功", lvl: 40 },
                { skill: "降魔杖法", name: "0柯鎮惡", kind: "俠客", type: "杖法", lvl: 40 },
                { skill: "飛鴻鞭法", name: "哈瑪雅", kind: "俠客", type: "鞭法", lvl: 40 },
              ],
            },
          ],
        },
        {
          skill: "無劍之劍",
          name: "白雲天",
          kind: "宗師",
          type: "劍法",
          pre: [
            { skill: "天魔妙舞", name: "婠婠", kind: "邪武", type: "輕功", lvl: 120 },
            { skill: "神劍慧芒", name: "卓淩昭", kind: "邪武", type: "劍法", lvl: 120 },
            { skill: "不凡三劍", name: "寧不凡", kind: "俠客", type: "劍法", lvl: 120 },
            {
              skill: "天外飛仙",
              name: "葉孤城",
              kind: "魔尊",
              type: "劍法",
              lvl: 120,
              pre: [
                { skill: "紫虛辟邪劍", name: "林遠圖", kind: "邪武", type: "劍法", lvl: 40 },
                { skill: "神劍慧芒", name: "卓淩昭", kind: "邪武", type: "劍法", lvl: 40 },
                { skill: "不凡三劍", name: "寧不凡", kind: "俠客", type: "劍法", lvl: 40 },
              ],
            },
          ],
        },
        {
          skill: "披羅紫氣",
          name: "伍定遠",
          kind: "宗師",
          type: "掌法",
          pre: [
            { skill: "雲夢歸月", name: "雲夢璃", kind: "俠客", type: "輕功", lvl: 120 },
            { skill: "降龍廿八掌", name: "喬峰", kind: "俠客", type: "掌法", lvl: 120 },
            { skill: "彈指神通", name: "黃藥師", kind: "俠客", type: "掌法", lvl: 120 },
            {
              skill: "天魔策",
              name: "龐斑",
              kind: "魔尊",
              type: "掌法",
              lvl: 120,
              pre: [
                { skill: "降龍廿八掌", name: "喬峰", kind: "俠客", type: "掌法", lvl: 40 },
                { skill: "無相六陽掌", name: "虛竹", kind: "俠客", type: "掌法", lvl: 40 },
                { skill: "折花百式", name: "侯希白", kind: "邪武", type: "掌法", lvl: 40 },
                { skill: "釋迦拈花指", name: "鳩摩智", kind: "邪武", type: "掌法", lvl: 40 },
              ],
            },
          ],
        },
        {
          skill: "火貪一刀",
          name: "方子敬",
          kind: "魔尊",
          type: "刀法",
          pre: [
            { skill: "天魔妙舞", name: "婠婠", kind: "邪武", type: "輕功", lvl: 120 },
            { skill: "左手刀法", name: "封寒", kind: "邪武", type: "刀法", lvl: 120 },
            { skill: "移花接玉刀", name: "花無缺", kind: "俠客", type: "刀法", lvl: 120 },
            {
              skill: "天刀八訣",
              name: "宋缺",
              kind: "宗師",
              type: "刀法",
              lvl: 120,
              pre: [
                { skill: "左手刀法", name: "封寒", kind: "邪武", type: "刀法", lvl: 40 },
                { skill: "移花接玉刀", name: "花無缺", kind: "俠客", type: "刀法", lvl: 40 },
              ],
            },
          ],
        },
        {
          skill: "天雷落",
          name: "石剛",
          kind: "魔尊",
          type: "暗器",
          pre: [
            { skill: "雲夢歸月", name: "雲夢璃", kind: "俠客", type: "輕功", lvl: 120 },
            { skill: "九字真言印", name: "徐子陵", kind: "俠客", type: "暗器", lvl: 120 },
            { skill: "九星定形針", name: "練霓裳", kind: "邪武", type: "暗器", lvl: 120 },
            {
              skill: "小李飛刀",
              name: "李尋歡",
              kind: "宗師",
              type: "暗器",
              lvl: 120,
              pre: [
                { skill: "九字真言印", name: "徐子陵", kind: "俠客", type: "暗器", lvl: 40 },
                { skill: "九星定形針", name: "練霓裳", kind: "邪武", type: "暗器", lvl: 40 },
                { skill: "子母龍鳳環", name: "上官金虹", kind: "邪武", type: "暗器", lvl: 40 },
              ],
            },
          ],
        },
        {
          skill: "孤帆鞭影",
          name: "陸孤瞻",
          kind: "魔尊",
          type: "鞭法",
          pre: [
            { skill: "彈指神通", name: "黃藥師", kind: "俠客", type: "掌法", lvl: 120 },
            { skill: "降魔杖法", name: "0柯鎮惡", kind: "俠客", type: "杖法", lvl: 120 },
            { skill: "飛鴻鞭法", name: "哈瑪雅", kind: "俠客", type: "鞭法", lvl: 120 },
            { skill: "冰玄鞭法", name: "乾羅", kind: "邪武", type: "鞭法", lvl: 120 },
          ],
        },
        {
          skill: "無雙連錘",
          name: "瓦耳拉齊",
          kind: "魔尊",
          type: "錘法",
          pre: [
            { skill: "游龍劍", name: "孫恩", kind: "邪武", type: "劍法", lvl: 120 },
            { skill: "幻陰指錘", name: "成昆", kind: "邪武", type: "錘法", lvl: 120 },
            { skill: "正道十七", name: "盧雲", kind: "俠客", type: "錘法", lvl: 120 },
            {
              skill: "玉石俱焚",
              name: "燕狂徒",
              kind: "魔尊",
              type: "錘法",
              lvl: 120,
              pre: [
                { skill: "幻陰指錘", name: "成昆", kind: "邪武", type: "錘法", lvl: 40 },
                { skill: "正道十七", name: "盧雲", kind: "俠客", type: "錘法", lvl: 40 },
              ],
            },
          ],
        },
        {
          skill: "暗山神斧",
          name: "0六先生",
          kind: "魔尊",
          type: "斧法",
          pre: [
            { skill: "雲夢歸月", name: "雲夢璃", kind: "俠客", type: "輕功", lvl: 120 },
            { skill: "彈指神通", name: "黃藥師", kind: "俠客", type: "掌法", lvl: 120 },
            { skill: "降魔杖法", name: "0柯鎮惡", kind: "俠客", type: "杖法", lvl: 120 },
            { skill: "獨孤斧訣", name: "獨孤求敗", kind: "俠客", type: "斧法", lvl: 120 },
          ],
        },
        {
          skill: "六道輪迴",
          name: "楊肅觀",
          kind: "魔尊",
          type: "斧法",
          pre: [
            { skill: "天魔妙舞", name: "婠婠", kind: "邪武", type: "輕功", lvl: 40 },
            { skill: "青冥血斧", name: "夜魔", kind: "邪武", type: "斧法", lvl: 40 },
            { skill: "獨孤斧訣", name: "獨孤求敗", kind: "俠客", type: "斧法", lvl: 40 },
          ],
        },
        {
          skill: "溫候戟舞",
          name: "韓毅",
          kind: "魔尊",
          type: "槍法",
          pre: [
            { skill: "彈指神通", name: "黃藥師", kind: "俠客", type: "掌法", lvl: 120 },
            { skill: "冰月破魔槍", name: "風行烈", kind: "俠客", type: "槍法", lvl: 120 },
            { skill: "燎原百擊", name: "厲若海", kind: "邪武", type: "槍法", lvl: 120 },
            {
              skill: "神龍東來",
              name: "令東來",
              kind: "宗師",
              type: "槍法",
              lvl: 120,
              pre: [
                { skill: "冰月破魔槍", name: "風行烈", kind: "俠客", type: "槍法", lvl: 40 },
                { skill: "燎原百擊", name: "厲若海", kind: "邪武", type: "槍法", lvl: 40 },
                { skill: "月夜鬼蕭", name: "虛夜月", kind: "俠客", type: "棍法", lvl: 40 },
              ],
            },
          ],
        },
      ],
    };

    let waitGameSI = setInterval(() => {
      if (g_obj_map && g_obj_map.get("msg_attrs")) {
        clearInterval(waitGameSI);
        PLU.init();
      }
    }, 500);
  }

  // 本地化
  function _(c, t) {
    return navigator.language == "zh-CN" || !t ? c : t;
  }

  class Base64 {
    constructor() {
      let Encoder = new TextEncoder();
      let Decoder = new TextDecoder();
      this.encode = (s) => btoa(Array.from(Encoder.encode(s), (x) => String.fromCodePoint(x)).join(""));
      this.decode = (s) => Decoder.decode(Uint8Array.from(atob(s), (m) => m.codePointAt(0)));
    }
  }
  function attach() {
    let oldWriteToScreen = unsafeWindow.writeToScreen;
    unsafeWindow.writeToScreen = function (a, e, f, g) {
      if (PLU.developerMode) console.debug(a);
      if (e == 2 && a.indexOf("find_task_road") != -1) {
        a = a.replace(/find_task_road3/g, "find_task_road2");
        var puzzleItems = a.split("<br/><br/>");
        var puzzleid = "";
        for (var i = 0; i < puzzleItems.length; i++) {
          if (puzzleItems[i].indexOf("find_task_road") == -1) {
            continue;
          }
          puzzleid = PLU.autoPuzzle.analyzePuzzle(puzzleItems[i]);
          if (PLU.getCache("listenPuzzle") && PLU.TMP.puzzleWating?.puzzleid != puzzleid) {
            if (PLU.getCache("puzzleTimeOut"))
              PLU.TMP.puzzleTimeOut = setTimeout(() => {
                PLU.TMP.puzzleList[puzzleid] = undefined;
                PLU.execActions("home");
              }, PLU.getCache("puzzleTimeOut") * 1000);
            PLU.autoPuzzle.startpuzzle(puzzleid);
          }
          if (puzzleItems[i].indexOf('javascript:go1("cus|startpuzzle|') == -1)
            puzzleItems[i] += " <a class='go-btn' href='javascript:PLU.autoPuzzle.startpuzzle(\"" + puzzleid + "\")'>【GO】</a>";
          else puzzleItems[i] = puzzleItems[i].replace('javascript:go1("cus|startpuzzle|', 'javascript:PLU.autoPuzzle.startpuzzle("');
          if (PLU.TMP.puzzleWating && puzzleid == PLU.TMP.puzzleWating.puzzleid && puzzleItems[i].indexOf("謎題") == -1) {
            PLU.autoPuzzle.startpuzzle(puzzleid);
          }
        }
        a = puzzleItems.join("<br/><br/>");
      } else if (PLU.TMP.puzzleWating) {
        if (e == 2 && a.indexOf("不接受你給的東西。") > -1 && PLU.TMP.puzzleWating.puzzleid && PLU.TMP.puzzleWating.status == "give") {
          PLU.TMP.puzzleWating.waitCount--;
          if (PLU.TMP.puzzleWating.waitCount <= 0) {
            clearTimeout(PLU.TMP.puzzleWating.waitTimer);
            PLU.TMP.puzzleWating.status = "trace";
            PLU.execActions("find_task_road " + PLU.TMP.puzzleWating.puzzleid);
          }
        } else if (
          e == 2 &&
          PLU.TMP.puzzleWating.puzzleid &&
          (PLU.TMP.puzzleWating.status == "wait" || PLU.TMP.puzzleWating.status == "traced") &&
          PLU.TMP.puzzleWating.action == "get" &&
          (a.indexOf("你撿起") > -1 || /你從.*的屍體裏搜出.*。/.test(a) || /你用.*向.*買下.*。/.test(a)) &&
          a.indexOf(PLU.TMP.puzzleWating.target) > -1
        ) {
          PLU.TMP.puzzleWating = {
            puzzleid: PLU.TMP.puzzleWating.puzzleid,
            action: "get",
            actionCode: "give",
            target: PLU.TMP.puzzleList[PLU.TMP.puzzleWating.puzzleid].publisherName,
            status: "return",
          };
          PLU.execActions("find_task_road2 " + PLU.TMP.puzzleWating.puzzleid);
        } else if (e == 2 && a.indexOf("我就不給,你又能怎樣?") > -1 && PLU.TMP.puzzleWating.puzzleid && PLU.TMP.puzzleWating.actionCode == "fight") {
          PLU.autoPuzzle.doPuzzle(PLU.TMP.puzzleWating.puzzleid);
        } else if (e == 2 && PLU.TMP.puzzleWating.puzzleid && /完成謎題\((\d+)\/\d+\):(.*)的謎題\S*\s*\S*x(\d+)\s*\S*x\d+\s*\S*銀兩x(\d{1,})/.test(a)) {
          clearTimeout(PLU.TMP.puzzleTimeOut);
          if (PLU.getCache("listenPuzzle") && !PLU.TMP.autoscan) {
            PLU.execActions("home");
            return;
          }
          var puzzleFinish = /完成謎題\((\d+)\/\d+\):(.*)的謎題\S*\s*\S*x(\d+)\s*\S*x\d+\s*\S*銀兩x(\d{1,})/.exec(a);
          puzzleFinish[2] = puzzleFinish[2].replace(/^<\/span>/, "").replace(//g, "");
          if (puzzleFinish[2] == PLU.TMP.puzzleList[PLU.TMP.puzzleWating.puzzleid].firstPublisherName) {
            PLU.TMP.puzzleList[PLU.TMP.puzzleWating.puzzleid].prize = puzzleFinish[0].replace(/<\/?span[^>]*>/g, "").replace(/<br\/>/g, "\n");
            if (+puzzleFinish[4] > 1800) {
              a +=
                "<br><button onClick='PLU.autoPuzzle.puzzlesubmit(\"" +
                PLU.TMP.puzzleWating.puzzleid +
                "\");' style='background: #FF6B00; color: #fff; margin: 5px;'>【發佈】</button>";
              if (PLU.TMP.autoscan) PLU.autoPuzzle.puzzlesubmit(PLU.TMP.puzzleWating.puzzleid);
            }
            if (a.indexOf("當前謎題密碼") >= 0) {
              var mimatext = a.split("當前謎題密碼:")[1].split("<")[0];
              if ((localStorage.getItem("masterAcc") || PLU.accId) == PLU.accId) {
                a +=
                  "<button onClick='PLU.execActions(\"jh 1;e;n;n;n;n;w;event_1_65953349 " +
                  mimatext +
                  ";home\")' style='background: #FF6B00; color: #fff; margin: 5px;'>【交密碼】</button>";
              } else {
                a +=
                  "<button onClick='PLU.execActions(\"tell u" +
                  localStorage.getItem("masterAcc") +
                  " 謎題密碼: " +
                  mimatext +
                  "\")' style='background: #FF6B00; color: #fff; margin: 5px;'>【交密碼】</button>";
              }
            }
            PLU.TMP.puzzleWating = {};
            if (PLU.TMP.autoscan) {
              PLU.TMP.index++;
              PLU.TMP.func();
            }
          }
        }
      }
      oldWriteToScreen(a, e, f, g);
    };
  }
  //=================================================================================
  // UTIL模組
  //=================================================================================
  unsafeWindow.PLU = {
    version: GM_info.script.version + "(v2.72.0622.01)",
    accId: null,
    nickName: null,
    battleData: null,
    MPFZ: {},
    TODO: [], //待辦列表
    STO: {},
    SIT: {},
    ONOFF: {},
    STATUS: {
      inBattle: 0,
      isBusy: 0,
    },
    CACHE: {
      autoDZ: 1,
      autoHYC: 1,
      auto9H: 1,
      autoLX: 1,
      autoBF: 1,
      autoB6: 1,
      autoB5F: 1,
      autoDY: 0,
      develop: 0,
      puzzleTimeOut: 60,
    },
    FLK: null,
    TMP: { autotask: false, iBatchAskModel: 0 },
    logHtml: "",
    signInMaps: null,
    //================================================================================================
    init() {
      this.accId = UTIL.getAccId();
      this.developerMode =
        (UTIL.getMem("CACHE") && JSON.parse(UTIL.getMem("CACHE")).developer) || ["8429379(1)", "8432668(1)", "8432667(1)", "8432616(1)"].includes(this.accId);
      if (this.developerMode) {
        this.GM_info = GM_info;
        UTIL.addSysListener("developer", (b, type, subtype, msg) => {
          if (type && type == "attrs_changed") return;
          if (type && type == "channel" && subtype == "rumor") return;
          console.log(b);
        });
      }
      this.initMenu();
      this.initTickTime();
      this.initStorage();
      this.initHistory();
      this.initSocketMsgEvent();
      this.initVersion();

      addEventListener("keydown", (key) => {
        if (key.altKey || key.ctrlKey || key.metaKey || key.shiftKey) return; // 不考慮組合鍵
        if (document.activeElement && document.activeElement.tagName == "INPUT") return;
        switch (key.keyCode) {
          case 81: // q
            clickButton("nw");
            break;
          case 87: // w
            clickButton("n");
            break;
          case 69: // e
            clickButton("ne");
            break;
          case 65: // a
            clickButton("w");
            break;
          case 83: // s
            clickButton("s");
            break;
          case 68: // d
            clickButton("e");
            break;
          case 90: // z
            clickButton("sw");
            break;
          case 67: // c
            clickButton("se");
            break;
        }
      });
    },

    //================================================================================================
    initVersion() {
      this.nickName = g_obj_map.get("msg_attrs").get("name");
      YFUI.writeToOut(
        `<span style='color:yellow;'>
        +===========================+
        ${_("脚本名称: 无剑Mud辅助", "腳本名稱:無劍Mud輔助")}
        ${_("脚本开发", "腳本開發")}:燕飞,東方鳴
        ${_("脚本版本:", "腳本版本:")}${this.version}
        ${_("当前角色:", "當前角色:")}${this.nickName}${this.developerMode ? _("(已开启开发者模式)", "(已開啓開發者模式)") : ""}
        角 色 ID :${this.accId}
        +===========================+</span>`,
      );
      YFUI.writeToOut("<span style='color:#FFF;'>" + _("监听设定", "監聽設定") + ":</span>");
      let autosets = "";
      if (PLU.getCache("autoDZ") == 1) autosets += _("连续打坐,", "連續打坐, ");
      if (PLU.getCache("autoHYC") == 1) autosets += _("连续睡床,", "連續睡床, ");
      if (PLU.getCache("auto9H") == 1) autosets += _("持续九花,", "持續九花,");
      if (PLU.getCache("autoDY") == 1) autosets += _("持续钓鱼,", "持續釣魚,");
      if (PLU.getCache("autoLX") == 1) autosets += _("连续练习,", "連續練習, ");
      if (PLU.getCache("autoBF") == 1) autosets += _("加入帮四,", "加入幫四, ");
      if (PLU.getCache("autoB6") == 1) autosets += _("加入帮六,", "加入幫六, ");
      if (PLU.getCache("autoB5F") == 1) autosets += _("帮五跟杀,", "幫五跟殺, ");
      if (PLU.getCache("listenPuzzle") == 1) autosets += _("暴击谜题,", "暴擊謎題, ");
      YFUI.writeToOut("<span style='color:#CFF;'>" + autosets + "</span>");
      if (PLU.getCache("autoTP") == 1) {
        YFUI.writeToOut("<span style='color:#CFF;'>" + _("自动突破", "自動突破") + ": <span style='color:#FF9;'>" + PLU.getCache("autoTP_keys") + "</span></span>");
      }
      if (PLU.getCache("listenQL") == 1) {
        YFUI.writeToOut("<span style='color:#CFF;'>" + _("自动青龙", "自動青龍") + ": <span style='color:#FF9;'>" + PLU.getCache("listenQL_keys") + "</span></span>");
      }
      if (PLU.getCache("listenKFQL") == 1) {
        YFUI.writeToOut("<span style='color:#CFF;'>" + _("跨服青龙", "跨服青龍") + ": <span style='color:#FF9;'>" + PLU.getCache("listenKFQL_keys") + "</span></span>");
      }
      if (PLU.getCache("listenTF") == 1) {
        YFUI.writeToOut("<span style='color:#CFF;'>" + _("自动逃犯", "自動逃犯") + ": <span style='color:#FF9;'>" + PLU.getCache("listenTF_keys") + "</span></span>");
      }
      if (!g_gmain.is_fighting) {
        PLU.getSkillsList((allSkills, tupoSkills) => {
          if (tupoSkills.length > 0) {
            YFUI.writeToOut("<span style='color:white;'>突破中技能:</span>");
            let topos = "";
            tupoSkills.forEach((sk, i) => {
              topos += "<span style='color:#CCF;min-width:100px;display:inline-block;'>" + (i + 1) + " : " + sk.name + "</span>";
            });
            YFUI.writeToOut("<span style='color:#CCF;'> " + topos + "</span>");
            YFUI.writeToOut("<span style='color:yellow;'>+------------------------------+</span>");
          } else {
            YFUI.writeToOut("<span style='color:white;'>突破中技能: " + _("无", "無") + "</span>");
            YFUI.writeToOut("<span style='color:yellow;'>+------------------------------+</span>");
          }
          let lxSkill = g_obj_map.get("msg_attrs")?.get("practice_skill") || 0;
          if (lxSkill) {
            let sk = allSkills.find((s) => s.key == lxSkill);
            if (sk) {
              YFUI.writeToOut(
                "<span style='color:white;'>" + _("练习中的技能", "練習中技能") + ": <span style='color:#F0F;'>" + sk.name + "</span> (" + sk.level + ")</span>",
              );
              YFUI.writeToOut("<span style='color:yellow;'>+------------------------------+</span>");
            }
          } else {
            YFUI.writeToOut("<span style='color:white;'>" + _("练习中的技能:无", "練習中技能:無") + "</span>");
            YFUI.writeToOut("<span style='color:yellow;'>+------------------------------+</span>");
          }
        });
      }
    },
    //================================================================================================
    initSocketMsgEvent() {
      if (!gSocketMsg) {
        console.log("%c%s", "background:#C33;color:#FFF;", " ERROR:Not found gSocketMsg!! ");
        return;
      }
      gSocketMsg.YFBackupDispatchMsg = gSocketMsg.dispatchMessage;
      gSocketMsg.dispatchMessage = (b) => {
        gSocketMsg.YFBackupDispatchMsg(b);
        let type = b.get("type");
        let subtype = b.get("subtype");
        let msg = b.get("msg");
        UTIL.sysDispatchMsg(b, type, subtype, msg);
      };
      gSocketMsg.change_skill_button = function (m, is_del) {
        var m_vs_info = g_obj_map.get("msg_vs_info"),
          m2 = g_obj_map.get("msg_attrs");
        if (!m_vs_info || !m2) return 0;
        if (is_del) {
          g_obj_map.remove("skill_button" + is_del);
          return 1;
        }
        var id = this.get_combat_user_id();
        if (id != m.get("uid")) return 0;
        var pos = parseInt(m.get("pos"));
        if (pos <= 0 || pos > this._skill_btn_cnt) return 0;
        g_obj_map.put("skill_button" + pos, m);
        this.refresh_skill_button();
      };
      PLU.initListeners();
      if (unsafeWindow.clickButton) {
        PLU.Base64 = new Base64();
        var proxy_clickButton = unsafeWindow.clickButton;
        unsafeWindow.clickButton = function () {
          let args = arguments;
          if (PLU.developerMode) {
            console.log(args);
          }
          // 指令录制
          if (
            PLU.TMP.cmds &&
            !g_gmain.is_fighting &&
            ["attrs", "none", "jh", "fb", "prev_combat", "home_prompt", "jhselect", "fbselect", "send_chat"].indexOf(args[0]) < 0 &&
            args[0].indexOf("look_npc ") &&
            !args[0].match(/^(jh|fb)go /) &&
            args[0].indexOf("go_chat")
          ) {
            if (
              args[0].indexOf("go southeast.") == 0 ||
              args[0].indexOf("go southwest.") == 0 ||
              args[0].indexOf("go northeast.") == 0 ||
              args[0].indexOf("go northwest.") == 0
            )
              PLU.TMP.cmds.push(args[0][3] + args[0][8]);
            else if (args[0].indexOf("go east.") == 0 || args[0].indexOf("go west.") == 0 || args[0].indexOf("go south.") == 0 || args[0].indexOf("go north.") == 0)
              PLU.TMP.cmds.push(args[0][3]);
            else PLU.TMP.cmds.push(args[0]);
          }
          if (args[0].indexOf("ask ") == 0) {
            UTIL.addSysListener("ask", (b, type, subtype, msg) => {
              if ((type == "jh" && subtype == "info") || UTIL.inHome()) {
                UTIL.delSysListener("ask");
              }
              if (type != "main_msg" || msg.indexOf("嗯,相遇即是緣,你是練武奇才,我送點東西給你吧。") == -1) return;
              proxy_clickButton(args[0]);
              UTIL.delSysListener("ask");
            });
            setTimeout(() => {
              UTIL.delSysListener("ask");
            }, 500);
            proxy_clickButton(args[0]);
          }
          // 解除聊天屏蔽,對非腳本玩家可用
          else if (PLU.developerMode && args[0].indexOf("chat ") == 0) {
            let msg = args[0].substring(5);
            for (var PATTERN of KEYWORD_PATTERNS) msg = msg.replace(PATTERN, (s) => Array.from(s).join("\f"));
            proxy_clickButton("chat " + msg);
          }
          // 解除四海商店限制
          else if ((args[0].indexOf("reclaim recl ") == 0 || args[0].indexOf("reclaim buy ") == 0) && !args[0].match(" page ")) {
            let cmd = args[0].match(/^reclaim (recl|buy) (\d+) (go )?(.+)$/);
            if (cmd[1]) {
              let n = Number(cmd[2]);
              switch (cmd[1]) {
                case "recl":
                  for (; n > 50000; n -= 50000) {
                    proxy_clickButton(`reclaim recl 50000 go ${cmd[4]}`, 1);
                  }
                  proxy_clickButton(`reclaim recl ${n} go ${cmd[4]}`, 1);
                  break;
                case "buy":
                  for (; n > 50000; n -= 50000) {
                    proxy_clickButton(`reclaim buy 50000 go ${cmd[4]}`, 1);
                  }
                  proxy_clickButton(`reclaim buy ${n} go ${cmd[4]}`, 1);
                  break;
              }
            }
          } else {
            proxy_clickButton(...args);
          }
          if (PLU.TMP.leaderTeamSync) {
            PLU.commandTeam(args);
          }
        };
      }
    },

    //================================================================================================
    initMenu() {
      YFUI.init();
      YFUI.addBtn({
        id: "ro",
        text: _("▲隐", "▲隱"),
        style: {
          width: "30px",
          opacity: ".6",
          background: "#333",
          color: "#FFF",
          border: "1px solid #CCC",
          borderRadius: "8px 0 0 0",
        },
        onclick($btn) {
          $("#pluginMenus").toggle();
          $("#pluginMenus").is(":hidden") ? $btn.text(_("▼显", "▼顯")) : $btn.text(_("▲隐", "▲隱"));
          $(".menu").hide();
        },
      });
      YFUI.addBtnGroup({ id: "pluginMenus" });
      //Paths
      let PathsArray = [];
      PathsArray.push({
        id: "bt_home",
        groupId: "pluginMenus",
        text: _("首页", "首頁"),
        style: { background: "#FFFF99", padding: "5px 2px", width: "40px" },
        onclick(e) {
          $(".menu").hide();
          PLU.STATUS.isBusy = false;
          clickButton("home", 1);
        },
      });
      let citysArray = PLU.YFD.cityList.map((c, i) => {
        return { id: "bt_jh_" + (i + 1), text: c, extend: "jh " + (i + 1) };
      }).concat([{ id: "bt_jh_" + (PLU.YFD.cityList.length + 1), text: _("龙神遗迹", "龍神遺蹟"), extend: "jh 1;e;#4 n;w;event_1_90287255 go go_lsyj" }]);
      PathsArray.push({
        id: "bt_citys",
        text: _("地图", "地圖"),
        style: { background: "#FFE", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "240px", "margin-top": "-25px" },
        children: citysArray,
      });
      let qlArray = PLU.YFD.qlList.map((p, i) => {
        return {
          id: "bt_ql_" + (i + 1),
          text: p.n,
          extend: { func: () => PLU.execActions(PLU.minPath(PLU.queryRoomPath(), p.v)) },
          style: { "background-color": "#CFF" },
        };
      });
      if (PLU.developerMode)
        qlArray.push({
          id: "bt_ql_xunluo",
          text: _("巡逻", "巡邏"),
          extend: { func: PLU.qlxl },
          style: { "background-color": "#CFF" },
        });
      PathsArray.push({
        id: "bt_qls",
        text: _("青龙", "青龍"),
        style: { background: "#DFF", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "160px", "margin-top": "-50px" },
        children: qlArray,
      });

      let mjArray = PLU.YFD.mjList.map((p, i) => {
        return {
          id: "bt_mj_" + (i + 1),
          text: p.n,
          extend: p.v,
          style: { "background-color": "#EFD" },
        };
      });
      PathsArray.push({
        id: "bt_mjs",
        text: "秘境",
        style: { background: "#EFD", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "160px", "margin-top": "-75px" },
        children: mjArray,
      });
      PLU.autoChushi = () => {
        let family = g_obj_map.get("msg_attrs") && g_obj_map.get("msg_attrs").get("family_name");
        let master = PLU.YFD.masterList.slice(0, 32).find((e) => e.in == family);
        if (master == undefined) return;
        let npc = PLU.queryNpc("^" + master.npc.slice(-1)[0] + "$", true);
        if (!npc.length) return;
        let way = npc[0].way;
        //PLU.ONOFF["bt_kg_teamSync"] = 0;
        PLU.execActions(way, () => {
          let npc = UTIL.findRoomNpcReg("^" + master.npc.slice(-1)[0] + "$");
          if (!npc) return;
          let key = npc.key;
          PLU.execActions("apprentice " + key, () => {
            PLU.autoFight({
              targetKey: key,
              fightKind: "fight",
              autoSkill: "multi",
              onEnd() {
                PLU.execActions("chushi " + key, () => {
                  if (family == "鐵雪山莊") PLU.execActions("chushi resort_master");
                });
              },
              onFail() {
                PLU.autoFight({
                  targetKey: key,
                  fightKind: "chushi",
                  autoSkill: "multi",
                  onEnd() {
                    PLU.execActions("chushi " + key);
                  },
                });
              },
            });
          });
        });
      };
      let masterArray = PLU.YFD.masterList.map((p, i) => {
        if (i == 32)
          return {
            id: "bt_master_33",
            text: p.n,
            extend: p.v,
            style: {
              "background-color": "#FBB",
              width: "88px",
              padding: "5px 2px",
            },
          };
        let colr = i < 10 ? "#FCF" : i < 20 ? "#CFF" : "#FFC";
        return {
          id: "bt_master_" + (i + 1),
          text: p.n,
          children: (() => {
            if (!PLU.developerMode) return [];
            return [
              {
                id: "bt_master_" + (i + 1) + "_0",
                text: "拜入" + p.n,
                extend: {
                  func: () => send_prompt(" 是否確定要加入" + p.in + "\n\n\n\n", "home apprentice " + p.in, "確定", 0),
                },
                style: { "background-color": colr },
              },
            ];
          })().concat(
            p.npc.map((name, j) => {
              return {
                id: "bt_master_" + (i + 1) + "_" + (j + 1),
                text: name.split("@").slice(-1)[0],
                extend: PLU.queryNpc(name + "道", true)[0].way,
                style: { "background-color": colr },
              };
            }),
          ),
          style: {
            "background-color": colr,
            width: "40px",
            padding: "5px 2px",
          },
          menuStyle: (function () {
            if (i & 1) return { right: "101px", width: "160px" };
            return { width: "160px" };
          })(),
        };
      });
      PathsArray.push({
        id: "bt_masters",
        text: _("师门", "師門"),
        style: { background: "#FCF", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "96px", "margin-top": "-125px" },
        children: masterArray,
      });

      let dailyArray = PLU.YFD.dailyList.map((p, i) => {
        let colr = i < 6 ? "#FFC" : i < 20 ? "#FCF" : "#CFF";
        return {
          id: "bt_daily_" + (i + 1),
          text: p.n,
          extend: p.v,
          style: { "background-color": colr },
        };
      });
      PathsArray.push({
        id: "bt_daily",
        text: "日常",
        style: { background: "#FED", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "160px", "margin-top": "-125px" },
        children: dailyArray,
      });

      let usualArray = PLU.YFD.usualList.map((p, i) => {
        let sty = p.style || { "background-color": "#CDF" };
        return {
          id: "bt_usual_" + (i + 1),
          text: p.n,
          extend: p.v,
          style: sty,
        };
      });
      PathsArray.push({
        id: "bt_usual",
        text: "常用",
        style: { background: "#CDF", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "160px", "margin-top": "-150px" },
        children: usualArray,
      });

      let cts = [],
        libCity = PLU.YFD.mapsLib.Npc.filter((e) => {
          if (!cts.includes(e.jh)) {
            cts.push(e.jh);
            return true;
          }
          return false;
        }).map((e) => e.jh);
      let queryJHMenu = libCity.map((c, i) => {
        return {
          id: "bt_queryjh_" + (i + 1),
          text: c,
          style: {
            width: "50px",
            whiteSpace: "nowrap",
            overflow: "hidden",
            fontSize: "12px",
          },
          extend: { func: PLU.queryJHMenu, param: c },
        };
      });
      let queryArray = [
        {
          id: "bt_queryJHList",
          text: _("章节", "章節"),
          children: queryJHMenu,
          style: { width: "40px", "background-color": "#9ED" },
          menuStyle: { width: "180px", "margin-top": "-180px" },
        },
        {
          id: "bt_queryHistory",
          text: _("历史", "歷史"),
          style: { width: "40px", "background-color": "#FDD" },
          extend: { func: PLU.toQueryHistory },
        },
        {
          id: "bt_queryNpc",
          text: _("寻人", "尋人"),
          style: { width: "40px", "background-color": "#FDD" },
          extend: { func: PLU.toQueryNpc },
        },
        {
          id: "bt_pathNpc",
          text: _("扫图", "掃圖"),
          style: { width: "40px", "background-color": "#FE9" },
          extend: { func: PLU.toPathNpc },
        },
      ];
      if (PLU.developerMode) {
        queryArray.push({
          id: "bt_pathNpc",
          text: _("谜题", "謎題"),
          style: { width: "40px", "background-color": "#FE9" },
          extend: { func: PLU.toQueryMiTi },
        });
      }
      PathsArray.push({
        id: "bt_query",
        text: "查找",
        style: { background: "#9ED", width: "40px", padding: "5px 2px" },
        menuStyle: { "margin-top": "-30px" },
        children: queryArray,
      });
      YFUI.addMenu({
        id: "m_paths",
        groupId: "pluginMenus",
        text: _("导航", "導航"),
        style: { width: "40px", padding: "5px 2px" },
        multiCol: true,
        menuStyle: { width: "80px", "margin-top": "-25px" },
        children: PathsArray,
        onclick($btn, $box) {
          if ($btn.$extend) {
            $(".menu").hide();
            if ($btn.$extend.func) {
              if ($btn.$extend.param) $btn.$extend.func($btn, $btn.$extend.param);
              else $btn.$extend.func($btn);
              return;
            }
            PLU.execActions($btn.$extend, () => {
              if ($btn.text() == "去哈日") PLU.goHaRi();
              if ($btn.text() == "杭界山") PLU.goHJS();
            });
            // clickButton($btn.$extend)
          }
        },
      });
      let somethingArray = [];
      somethingArray.push({
        id: "bt_autoTeach",
        text: _("传授技能", "傳授技能"),
        extend: { func: PLU.toAutoTeach },
        style: { background: "#BFF" },
      });
      somethingArray.push({
        id: "bt_autoUpgrade",
        text: _("升级游侠", "升級遊俠"),
        extend: { func: PLU.toAutoUpgrade },
        style: { background: "#BFF" },
      });
      somethingArray.push({
        id: "hr_null2",
        text: "",
        style: { display: "none" },
        boxStyle: { display: "block", height: "5px" },
      });
      somethingArray.push({
        id: "bt_autoLearn",
        text: _("一键学习", "一鍵學習"),
        extend: { func: PLU.toAutoLearn },
        style: { background: "#FBF" },
      });
      somethingArray.push({
        id: "bt_autoChuaiMo",
        text: _("自动揣摩", "自動揣摩"),
        extend: { func: PLU.toAutoChuaiMo },
        style: { background: "#FBF" },
      });
      somethingArray.push({
        id: "hr_null2",
        text: "",
        style: { display: "none" },
        boxStyle: { display: "block", height: "5px" },
      });
      somethingArray.push({
        id: "bt_loopScript",
        text: _("循环执行", "循環執行"),
        extend: { func: PLU.toLoopScript },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "bt_loopKillByN",
        text: _("计数击杀", "計數擊殺"),
        extend: { func: PLU.toLoopKillByN },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "bt_waitCDKill",
        text: _("倒计时杀", "倒計時殺"),
        extend: { func: PLU.toWaitCDKill },
        style: { background: "#FBB" },
      });

      somethingArray.push({
        id: "bt_loopKillName",
        text: _("名字连杀", "名字連殺"),
        extend: { func: PLU.toLoopKillName },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "bt_loopClick",
        text: _("自动点击", "自動點擊"),
        extend: { func: PLU.toLoopClick },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "bt_loopSlowClick",
        text: _("慢速点击", "慢速點擊"),
        extend: { func: PLU.toLoopSlowClick },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "bt_record",
        text: _("指令录制", "指令錄製"),
        extend: { func: PLU.toRecord },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "hr_null2",
        text: "",
        style: { display: "none" },
        boxStyle: { display: "block", height: "5px" },
      });
      somethingArray.push({
        id: "bt_sellLaji",
        text: "批量出售",
        extend: { func: PLU.toSellLaji },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_splitItem",
        text: "批量分解",
        extend: { func: PLU.toSplitItem },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_putStore",
        text: _("批量入库", "批量入庫"),
        extend: { func: PLU.toPutStore },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_autoUse",
        text: "批量使用",
        extend: { func: PLU.toAutoUse },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_combineGem",
        text: _("合成宝石", "合成寶石"),
        extend: { func: PLU.openCombineGem },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_autoMasterGem",
        text: _("一键合天神", "一鍵合天神"),
        extend: { func: PLU.autoMasterGem },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "hr_null2",
        text: "",
        style: { display: "none" },
        boxStyle: { display: "block", height: "5px" },
      });
      somethingArray.push({
        id: "bt_autoXTL1",
        text: "刷琅嬛玉洞",
        extend: { func: PLU.autoXTL1 },
        style: { background: "#FED" },
      });
      somethingArray.push({
        id: "bt_autoXTL2",
        text: "刷山崖",
        extend: { func: PLU.autoXTL2 },
        style: { background: "#FED" },
      });
      somethingArray.push({
        id: "bt_autoERG",
        text: "刷恶人谷",
        extend: { func: PLU.autoERG },
        style: { background: "#FED" },
      });
      if (PLU.developerMode)
        somethingArray.push({
          id: "bt_searchBangQS",
          text: _("扫暴击", "掃暴擊"),
          extend: { func: PLU.scanPuzzle },
          style: { background: "#BBF" },
        });
      somethingArray.push({
        id: "hr_null2",
        text: "",
        style: { display: "none" },
        boxStyle: { display: "block", height: "5px" },
      });
      somethingArray.push({
        id: "bt_autoGetKey",
        text: _("自动捡钥匙", "自動撿鑰匙"),
        extend: { func: PLU.toAutoGetKey },
        style: { background: "#EBC" },
      });
      somethingArray.push({
        id: "bt_autoMoke",
        text: _("一键摹刻", "一鍵摹刻"),
        extend: { func: PLU.toAutoMoke },
        style: { background: "#EFD" },
      });
      somethingArray.push({
        id: "bt_autoKillZYY",
        text: "刷祝玉妍",
        extend: { func: PLU.toAutoKillZYY },
        style: { background: "#FBF" },
      });
      somethingArray.push({
        id: "bt_autoJHYL",
        text: "九花原料",
        extend: { func: PLU.buyJHYL },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_checkYouxia",
        text: _("技能检查", "技能檢查"),
        extend: { func: PLU.checkYouxia },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_loopReadBase",
        text: _("读技能书", "讀技能書"),
        extend: { func: PLU.toLoopReadBase },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "bt_searchFamilyQS",
        text: _("搜师门任务", "搜師門任務"),
        extend: { func: PLU.toSearchFamilyQS },
        style: { background: "#BBF" },
      });
      somethingArray.push({
        id: "bt_searchBangQS",
        text: _("搜帮派任务", "搜幫派任務"),
        extend: { func: PLU.toSearchBangQS },
        style: { background: "#BBF" },
      });
      // somethingArray.push({id:"bt_autoFB11", text:"自動本11", extend:{func:PLU.toAutoFB11}, style:{background:"#FC9"}})
      YFUI.addMenu({
        id: "m_autoDoSomething",
        groupId: "pluginMenus",
        text: _("自动", "自動"),
        style: { width: "40px" },
        multiCol: true,
        menuStyle: { width: "160px", "margin-top": "-61px" },
        children: somethingArray,
        onclick($btn, $box) {
          if ($btn.$extend) {
            $(".menu").hide();
            $btn.$extend.func($btn);
          }
        },
      });
      //listens
      let listensArray = [];
      listensArray.push({
        id: "bt_autoBF",
        text: _("自动帮四", "自動幫四"),
        extend: { key: "autoBF" },
        style: { background: "#EDC" },
      });
      listensArray.push({
        id: "bt_autoB6",
        text: _("自动帮六", "自動幫六"),
        extend: { key: "autoB6" },
        style: { background: "#ECD" },
      });
      listensArray.push({
        id: "bt_autoB5F",
        text: _("帮五跟杀", "幫五跟殺"),
        extend: { key: "autoB5F" },
        style: { background: "#CEF" },
      });
      listensArray.push({
        id: "bt_autoDZ",
        text: _("持续打坐", "持續打坐"),
        extend: { key: "autoDZ" },
        style: { background: "#CEC" },
      });
      listensArray.push({
        id: "bt_autoHYC",
        text: _("持续睡床", "持續睡床"),
        extend: { key: "autoHYC" },
        style: { background: "#CEC" },
      });
      listensArray.push({
        id: "bt_auto9H",
        text: _("持续九花", "持續九花"),
        extend: { key: "auto9H" },
        style: { background: "#CEC" },
      });
      listensArray.push({
        id: "bt_autoLX",
        text: _("持续练习", "持續練習"),
        extend: { key: "autoLX" },
        style: { background: "#CEC" },
      });
      listensArray.push({
        id: "bt_autoTP",
        text: _("持续突破", "持續突破"),
        extend: { key: "autoTP" },
        style: { background: "#BEF" },
      });
      listensArray.push({
        id: "bt_autoDY",
        text: _("持续钓鱼", "持續釣魚"),
        extend: { key: "autoDY" },
        style: { background: "#CEC" },
      });
      listensArray.push({
        id: "bt_autoQuitTeam",
        text: _("进塔离队", "進塔離隊"),
        extend: { key: "autoQuitTeam" },
        style: { background: "#EEF" },
      });
      if (PLU.developerMode)
        listensArray.push({
          id: "bt_autoSignIn",
          text: _("定時签到", "定時簽到"),
          extend: { key: "autoSignIn" },
          style: { background: "#BEF" },
        });
      listensArray.push({
        id: "bt_autoConnect",
        text: _("自动重连", "自動重連"),
        extend: { key: "autoConnect" },
        style: { background: "#FED" },
      });
      listensArray.push({
        id: "hr_listen",
        text: "",
        style: { width: "160px", opacity: 0 },
        boxStyle: { "font-size": 0 },
      });
      listensArray.push({
        id: "bt_listenQL",
        text: _("本服青龙", "本服青龍"),
        extend: { key: "listenQL" },
      });
      listensArray.push({
        id: "bt_listenKFQL",
        text: _("跨服青龙", "跨服青龍"),
        extend: { key: "listenKFQL" },
      });
      listensArray.push({
        id: "bt_listenYX",
        text: "遊俠",
        extend: { key: "listenYX" },
      });
      listensArray.push({
        id: "bt_listenTF",
        text: "夜魔逃犯",
        extend: { key: "listenTF" },
      });
      listensArray.push({
        id: "bt_listenPuzzle",
        text: _("暴击谜题", "暴擊謎題"),
        extend: { key: "listenPuzzle" },
      });
      listensArray.push({
        id: "bt_listenChat",
        text: _("闲聊", "閒聊"),
        extend: { key: "listenChat" },
      });
      YFUI.addMenu({
        id: "m_listens",
        groupId: "pluginMenus",
        text: _("监听", "監聽"),
        style: { background: "#DDFFDD", width: "40px" },
        multiCol: true,
        menuStyle: { width: "160px", "margin-top": "-25px" },
        children: listensArray,
        onclick($btn, $box) {
          if ($btn.$extend) PLU.setListen($btn, $btn.$extend.key);
        },
      });

      //fightset
      let fightSetsArray = [];
      fightSetsArray.push({
        id: "bt_enableSkills",
        text: _("技 能 组", "技 能 組"),
        style: { background: "#FBE" },
        menuStyle: { "margin-top": "-25px" },
        children: [
          {
            id: "bt_enableSkill1",
            text: _("技能组1", "技能組1"),
            extend: { key: "enable1" },
          },
          {
            id: "bt_enableSkill2",
            text: _("技能组2", "技能組2"),
            extend: { key: "enable2" },
          },
          {
            id: "bt_enableSkill3",
            text: _("技能组3", "技能組3"),
            extend: { key: "enable3" },
          },
        ],
      });
      fightSetsArray.push({
        id: "bt_wearEquip",
        text: _("装备切换", "裝備切換"),
        style: { background: "#FEB" },
        children: [
          {
            id: "bt_wearEquip1",
            text: _("装备组1", "裝備組1"),
            extend: { key: "equip1" },
            canSet: true,
          },
          {
            id: "bt_wearEquip2",
            text: _("装备组2", "裝備組2"),
            extend: { key: "equip2" },
            canSet: true,
          },
        ],
      });
      fightSetsArray.push({
        id: "bt_followKill",
        text: _("跟杀设置", "跟殺設置"),
        extend: { key: "followKill" },
        style: { background: "#FCC" },
      });
      fightSetsArray.push({
        id: "bt_autoCure",
        text: _("血蓝设置", "血藍設置"),
        extend: { key: "autoCure" },
        style: { background: "#CCF" },
      });
      fightSetsArray.push({
        id: "bt_autoPerform",
        text: _("技能设置", "技能設置"),
        extend: { key: "autoPerform" },
        style: { background: "#CFC" },
      });
      YFUI.addMenu({
        id: "m_fightsets",
        groupId: "pluginMenus",
        text: _("战斗", "戰鬥"),
        style: { background: "#FFDDDD", width: "40px" },
        //multiCol: true,
        menuStyle: { width: "80px", "margin-top": "-50px" },
        children: fightSetsArray,
        onclick($btn, $box, BtnMode) {
          if ($btn.$extend) {
            if ($btn.$extend.key && PLU.getCache($btn.$extend.key) == 0) $(".menu").hide();
            if ($btn.$extend.key.match("enable")) return PLU.setSkillGroup($btn.$extend.key.substr(-1));
            if ($btn.$extend.key.match("equip")) {
              let equipKey = "equip_" + $btn.$extend.key.substr(-1) + "_keys";
              let equipsStr = PLU.getCache(equipKey);
              $(".menu").hide();
              if (equipsStr && BtnMode != "setting") {
                return PLU.wearEquip(equipsStr);
              }
              return PLU.setWearEquip($btn.$extend.key.substr(-1));
            }
            if ($btn.$extend.key == "followKill") return PLU.setFightSets($btn, $btn.$extend.key);
            if ($btn.$extend.key == "autoCure") return PLU.setAutoCure($btn, $btn.$extend.key);
            if ($btn.$extend.key == "autoPerform") return PLU.setAutoPerform($btn, $btn.$extend.key);
          }
        },
      });
      // puzzle
      let puzzleArray = [];
      if (PLU.developerMode)
        puzzleArray.push({
          id: "bt_puzzle_key",
          text: _("通告设置", "通告設置"),
          extend: { key: "" },
        });
      puzzleArray.push({
        id: "bt_puzzle_Key",
        text: _("密码设置", "密碼設置"),
        extend: { func: PLU.puzzleKey },
      });
      if (PLU.developerMode)
        puzzleArray.push({
          id: "bt_puzzle_key",
          text: _("进度设置", "進度設置"),
          extend: { func: PLU.key },
        });
      puzzleArray.push({
        id: "bt_puzzle_key",
        text: _("超时设置", "超時設置"),
        extend: { func: PLU.puzzleTimeOut },
      });
      YFUI.addMenu({
        id: "m_puzzle",
        groupId: "pluginMenus",
        text: _("谜题", "謎題"),
        style: { background: "#CCC", width: "40px" },
        menuStyle: { "margin-top": "-75px" },
        children: puzzleArray,
        onclick($btn, $box) {
          if ($btn.$extend) {
            $(".menu").hide();
            $btn.$extend.func($btn);
          }
        },
      });
      //Sign
      let signArray = [];
      signArray.push({
        id: "bt_autoAskQixia",
        text: _("自动问奇侠", "自動問奇俠"),
        extend: { func: PLU.toAutoAskQixia },
      });
      signArray.push({
        id: "bt_autoVisitQixia",
        text: _("亲近奇侠", "親近奇俠"),
        style: { background: "#CFC" },
        extend: { func: PLU.toAutoVisitQixia },
      });
      signArray.push({
        id: "hr_dlus",
        text: "",
        style: { width: "240px", opacity: 0 },
      });
      signArray.push({
        id: "bt_sign",
        text: _("一键签到", "一鍵簽到"),
        extend: { key: "signIn" },
        style: { background: "#CCFFFF" },
      });
      YFUI.addMenu({
        id: "m_signs",
        groupId: "pluginMenus",
        text: _("签到", "簽到"),
        style: { background: "#DDFFFF", width: "40px" },
        menuStyle: { "margin-top": "-92px" },
        children: signArray,
        onclick($btn, $box) {
          if ($btn.$extend) {
            if ($btn.$extend.key == "signIn") {
              $(".menu").hide();
              return PLU.toSignIn();
            } else if ($btn.$extend.key == "autoSignIn") {
              return PLU.setListen($btn, $btn.$extend.key);
            } else {
              $(".menu").hide();
              $btn.$extend.func($btn);
            }
          }
        },
      });
      //sys
      let sysArray = [];
      sysArray.push({
        id: "bt_openTeam",
        text: _("开队伍", "開隊伍"),
        extend: "team",
      });
      sysArray.push({
        id: "bt_openFudi",
        text: _("开府邸", "開府邸"),
        extend: "fudi",
      });
      sysArray.push({
        id: "bt_openShop",
        text: _("开商城", "開商城"),
        extend: "shop",
      });
      sysArray.push({
        id: "bt_openJFShop",
        text: _("积分商城", "積分商城"),
        extend: "shop xf_shop",
      });
      sysArray.push({
        id: "bt_open4HShop",
        text: _("四海商店", "四海商店"),
        children: [
          {
            id: "bt_open4HShop1",
            text: "回收",
            extend: "reclaim recl",
          },
          {
            id: "bt_open4HShop2",
            text: "兌換",
            extend: "reclaim buy",
          },
        ],
      });
      sysArray.push({
        id: "bt_clanShop",
        text: _("帮派商店	", "幫會商店"),
        extend: "clan;clan_shop",
      });
      sysArray.push({
        id: "hr_sys",
        text: "",
        style: { width: "160px", opacity: 0 },
        boxStyle: { "font-size": 0 },
      });
      sysArray.push({
        id: "bt_cleartask",
        text: _("清谜题", "清謎題"),
        extend: "auto_tasks cancel",
      });
      sysArray.push({
        id: "bt_task",
        text: _("谜题列表", "謎題列表"),
        extend: "task_quest",
      });
      sysArray.push({
        id: "bt_intervene",
        text: _("杀隐藏怪", "殺隱藏怪"),
        extend: { func: PLU.intervene },
      });
      sysArray.push({
        id: "bt_openQixia",
        text: "奇俠列表",
        extend: "open jhqx",
      });
      sysArray.push({
        id: "hr_sys",
        text: "",
        style: { width: "160px", opacity: 0 },
        boxStyle: { "font-size": 0 },
      });
      sysArray.push({
        id: "bt_showMPFZ",
        text: _("纷争显示", "紛爭顯示"),
        extend: { func: PLU.showMPFZ },
        style: { background: "#EEEEFF" },
      });
      sysArray.push({
        id: "bt_log",
        text: _("消息日志", "消息日誌"),
        extend: { func: PLU.showLog },
        style: { background: "#99CC00" },
      });
      sysArray.push({
        id: "bt_upset",
        text: _("备份设置", "備份設置"),
        extend: { func: PLU.backupSetting },
        style: { background: "#FFAAAA" },
      });
      sysArray.push({
        id: "bt_dlset",
        text: _("载入设置", "載入設置"),
        extend: { func: PLU.loadSetting },
        style: { background: "#FFCC00" },
      });
      YFUI.addMenu({
        id: "m_sys",
        groupId: "pluginMenus",
        text: "工具",
        multiCol: true,
        style: { background: "#FFFFDD", width: "40px" },
        menuStyle: { width: "160px", "margin-top": "-117px" },
        children: sysArray,
        onclick($btn, $box) {
          if ($btn.$extend && $btn.$extend.func) {
            $(".menu").hide();
            $btn.$extend.func($btn);
          } else if ($btn.$extend) {
            $(".menu").hide();
            PLU.execActions($btn.$extend);
          }
        },
      });
      //================================================================================
      //  活動
      //================================================================================
      // let activeArray=[]
      // activeArray.push({id:"bt_goShop1", text:"去小二", extend:"jh 1;"})
      // activeArray.push({id:"bt_buyItem1", text:"買四樣", extend:"#21 buy_npc_item go 0;#21 buy_npc_item go 1;#21 buy_npc_item go 2;#21 buy_npc_item go 3;"})
      // activeArray.push({id:"bt_goShop2", text:"去掌櫃", extend:"jh 5;n;n;n;w", style:{background:"#FDD"}})
      // activeArray.push({id:"bt_buyItem2", text:"買紅粉", extend:"#6 buy_npc_item go 0;", style:{background:"#FDD"}})
      // activeArray.push({id:"bt_goShop3", text:"去小販", extend:"jh 2;n;n;n;n;e", style:{background:"#DEF"}})
      // activeArray.push({id:"bt_buyItem3", text:"買黃粉", extend:"#6 event_1_17045611 go 0;", style:{background:"#DEF"}})
      // activeArray.push({id:"bt_goShop4", text:"去峨眉", extend:"jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w", style:{background:"#EFE"}})
      // activeArray.push({id:"bt_buyItem4", text:"買藍粉", extend:"#6 event_1_39153184 go 0;", style:{background:"#EFE"}})
      // activeArray.push({id:"bt_goAll", text:"一鍵買材料", extend:"jh 1;#21 buy_npc_item go 0;#21 buy_npc_item go 1;#21 buy_npc_item go 2;#21 buy_npc_item go 3;jh 5;n;n;n;w;#6 buy_npc_item go 0;jh 2;n;n;n;n;e;#6 event_1_17045611 go 0;jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;#6 event_1_39153184 go 0;", style:{background:"#9F9"}})
      // activeArray.push({id:"bt_goShoot", text:"去放煙花", extend:"jh 2;n;n;n;", style:{background:"#FD9"}})
      // // activeArray.push({id:"bt_n", text:"", style:{opacity:0}})
      // // activeArray.push({id:"hr_sys", text:"", style:{width:"160px",opacity:0}, boxStyle:{"font-size":0}})
      // activeArray.push({id:"bt_goShoot1", text:"一鍵璀璨", extend:"#5 event_1_99582507;#15 event_1_48376442;", style:{background:"#F9D"}})
      // activeArray.push({id:"bt_goShoot2", text:"一鍵四款", extend:"#5 event_1_74166959;#5 event_1_10053782;#5 event_1_25918230;#5 event_1_48376442;", style:{background:"#D9F"}})

      // YFUI.addMenu({
      //     id: "m_active",
      //     groupId:"pluginMenus",
      //     text: "元宵",
      //     multiCol: true,
      //     style:{"background":"#FFFF55","width":"40px","margin-top":"25px"},
      //     menuStyle: {width: "160px","margin-top":"-22px"},
      //     children: activeArray,
      //     onclick($btn,$box){
      //         if($btn.$extend && $btn.$extend.func){
      //             //$(".menu").hide()
      //             $btn.$extend.func($btn)
      //}else if($btn.$extend){
      //             //$(".menu").hide()
      // 			PLU.execActions($btn.$extend,()=>{
      // 				YFUI.writeToOut("<span style='color:#FFF;'>========== OK ==========</span>")
      // 			})
      // 		}
      //}
      //})
      if (PLU.developerMode) {
        let flagArray = [];
        flagArray.push({
          id: "bt_npcDataUpdate",
          text: "npc數據更新",
          extend: { func: PLU.npcDataUpdate },
        });
        YFUI.addMenu({
          id: "m_flag",
          groupId: "pluginMenus",
          text: _("实验", "實驗"),
          multiCol: true,
          style: { background: "#FBB", width: "40px" },
          menuStyle: { width: "160px", "margin-top": "-117px" },
          children: flagArray,
          onclick($btn, $box) {
            if ($btn.$extend && $btn.$extend.func) {
              $(".menu").hide();
              $btn.$extend.func($btn);
            } else if ($btn.$extend) {
              $(".menu").hide();
              PLU.execActions($btn.$extend);
            }
          },
        });
      }
      //================================================================================
      //================================================================================

      let gh = parseInt($("#page").height() * $("#page").height() * 0.00025);
      YFUI.addBtn({
        id: "bt_col_null",
        groupId: "pluginMenus",
        text: "",
        style: {
          background: "transparent",
          height: gh + "px",
          width: "0px",
          visibility: "hidden",
        },
        boxStyle: { "pointer-events": "none" },
      });
      //戰鬥按鈕
      YFUI.addBtn({
        id: "bt_kg_autoEscape",
        groupId: "pluginMenus",
        text: "逃跑",
        style: { background: "#DDCCEE", height: "20px", width: "40px" },
        // boxStyle:{"margin-bottom":"15px"},
        onclick($btn) {
          let btnFlag = PLU.setBtnRed($btn);
          if (btnFlag) {
            PLU.autoEscape({
              onEnd() {
                PLU.setBtnRed($btn);
              },
            });
          } else UTIL.delSysListener("onAutoEscape");
        },
      });
      YFUI.addBtn({
        id: "bt_kg_loopKill",
        groupId: "pluginMenus",
        text: _("循环杀", "循環殺"),
        style: { background: "#EECCCC", height: "20px", width: "40px" },
        // boxStyle:{"margin-bottom":"15px"},
        onclick($btn) {
          PLU.toLoopKill($btn);
        },
      });
      YFUI.addBtn({
        id: "bt_kg_teamSync",
        groupId: "pluginMenus",
        text: "同步",
        style: { background: "#DDCCEE", height: "20px", width: "40px" },
        boxStyle: { "margin-bottom": "15px" },
        onclick($btn) {
          PLU.toggleTeamSync($btn);
        },
      });
      YFUI.addBtn({
        id: "bt_kg_followKill",
        groupId: "pluginMenus",
        text: _("跟杀", "跟殺"),
        style: { background: "#FFDDDD", height: "25px", width: "40px" },
        onclick($btn) {
          PLU.toggleFollowKill($btn, "followKill");
        },
      });
      YFUI.addBtn({
        id: "bt_kg_autoCure",
        groupId: "pluginMenus",
        text: _("血蓝", "血藍"),
        style: { background: "#CCCCFF", height: "25px", width: "40px" },
        onclick($btn) {
          PLU.toggleAutoCure($btn, "autoCure");
        },
      });
      YFUI.addBtn({
        id: "bt_kg_autoPerform",
        groupId: "pluginMenus",
        text: _("连招", "連招"),
        style: { background: "#FFCCFF", height: "25px", width: "40px" },
        onclick($btn) {
          PLU.toggleAutoPerform($btn, "autoPerform");
        },
      });
      //monitor
      let momaxW = $("#page").width() - $("#out").width() > 4 && $("#out").width() > 634 ? 475 : Math.floor($("#out").width() * 0.75);
      let leftSty = $("#page").width() - $("#out").width() > 4 && $("#page").width() > 634 ? "79px" : "12%";
      YFUI.addBtnGroup({
        id: "topMonitor",
        style: {
          position: "fixed",
          top: 0,
          left: leftSty,
          width: "75%",
          height: "15px",
          maxWidth: momaxW + "px",
          lineHeight: "1.2",
          fontSize: "11px",
          textAlign: "left",
          color: "#FF9",
          background: "rgba(0,0,0,0)",
          display: "none",
        },
      });
    },
    //================================================================================================
    getCache(key) {
      return PLU.CACHE[key] ?? "";
    },
    //================================================================================================
    setCache(key, val) {
      PLU.CACHE[key] = val;
      UTIL.setMem("CACHE", JSON.stringify(PLU.CACHE));
      return val;
    },
    //================================================================================================
    initStorage() {
      if (!UTIL.getMem("CACHE")) UTIL.setMem("CACHE", JSON.stringify(PLU.CACHE));
      let caObj,
        ca = UTIL.getMem("CACHE");
      try {
        caObj = JSON.parse(ca);
      } catch (err) { }
      if (caObj) {
        PLU.CACHE = caObj;
        let listen = [
          "listenPuzzle",
          "listenChat",
          "listenQL",
          "listenTF",
          "listenKFQL",
          "listenYX",
          "autoDZ",
          "autoHYC",
          "auto9H",
          "autoDY",
          "autoTP",
          "autoLX",
          "autoBF",
          "autoB5F",
          "autoB6",
          "autoConnect",
          "autoSignIn",
          "autoQuitTeam",
        ];
        for (var i = 0, len = listen.length; i < len; i++) {
          if (PLU.getCache(listen[i]) == 1) PLU.setListen($("#btn_bt_" + listen[i]), listen[i], 1);
        }
        if (PLU.getCache("listenPuzzle") == 0) {
          PLU.TMP.autotask = false;
        }
        if (PLU.getCache("followKill") == 1) {
          PLU.toggleFollowKill($("#btn_bt_kg_followKill"), "followKill", 1);
        }
        if (PLU.getCache("autoCure") == 1) {
          PLU.toggleAutoCure($("#btn_bt_kg_autoCure"), "autoCure", 1);
        }
        if (PLU.getCache("autoPerform") >= 1) {
          PLU.toggleAutoPerform($("#btn_bt_kg_autoPerform"), "autoPerform", PLU.getCache("autoPerform"));
        }
        if (PLU.getCache("showTopMonitor") == 1) {
          PLU.showMPFZ($("#btn_bt_showMPFZ"));
        }
      }
    },
    //================================================================================================
    initHistory() {
      //---------------------
      document.addEventListener("addLog", PLU.updateShowLog);
      //---------------------
      let hisArr = [],
        hstr = UTIL.getMem("HISTORY");
      if (hstr)
        try {
          hisArr = JSON.parse(hstr);
        } catch (err) { }
      if (hisArr && hisArr.length) {
        let nowTs = new Date().getTime();
        let newArr = hisArr.filter((h) => {
          UTIL.log(Object.assign({}, h, { isHistory: true }));
          if (nowTs - h.time > 43200000) return false;
          return true;
        });
        UTIL.logHistory = newArr;
        UTIL.setMem("HISTORY", JSON.stringify(newArr));
      }
      PLU.MPFZ = UTIL.getMem("MPFZ") ? JSON.parse(UTIL.getMem("MPFZ")) : {};
    },
    //================================================================================================
    initListeners() {
      //監聽戰鬥消息
      UTIL.addSysListener("listenAllFight", (b, type, subtype, msg) => {
        if (type == "vs") {
          switch (subtype) {
            case "vs_info":
              if (b.containsKey("is_watcher")) {
                PLU.STATUS.inBattle = 2;
                break;
              }
              PLU.STATUS.inBattle = 1;
              if (!PLU.battleData)
                PLU.battleData = {
                  skills: {},
                  xdz: 0,
                  myPos: 0,
                  mySide: "",
                  performTime: 0,
                  cureTimes: 0,
                };

              for (let i = b.elements.length - 1; i > -1; i--) {
                let val = b.elements[i].value + "";
                if (!val || val.indexOf(PLU.accId) < 0) continue;
                PLU.battleData.myPos = b.elements[i].key.charAt(7);
                PLU.battleData.mySide = b.elements[i].key.substring(0, 3);
                break;
              }
              PLU.STATUS.isBusy = true;
              break;
            case "ready_skill":
              if (b.get("uid").indexOf(PLU.accId) < 0 || b.get("skill") == "fight_item") break;
              if (!PLU.battleData)
                PLU.battleData = {
                  skills: {},
                  xdz: 0,
                  myPos: 0,
                  mySide: "",
                  performTime: 0,
                  cureTimes: 0,
                };
              PLU.battleData.skills[b.get("pos") - 1] = {
                name: UTIL.filterMsg(b.get("name")),
                skill: b.get("skill"),
                xdz: b.get("xdz"),
                key: "playskill " + b.get("pos"),
              };
              break;
            case "add_xdz":
              if (b.get("uid").indexOf(PLU.accId) < 0) break;
              if (!PLU.battleData)
                PLU.battleData = {
                  skills: {},
                  xdz: 0,
                  myPos: 0,
                  mySide: "",
                  performTime: 0,
                  cureTimes: 0,
                };
              PLU.battleData.xdz = parseInt(b.get("xdz"));
              if (PLU.STATUS.inBattle == 1 && PLU.battleData && PLU.battleData.xdz > 1) {
                PLU.checkUseSkills();
              }
              break;
            case "playskill":
              if (b.get("uid").indexOf(PLU.accId) < 0) break;
              if (!PLU.battleData)
                PLU.battleData = {
                  skills: {},
                  xdz: 0,
                  myPos: 0,
                  mySide: "",
                  performTime: 0,
                  cureTimes: 0,
                };
              let x = PLU.battleData.xdz - parseInt(b.get("lose_xdz"));
              if (parseInt(b.get("lose_xdz"))) PLU.battleData.xdz = x > 0 ? x : 0;
              break;
            case "out_watch":
              PLU.STATUS.inBattle = 0;
              PLU.STATUS.isBusy = false;
              break;
            case "combat_result":
              PLU.STATUS.inBattle = 0;
              PLU.battleData = null;

              PLU.STATUS.isBusy = false;
              if (PLU.TMP.loopUseSkill) {
                clearInterval(PLU.TMP.loopUseSkill);
                PLU.TMP.loopUseSkill = null;
              }
              break;
            default:
              break;
          }
          if (PLU.STATUS.inBattle == 1 && !PLU.TMP.loopUseSkill) {
            PLU.TMP.loopUseSkill = setInterval(() => {
              if (PLU.STATUS.inBattle == 1 && PLU.battleData && PLU.battleData.xdz > 1) {
                PLU.checkUseSkills();
              }
            }, 250);
          }
        }
        if (g_gmain.is_fighting && PLU.STATUS.inBattle == 1) {
          if (type == "vs" || type == "attrs_changed") {
            //自動療傷及自動技能
            if (PLU.battleData && PLU.battleData.xdz > 1 && PLU.STATUS.inBattle == 1) {
              PLU.checkUseSkills();
            }
          }
        }
      });
      //監聽場景消息
      UTIL.addSysListener("listenNotice", (b, type, subtype, msg) => {
        if (type != "notice" && type != "main_msg") return;
        if (msg.match(/閒聊|告訴|隊伍/)) return;
        let msgTxt = UTIL.filterMsg(msg);
        if (msgTxt.match("你打坐完畢") && PLU.getCache("autoDZ") == 1) {
          if (UTIL.inHome()) clickButton("exercise", 0);
          else
            PLU.TODO.push({
              type: "cmds",
              cmds: "exercise",
              timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
            });
        } else if ((msgTxt.match("你從寒玉床上爬起") || msgTxt.match("你從地髓石乳中出來")) && PLU.getCache("autoHYC") == 1) {
          if (UTIL.inHome()) PLU.execActions("golook_room;sleep_hanyuchuang;home");
          else
            PLU.TODO.push({
              type: "cmds",
              cmds: "golook_room;sleep_hanyuchuang;home",
              timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
            });
        } else if (msgTxt.match("你今天使用九花玉露丸次數已經達到上限了")) {
          YFUI.writeToOut("<span style='color:yellow;'>九花玉露丸次數已達到上限!取消監聽九花玉露丸...</span>");
          PLU.setListen($("#btn_bt_auto9H"), "auto9H", 0);
        } else if (msgTxt.match("九花玉露丸效果:") && PLU.getCache("auto9H") == 1) {
          PLU.execActions("items use obj_jiuhuayulouwan");
        } else if (msgTxt.match(/你的(.*)成功向前突破了/) && PLU.getCache("autoTP") == 1) {
          if (UTIL.inHome()) PLU.toToPo();
          else {
            let checktp = PLU.TODO.find((e) => e.cmds == "toToPo");
            if (!checktp)
              PLU.TODO.push({
                type: "func",
                cmds: "toToPo",
                timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
              });
          }
        } else if ((msgTxt.match("你現在正突破") && msgTxt.match("同時突破")) || msgTxt.match("此次突破需要")) {
          //突破失敗
          PLU.TMP.stopToPo = true;
        } else if (msgTxt.match("青龍會組織:")) {
          //本服青龍
          let l = msgTxt.match(/青龍會組織:(.*)正在\003href;0;([\w\d\s]+)\003(.*)\0030\003施展力量,本會願出(.*)的戰利品獎勵給本場戰鬥的最終獲勝者。/);
          if (l && l.length > 3) {
            UTIL.log({
              msg: "【青龍】" + l[3].padStart(5) + " - " + l[1].padEnd(4) + "  獎品:" + l[4],
              type: "QL",
              time: new Date().getTime(),
            });
            if (PLU.getCache("listenQL") == 1) {
              let keysStr = PLU.getCache("listenQL_keys")
                .split("|")[1]
                .split(",")
                .map((e) => (e == "*" ? ".*" : e.replace("*", "\\*")))
                .join("|");
              let reg = new RegExp(keysStr);
              if (l[4].match(reg) && UTIL.inHome()) {
                PLU.goQinglong(l[1], l[3], PLU.getCache("listenQL_keys").split("|")[0], false);
              }
            }
          }
        } else if (msgTxt.match("這是你今天完成的第")) {
          //逃犯完成
          let l = msgTxt.match(/這是你今天完成的第(\d)\/\d場逃犯任務/);
          if (l && l.length > 0 && l[1] == 5) {
            YFUI.writeToOut('<span style="color:yellow;">逃犯任務已達到上限!取消逃犯監聽...</span>');
            UTIL.log({
              msg: " 逃犯任務已達到上限!取消逃犯監聽...",
              type: "TIPS",
              time: new Date().getTime(),
            });
            PLU.setListen($("#btn_bt_listenTF"), "listenTF", 0);
          }
        } else if (msgTxt.match("對你悄聲道:你現在去") && !PLU.TMP.autoQixiaMijing) {
          //奇俠說秘境
          let l = msgTxt.match(/(.*)對你悄聲道:你現在去(.*),應當會有發現/);
          if (l && l.length > 2) {
            let placeData = PLU.YFD.mjList.find((e) => e.n == l[2]);
            if (placeData) {
              YFUI.writeToOut(
                "<span>奇俠秘境: <a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.execActions(\"" +
                placeData.v +
                "\")'>" +
                placeData.n +
                "</a></span>",
              );
              YFUI.showPop({
                title: "奇俠秘境",
                text: "秘境:" + placeData.n,
                okText: "去秘境",
                onOk() {
                  PLU.execActions(placeData.v + ";find_task_road secret;", () => {
                    YFUI.writeToOut(
                      "<span>:: <a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='clickButton(\"open jhqx\", 0)'>奇俠列表</a></span>",
                    );
                  });
                },
                onNo() { },
              });
            }
          }
        } else if (msgTxt.match("你贏了這場寶藏秘圖之戰!")) {
          PLU.execActions("clan bzmt puzz");
        } else if (msgTxt.match("開啟了幫派副本")) {
          if (PLU.getCache("autoBF") == 1) {
            //幫四開啟
            let ll = msg.match(/開啟了幫派副本.*十月圍城.*【(.*)】/);
            if (ll) {
              let n = "一二三".indexOf(ll[1]);
              UTIL.log({
                msg: "【幫四】幫四(" + ll[1] + ")開啟 ",
                type: "BF",
                time: new Date().getTime(),
              });
              if (n >= 0) {
                if (!g_gmain.is_fighting) {
                  PLU.toBangFour(n + 1);
                } else {
                  let checktodo = PLU.TODO.find((e) => e.cmds == "toBangFour");
                  if (!checktodo)
                    PLU.TODO.push({
                      type: "func",
                      cmds: "toBangFour",
                      param: [n + 1],
                      timeout: new Date().getTime() + 5 * 60 * 1000,
                    });
                }
              }
            }
          }
          if (PLU.getCache("autoB6") == 1) {
            //幫六開啟
            let ls = msg.match(/開啟了幫派副本.*蠻荒七神寨.*/);
            if (ls) {
              if (!g_gmain.is_fighting) {
                PLU.toBangSix();
              } else {
                let checktodo = PLU.TODO.find((e) => e.cmds == "toBangSix");
                if (!checktodo)
                  PLU.TODO.push({
                    type: "func",
                    cmds: "toBangSix",
                    param: [""],
                    timeout: new Date().getTime() + 5 * 60 * 1000,
                  });
              }
            }
          }
        } else if (msgTxt.match("十月圍城】幫派副本勝利")) {
          //幫四完成
          PLU.STO.bangFourTo && clearTimeout(PLU.STO.bangFourTo);
          if (!g_gmain.is_fighting) {
            setTimeout(() => {
              PLU.execActions("home;");
            }, 2000);
          }
        } else if (msgTxt.match("蠻荒七神寨】幫派副本勝利")) {
          //幫六完成
          PLU.STO.bangSixTo && clearTimeout(PLU.STO.bangSixTo);
          if (!g_gmain.is_fighting) {
            setTimeout(() => {
              PLU.execActions("home;");
            }, 2000);
          }
        } else if (msgTxt.match("你今天進入此副本的次數已達到上限了")) {
          //幫四六無法進入
          PLU.STO.bangFourTo && clearTimeout(PLU.STO.bangFourTo);
          PLU.STO.bangSixTo && clearTimeout(PLU.STO.bangSixTo);
          UTIL.log({
            msg: " !!副本超量!!",
            type: "TIPS",
            time: new Date().getTime(),
          });
        } else if (msgTxt.match(/你已進入幫派副本\*\*可汗金帳\*\*/) && PLU.getCache("autoB5F") == 1) {
          //幫五進入
          PLU.inBangFiveEvent();
        } else if (msgTxt.match("成功消滅了守將府內的所有敵人")) {
          //幫二完成
          let l = msgTxt.match(/守城成功】(.*)成功消滅了守將府內的所有敵人,幫派副本完成/);
          if (l && l.length > 1 && !g_gmain.is_fighting) {
            setTimeout(() => {
              PLU.execActions("home;");
            }, 3000);
          }
        } else if (msgTxt.match("你沒有精良魚餌,無法釣魚")) {
          //釣魚完成
          if (!UTIL.inHome() && !g_gmain.is_fighting) {
            if (PLU.getCache("autoDY") == 1) {
              let attr = g_obj_map.get("msg_attrs");
              if (attr.get("yuanbao") >= PLU.getCache("autoDY_key") + 50) PLU.execActions("shop buy shop45;diaoyu;");
              else
                setTimeout(() => {
                  PLU.execActions("home;");
                }, 1000);
            }
          } else
            setTimeout(() => {
              PLU.execActions("home;");
            }, 1000);
        }
      });

      //監聽頻道消息
      UTIL.addSysListener("listenChannel", (b, type, subtype, msg) => {
        if (type != "channel" || subtype != "sys") return;
        let msgTxt = UTIL.filterMsg(msg);
        //本服逃犯
        if (msgTxt.match("慌不擇路") && msgTxt.indexOf("跨服") < 0) {
          var l = msgTxt.match(/系統】([\u4e00-\u9fa5|\*]+).*慌不擇路,逃往了(.*)-\003href;0;([\w\d\s]+)\003([\u4e00-\u9fa5]+)/);
          if (l && l.length > 4) {
            UTIL.log({
              msg: "【逃犯】" + l[2] + "-" + l[4] + " : " + l[1],
              type: "TF",
              time: new Date().getTime(),
            });
            if (PLU.getCache("listenTF") == 1 && UTIL.inHome()) {
              if (!PLU.TMP.lis_TF_list) {
                PLU.splitTFParam();
              }
              if (PLU.TMP.lis_TF_list.includes(l[1])) {
                let idx = PLU.TMP.lis_TF_list.findIndex((k) => k == l[1]);
                if (idx >= 0) {
                  let gb = Number(PLU.getCache("listenTF_keys").split("|")[0]) || 0;
                  PLU.goTaofan(l[1], l[2], l[3], gb, PLU.TMP.lis_TF_force[idx]);
                }
              }
            }
          }
        } else if (msgTxt.match("跨服時空")) {
          let l = msgTxt.match(/跨服:(.*)逃到了跨服時空(.*)之中,青龍會組織懸賞(.*)懲治惡人,眾位英雄快來誅殺。/);
          if (l && l.length > 3) {
            UTIL.log({
              msg: "【跨服青龍】" + l[2] + " - " + l[1].padEnd(8) + "  獎品:" + l[3],
              type: "KFQL",
              time: new Date().getTime(),
            });
            if (PLU.getCache("listenKFQL") == 1) {
              let keysStr = PLU.getCache("listenKFQL_keys")
                .split("|")[1]
                .split(",")
                .map((e) => (e == "*" ? ".*" : e.replace("*", "\\*")))
                .join("|");
              let reg = new RegExp(keysStr);
              if (PLU.developerMode && l[3].match(reg) && UTIL.inHome()) {
                UTIL.addSysListener("KuaFu", (b, type, subtype, msg) => {
                  if (b.get("map_id") == "kuafu") {
                    UTIL.delSysListener("KuaFu");
                    PLU.goQinglong(l[1], l[2], PLU.getCache("listenKFQL_keys").split("|")[0], true);
                  }
                });
                setTimeout(() => {
                  clickButton("change_server world;");
                }, 500);
              }
            }
          }
        }
        //江湖紛爭
        else if (msgTxt.match("江湖紛爭")) {
          let fz = msgTxt.match(
            /【江湖紛爭】:(.*)(門派|流派)的(.*)劍客傷害同門,欺師滅組,判師而出,卻有(.*)堅持此種另有別情而強行庇護,兩派紛爭在(.*)-(.*)一觸即發,江湖同門速速支援!/,
          );
          if (!fz) return;
          let ro = fz[3];
          let pl = fz[5] + "-" + fz[6];
          let vs = fz[1] + " VS " + fz[4];
          let tp = fz[2];
          let logType = tp == "門派" ? "MPFZ" : "LPFZ";
          UTIL.log({
            msg: "【" + tp + "之爭】 " + ro + "  地點:[" + pl + "]  " + vs,
            type: logType,
            time: new Date().getTime(),
          });
          if (tp == "門派") {
            let nowTime = new Date().getTime();
            for (let k in PLU.MPFZ) {
              if (k < nowTime) delete PLU.MPFZ[k];
            }
            let extime = new Date().getTime() + 1560000;
            PLU.MPFZ[extime] = { n: ro, p: pl, v: vs, t: new Date().getTime() };
            UTIL.setMem("MPFZ", JSON.stringify(PLU.MPFZ));
          }
        }
        //遊俠
        else if (msgTxt.match("出來闖盪江湖了")) {
          let yx = msgTxt.match(/【系統】遊俠會:聽說(.*)出來闖盪江湖了,目前正在前往(.*)的路上/);
          if (!yx) return;
          let yn = $.trim(yx[1]);
          let yp = yx[2];
          let yr = "";
          PLU.YFD.youxiaList.forEach((g) => {
            if (g.v.includes(yn)) yr = g.n;
          });
          UTIL.log({
            msg: "【遊俠-" + yr + "】 " + yn + "  地點:[" + yp + "]  ",
            type: "YX",
            time: new Date().getTime(),
          });
          if (PLU.getCache("listenYX") == 1 && UTIL.inHome()) {
            if (!PLU.TMP.listenYX_list) {
              PLU.TMP.listenYX_list = PLU.getCache("listenYX_keys").split(",");
            }
            if (PLU.TMP.listenYX_list && PLU.TMP.listenYX_list.includes(yn)) {
              let jhName = PLU.fixJhName(yp);
              let jhMap = PLU.YFD.mapsLib.Map.find((e) => e.name == jhName);
              if (!jhMap) return;
              else {
                let ways = jhMap.way.split(";");
                PLU.goFindYouxia({ paths: ways, idx: 0, objectNPC: yn });
              }
            }
          }
        }
      });
      //監聽場景
      UTIL.addSysListener("listenRoomInfo", (b, type, subtype, msg) => {
        if (type != "jh") return;
        //奇俠加按鈕
        $("#out .out>button.cmd_click3").each((i, e) => {
          if (PLU.YFD.qixiaList.includes(e.innerText)) {
            let snpc = e.outerHTML.match(/clickButton\('look_npc (\w+)'/i);
            if (snpc && snpc.length >= 2) {
              $(e).css({ position: "relative" });
              let $btnAsk = $(
                '<span style="position:absolute;display:inline-block;left:0;top:0;padding:3% 5%;text-align:center;background:#39F;color:#fff;border-radius:3px;font-size:1.2em;">問<span>',
              );
              let $btnGold = $(
                '<span style="position:absolute;display:inline-block;right:0;bottom:0;padding:3% 5%;text-align:center;background:#F93;color:#fff;border-radius:3px;font-size:1.2em;">金<span>',
              );
              $(e).append($btnAsk);
              $(e).append($btnGold);
              $btnAsk.click((e) => {
                e.stopPropagation();
                PLU.execActions("ask " + snpc[1] + ";");
              });
              $btnGold.click((e) => {
                e.stopPropagation();
                let ename = snpc[1].split("_")[0];
                PLU.execActions("auto_zsjd20_" + ename + ";golook_room");
              });
            }
          }
        });
        //監聽入隊靈鷲和塔
        if (type == "jh" && subtype == "info" && PLU.getCache("autoQuitTeam") == 1) {
          let sn = g_obj_map.get("msg_room").get("short");
          if (
            sn.match(/靈鷲宮(\D+)層/) ||
            sn.match(/拱辰樓(\D+)層/) ||
            sn.match(/陳異叔(\D+)層/) ||
            sn.match(/無為寺(\D+)層/) ||
            sn.match(/一品堂(\D+)層/) ||
            sn.match(/名將堂(\D+)層/) ||
            sn.match(/魔皇殿(\D+)層/) ||
            sn.match(/藏典塔(\D+)層/) ||
            sn.match(/無相樓(\D+)層/) ||
            sn.match(/葬劍谷(\D+)層/) ||
            sn.match(/霹靂堂(\D+)層/) ||
            sn.match(/鑄劍洞(\D+)層/) ||
            sn.match(/劍樓(\D+)層/) ||
            sn.match(/紅螺寺(\D+)層/) ||
            sn.match(/通天塔(\D+)層/)
          ) {
            //退出隊伍
            let quitTeamPrevTimeOut = setTimeout(() => {
              UTIL.delSysListener("quitTeamPrev");
            }, 5000);
            UTIL.addSysListener("quitTeamPrev", (b, type, subtype, msg) => {
              if (type == "team" && subtype == "info") {
                UTIL.delSysListener("quitTeamPrev");
                clearTimeout(quitTeamPrevTimeOut);
                clickButton("prev");
              }
            });
            clickButton("team quit");
          }
        }
        //刷新後恢復監聽幫五
        if (type == "jh" && subtype == "info" && PLU.TMP.listenBangFive == undefined) {
          let roomName = UTIL.filterMsg(g_obj_map.get("msg_room").get("short"));
          if (roomName.match(/蒙古高原|成吉思汗的金帳/)) {
            PLU.inBangFiveEvent();
          } else {
            PLU.TMP.listenBangFive = false;
          }
        }
        return;
      });
      UTIL.addSysListener("useCard", (b, type, subtype, msg) => {
        if (type == "notice" && subtype == "notify_fail" && msg.indexOf("今日已達到謎題數量限制。") >= 0) {
          PLU.execActions("items use obj_mitiling;#5 items use miticska");
        }
      });
      // 谜题密码
      UTIL.addSysListener("key", (b, type, subtype, msg) => {
        if (type != "channel" || subtype != "tell") return;
        let key = msg.match(/告訴你:謎題密碼:(\d+)/)[1];
        if (key)
          PLU.TODO.push({
            type: "cmds",
            cmds: "jh 1;e;n;n;n;n;w;event_1_65953349 " + key + ";home;",
            timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
          });
      });
      // 監聽閒聊
      UTIL.addSysListener("listenChat", (b, type, subtype, msg) => {
        if (type != "channel" || subtype != "chat") return;
        /** UNICODE 15.0
         * CJK Radicals Supplement 2E80–2EFF
         * CJK Unified Ideographs (Han) 4E00–9FFF
         * CJK Extension A 3400-4DBF
         * CJK Extension B 20000–2A6DF
         * CJK Extension C 2A700–2B739
         * CJK Extension D 2B740–2B81D
         * CJK Extension E 2B820–2CEA1
         * CJK Extension F 2CEB0–2EBE0
         * CJK Extension G 30000–3134A
         * CJK Extension H 31350–323AF
         */
        msg = msg.replace("\f", "");
        let text = msg.match(/^[^:]+:.*?([\u2E80-\u2EFF\u3400-\u4DBF\u4E00-\u9FFF\-,”'!!]+道:.+)\x1B\[2;37;0m/);
        if (text) {
          text = text[1];
          if (text.match(/柴紹|李秀寧|大鸛淜洲/)) {
            /**
             * 李秀寧昨天撿到了我幾十輛銀子
             * 李秀寧鬼鬼祟祟的叫人生疑
             * 李秀寧竟對我橫眉瞪眼的
             * 竟然吃了李秀寧的虧
             * 李秀寧竟敢得罪我
             * 被李秀寧搶走了
             * 李秀寧好大膽
             * 想找李秀寧
             * 藏在了(天龍寺-)?大鸛淜洲
             * 想要一件天羅紫芳衣
             */
            UTIL.log({
              msg: "【謎題-天命丹】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/陰九幽|潛龍|谷底石室/)) {
            UTIL.log({
              msg: "【謎題-鬼殺劍】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/打坐老僧|牟尼樓|牟尼洞/)) {
            UTIL.log({
              msg: "【謎題-700級讀書識字】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/本恆禪師|無相堂/)) {
            UTIL.log({
              msg: "【謎題-木棉袈裟】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/天羅紫芳衣/)) {
            UTIL.log({
              msg: "【謎題-天命丹】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/鬼殺劍|金鳳翅盔/)) {
            UTIL.log({
              msg: "【謎題-鬼殺劍】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/麻布僧衣/)) {
            UTIL.log({
              msg: "【謎題-700級讀書識字】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/追風棍|木棉袈裟/)) {
            UTIL.log({
              msg: "【謎題-木棉袈裟】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          }
        }
        let text2 = msg.match(/[^:]+:(.+)\x1B\[2;37;0m/)[1];
        if (PLU.getCache("listenChat") == 1 && text2 != "哈哈,我也來闖盪江湖啦!" && text2 != "哈哈,我去也……") YFUI.writeToOut(msg);
        let text3 = msg.match(/^[^:]+:(.+道):(.+)\x1B\[2;37;0m/);
        if (text3) var tmp = PLU.queryNpc(text3[1], true);
        else {
          let text3 = msg.match(/^[^:]+:(.+)的謎題\x1B\[2;37;0m/);
          if (text3) var tmp = PLU.queryNpc(text3[1] + "道", true);
        }

        if (tmp && tmp.length && PLU.getCache("listenPuzzle") == 1) {
          PLU.TMP.autotask = true;
          for (var npc of tmp) {
            PLU.TODO.push({
              type: "func",
              cmds: "execActions",
              param: [
                npc.way,
                (code, name) => {
                  let npcObj = UTIL.findRoomNpc(name, 0, 1);
                  if (npcObj) PLU.execActions("ask " + npcObj.key);
                },
                npc.name_new ?? npc.name_tw ?? npc.name,
              ],
              timeout: new Date().getTime() + 15 * 60 * 1000,
            });
          }
        }
      });
      //監聽練習
      UTIL.addSysListener("listenPractice", (b, type, subtype, msg) => {
        if (type == "practice" && subtype == "stop_practice" && PLU.getCache("autoLX") == 1) {
          let skillId = b.get("sid"),
            lxcmds = "enable " + skillId + ";practice " + skillId;
          if (UTIL.inHome()) PLU.execActions(lxcmds);
          else
            PLU.TODO.push({
              type: "cmds",
              cmds: lxcmds,
              timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
            });
        }
      });
      //監聽劍陣
      UTIL.addSysListener("listenJianzhen", (b, type, subtype, msg) => {
        if (type != "notice") return;
        if (msg.indexOf("陣升級完畢!") < 0) return;
        let msgTxt = UTIL.filterMsg(msg);
        if (msgTxt.match(/(.*)陣升級完畢!成功升級到/)) {
          setTimeout(() => {
            let jzcmds = "hhjz xiulian go;;;hhjz speedup go;";
            let room = g_obj_map.get("msg_room")?.get("short");
            if (room == "桃溪" || room == "後山茶園" || UTIL.inHome()) PLU.execActions(jzcmds);
            else
              PLU.TODO.push({
                type: "cmds",
                cmds: jzcmds,
                timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
              });
          }, 8000);
        }
      });
      //監聽跟殺
      UTIL.addSysListener("listenFightKill", (b, type, subtype, msg) => {
        if (type != "main_msg" || !msg) return;
        if (msg.indexOf("對著") < 0) return;
        if (PLU.getCache("followKill") != 1) return;
        let msgTxt = UTIL.filterMsg(msg);
        var matchKill = msgTxt.match(/(.*)對著(.*)喝道:「(.*)!今日不是你死就是我活!」/);
        if (matchKill && $.trim(matchKill[1]) != "你" && $.trim(matchKill[2]) != "你" && !g_gmain.is_fighting) {
          PLU.toCheckFollowKill($.trim(matchKill[1]), $.trim(matchKill[2]), "kill", msgTxt);
          return;
        }
        var matchFight = msgTxt.match(/(.*)對著(.*)說道:(.*),領教(.*)的高招!/);
        if (matchFight && $.trim(matchFight[1]) != "你" && $.trim(matchFight[2]) != "你" && !g_gmain.is_fighting) {
          PLU.toCheckFollowKill($.trim(matchFight[1]), $.trim(matchFight[2]), "fight", msgTxt);
          return;
        }
      });
      UTIL.addSysListener("room", (b, type, subtype, msg) => {
        if (type == "jh") {
          if (subtype == "info") {
            unsafeWindow.hasReachRoom = true;
            if (PLU.TMP.puzzleWating.puzzleid) {
              if (PLU.TMP.puzzleWating.status == "trace") {
                PLU.TMP.puzzleWating.status = "traced";
                PLU.autoPuzzle.doPuzzle(PLU.TMP.puzzleWating.puzzleid);
              } else if (PLU.TMP.puzzleWating.status == "return") {
                PLU.TMP.puzzleWating.status = "returned";
                PLU.autoPuzzle.doPuzzle(PLU.TMP.puzzleWating.puzzleid);
              }
            }
          } else if (subtype == "new_item" || subtype == "new_npc") {
            var name = PLU.autoPuzzle.ansiToHtml(b.get("name")),
              plainName = ansi_up.ansi_to_text(b.get("name")),
              id = b.get("id");
            if (PLU.TMP.puzzleWating && PLU.TMP.puzzleWating.puzzleid && PLU.TMP.puzzleWating.status == "wait") {
              if (subtype == "new_npc") {
                if (
                  ["npc_datan", "answer", "ask", "fight", "kill", "give"].indexOf(PLU.TMP.puzzleWating.actionCode) > -1 &&
                  (name == PLU.TMP.puzzleWating.target ||
                    (PLU.TMP.puzzleWating.target == "惡人" && id.indexOf("eren") == 0) ||
                    (PLU.TMP.puzzleWating.target == "捕快" && id.indexOf("bukuai") == 0) ||
                    (["柳繪心", "王鐵匠", "楊掌櫃", "客商", "柳小花", "賣花姑娘", "劉守財", "方老闆", "朱老伯", "方寡婦"].indexOf(PLU.TMP.puzzleWating.target) > -1 &&
                      id.indexOf("bad_target_") == 0))
                ) {
                  PLU.execActions(PLU.TMP.puzzleWating.actionCode + " " + id);
                } else if (PLU.TMP.puzzleWating.actionCode == "killget" && plainName == PLU.TMP.puzzleWating.waitTargetName) {
                  PLU.execActions("kill " + id);
                }
              } else if (
                subtype == "new_item" &&
                ["get"].indexOf(PLU.TMP.puzzleWating.actionCode) > -1 &&
                (name == PLU.TMP.puzzleWating.target ||
                  (PLU.TMP.puzzleWating.target == "惡人" && id.indexOf("eren") == 0) ||
                  (PLU.TMP.puzzleWating.target == "捕快" && id.indexOf("bukuai") == 0) ||
                  (["柳繪心", "王鐵匠", "楊掌櫃", "客商", "柳小花", "賣花姑娘", "劉守財", "方老闆", "朱老伯", "方寡婦"].indexOf(PLU.TMP.puzzleWating.target) > -1 &&
                    id.indexOf("bad_target_") == 0) ||
                  id.indexOf("corpse") > -1)
              ) {
                PLU.execActions("get " + id);
              }
            }
          }
        }
      });
      //test
      UTIL.addSysListener("testListener", (b, type, subtype, msg) => {
        if (type == "g_login" && subtype == "login_ret" && msg == "1") {
          YFUI.writeToOut("<span style='color:#FFF;background:#F00;'>[" + UTIL.getNow() + "] 斷線重連了 </span>");
        }
      });
      UTIL.addSysListener("disconnect", (b, type, subtype, msg) => {
        if (type == "disconnect" && subtype == "change") {
          console.log("%c%s", "color:#F00", ">>>>>>>sock disconnected");
          //sock && sock.close(); sock = 0
          if (PLU.getCache("autoConnect") == 1) {
            let recTime = Number(PLU.getCache("autoConnect_keys"));
            if (recTime) g_gmain.g_delay_connect = recTime;
          }
        }
      });
      unsafeWindow.sock.on("telnet_connected", () => {
        console.log("%c%s", "color:#0F0", ">>>>>>>sock connected");
      });
      UTIL.addSysListener("YXSkillsListener", (b, type, subtype, msg) => {
        if (type != "show_html_page") return;
        if (msg.indexOf("須傳授技能") < 0) return;
        let list = msg.match(/\x1B\[1;36m(\d+)\/(\d+)[\s\S]{1,200}(fudi juxian up_skill .* 10)/g);
        let outList = null;
        if (list && list.length) {
          outList = list.map((s) => {
            let r = s.match(/\x1B\[1;36m(\d+)\/(\d+)[\s\S]{1,200}(fudi juxian up_skill .* 10)/);
            return { lvl: r[1], max: r[2], cmd: r[3] + "0" };
          });
        }
        PLU.TMP.CUR_YX_SKILLS = outList;
        let matchNameLine = msg.match(/<span class="out2">([\s\S]+)<\/span><span class="out2">/);
        let npcNameLine = matchNameLine ? UTIL.filterMsg(matchNameLine[1]) : "";
        let dg = npcNameLine.match(/(\d+)級/)[1];
        PLU.TMP.CUR_YX_LEVEL = Number(dg);
        let nn = msg.match(/fudi juxian upgrade (\S+) 1/)[1];
        PLU.TMP.CUR_YX_ENG = nn;
      });
      UTIL.addSysListener("masterSkillsListener", (b, type, subtype, msg) => {
        if (type != "master_skills" || subtype != "list") return;
        let masterSkills = PLU.parseSkills(b);

        PLU.TMP.MASTER_ID = b.get("id");
        PLU.TMP.MASTER_SKILLS = masterSkills;
      });
    },
    //================================================================================================
    initTickTime() {
      setInterval(() => {
        let nowDate = new Date();
        let nowTime = nowDate.getTime();
        if (PLU.TODO.length > 0 && !PLU.STATUS.isBusy && UTIL.inHome()) {
          //待辦
          let ctd = PLU.TODO.shift();
          if (nowDate.getTime() < ctd.timeout) {
            if (ctd.type == "cmds") {
              PLU.execActions(ctd.cmds);
            } else if (ctd.type == "func") {
              if (ctd.param) PLU[ctd.cmds](...ctd.param);
              else PLU[ctd.cmds]();
            }
          }
        }
        if ($("#topMonitor").text() != "") $("#topMonitor").empty();
        let bi = 0;
        for (let k in PLU.MPFZ) {
          if (k < nowTime) delete PLU.MPFZ[k];
          else {
            let f = PLU.MPFZ[k];
            let dt = Math.floor((k - nowTime) / 1000);
            let flo = bi % 2 == 1 ? "float:right;text-align:right;" : "";
            $("#topMonitor").append(
              `<div title="${f.v}" style="display:inline-block;width:40%;${flo}">${f.n.substr(0, 1)} <span style="color:#9CF;">[${f.p
              }]</span> <span style="color:#DDD;">${dt}</span></div>`,
            );
            bi++;
          }
        }
        if (PLU.ONOFF["btn_bt_waitCDKill"] && PLU.TMP.DATA_MPFZ) PLU.toCheckAndWaitCDKill(nowTime);
      }, 1000);
    },
    //================================================================================================
    toSignIn() {
      if (!this.signInMaps) this.initSignInMaps();
      let ckeds = PLU.getCache("signInArray")?.split(",") || this.signInMaps.map((e, i) => i);

      let htm = '<div style="display:flex;flex-direction:row;flex-wrap: wrap;justify-content: space-between;width: 100%;align-content: flex-start;line-height:2;">';
      this.signInMaps.forEach((e, i) => {
        if (!e.n) htm += '<span style="width:92px;">&nbsp;</span>';
        else
          htm += `<span><button class="signInBtn" data-sid="${i}" style="font-size:12px;padding:1px 2px;cursor:pointer;">GO</button>
            <label data-id="${i}" style="font-size:13px;margin:0 3px 5px 0;">${e.n}<input type="checkbox" name="signInId" value="${i}"
             ${ckeds.includes(i + "") || e.f ? "checked" : ""} ${e.f ? "disabled" : ""} /></label></span>`;
      });
      htm += '</div><button class="signInAll" style="cursor:pointer;position:absolute;left:15px;bottom:10px;">全選</button>';
      YFUI.showPop({
        title: "簽到",
        text: htm,
        width: "360px",
        okText: "一鍵簽到",
        onOk(e) {
          let checkeds = [];
          e.find('input[name="signInId"]:checked').each((i, b) => {
            checkeds.push(b.value);
          });
          PLU.setCache("auto9H", 1);
          PLU.setCache("signInArray", checkeds.join(","));
          PLU.goSign(checkeds);
        },
        onNo() { },
        afterOpen($el) {
          $el.find(".signInBtn").click((e) => {
            let btnSid = $(e.currentTarget).attr("data-sid");
            PLU.goSign(btnSid);
          });
          $el.find(".signInAll").click((e) => {
            $el.find('input[name="signInId"]').each(function () {
              $(this).prop("checked", true);
            });
          });
        },
      });
    },
    //================================================================================================
    autoSwords(callback) {
      UTIL.addSysListener("sword", (b, type, subtype, msg) => {
        if (type != "notice" || msg.indexOf("試劍") == -1) return;
        if (msg.indexOf("5/5") > 0 || !msg.indexOf("你今天試劍次數已達限額")) {
          UTIL.delSysListener("sword");
          callback && callback();
        } else PLU.execActions("swords fight_test go");
      });
      PLU.execActions("swords;swords select_member heimuya_dfbb;swords select_member qingcheng_mudaoren;swords select_member tangmen_madam;swords fight_test go");
    },
    //================================================================================================
    autoGetVipReward(callback) {
      let acts = "";
      let vipInfo = g_obj_map.get("msg_vip");
      if (vipInfo.get("get_vip_drops") == 0) acts += "vip drops;";
      if (vipInfo.get("finish_sort") % 1000 < 5) acts += "#5 vip finish_sort;";
      if (vipInfo.get("finish_dig") % 1000 < 10) acts += "#10 vip finish_dig;";
      if (vipInfo.get("finish_diaoyu") % 1000 < 10) acts += "#10 vip finish_diaoyu;";
      if (vipInfo.get("do_task_num") % 1000 < 10) acts += "#10 vip finish_big_task;";
      if (vipInfo.get("family_quest_count") % 1000 < 25) acts += "#25 vip finish_family;";
      if (g_obj_map.get("msg_clan_view") && vipInfo.get("clan_quest_count") % 1000 < 20) acts += "#20 vip finish_clan;";
      if (vipInfo.get("saodang_fb_1")?.split(",")[2] || 0 % 1000 < 2) acts += "#2 vip finish_fb dulongzhai;";
      if (vipInfo.get("saodang_fb_2")?.split(",")[2] || 0 % 1000 < 2) acts += "#2 vip finish_fb junying;";
      if (vipInfo.get("saodang_fb_3")?.split(",")[2] || 0 % 1000 < 2) acts += "#2 vip finish_fb beidou;";
      if (vipInfo.get("saodang_fb_4")?.split(",")[2] || 0 % 1000 < 2) acts += "#2 vip finish_fb youling;";
      if (vipInfo.get("saodang_fb_5")?.split(",")[2] || 0 % 1000 < 1) acts += "vip finish_fb siyu;";
      if (vipInfo.get("saodang_fb_6")?.split(",")[2] || 0 % 1000 < 1) acts += "vip finish_fb changleweiyang;";
      if (vipInfo.get("saodang_fb_7")?.split(",")[2] || 0 % 1000 < 1) acts += "vip finish_fb heishuihuangling;";
      if (vipInfo.get("saodang_fb_8")?.split(",")[2] || 0 % 1000 < 1) acts += "vip finish_fb jiandangfenglingdu;";
      if (vipInfo.get("saodang_fb_9")?.split(",")[2] || 0 % 1000 < 1) acts += "vip finish_fb tianshanlongxue;";
      if (vipInfo.get("saodang_fb_10")?.split(",")[2] || 0 % 1000 < 1) acts += "vip finish_fb sizhanguangmingding;";
      acts += "home;";
      PLU.execActions(acts, () => {
        callback && callback();
      });
    },
    autoShaodan(callback) {
      let acts = "";
      let vipInfo = g_obj_map.get("msg_vip");
      let isVip = vipInfo.get("vip_tm") > 0;
      if (vipInfo.get("saodang_fb_1")?.split(",")[2] || 0 % 1000 < 2) {
        if (isVip) acts += "#2 vip finish_fb dulongzhai;";
        else
          acts +=
            "team create;fb 1;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?傅一鏢;" +
            "team create;fb 1;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?傅一鏢;";
      }
      if (vipInfo.get("saodang_fb_2")?.split(",")[2] || 0 % 1000 < 2)
        if (isVip) acts += "#2 vip finish_fb junying;";
        else
          acts +=
            "team create;fb 2;;kill?護衛;;kill?小兵;;kill?小兵;e;n;event_1_48728674;fb 2;e;s;event_1_41361248;fb 2;e;e;;kill?護衛;event_1_43484736;;kill?護衛;@赫造基的屍體;@嚴廷殷的屍體;" +
            "team create;fb 2;;kill?護衛;;kill?小兵;;kill?小兵;e;n;event_1_48728674;fb 2;e;s;event_1_41361248;fb 2;e;e;;kill?護衛;event_1_43484736;;kill?護衛;";
      if (vipInfo.get("saodang_fb_3")?.split(",")[2] || 0 % 1000 < 2) {
        if (isVip) acts += "#2 vip finish_fb beidou;";
        else
          acts +=
            "team create;fb 3;w;;kill?天璇劍客;e;s;;kill?玉衡劍客;n;e;;kill?瑤光劍客;event_1_9777898;;kill?天樞劍客;@天樞劍客的屍體;" +
            "team create;fb 3;w;;kill?天璇劍客;e;s;;kill?玉衡劍客;n;e;;kill?瑤光劍客;event_1_9777898;;kill?天樞劍客;";
      }
      if (vipInfo.get("saodang_fb_4")?.split(",")[2] || 0 % 1000 < 2) {
        if (isVip) acts += "#2 vip finish_fb youling;";
        else
          acts +=
            "team create;fb 4;n;;kill?翻雲刀神;n;;kill?織冰女俠;n;;kill?覆雨劍神;n;;kill?排雲狂神;n;;kill?九天老祖;" +
            "team create;fb 4;n;;kill?翻雲刀神;n;;kill?織冰女俠;n;;kill?覆雨劍神;n;;kill?排雲狂神;n;;kill?九天老祖;";
      }
      if (vipInfo.get("saodang_fb_5")?.split(",")[2] || 0 % 1000 < 1) {
        if (isVip) acts += "vip finish_fb siyu;";
        else
          acts +=
            "team create;fb 5;event_1_26662342;;kill?勾陳教香主;se;;kill?勾陳教掌教;nw;nw;event_1_15727082;;kill?紫薇教香主;nw;;kill?紫薇教掌教;se;se;event_1_12238479;;kill?長生教香主;sw;;kill?長生教掌教;ne;ne;event_1_889199;;kill?後土教香主;ne;;kill?後土教掌教;sw;sw;;;;;;;event_1_77337496;;kill?後土真人;";
      }
      if (vipInfo.get("saodang_fb_6")?.split(",")[2] || 0 % 1000 < 1) {
        if (isVip) acts += "vip finish_fb changleweiyang;";
        else
          acts +=
            "team create;fb 6;event_1_94101353;;kill?黃門丞;event_1_8221898;;kill?少府卿;event_1_18437151;;kill?羽林衛;event_1_74386803;;kill?舞樂令;event_1_39816829;event_1_92691681;event_1_19998221;event_1_62689078;;kill?羽林中郎將;event_1_85127800;;ask changleweiyang_jiangzuodajiang;event_1_39026868;;kill?大司馬;s;;kill?未央公主;";
      }
      if (vipInfo.get("saodang_fb_7")?.split(",")[2] || 0 % 1000 < 1)
        if (isVip) acts += "vip finish_fb heishuihuangling;";
        else
          acts +=
            "team create;fb 7;event_1_20980858;;kill?斷龍斧衛;fb 7;event_1_81463220;;kill?金錘力士;fb 7;event_1_5770640;;kill?重甲矛士;fb 7;event_1_56340108;;kill?大夏神箭;event_1_21387224;s;;kill?金錘虎將;event_1_94902320;";
      if (vipInfo.get("saodang_fb_8")?.split(",")[2] || 0 % 1000 < 1)
        if (isVip) acts += "vip finish_fb jiandangfenglingdu;";
        else
          acts +=
            "team create;fb 8;n;;kill?夜傷;n;;kill?百裡傷;fb 8;e;;kill?夜幽女;e;;kill?千夜女使;fb 8;w;kill?夜殺;w;;kill?燭夜長老;fb 8;s;;kill?夜刺;s;;kill?千夜刺將;event_1_28034211;;kill?風陵總管;event_1_17257217;";
      if (vipInfo.get("saodang_fb_9")?.split(",")[2] || 0 % 1000 < 1)
        if (isVip) acts += "vip finish_fb tianshanlongxue;";
        else acts += "team create;fb 9;;kill?劍影;n;;kill?劍浪;n;;kill?劍豹;n;;kill?劍蟒;n;;kill?劍飛;n;;kill?劍神;";
      acts += "home;";
      PLU.execActions(acts, () => {
        callback && callback();
      });
    },
    //================================================================================================
    getClanInfo(callback) {
      let openClanTimeout = setTimeout(() => {
        UTIL.delSysListener("listenOpenClan");
        callback && callback(0);
      }, 5000);
      UTIL.addSysListener("listenOpenClan", (b, type, subtype, msg) => {
        if (type == "clan") {
          UTIL.delSysListener("listenOpenClan");
          clearTimeout(openClanTimeout);
          clickButton("prev");
          //console.log(g_obj_map.get("msg_clan_view"))
          callback && callback(1);
        }
      });
      clickButton("clan");
    },
    getVipInfo(callback) {
      let openVipTimeout = setTimeout(() => {
        UTIL.delSysListener("listenOpenVip");
        callback && callback(0);
      }, 5000);
      UTIL.addSysListener("listenOpenVip", (b, type, subtype, msg) => {
        if (type == "vip") {
          UTIL.delSysListener("listenOpenVip");
          clearTimeout(openVipTimeout);
          clickButton("prev");
          //console.log(g_obj_map.get("msg_vip"))
          callback && callback(1);
        }
      });
      clickButton("vip");
    },
    //================================================================================================
    goSign(param) {
      if (!param) {
        return YFUI.writeToOut("<span style='color:#FFF;'>--結束--</span>");
      } else if (param.length == 0) {
        return YFUI.writeToOut("<span style='color:#FFF;'>--簽到結束--</span>");
      }
      let sid = null;
      if (typeof param == "object") {
        sid = param.shift();
      } else {
        sid = param;
        param = null;
      }
      let signD = PLU.signInMaps[sid];
      if (signD.c != undefined) {
        if (signD.c()) {
          if (signD.fn) {
            signD.fn(() => {
              PLU.goSign(param);
            });
          } else if (signD.go) {
            PLU.execActions(signD.go, () => {
              PLU.goSign(param);
            });
          }
        } else {
          PLU.goSign(param);
        }
      } else {
        if (signD.fn) {
          signD.fn(() => {
            PLU.goSign(param);
          });
        } else if (signD.go) {
          PLU.execActions(signD.go, () => {
            PLU.goSign(param);
          });
        }
      }
    },
    //================================================================================================
    initSignInMaps() {
      let _this = this;
      this.getVipInfo((b) => {
        _this.getClanInfo((a) => { });
      });
      this.signInMaps = [
        {
          n: "揚州簽到",
          f: true,
          go: "jh 5;n;n;n;w;look_npc yangzhou_yangzhou4;sign7;home;",
        },
        {
          n: "每日禮包",
          f: true,
          go: "jh 1;event_1_48246976;event_1_85373703;home;",
        },
        { n: "潛龍禮包", go: "jh 1;w;event_1_76648488;event_1_21318613;home;" },
        { n: "續約會員", go: "jh 1;event_1_45018293;home;" },
        {
          n: "分享獎勵",
          go: "share_ok 1;share_ok 2;share_ok 3;share_ok 4;share_ok 5;share_ok 7;home;",
        },
        {
          n: "南詔投資",
          go: "jh 54;#4 nw;#2 w;#4 n;#2 e;n;#2 e;event_1_62143505 go;;;event_1_62143505 get;event_1_63750325 get;home;",
        },
        {
          n: "消費積分",
          go: "jh 1;e;n;e;e;event_1_44731074;event_1_8041045;event_1_8041045;event_1_29721519;home;",
        },
        { n: "吃九花丸", go: "items use obj_jiuhuayulouwan;" },
        {
          n: "打坐睡床",
          go: "home;exercise stop;exercise;golook_room;sleep_hanyuchuang;home;",
        },
        { n: "買引路蜂", go: "shop money_buy mny_shop2_N_10;home;" },
        {
          n: "領取工資",
          go: "home;work click maikuli;work click duancha;work click dalie;work click baobiao;work click maiyi;work click xuncheng;work click datufei;work click dalei;work click kangjijinbin;work click zhidaodiying;work click dantiaoqunmen;work click shenshanxiulian;work click jianmenlipai;work click dubawulin;work click youlijianghu;work click yibangmaoxiang;work click zhengzhanzhongyuan;work click taofamanyi;public_op3;home;",
        },
        {
          n: "爬樓獎勵",
          go: "home;cangjian get_all;xueyin_shenbinggu blade get_all;xueyin_shenbinggu unarmed get_all;xueyin_shenbinggu throwing get_all;xueyin_shenbinggu spear get_all;xueyin_shenbinggu hammer get_all;xueyin_shenbinggu axe get_all;xueyin_shenbinggu whip get_all;xueyin_shenbinggu stick get_all;xueyin_shenbinggu staff get_all;home;",
        },
        {
          n: "VIP 福利",
          c: function () {
            return g_obj_map.get("msg_vip") && g_obj_map.get("msg_vip").get("vip_tm") > 0 && g_obj_map.get("msg_vip").get("get_vip_drops") == 0;
          },
          go: "vip drops;",
        },
        {
          n: "VIP 排行",
          c: function () {
            return g_obj_map.get("msg_vip") && g_obj_map.get("msg_vip").get("vip_tm") > 0 && g_obj_map.get("msg_vip").get("finish_sort") % 1000 < 5;
          },
          go: "#5 vip finish_sort;",
        },
        {
          n: "VIP 尋寶",
          c: function () {
            return g_obj_map.get("msg_vip") && g_obj_map.get("msg_vip").get("vip_tm") > 0 && g_obj_map.get("msg_vip").get("finish_dig") % 1000 < 10;
          },
          go: "#10 vip finish_dig;",
        },
        {
          n: "VIP 釣魚",
          c: function () {
            return g_obj_map.get("msg_vip") && g_obj_map.get("msg_vip").get("vip_tm") > 0 && g_obj_map.get("msg_vip").get("finish_diaoyu") % 1000 < 10;
          },
          go: "#10 vip finish_diaoyu;",
        },
        {
          n: "VIP 暴擊",
          c: function () {
            return g_obj_map.get("msg_vip") && g_obj_map.get("msg_vip").get("vip_tm") > 0 && g_obj_map.get("msg_vip").get("do_task_num") % 1000 < 10;
          },
          go: "#10 vip finish_big_task;",
        },
        {
          n: "VIP 師門",
          c: function () {
            return g_obj_map.get("msg_vip") && g_obj_map.get("msg_vip").get("vip_tm") > 0 && g_obj_map.get("msg_vip").get("family_quest_count") % 1000 < 25;
          },
          go: "#25 vip finish_family;",
        },
        {
          n: "VIP 幫派",
          c: function () {
            return (
              g_obj_map.get("msg_vip") &&
              g_obj_map.get("msg_vip").get("vip_tm") > 0 &&
              g_obj_map.get("msg_clan_view") &&
              g_obj_map.get("msg_vip").get("clan_quest_count") % 1000 < 20
            );
          },
          go: "#20 vip finish_clan;",
        },
        {
          n: "掃盪副本",
          fn: PLU.autoShaodan,
        },
        {
          n: "論劍試劍",
          fn: PLU.autoSwords,
        },
        {
          n: "銀兩上香",
          c: function () {
            return !!g_obj_map.get("msg_clan_view");
          },
          go: "#20 clan incense yx;home;",
        },
        {
          n: "冰火玄鐵",
          go: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;event_1_53278632;sousuo;sousuo;home;",
        },
        {
          n: "俠客看書",
          go: "jh 36;yell;e;ne;ne;ne;e;e;e;event_1_9179222;e;event_1_11720543;home;",
        },
        {
          n: "絕情鱷魚",
          go: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;se;n;event_1_97487911;home;",
        },
        {
          n: "大昭岩畫",
          go: "jh 26;w;w;n;w;w;w;n;n;place?陰山岩畫;event_1_12853448;home;",
        },
        {
          n: "白駝闖陣",
          go: "jh 21;n;n;n;n;w;;kill?青衣盾衛;w;;kill?飛羽神箭;w;;kill?銀狼近衛;w;;fight baituo_junzhongzhushuai;home;",
        },
        {
          n: "青城孽龍",
          go: "jh 15;n;nw;w;nw;n;event_1_14401179;;kill?孽龍之靈;home;",
        },
        {
          n: "峨眉解圍",
          go: "jh 8;ne;e;e;e;n;;kill?赤豹死士;n;n;;kill?黑鷹死士;n;n;;kill?金狼大將;home;",
        },
        {
          n: "破陣採礦",
          go: "jh 26;w;w;n;e;e;event_1_18075497;w;w;n;event_1_14435995;home;",
        },
        { n: "西安採蓮", go: "jh 2;#19 n;e;n;n;n;w;event_1_31320275;home;" },
        { n: "恆山盜賊", go: "jh 9;event_1_20960851;;kill?殺神寨匪首;home;" },
        {
          n: "少林渡劫",
          go: "jh 13;e;s;s;w;w;w;;event_1_38874360;;kill?渡風神識;home;",
        },
        {
          n: "白馱奇襲",
          go: "jh 21;n;n;n;n;e;e;e;e;e;e;e;s;s;event_1_66710076;s;e;ne;e;se;n;event_1_53430818;n;;kill?豹軍主帥;s;s;nw;n;n;;kill?虎軍主帥;s;s;se;e;e;e;;kill?鷹軍主帥;w;w;w;nw;w;nw;event_1_89411813;;kill?頡利;home;",
        },
        { n: "唐門冰月", fn: PLU.autoBingyue },
        {
          n: "明教毒魔",
          go: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;w;nw;nw;event_1_70957287;;kill?九幽毒魔;home;",
        },
        { n: "天山七侠", fn: PLU.TianShan7Xia },
        {
          n: "十八木人",
          go: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;n;n;n;event_1_91914705;e;e;e;e;#2 vent_1_85950082;home;",
        },
        {
          n: "求教阿不",
          go: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;n;n;n;w;w;event_1_57281457;event_1_10395181;home;",
        },

        { n: _("自动答题", "自動答題"), fn: PLU.loopAnswerQues },
        { n: "垂釣一夏", go: "jh 5;n;w;event_1_3144437;home;" },
        {
          n: _("暖冬礼包", "暖冬禮包"),
          go: "jh 1;w;event_1_67976578;home;",
        },
        {
          n: "慶典禮包",
          go: "jh 1;#5 w;n;event_1_66563556",
        },
        { n: "", go: "home" },
      ];
    },
    TianShan7Xia(callback) {
      PLU.execActions("jh 39;ne;e;n;ne;ne;n;ne;nw;ne;nw;event_1_17801939;place?星星峽;ne;ne;nw;nw", () => {
        PLU.autoFight({
          targetKey: "\nevent_1_37376258", // 懒的改函数了,直接注入(
          fightKind: " ",
          onFail() {
            PLU.execActions("home;", () => {
              callback && callback();
            });
          },
          onEnd() {
            PLU.execActions("home;", () => {
              callback && callback();
            });
          },
        });
      });
    },
    loopAnswerQues(callback) {
      let setAnswerTimeout = function () {
        PLU.STO.ansTo && clearTimeout(PLU.STO.ansTo);
        PLU.STO.ansTo = setTimeout(() => {
          UTIL.delSysListener("onAnswerQuestions");
          YFUI.writeToOut("<span style='color:#FFF;'>--答案超時!--</span>");
        }, 5000);
      };
      UTIL.addSysListener("onAnswerQuestions", function (b, type, subtype, msg) {
        if (type == "notice" && msg.indexOf("每日武林知識問答次數已經達到限額") > -1) {
          if (callback) callback();
          else clickButton("home");
          UTIL.delSysListener("onAnswerQuestions");
          PLU.STO.ansTo && clearTimeout(PLU.STO.ansTo);
          return;
        }
        if (type != "show_html_page") return;
        var qs = msg.split("\n");
        if (!qs) return;
        if (qs[0].indexOf("知識問答第") < 0) return;
        setAnswerTimeout();
        var qus = "";
        for (var i = 1; i < qs.length; i++) {
          qus = $.trim(UTIL.filterMsg(qs[i]));
          if (qus.length > 0) break;
        }
        if (qus.indexOf("回答正確") >= 0) {
          clickButton("question");
          return;
        }
        var answer = PLU.getAnswer2Question(qus);
        if (answer == null) {
          UTIL.delSysListener("onAnswerQuestions");
          PLU.STO.ansTo && clearTimeout(PLU.STO.ansTo);
          PLU.setBtnRed($btn, 0);
          YFUI.writeToOut("<span style='color:#FFF;'>--未找到答案:" + qus + "--</span>");
          return;
        }
        setTimeout(() => {
          clickButton("question " + answer);
        }, 300);
      });
      setAnswerTimeout();
      clickButton("question");
    },
    //================================================================================================
    getAnswer2Question(localQuestion) {
      var answer = PLU.YFD.QuestAnsLibs[localQuestion];
      if (answer) return answer;
      var halfQuestion = localQuestion.substring(localQuestion.length / 2);
      for (var quest in PLU.YFD.QuestAnsLibs) {
        if (quest.indexOf(halfQuestion) == 0) {
          return PLU.YFD.QuestAnsLibs[quest];
        }
      }
      return null;
    },
    //================================================================================================
    autoBingyue(callback) {
      PLU.execActions("jh 14;w;n;n;n;n;event_1_32682066;;;", () => {
        setTimeout(() => {
          PLU.killBingYue(() => {
            if (callback) callback();
            else clickButton("home");
          });
        });
      });
    },
    //================================================================================================
    killBingYue(endCallback) {
      if (parseInt(PLU.getCache("autoPerform")) < 1) {
        PLU.toggleAutoPerform($("#btn_bt_kg_autoPerform"), "autoPerform", 1);
      }
      let tryKill = function (kname, cb, er) {
        PLU.autoFight({
          targetName: kname,
          fightKind: "kill",
          onFail() {
            er && er();
          },
          onEnd() {
            cb && cb();
          },
        });
      };
      PLU.execActions("event_1_48044005;;;;", () => {
        tryKill(
          "冰麟獸",
          () => {
            PLU.execActions("event_1_95129086;;;;", () => {
              tryKill(
                "玄武機關獸",
                () => {
                  PLU.execActions("event_1_17623983;event_1_41741346;;;;", () => {
                    tryKill(
                      "九幽魔靈",
                      () => {
                        PLU.execActions("s;;;;", () => {
                          tryKill(
                            "冰月仙人",
                            () => {
                              endCallback && endCallback();
                            },
                            () => {
                              endCallback && endCallback();
                            },
                          );
                        });
                      },
                      () => {
                        endCallback && endCallback();
                      },
                    );
                  });
                },
                () => {
                  endCallback && endCallback();
                },
              );
            });
          },
          () => {
            endCallback && endCallback();
          },
        );
      });
    },
    //================================================================================================
    autoXTL1() {
      clickButton("team create");
      PLU.killLHYD((err) => {
        return YFUI.writeToOut("<span style='color:#FFF;'>結束--" + err + "</span>");
      });
    },
    autoXTL2() {
      clickButton("team create");
      PLU.killSY((err) => {
        return YFUI.writeToOut("<span style='color:#FFF;'>結束--" + err + "</span>");
      });
    },
    autoERG() {
      PLU.killERG((err) => {
        return YFUI.writeToOut("<span style='color:#FFF;'>結束--" + err + "</span>");
      });
    },
    scanPuzzle() {
      PLU.TMP.autoscan = true;
      PLU.TMP.autotask = true;
      UTIL.addSysListener("reload", (b, type, subtype, msg) => {
        if (type == "notice" && subtype == "notify_fail" && msg == "你的背包裡沒有這個物品。\n") location.reload();
      });
      if (!PLU.TMP.index) PLU.TMP.index = 0;
      PLU.TMP.func = () => {
        PLU.execActions(PLU.linkPath(PLU.queryRoomPath(), PLU.YFD.mapsLib.Npc_New[PLU.TMP.index].way), () => {
          PLU.execActions(";;ask " + PLU.YFD.mapsLib.Npc_New[PLU.TMP.index].id, () => {
            PLU.TMP.puzzleTimeOut = setTimeout(() => {
              if (!PLU.TMP.puzzleWating.status) {
                PLU.TMP.index++;
                PLU.TMP.func();
              }
            }, PLU.getCache("puzzleTimeOut") * 1000);
          });
        });
      };
      PLU.TMP.func();
    },
    puzzleKey() {
      YFUI.showInput({
        title: "密碼設置",
        text: "此設置跨角色共享<br>指定暴擊密碼由誰提交(輸入角色ID)",
        value: localStorage.getItem("masterAcc") || PLU.accId,
        onOk(val) {
          localStorage.setItem("masterAcc", String(val));
        },
        onNo() { },
      });
    },
    puzzleTimeOut() {
      YFUI.showInput({
        title: "超時設置",
        text: "一條謎題最多耗時(單位:秒),0爲不超時,暫不推薦設置爲0",
        value: PLU.getCache("puzzleTimeOut") || 60,
        onOk(val) {
          PLU.setCache("puzzleTimeOut", val);
        },
        onNo() { },
      });
    },
    path4FHMJ(endCallback) {
      PLU.execActions("jh");
      if (g_obj_map.get("msg_jh_list") && g_obj_map.get("msg_jh_list").get("finish43") == 0) {
        return "jh 1;e;n;n;n;n;w;event_1_90287255 go 6;e;s;sw;se;ne;se;s";
      } else {
        return "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s";
      }
    },
    //琅嬛玉洞
    killLHYD(endCallback) {
      PLU.execActions(PLU.path4FHMJ() + ";event_1_52732806", (f) => {
        if (!f) return endCallback && endCallback(1);
        PLU.execActions("kill langhuanyudong_qixing;;kill langhuanyudong_benkuangxiao;;sw;;kill murong_tuboguoshi;;;get?吐蕃國師的屍體;;", (f2) => {
          if (!f2) return endCallback && endCallback(2);
          PLU.execActions("ne;n;;event_1_96023188;w;event_1_39972900;w;event_1_92817399;w;event_1_91110342;s;event_1_74276536;se;event_1_14726005;se;se;;;", () => {
            let sd = g_obj_map.get("msg_room").elements.find((e) => e.value.indexOf("掃盪") >= 0);
            if (sd) {
              let cmd_sd = g_obj_map.get("msg_room").get(sd.key.split("_")[0]);
              PLU.doSaoDang("langhuanyudong", cmd_sd, () => {
                PLU.killLHYD(endCallback);
              });
            } else {
              endCallback && endCallback(5);
            }
          });
        });
      });
    },
    //山崖
    killSY(endCallback) {
      PLU.execActions(PLU.path4FHMJ() + "event_1_64526228", (f) => {
        if (!f) return endCallback && endCallback(1);
        PLU.execActions("kill shanya_muzhaoxue;;kill shanya_qiongduwu;;kill shanya_yuanzhenheshang;;;", (f2) => {
          if (!f2) return endCallback && endCallback(2);
          PLU.execActions("w;event_1_61179401;n;event_1_93134350;n;event_1_60227051;n;event_1_66986009;;kill mingjiao_mengmianrentoumu;;;;get?蒙面人頭目的屍體;;", () => {
            PLU.execActions("n;event_1_53067175;n;event_1_58530809;w;event_1_86449371;event_1_66983665;;", () => {
              let sd = g_obj_map.get("msg_room").elements.find((e) => e.value.indexOf("掃盪") >= 0);
              if (sd) {
                let cmd_sd = g_obj_map.get("msg_room").get(sd.key.split("_")[0]);
                PLU.doSaoDang("shanya", cmd_sd, () => {
                  PLU.killSY(endCallback);
                });
              } else {
                endCallback && endCallback(5);
              }
            });
          });
        });
      });
    },
    // 恶人谷
    killERG(endCallback) {
      var flag = false;
      PLU.execActions("rank go 236;", (f) => {
        if (!f) return endCallback && endCallback(1);
        PLU.execActions("nw;n;n;n;n;n;n;wait#kill tianlongsi_lidazui;get?李大嘴的屍體", (f2) => {
          if (!f2) return endCallback && endCallback(2);
          PLU.execActions("nw;nw;n;wait#kill tianlongsi_baikaixin;get?白開心的屍體", (f3) => {
            if (!f3) return endCallback && endCallback(3);
          });
        });
      });
    },
    buyJHYL() {
      UTIL.addSysListener("9HYL", (b, type, subtype, msg) => {
        if (type != "show_html_page") return;
        var sp = msg.match(/你有四海商票\u001b\[1;32mx(\d+)\u001b\[2;37;0m/);
        if (!sp) return;
        sp = sp[1];
        if (sp < 21750) return YFUI.writeToOut("<span style='color:#FF0;'>--你的商票不足21750--</span>");
        else
          PLU.execActions(
            "reclaim buy 27 go 45;" + // 矢車菊
            "reclaim buy 46 go 45;" + // 雪英
            "reclaim buy 45 go 45;" + // 忘憂草
            "reclaim buy 29 go 15;" + // 鳳凰木
            "reclaim buy 36 go 5;" + // 洛神花
            "reclaim buy 31 go 45;" + // 君影草
            "reclaim buy 32 go 45;" + // 仙客來
            "reclaim buy 33 go 15;" + // 淩霄花
            "reclaim buy 34 go 15;" + // 夕霧草
            (UTIL.inHome() ? "go_lookroom" : "home"),
          );
        UTIL.delSysListener("9HYL");
      });
      PLU.execActions("reclaim recl");
    },
    //================================================================================================
    execActions(str, endcallback, params) {
      var acs = str
        .split(";")
        .map((e) => {
          let np = e.match(/^#(\d+)\s(.*)/);
          if (np) {
            let r = [];
            for (let i = 0; i < np[1]; i++) r.push(np[2]);
            return r;
          }
          return e;
        })
        .flat()
        .map((e) => {
          if (PLU.YFD.pathCmds[e]) return PLU.YFD.pathCmds[e] + "." + UTIL.rnd();
          return e;
        });
      PLU.actions({
        paths: acs,
        idx: 0,
        onPathsEnd() {
          PLU.STATUS.isBusy = false;
          endcallback && endcallback(true, params);
        },
        onPathsFail() {
          PLU.STATUS.isBusy = false;
          endcallback && endcallback(false, params);
        },
      });
    },
    //================================================================================================
    actions(params) {
      PLU.STATUS.isBusy = true;
      //params:{paths,idx,onPathsEnd,onPathsFail}
      if (params.idx >= params.paths.length) {
        return params.onPathsEnd && params.onPathsEnd();
      }
      let curAct = params.paths[params.idx];
      //null
      if (!curAct) {
        setTimeout(() => {
          params.idx++;
          PLU.actions(params);
        }, 250);
        return;
      }
      // 等待復活
      if (curAct.indexOf("wait#") > -1 || curAct.indexOf("wait ") > -1) {
        let npc = curAct.substring(curAct.indexOf(" ") + curAct.indexOf("?") + 2);
        if (UTIL.getRoomAllNpc().some((e) => e.name == npc || e.key == npc)) {
          if (params.paths[params.idx].indexOf("wait ") > -1) params.idx++;
          else params.paths[params.idx] = params.paths[params.idx].substring(5);
          PLU.actions(params);
        } else
          UTIL.addSysListener("wait", (b, type, subtype, msg) => {
            if (UTIL.inHome()) {
              UTIL.delSysListener("wait");
              params.idx = params.paths.length;
              PLU.actions(params);
            }
            if (type != "jh") return;
            if (subtype == "info") {
              UTIL.delSysListener("wait");
              params.idx = params.paths.length;
              PLU.actions(params);
            }
            if (subtype != "new_npc") return;
            if (b.get("id") == npc || b.get("name") == npc) {
              UTIL.delSysListener("wait");
              if (curAct.indexOf("wait ") > -1) params.idx++;
              else params.paths[params.idx] = params.paths[params.idx].substring(5);
              PLU.actions(params);
            }
          });
        return;
      }
      //對話
      if (curAct.indexOf("ask#") > -1) {
        if (curAct.indexOf("?") > -1) {
          var npc = UTIL.findRoomNpc(curAct.substring(curAct.indexOf("?") + 1), 0, 1)?.key;
        } else {
          var npc = curAct.substring(curAct.indexOf(" ") + 1);
        }
        npc && clickButton("ask " + npc);
        params.paths[params.idx] = params.paths[params.idx].substring(4);
        PLU.actions(params);
        return;
      }
      //去比試
      if (curAct.indexOf("fight?") > -1 || curAct.indexOf("fight ") > -1) {
        let kt = parseInt(PLU.getCache("autoPerform")) < 1 ? "multi" : "";
        PLU.autoFight({
          targetName: curAct.indexOf("fight?") > -1 ? curAct.substring(6) : null,
          targetKey: curAct.indexOf("fight ") > -1 ? curAct.substring(6) : null,
          fightKind: "fight",
          autoSkill: kt,
          onFail() {
            setTimeout(() => {
              params.idx++;
              PLU.actions(params);
            }, 500);
          },
          onEnd() {
            setTimeout(() => {
              params.idx++;
              PLU.actions(params);
            }, 500);
          },
        });
        return;
      }
      //去殺
      if (curAct.indexOf("kill?") > -1 || curAct.indexOf("kill ") > -1) {
        let kt = parseInt(PLU.getCache("autoPerform")) < 1 ? "multi" : "";
        PLU.autoFight({
          targetName: curAct.indexOf("kill?") > -1 ? curAct.substring(5) : null,
          targetKey: curAct.indexOf("kill ") > -1 ? curAct.substring(5) : null,
          autoSkill: kt,
          onFail() {
            setTimeout(() => {
              params.idx++;
              PLU.actions(params);
            }, 500);
          },
          onEnd() {
            setTimeout(() => {
              params.idx++;
              PLU.actions(params);
            }, 500);
          },
        });
        return;
      }
      // 去摸屍體
      if (curAct.indexOf("get?") > -1) {
        UTIL.getItemFrom(curAct.substring(4));
        setTimeout(() => {
          params.idx++;
          PLU.actions(params);
        }, 500);
        return;
      }
      // 去摸屍體
      if (curAct.indexOf("@") > -1) {
        UTIL.getItemFrom(curAct.substring(1));
        setTimeout(() => {
          params.idx++;
          PLU.actions(params);
        }, 500);
        return;
      }
      // 叫船
      if (curAct.indexOf("yell") > -1) {
        let yellBoatTimeout = setTimeout((e) => {
          clearTimeout(yellBoatTimeout);
          UTIL.delSysListener("goYellBoat");
          params.idx++;
          PLU.actions(params);
        }, 120000);
        UTIL.addSysListener("goYellBoat", function (b, type, subtype, msg) {
          if (type == "main_msg" && msg.indexOf("還沒有達到這") > -1) {
            setTimeout(() => {
              clearTimeout(yellBoatTimeout);
              UTIL.delSysListener("goYellBoat");
              PLU.actions(params);
            }, 2000);
            return;
          }
          if (type == "notice" && msg.indexOf("這兒沒有船可以喊") > -1) {
            setTimeout(() => {
              clearTimeout(yellBoatTimeout);
              UTIL.delSysListener("goYellBoat");
              params.idx++;
              PLU.actions(params);
            }, 500);
            return;
          }
          if (type != "jh" || subtype != "info") return;
          for (var key of b.keys()) {
            var val = b.get(key);
            if (val.indexOf("yell") < 0) continue;
            clearTimeout(yellBoatTimeout);
            UTIL.delSysListener("goYellBoat");
            params.idx++;
            PLU.actions(params);
            break;
          }
        });
        clickButton(curAct);
        return;
      }
      //函式
      if (curAct.indexOf("eval_") > -1) {
        eval(curAct.substring(5));
        setTimeout(() => {
          params.idx++;
          PLU.actions(params);
        }, 500);
        return;
      }
      //檢查地點重走
      if (curAct.indexOf("place?") > -1) {
        var pName = curAct.split(/[?:]/)[1];
        var curName = UTIL.filterMsg(g_obj_map.get("msg_room").get("short") || "");
        var backStep = curAct.split(/[?:]/)[2];
        // 未到達指定地,重新走
        if (pName != curName) {
          if (backStep) {
            //退後幾步
            params.idx -= Number(backStep);
            PLU.actions(params);
            return;
          }
          params.idx = 0;
          PLU.actions(params);
          return;
        }
        // 已到達指定地點,繼續下一個
        params.idx++;
        PLU.actions(params);
        return;
      }

      //迷宫
      if (curAct.match(/^(.+):(.+\^.+)$/)) {
        let cmd = curAct.match(/^(.+):(.+\^.+)$/);
        PLU.execActions(PLU.YFD.mapsLib.Labyrinth[cmd[1]][cmd[2]], () => {
          params.idx++;
          PLU.actions(params);
        });
        return;
      }

      //稱號飛修正
      if (curAct.indexOf("rank go") > -1) {
        let m = curAct.match(/rank go (\d+)/);
        if (m && m[1]) {
          curAct = "rank go " + (Number(m[1]) + 1);
        }
      }

      //look,ask,
      if (curAct.match(/look|ask|get|buy|home|prev|moke|sort|share|sign|sleep|exercise|clan|work|chushi |vip |event_|lq_|wear |wield |remove |unwield/)) {
        if (curAct == "ask?lama_master") {
          UTIL.addSysListener("lama", (b, type, subtype, msg) => {
            if (type == "main_msg")
              if (msg.indexOf("葛倫師傅在幻境之中") == -1) clickButton("ask lama_master");
              else {
                params.idx++;
                PLU.actions(params);
                UTIL.delSysListener("lama");
              }
          });
          clickButton("ask lama_master");
        } else {
          clickButton(curAct);
          setTimeout(() => {
            params.idx++;
            PLU.actions(params);
          }, 300);
        }
        return;
      }
      if (curAct == "飛雪連天射白鹿,笑書神俠倚碧鴛。" || curAct == "飞雪连天射白鹿,笑书神侠倚碧鸳。") {
        if (PLU.developerMode) {
          PLU.setCache("developer", 0);
          YFUI.writeToOut("<span style='color:white;'>==已關閉開發者模式部分功能,刷新後關閉開發者模式全部功能==</span>");
          setTimeout(() => location.reload(), 300);
        } else {
          YFUI.showPop({
            title: "!!!警告!!!",
            text: _(
              "你将开启本脚本开发者模式<br>" +
              "开发者模式功能清单:<br>" +
              "浏览器控制台(F12)输出按键指令、变量g_obj_map的实时变化<br>" +
              "闲聊允许向非脚本玩家打印屏蔽词(屏蔽词不会转为“*”,单字、特殊字符除外)<br>" +
              "可在非首页、非师傅所在地拜入门派,包括未开图的隐藏门派(掌握空间法则(误))<br>" +
              "显示全自动暴击开关(掌握时间法则(延长寿命(<br>" +
              "<b>实验功能可能会导致封号,是否继续?</b>",
              "你將開啟本腳本開發者模式<br>" +
              "開發者模式功能清單:<br>" +
              "瀏覽器控制檯(F12)輸出按鍵指令、變量g_obj_map的實時變化<br>" +
              "閒聊允許向非腳本玩家打印屏蔽詞(屏蔽詞不會轉為“*”,單字、特殊字符除外)<br>" +
              "可在非首頁、非師傅所在地拜入門派,包括未開圖的隱藏門派(掌握空間法則(誤))<br>" +
              "顯示全自動暴擊開關(掌握時間法則(延長壽命(<br>" +
              "<b>實驗功能可能會導致封號,是否繼續?</b>",
            ),
            okText: _("继续", "繼續"),
            onOk() {
              PLU.setCache("developer", 1);
              location.reload();
            },
            onNo() {
              params.idx++;
              PLU.actions(params);
            },
          });
        }
        return;
      }
      //行動
      PLU.go({
        action: curAct,
        onEnd() {
          if (params.idx + 1 >= params.paths.length) {
            return params.onPathsEnd && params.onPathsEnd();
          }
          params.idx++;
          PLU.actions(params);
        },
        onFail(flag) {
          if (flag && PLU.STATUS.inBattle) {
            PLU.autoEscape({
              onEnd() {
                setTimeout(() => {
                  PLU.actions(params);
                }, 1000);
              },
            });
            return;
          } else if (flag) {
            if (PLU.STO.REGO) {
              clearTimeout(PLU.STO.REGO);
              PLU.STO.REGO = null;
            }
            PLU.STO.REGO = setTimeout(() => {
              params.idx++;
              PLU.actions(params);
            }, 1000);
          } else {
            params.onPathsFail && params.onPathsFail();
          }
        },
      });
    },
    //================================================================================================
    go({ action, onEnd, onFail }) {
      if (!action) return onEnd && onEnd(false);
      let clearGoTimeout = function (timeoutKey) {
        clearTimeout(timeoutKey);
        timeoutKey = null;
        UTIL.delSysListener("goMove");
      };
      let goTimeout = setTimeout(function () {
        clearGoTimeout(goTimeout);
        onEnd && onEnd(false);
      }, 2000);
      UTIL.addSysListener("goMove", function (b, type, subtype, msg) {
        if (type == "notice" && subtype == "notify_fail") {
          if (msg.indexOf("你正忙著呢") > -1) {
            clearGoTimeout(goTimeout);
            return onFail && onFail(true);
          }
          if (
            msg.indexOf("無法走動") > -1 ||
            msg.indexOf("沒有這個方向") > -1 ||
            msg.indexOf("只有VIP才可以直接去往此地") > -1 ||
            msg.indexOf("你什麼都沒發覺") > -1 ||
            msg.indexOf("就此鑽入恐有辱墓主") > -1 ||
            msg.indexOf("你雖知這松林內有乾坤,但並沒發現任何線索") > -1 ||
            msg.indexOf("此地圖還未解鎖,請先通關前面的地圖。") > -1
          ) {
            clearGoTimeout(goTimeout);
            return onFail && onFail(false, msg);
          }
        }
        if (type == "unknow_command" || (type == "jh" && subtype == "info")) {
          clearGoTimeout(goTimeout);
          setTimeout(function () {
            onEnd && onEnd(true);
          }, 200);
          return;
        }
      });
      clickButton(action);
    },
    //================================================================================================
    fastExec(str, endcallback) {
      var acs = str
        .split(";")
        .map((e) => {
          let np = e.match(/^#(\d+)\s(.*)/);
          if (np) {
            let r = [];
            for (let i = 0; i < np[1]; i++) r.push(np[2]);
            return r;
          }
          return e;
        })
        .flat()
        .map((e) => {
          if (PLU.YFD.pathCmds[e]) return PLU.YFD.pathCmds[e] + "." + UTIL.rnd();
          return e;
        });
      let fastFunc = (acts, idx) => {
        if (idx >= acts.length) {
          setTimeout(() => {
            endcallback && endcallback(true);
          }, 1000);
          return;
        }
        let curAct = acts[idx];
        if (!curAct) return fastFunc(acts, idx + 1);
        clickButton(curAct);
        setTimeout(() => {
          fastFunc(acts, idx + 1);
        }, 200);
        return;
      };
      fastFunc(acs, 0);
    },
    //================================================================================================
    selectSkills(skillName) {
      if (!PLU.battleData || !PLU.battleData.skills) return null;
      let keys = Object.keys(PLU.battleData.skills);
      if (skillName) {
        for (let i = 0; i < keys.length; i++) {
          let sk = PLU.battleData.skills[keys[i]];
          if (sk && sk.name && sk.name.match(skillName)) return sk;
        }
      } else {
        let n = Math.floor(keys.length * Math.random());
        return PLU.battleData.skills[keys[n]];
      }
      return null;
    },
    //================================================================================================
    autoFight(params) {
      if (PLU.STO.autoF) {
        clearTimeout(PLU.STO.autoF);
        PLU.STO.autoF = null;
      }
      if (!params.targetKey && !params.targetName) {
        params.onFail && params.onFail(0);
        YFUI.writeToOut("<span style='color:#FFF;'>--戰鬥參數缺失--</span>");
        return;
      }
      if (params.targetName && !params.targetKey) {
        let npcObj = UTIL.findRoomNpc(params.targetName, false, true);
        if (npcObj) {
          params.targetKey = npcObj.key;
        } else {
          params.onFail && params.onFail(1);
          YFUI.writeToOut("<span style='color:#FFF;'>--找不到NPC--</span>");
          return;
        }
      }
      let fightAct = params.fightKind ?? "kill";
      let performTime = 0;
      UTIL.addSysListener("onAutoFight", function (b, type, subtype, msg) {
        if (type == "vs" && subtype == "vs_info") {
          setTimeout(() => {
            if (params.autoSkill && PLU.battleData) PLU.battleData.autoSkill = params.autoSkill;
          }, 100);
          if (PLU.TMP.loopCheckFight) {
            clearInterval(PLU.TMP.loopCheckFight);
            PLU.TMP.loopCheckFight = null;
          }
          PLU.TMP.loopCheckFight = setInterval(() => {
            if (!g_gmain.is_fighting) {
              UTIL.delSysListener("onAutoFight");
              if (PLU.STO.autoF) {
                clearTimeout(PLU.STO.autoF);
                PLU.STO.autoF = null;
              }
              if (PLU.TMP.loopCheckFight) {
                clearInterval(PLU.TMP.loopCheckFight);
                PLU.TMP.loopCheckFight = null;
              }
              params.onEnd && params.onEnd();
            }
          }, 2000);
          params.onStart && params.onStart();
        } else if (type == "vs" && (subtype == "add_xdz" || subtype == "text" || subtype == "attack")) {
          let curTime = new Date().getTime();
          if (curTime - performTime < 500) return;
          performTime = curTime;
          let useSkill = null;
          if (params.autoSkill) {
            if (!PLU.battleData || PLU.battleData.xdz < 2) return;
            if (params.autoSkill == "item") {
              if (PLU.battleData.xdz >= 6) useSkill = { key: "playskill 7" };
              else useSkill = {};
            } else if (params.autoSkill == "dodge") {
              if (PLU.battleData.xdz > 9) useSkill = PLU.selectSkills(/乾坤大挪移|淩波微步|無影毒陣|九妙飛天術/);
            } else if (params.autoSkill == "multi") {
              if (PLU.battleData.xdz > 2) useSkill = PLU.selectSkills(/破軍棍法|千影百傷棍|八荒功|月夜鬼蕭|打狗棒法/);
            } else if (params.autoSkill == "fast") {
              if (PLU.battleData.xdz >= 2) useSkill = PLU.selectSkills(/吸星大法|斗轉星移|無影毒陣|空明拳|乾坤大挪移/);
            }
            if (!useSkill) {
              if (PLU.getCache("autoPerform") >= 1) {
                PLU.battleData.autoSkill = "";
                return;
              }
              if (params.autoSkill) PLU.battleData.autoSkill = "";
              useSkill = PLU.selectSkills();
            }
            if (params.onFighting) {
              let block = params.onFighting(useSkill);
              if (block) return;
            }
            useSkill && clickButton(useSkill.key, 0);
          } else {
            params.onFighting && params.onFighting();
          }
        } else if (type == "vs" && subtype == "combat_result") {
          performTime = 0;
          UTIL.delSysListener("onAutoFight");
          if (PLU.STO.autoF) {
            clearTimeout(PLU.STO.autoF);
            PLU.STO.autoF = null;
          }
          if (PLU.TMP.loopCheckFight) {
            clearInterval(PLU.TMP.loopCheckFight);
            PLU.TMP.loopCheckFight = null;
          }
          clickButton("prev_combat");
          params.onEnd && params.onEnd();
        } else if (type == "notice" && subtype == "notify_fail") {
          let errCode = 0;
          if (msg.indexOf("沒有這個人") > -1) {
            errCode = 1;
          } else if (msg.indexOf("你正忙著呢") > -1) {
            errCode = 2;
          } else if (msg.indexOf("已經超量") > -1) {
            errCode = 3;
          } else if (msg.indexOf("已達到上限") > -1) {
            errCode = 4;
          } else if (msg.indexOf("太多人了") > -1) {
            errCode = 5;
          } else if (msg.indexOf("不能戰鬥") > -1) {
            errCode = 6;
          } else if (msg.indexOf("秒後才能攻擊這個人") > -1) {
            let sat = msg.match(/(\d+)秒後才能攻擊這個人/);
            if (sat) errCode = "delay_" + sat[1];
            else errCode = 77;
          } else if (msg.indexOf("先觀察一下") > -1) {
            errCode = 88;
          } else {
            if (!PLU.STATUS.inBattle) {
              errCode = 99;
            }
          }
          UTIL.delSysListener("onAutoFight");
          if (PLU.STO.autoF) {
            clearTimeout(PLU.STO.autoF);
            PLU.STO.autoF = null;
          }
          if (PLU.TMP.loopCheckFight) {
            clearInterval(PLU.TMP.loopCheckFight);
            PLU.TMP.loopCheckFight = null;
          }
          params.onFail && params.onFail(errCode);
        }
      });
      PLU.STO.autoF = setTimeout(() => {
        PLU.STO.autoF = null;
        if (!g_gmain.is_fighting) {
          UTIL.delSysListener("onAutoFight");
          if (PLU.TMP.loopCheckFight) {
            clearInterval(PLU.TMP.loopCheckFight);
            PLU.TMP.loopCheckFight = null;
          }
          return params.onFail && params.onFail(100);
        }
      }, 300000);
      clickButton(fightAct + " " + params.targetKey, 0);
    },
    //================================================================================================
    autoEscape(params) {
      if (!PLU.STATUS.inBattle) return params.onEnd && params.onEnd();
      let lastEscapeTime = new Date().getTime();
      UTIL.addSysListener("onAutoEscape", function (b, type, subtype, msg) {
        if (type == "vs" && subtype == "combat_result") {
          UTIL.delSysListener("onAutoEscape");
          clickButton("prev_combat");
          return params.onEnd && params.onEnd();
        } else if (type == "vs" && (subtype == "add_xdz" || subtype == "text" || subtype == "attack")) {
          let nt = new Date().getTime();
          if (nt - lastEscapeTime > 500) {
            lastEscapeTime = nt;
            clickButton("escape");
          }
        }
      });
    },
    //================================================================================================
    setBtnRed($btn, flag, sColr) {
      if (!PLU.ONOFF[$btn[0].id + "_color"]) {
        PLU.ONOFF[$btn[0].id + "_color"] = $btn.css("background-color");
        let carr = PLU.ONOFF[$btn[0].id + "_color"].split(/[\D\s]+/);
        carr.pop();
        carr.shift();
        if (carr[0] == carr[1] && carr[1] == carr[2]) {
          carr[1] = carr[1] - 32;
          carr[2] = carr[2] - 32;
        }
        let m = carr.reduce((a, b) => (Number(a) + Number(b)) / 2);
        let narr = carr.map((e) => {
          return Math.min(e - 96 + 4 * (e - m), 256);
        });
        PLU.ONOFF[$btn[0].id + "_colorDark"] = "rgb(" + narr.join(",") + ")";
      }
      if (flag == undefined) {
        if (PLU.ONOFF[$btn[0].id]) {
          PLU.ONOFF[$btn[0].id] = 0;
          $btn.css({
            background: PLU.ONOFF[$btn[0].id + "_color"],
            color: "#000",
          });
          return 0;
        } else {
          PLU.ONOFF[$btn[0].id] = 1;
          $btn.css({
            background: PLU.ONOFF[$btn[0].id + "_colorDark"],
            color: "#FFF",
          });
          return 1;
        }
      } else {
        PLU.ONOFF[$btn[0].id] = flag;
        let colr = sColr || PLU.ONOFF[$btn[0].id + "_color"],
          fcolr = "#000";
        if (flag) {
          colr = sColr || PLU.ONOFF[$btn[0].id + "_colorDark"];
          fcolr = "#FFF";
        }
        $btn.css({ background: colr, color: fcolr });
        return flag;
      }
    },
    getBtnRed($btn) {
      if (PLU.ONOFF[$btn[0].id]) return 1;
      return 0;
    },
    //================================================================================================
    toAutoChuaiMo($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        PLU.STATUS.isBusy = false;
        PLU.TMP.CMSkill = null;
        return;
      }
      YFUI.showPop({
        title: "自動揣摩技能",
        text: "一鍵自動揣摩所有能揣摩的技能!(除了六陰追魂劍法)",
        onOk() {
          PLU.autoChuaiMo();
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    toAutoGetKey($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        return UTIL.delSysListener("listenGetKey");
      }
      clickButton("get yin yaoshi");
      UTIL.addSysListener("listenGetKey", function (b, type, subtype, msg) {
        if (g_obj_map.get("msg_room") && g_obj_map.get("msg_room").get("short").match(/匾後/)) {
          if (type == "jh") {
            if (subtype == "new_item") {
              if (b.get("id") == "yin yaoshi") clickButton("get yin yaoshi");
            } else if (subtype == "info") {
              clickButton("get yin yaoshi");
            }
          }
        }
      });
    },
    //================================================================================================
    toAutoMoke($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        PLU.STATUS.isBusy = false;
        return;
      }
      PLU.getAllItems((list) => {
        let daoItems = list.find((it) => !!it.name.match("玄鐵刻刀"));
        let daoNum = daoItems?.num || 0;
        let eqItems = list.filter((it) => !!(it.key.match(/(equip|weapon)_\S+8/) && !it.key.match("_moke_") && !it.key.match("_xinwu") && !it.key.match("_barcer")));
        let myNum = 0;
        eqItems &&
          eqItems.forEach((eq) => {
            myNum += eq.num;
          });
        console.log(eqItems);
        YFUI.showPop({
          title: "自動摹刻所有明月",
          text:
            "一鍵自動摹刻所有明月裝備!<br><span style='color:#F00;font-weight:bold;'>注意準備足夠的刻刀!!!</span><br>當前玄鐵刻刀數量 <span style='color:#F00;'>" +
            daoNum +
            "</span><br>當前未摹刻明月裝備數量 <span style='color:#F00;'>" +
            myNum +
            "</span>",
          onOk() {
            PLU.autoMoke(eqItems);
          },
          onNo() {
            PLU.setBtnRed($btn, 0);
          },
        });
      });
    },
    autoMoke(eqList) {
      if (!PLU.ONOFF["btn_bt_autoMoke"]) return YFUI.writeToOut("<span style='color:#F0F;'> ==摹刻暫停!== </span>");
      if (eqList && eqList.length > 0) {
        let eq = eqList.pop(),
          mokeCmds = "";
        mokeCmds;
        for (var i = 0; i < eq.num; i++) {
          mokeCmds += "moke " + eq.key + ";";
        }
        PLU.execActions(mokeCmds, () => PLU.autoMoke(eqList));
      } else {
        PLU.setBtnRed($("#btn_bt_autoMoke"), 0);
        YFUI.writeToOut("<span style='color:yellow;'> ==摹刻完畢!== </span>");
      }
    },
    //================================================================================================
    toAutoKillZYY($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        return UTIL.delSysListener("listenLoopKillZYY");
      }
      YFUI.showPop({
        title: "自動去刷祝玉妍",
        text: "自動去刷祝玉妍!<br><span style='color:#FFF;background:#F00;font-weight:bold;'>----- 注意: -----</span><br><span style='color:#F00;font-weight:bold;'>1、準備足夠的邪帝舍利!!!<br>2、不要有隊伍!!!<br>3、切記要打開自動技能陣!!!<br>4、要上足夠的保險卡!!!</span>",
        onOk() {
          PLU.execActions("rank go 232;s;s;;;", () => {
            PLU.loopKillZYY();
          });
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
          UTIL.delSysListener("listenLoopKillZYY");
        },
      });
    },
    loopKillZYY() {
      UTIL.addSysListener("listenLoopKillZYY", function (b, type, subtype, msg) {
        if (type == "vs" && subtype == "combat_result") {
          if (!PLU.ONOFF["btn_bt_autoKillZYY"]) {
            PLU.execActions(";;;n;", () => {
              YFUI.writeToOut("<span style='color:yellow;'>=====刷祝玉妍結束!!=====</span>");
              UTIL.delSysListener("listenLoopKillZYY");
            });
          } else {
            PLU.execActions(";;;n;s");
          }
        }
      });
      clickButton("s");
    },
    //================================================================================================
    toAutoFB11($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        return UTIL.delSysListener("listenFB11");
      }
      YFUI.showPop({
        title: "自動副本11",
        text: `自動打副本11!<br>
					<span style='color:#F00;font-weight:bold;'>----- 選擇要打的門 -----</span><br>
					<div style="font-size:12px;line-height:2;box">
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">8 懶惰<input type="checkbox" name="chkfb11" value="nw" checked/></label>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">1非時食<input type="checkbox" name="chkfb11" value="n" checked/></label>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">2 殺生<input type="checkbox" name="chkfb11" value="ne" checked/></label>
					<br>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">7 奢華<input type="checkbox" name="chkfb11" value="w" checked/></label>
					<span style="display:inline-block;width: 31%;color:#999;text-align:center;border:1px solid transparent;">初心之地</span>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">3 偷盜<input type="checkbox" name="chkfb11" value="e" checked/></label>
					<br>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">6 飲酒<input type="checkbox" name="chkfb11" value="sw" checked/></label>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">5 妄語<input type="checkbox" name="chkfb11" value="s" checked/></label>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">4 淫邪<input type="checkbox" name="chkfb11" value="se" checked/></label><br>
					</div>
					<span style='color:#F00;font-weight:bold;'>1、在副本外開始腳本<br>2、記得要組隊<br></span>`,
        okText: "開始",
        onOk() {
          let chks = $('input[name="chkfb11"]:checked');
          let selects = [];
          $.each(chks, (i, e) => {
            selects.push(e.value);
          });
          if (selects.length == 0) return false;
          console.log(selects);
          //PLU.TMP.chkTmpList=[]
          //PLU.execActions('rank go 232;s;s;;;', ()=>{
          PLU.autoFB11(selects);
          //})
          //UTIL.findRoomNpcReg
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
          UTIL.delSysListener("listenFB11");
        },
      });
    },
    autoFB11() { },
    killAllNpc(callback) {
      let npcObj = UTIL.findRoomNpcReg("");
      if (npcObj) {
        let needAutoSkill = PLU.getCache("autoPerform") >= 1 ? null : "multi";
        PLU.autoFight({
          targetKey: npcObj.key,
          fightKind: "kill",
          autoSkill: needAutoSkill,
          onFail() {
            setTimeout((t) => {
              PLU.killAllNpc(callback);
            }, 1000);
          },
          onEnd() {
            setTimeout((t) => {
              PLU.killAllNpc(callback);
            }, 500);
          },
        });
      } else {
        callback && callback();
      }
    },
    //================================================================================================
    checkYouxia($btn) {
      YFUI.showPop({
        title: "檢查入室遊俠技能",
        text: `選擇需要的對應技能:<br>
				<div style="font-size:15px;">
					<label style="display:inline-block;">內功:<input type="checkbox" name="chkskiyx" value="內功" checked/></label>&nbsp;
					<label style="display:inline-block;">輕功:<input type="checkbox" name="chkskiyx" value="輕功" checked/></label>&nbsp;
					<label style="display:inline-block;">劍法:<input type="checkbox" name="chkskiyx" value="劍法" checked/></label>&nbsp;
					<label style="display:inline-block;">掌法:<input type="checkbox" name="chkskiyx" value="掌法" checked/></label>&nbsp;
					<label style="display:inline-block;">刀法:<input type="checkbox" name="chkskiyx" value="刀法" checked/></label>&nbsp;
					<label style="display:inline-block;">暗器:<input type="checkbox" name="chkskiyx" value="暗器"/></label>&nbsp;
					<label style="display:inline-block;">鞭法:<input type="checkbox" name="chkskiyx" value="鞭法"/></label>&nbsp;
					<label style="display:inline-block;">槍法:<input type="checkbox" name="chkskiyx" value="槍法"/></label>&nbsp;
					<label style="display:inline-block;">錘法:<input type="checkbox" name="chkskiyx" value="錘法"/></label>&nbsp;
					<label style="display:inline-block;">斧法:<input type="checkbox" name="chkskiyx" value="斧法"/></label>
				</div>`,
        onOk() {
          let chks = $('input[name="chkskiyx"]:checked');
          let selects = [];
          PLU.TMP.chkTmpList = [];
          $.each(chks, (i, e) => {
            selects.push(e.value);
          });
          PLU.getSkillsList((allSkills, tupoSkills) => {
            PLU.getYouxiaList((yxs) => {
              PLU.checkMySkills(allSkills, yxs, selects);
            });
          });
        },
        onNo() { },
      });
    },
    checkMySkills(mySkills, myYouxia, checkList) {
      // console.log(mySkills, myYouxia, checkList)
      let clstr = "";
      checkList.forEach((c) => (clstr += "【" + c[0] + "】"));
      YFUI.writeToOut("<span style='color:#FFF;'>--技能檢測 <span style='color:yellow;'>" + clstr + "</span>--</span>");
      checkList.forEach((cn) => {
        let carr = PLU.YFD.youxiaSkillMap.filter((r) => r.type == cn);
        carr.forEach((n) => {
          PLU.checkPreSKill(n, mySkills, myYouxia);
        });
      });
      if (PLU.TMP.chkTmpList.length == 0) {
        YFUI.writeToOut("<span style='color:yellow;'>檢查的技能都準備好了!</span>");
      }
    },
    checkPreSKill(node, mySkills, myYouxia) {
      let ms = mySkills.find((s) => s.name == node.skill);
      if (!ms && !PLU.TMP.chkTmpList.includes(node.skill)) {
        PLU.TMP.chkTmpList.push(node.skill);
        let clr = node.kind == "宗師" || node.kind == "俠客" ? "#E93" : "#36E";
        let htm = '<span style="color:' + clr + ';">【' + node.type[0] + "】" + node.skill + " ";
        // htm+= ms?'<span style="color:#3F3;display:inline-block;">('+ms.level+')</span>':'(缺)';
        htm += '<span style="color:#F00;display:inline-block;">(未學)</span>';
        let myx = myYouxia.find((y) => y.name.match(node.name));
        htm +=
          " - " +
          (myx
            ? '<span style="color:#3F3;display:inline-block;">' + myx.name + "[" + myx.level + "]</span>"
            : '<span style="color:#F36;display:inline-block;">需要:<span style="color:#FFF;background:' +
            clr +
            ';"> ' +
            node.kind +
            "-" +
            node.name +
            " </span></span>");
        htm += "</span>";
        YFUI.writeToOut(htm);
      }
      if (node.pre) {
        node.pre.forEach((n) => {
          PLU.checkPreSKill(n, mySkills, myYouxia);
        });
      }
    },
    getYouxiaList(callback) {
      UTIL.addSysListener("getYouxiaList", function (b, type, subtype, msg) {
        if (type != "fudi" && subtype != "juxian") return;
        UTIL.delSysListener("getYouxiaList");
        clickButton("prev");
        let youxias = [];
        for (var i = 0; i < 41; i++) {
          let str = b.get("yx" + i);
          if (str) {
            let attr = str.split(",");
            let ns = UTIL.filterMsg(attr[1]).split("】");
            let nam = ns.length > 1 ? ns[1] : ns[0];
            youxias.push({
              key: attr[0],
              name: nam,
              level: Number(attr[4]),
              kind: attr[3],
            });
          }
        }
        callback(youxias);
      });
      clickButton("fudi juxian");
    },
    //================================================================================================
    toAutoLearn($btn) {
      if (!PLU.TMP.MASTER_SKILLS) {
        return YFUI.showPop({
          title: "缺少數據",
          text: "需要打開師傅技能界面",
          // onOk(){
          //},
        });
      }
      // console.log(PLU.TMP.MASTER_ID, PLU.TMP.MASTER_SKILLS)
      let needSkills = [];
      PLU.getSkillsList((allSkills, tupoSkills) => {
        PLU.TMP.MASTER_SKILLS.forEach((ms) => {
          let sk = allSkills.find((s) => s.key == ms.key) || { level: 0 };
          if (sk.level < ms.level) {
            needSkills.push({
              key: ms.key,
              name: ms.name,
              lvl: ms.level - sk.level,
              cmd: "learn " + ms.key + " from " + PLU.TMP.MASTER_ID + " to 10",
            });
          }
        });
        //console.log(needSkills.map(e=>e.name))
        loopLearn(needSkills);
      });
      let curSkill = null;
      UTIL.addSysListener("loopLearnSkill", function (b, type, subtype, msg) {
        if (type == "notice" && msg.indexOf("不願意教你") >= 0) {
          //UTIL.delSysListener("loopLearnSkill");
          if (curSkill) curSkill.lvl = -1;
        }
        return;
      });
      let loopLearn = function (list) {
        if (list.length > 0) {
          if (list[0].lvl > 0) {
            list[0].lvl -= 10;
            curSkill = list[0];
            clickButton(list[0].cmd);
          } else {
            list.shift();
          }
          setTimeout(() => {
            loopLearn(list);
          }, 200);
        } else {
          UTIL.delSysListener("loopLearnSkill");
          YFUI.writeToOut("<span style='color:#FFF;'>----自動學習結束,記得檢查噢!----</span>");
        }
      };
    },
    //================================================================================================
    autoChuaiMo() {
      if (!PLU.ONOFF["btn_bt_autoChuaiMo"]) return;
      PLU.STATUS.isBusy = true;
      if (!PLU.TMP.CMSkill) {
        PLU.getSkillsList((allSkills, tupoSkills) => {
          if (!PLU.TMP.CANTCMS) PLU.TMP.CANTCMS = [];
          PLU.TMP.CMSkill = allSkills.find(
            (e) =>
              e.level >= 500 &&
              e.level < 600 &&
              e.name != "六陰追魂劍法" &&
              (e.kind == "attack" || e.kind == "recovery" || e.kind == "force") &&
              !PLU.TMP.CANTCMS.includes(e.name),
          );
          if (!PLU.TMP.CMSkill) {
            PLU.STATUS.isBusy = false;
            PLU.TMP.CMSkill = null;
            PLU.setBtnRed($("#btn_bt_autoChuaiMo"), 0);
          } else {
            clickButton("enable " + PLU.TMP.CMSkill.key);
            UTIL.addSysListener("listenChuaiMo", function (b, type, subtype, msg) {
              if (type == "notice" && (msg.indexOf("揣摩最高等級為") >= 0 || msg.indexOf("這項技能不能揣摩") >= 0)) {
                UTIL.delSysListener("listenChuaiMo");
                if (msg.indexOf("這項技能不能揣摩") >= 0) {
                  PLU.TMP.CANTCMS.push(PLU.TMP.CMSkill.name);
                }
                YFUI.writeToOut("<span style='color:#FFF;'>--揣摩結束--</span>");
                PLU.TMP.CMSkill = null;
              }
              return;
            });
          }
          PLU.autoChuaiMo();
        });
      } else {
        clickButton("chuaimo go," + PLU.TMP.CMSkill.key, 0);
        setTimeout((e) => {
          PLU.autoChuaiMo();
        }, 250);
      }
    },
    //================================================================================================
    toAutoTeach($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        PLU.STATUS.isBusy = false;
        PLU.TMP.TeachSkill = null;
        return;
      }
      YFUI.showPop({
        title: "自動傳授遊俠技能",
        text: "一鍵自動傳授遊俠技能!<b style='color:#F00;'>需要點開遊俠技能界面,需要傳授的技能不能為0級</b>",
        onOk() {
          PLU.autoTeach();
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    autoTeach() {
      if (!PLU.ONOFF["btn_bt_autoTeach"]) return;
      PLU.STATUS.isBusy = true;
      if (PLU.TMP.CUR_YX_SKILLS) {
        let ac = PLU.TMP.CUR_YX_SKILLS.find((e) => Number(e.lvl) > 0 && Number(e.lvl) < Number(e.max));
        if (ac) {
          clickButton(ac.cmd, 0);
          setTimeout((e) => {
            PLU.autoTeach();
          }, 200);
        } else {
          YFUI.writeToOut("<span style='color:#FFF;'>--傳授結束--</span>");
          PLU.STATUS.isBusy = false;
          PLU.setBtnRed($("#btn_bt_autoTeach"), 0);
        }
      } else {
        PLU.STATUS.isBusy = false;
        PLU.setBtnRed($("#btn_bt_autoTeach"), 0);
      }
    },
    //================================================================================================
    toAutoUpgrade($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        PLU.STATUS.isBusy = false;
        PLU.TMP.TeachSkill = null;
        return;
      }
      YFUI.showPop({
        title: "自動升級遊俠等級",
        text: "一鍵升級遊俠等級!<b style='color:#F00;'>需要點開遊俠技能界面</b>",
        onOk() {
          PLU.autoUpgrade();
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    // 今天提升鳩摩智等級的次數已達到上限了。
    //不能提升阿朱的等級。
    //遊俠等級超過上限了。
    //================================================================================================
    autoUpgrade() {
      if (!PLU.ONOFF["btn_bt_autoUpgrade"]) return;
      PLU.STATUS.isBusy = true;
      if (PLU.TMP.CUR_YX_LEVEL && PLU.TMP.CUR_YX_SKILLS && PLU.TMP.CUR_YX_ENG) {
        if (PLU.TMP.CUR_YX_SKILLS.length > 4 && PLU.TMP.CUR_YX_LEVEL < 2000) {
          var canUpgrade = true;
          UTIL.addSysListener("listenAutoUpgrade", function (b, type, subtype, msg) {
            if (type == "notice" && (msg.indexOf("等級的次數已達到上限了") >= 0 || msg.indexOf("不能提升") >= 0 || msg.indexOf("等級超過上限了") >= 0)) {
              UTIL.delSysListener("listenAutoUpgrade");
              canUpgrade = false;
              PLU.STATUS.isBusy = false;
              YFUI.writeToOut("<span style='color:#FFF;'>--升級結束--</span>");
              PLU.setBtnRed($("#btn_bt_autoUpgrade"), 0);
            }
            return;
          });
          clickButton("fudi juxian upgrade go " + PLU.TMP.CUR_YX_ENG + " 100");
          setTimeout((e) => {
            if (canUpgrade) PLU.autoUpgrade();
          }, 500);
        } else {
          YFUI.writeToOut("<span style='color:#FFF;'>--升級結束--</span>");
          PLU.STATUS.isBusy = false;
          PLU.setBtnRed($("#btn_bt_autoUpgrade"), 0);
        }
      } else {
        PLU.STATUS.isBusy = false;
        PLU.setBtnRed($("#btn_bt_autoUpgrade"), 0);
      }
    },
    //================================================================================================
    toLoopKillByN($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_loopKillByN").text(_("计数击杀", "計數擊殺"));
        return;
      }
      clickButton("golook_room");
      YFUI.showInput({
        title: "計數擊殺",
        text: "輸入數量,確定後單擊怪!!(數量後帶小數點為比試)",
        value: PLU.getCache("lookKillNum") || 20,
        onOk(val) {
          if (!Number(val)) return;
          setTimeout((o) => {
            $(document).one("click", (o) => {
              let snpc = $(o.target)
                .closest("button")[0]
                .outerHTML.match(/clickButton\('look_npc (\w+)'/i);
              if (snpc && snpc.length >= 2) {
                let kf = String(val).indexOf(".") > 0 ? "fight" : "kill";
                PLU.setCache("lookKillNum", Number(val));
                PLU.loopKillByN(snpc[1], parseInt(val), kf);
              } else {
                PLU.setBtnRed($btn, 0);
              }
            });
          }, 500);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopKillByN(npcId, killN, killorfight) {
      if (killN <= 0 || !PLU.ONOFF["btn_bt_loopKillByN"]) return;
      $("#btn_bt_loopKillByN").text("停(" + killN + ")");
      PLU.autoFight({
        targetKey: npcId,
        fightKind: killorfight,
        autoSkill: "fast",
        onFail() {
          setTimeout((t) => {
            PLU.loopKillByN(npcId, killN, killorfight);
          }, 500);
        },
        onEnd() {
          if (killN <= 1) {
            PLU.setBtnRed($("#btn_bt_loopKillByN"), 0);
            $("#btn_bt_loopKillByN").text(_("计数击杀", "計數擊殺"));
            clickButton("home", 1);
            return;
          } else {
            setTimeout((t) => {
              PLU.loopKillByN(npcId, killN - 1, killorfight);
            }, 500);
          }
        },
      });
    },
    //================================================================================================
    toLoopKillName($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_loopKillName").text(_("名字连杀", "名字連殺"));
        return;
      }
      YFUI.showInput({
        title: "名字連殺",
        text: `格式:次數|人物詞組<br>
						次數:省略則默認1次<br>
						人物詞組:以英文逗號分割多個關鍵詞<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">99|鐵狼軍,銀狼軍,金狼軍,金狼將,十夫長,百夫長,千夫長</span><br>
						[例2] <span style="color:blue;">醉漢,收破爛的</span>;
						`,
        value: PLU.getCache("lookKillNames") || "299|鐵狼軍,銀狼軍,金狼軍,金狼將,十夫長,百夫長,千夫長",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            times = 1,
            names = "",
            arr = str.split("|");
          if (arr.length > 1) {
            times = Number(arr[0]) || 1;
            names = arr[1];
          } else {
            names = arr[0];
          }
          PLU.setCache("lookKillNames", str);
          PLU.loopKillName(names, Number(times));
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopKillName(names, killN) {
      if (killN <= 0 || !PLU.ONOFF["btn_bt_loopKillName"]) return;
      $("#btn_bt_loopKillName").text("停擊殺(" + killN + ")");
      let npcObj = null,
        namesArr = names.split(",");
      for (let i = 0; i < namesArr.length; i++) {
        npcObj = UTIL.findRoomNpc(namesArr[i], false, true);
        if (npcObj) break;
      }
      if (npcObj) {
        let needAutoSkill = PLU.getCache("autoPerform") >= 1 ? null : "multi";
        PLU.autoFight({
          targetKey: npcObj.key,
          fightKind: "kill",
          autoSkill: needAutoSkill,
          onFail() {
            setTimeout((t) => {
              PLU.loopKillName(names, killN);
            }, 1000);
          },
          onEnd() {
            if (killN <= 1) {
              PLU.setBtnRed($("#btn_bt_loopKillName"), 0);
              $("#btn_bt_loopKillName").text("名字連殺");
              return;
            } else {
              setTimeout((t) => {
                PLU.loopKillName(names, killN - 1);
              }, 1000);
            }
          },
        });
      } else {
        setTimeout((t) => {
          PLU.loopKillName(names, killN);
        }, 2000);
      }
    },
    //================================================================================================
    toLoopKill($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        // $("#btn_bt_kg_loopKill").text('循環殺')
        return;
      }
      YFUI.showInput({
        title: "循環殺",
        text: `格式:名字詞組<br>
						名字詞組:以英文逗號分割多個關鍵詞, <b style="color:red;">可模糊匹配!</b><br>
						<span style="color:red;">不需要戰鬥時建議關閉以節省性能!!</span><br>
						[例1] <span style="color:blue;">鐵狼軍,銀狼軍,金狼軍,金狼將,十夫長,百夫長,千夫長,蠻荒鐵,蠻荒銀,蠻荒金,寨近衛,蠻荒近衛</span><br>
						`,
        type: "textarea",
        value: PLU.getCache("lookKillKeys") || "怯薛軍,蒙古突騎,草原槍騎,重裝鐵騎,狼軍,狼將,夫長,蠻荒,近衛",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            names = str.split(/[,,#]/);
          PLU.setCache("lookKillKeys", str);
          PLU.loopKills(str);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopKills(names) {
      if (!PLU.ONOFF["btn_bt_kg_loopKill"]) return;
      // $("#btn_bt_kg_loopKill").text('停循環');
      let npcObj = null,
        namesArr = names.split(/[,,#]/);
      for (let i = 0; i < namesArr.length; i++) {
        npcObj = UTIL.findRoomNpcReg(namesArr[i]);
        if (npcObj) break;
      }
      if (npcObj) {
        let needAutoSkill = PLU.getCache("autoPerform") >= 1 ? null : "multi";
        PLU.autoFight({
          targetKey: npcObj.key,
          fightKind: "kill",
          autoSkill: needAutoSkill,
          onFail() {
            setTimeout((t) => {
              PLU.loopKills(names);
            }, 1000);
          },
          onEnd() {
            setTimeout((t) => {
              PLU.loopKills(names);
            }, 500);
          },
        });
      } else {
        setTimeout((t) => {
          PLU.loopKills(names);
        }, 1000);
      }
    },
    //================================================================================================
    toLoopReadBase($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        // $("#btn_bt_loopReadBase").text('讀技能書')
        return;
      }
      YFUI.showInput({
        title: "讀書還神",
        text: `格式:比試NPC名稱|基礎秘籍名稱<br>
						比試NPC名稱:要比試進行回神的NPC名字<br>
						基礎秘籍名稱:基礎秘籍名稱關鍵詞<br>
						<span style="color:red;">戰鬥必刷道具欄必須用還神丹</span><br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">地痞|基本劍法秘籍</span>
						`,
        value: PLU.getCache("loopReadBase") || "地痞|基本劍法秘籍",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            npcName = "",
            bookName = "",
            arr = str.split("|");
          if (arr.length > 1) {
            npcName = arr[0];
            bookName = arr[1];
            PLU.setCache("loopReadBase", str);
            PLU.getAllItems((list) => {
              let bookItem = list.find((it) => !!it.name.match(bookName));
              let reN = Math.floor(g_obj_map.get("msg_attrs").get("max_shen_value") / 55) || 1;
              console.log(npcName, bookItem.key, reN);
              if (bookItem) {
                PLU.toggleAutoPerform($("#btn_bt_kg_autoPerform"), "autoPerform", 0);
                PLU.loopReadBase(npcName, bookItem.key, reN);
              }
            });
          } else {
            PLU.setBtnRed($btn, 0);
            return;
          }
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    loopReadBase(npcName, bookKey, reN) {
      //你使用了一本

      //你的神值不足:10以上。
      //你目前不能使用
      //使用技能等級為
      if (!PLU.ONOFF["btn_bt_loopReadBase"]) {
        UTIL.delSysListener("listenLoopReadBase");
        YFUI.writeToOut("<span style='color:#FFF;'>--讀基本技能書停止--</span>");
        PLU.setBtnRed($("#btn_bt_loopReadBase"), 0);
        return;
      }
      UTIL.addSysListener("listenLoopReadBase", function (b, type, subtype, msg) {
        if (type == "main_msg" && msg.indexOf("你使用了一本") >= 0) {
          UTIL.delSysListener("listenLoopReadBase");
          setTimeout(() => {
            PLU.loopReadBase(npcName, bookKey, reN);
          }, 500);
        } else if (type == "notice" && msg.indexOf("你的神值不足") >= 0) {
          UTIL.delSysListener("listenLoopReadBase");
          setTimeout(() => {
            let refreshNumber = 0;
            PLU.autoFight({
              targetName: npcName,
              fightKind: "fight",
              autoSkill: "item",
              onStart() {
                console.log("start fight==");
              },
              onFighting(ps) {
                if (refreshNumber >= reN) return true;
                if (ps && ps.key == "playskill 7") {
                  refreshNumber++;
                  console.log(ps.key, refreshNumber, reN);
                  if (refreshNumber >= reN) {
                    PLU.autoEscape({});
                  }
                }
              },
              onFail(err) {
                console.log(err);
                setTimeout(() => {
                  PLU.loopReadBase(npcName, bookKey, reN);
                }, 1000);
              },
              onEnd(e) {
                setTimeout(() => {
                  PLU.loopReadBase(npcName, bookKey, reN);
                }, 1000);
              },
            });
          }, 500);
        } else if (type == "notice" && msg.indexOf("使用技能等級為") >= 0) {
          UTIL.delSysListener("listenLoopReadBase");
          YFUI.writeToOut("<span style='color:#FFF;'>--讀基本技能書結束--</span>");
          PLU.setBtnRed($("#btn_bt_loopReadBase"), 0);
        } else if (type == "notice" && msg.indexOf("你的背包裡沒有這個物品") >= 0) {
          YFUI.writeToOut("<span style='color:#FFF;'>--讀基本技能書停止--</span>");
          PLU.setBtnRed($("#btn_bt_loopReadBase"), 0);
        }
        return;
      });
      let cmds = "items use " + bookKey;
      PLU.execActions(cmds);
    },
    //================================================================================================
    toSearchFamilyQS($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) return;
      YFUI.showInput({
        title: "搜索師門任務",
        text: `格式:任務包含的關鍵字,多個以英文逗號分隔<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">硫磺,黝黑山洞</span>
            [例2] <span style="color:blue;">茅山,</span>
						`,
        value: PLU.getCache("searchFamilyQS") || "硫磺,黝黑山洞",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            arr = str.split(",");
          if (arr.length > 1) {
            PLU.setCache("searchFamilyQS", str);
            clickButton("family_quest", 0);
            PLU.TMP.master = g_obj_map?.get("msg_attrs")?.get("master_name");
            PLU.loopSearchFamilyQS(arr);
          } else {
            PLU.setBtnRed($btn, 0);
            return;
          }
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    loopSearchFamilyQS(keys, cmd) {
      if (!PLU.ONOFF["btn_bt_searchFamilyQS"]) {
        UTIL.delSysListener("listenLoopSearchFamilyQS");
        YFUI.writeToOut("<span style='color:#FFF;'>--停止搜索--</span>");
        PLU.setBtnRed($("#btn_bt_searchFamilyQS"), 0);
        return;
      }
      UTIL.addSysListener("listenLoopSearchFamilyQS", function (b, type, subtype, msg) {
        if (type == "main_msg") {
          if (msg.indexOf(`${PLU.TMP.master}一拂袖`) >= 0 || msg.indexOf("你現在沒有師門任務。") >= 0) {
            UTIL.delSysListener("listenLoopSearchFamilyQS");
            setTimeout(() => {
              PLU.loopSearchFamilyQS(keys);
            }, 250);
          } else if (msg.indexOf("你現在的任務是") >= 0 || msg.indexOf(PLU.TMP.master) >= 0) {
            UTIL.delSysListener("listenLoopSearchFamilyQS");
            let qsStr = msg.replace(/\x03(0)?|href;0;|[\033|\27|\0x1b]\[[0-9|;]+m/gi, "");
            for (let i = 0; i < keys.length; i++) {
              let key = $.trim(keys[i]);
              if (key && qsStr.indexOf(key) >= 0) {
                YFUI.writeToOut("<span style='color:#FF0;'>========= 結束搜索 =========</span>");
                delete PLU.TMP.master;
                PLU.setBtnRed($("#btn_bt_searchFamilyQS"), 0);
                break;
              } else {
                setTimeout(() => {
                  PLU.loopSearchFamilyQS(keys, "family_quest cancel go");
                }, 250);
              }
            }
          }
        }
      });
      if (cmd) clickButton(cmd);
      else clickButton("family_quest", 0);
    },
    //================================================================================================
    toSearchBangQS($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) return;
      YFUI.showInput({
        title: "搜索幫派任務",
        text: `格式:任務包含的關鍵字,多個以英文逗號分隔<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">硫磺,黝黑山洞</span>
						`,
        value: PLU.getCache("searchBangQS") || "硫磺,黝黑山洞",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            arr = str.split(",");
          if (arr.length > 1) {
            PLU.setCache("searchBangQS", str);
            clickButton("clan scene", 0);
            PLU.loopSearchBangQS(arr);
          } else {
            PLU.setBtnRed($btn, 0);
            return;
          }
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    loopSearchBangQS(keys, cmd) {
      if (!PLU.ONOFF["btn_bt_searchBangQS"]) {
        UTIL.delSysListener("listenLoopSearchBangQS");
        YFUI.writeToOut("<span style='color:#FFF;'>--停止搜索--</span>");
        PLU.setBtnRed($("#btn_bt_searchBangQS"), 0);
        return;
      }
      UTIL.addSysListener("listenLoopSearchBangQS", function (b, type, subtype, msg) {
        if (type == "main_msg") {
          if (msg.indexOf("幫派使者一拂袖") >= 0 || msg.indexOf("幫派使者:現在沒有任務") >= 0) {
            UTIL.delSysListener("listenLoopSearchBangQS");
            setTimeout(() => {
              PLU.loopSearchBangQS(keys);
            }, 250);
          } else if (msg.indexOf("你現在的任務是") >= 0 || msg.indexOf("幫派使者:") >= 0) {
            UTIL.delSysListener("listenLoopSearchBangQS");
            let qsStr = msg.replace(/\x03(0)?|href;0;|[\033|\27|\0x1b]\[[0-9|;]+m/gi, "");
            for (let i = 0; i < keys.length; i++) {
              let key = $.trim(keys[i]);
              if (key && qsStr.indexOf(key) >= 0) {
                YFUI.writeToOut("<span style='color:#FF0;'>========= 結束搜索 =========</span>");
                PLU.setBtnRed($("#btn_bt_searchBangQS"), 0);
                break;
              } else {
                setTimeout(() => {
                  PLU.loopSearchBangQS(keys, "clan cancel_task go");
                }, 250);
              }
            }
          }
        }
      });
      if (cmd) clickButton(cmd);
      else clickButton("clan task", 0);
    },
    //================================================================================================
    toLoopClick($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_loopClick").text("自動點擊");
        return;
      }
      YFUI.showInput({
        title: "自動點擊",
        text: "輸入自動點擊的次數,確定後點擊要點按鈕",
        value: PLU.getCache("autoClickNum") || 20,
        onOk(val) {
          if (!Number(val)) return;
          setTimeout((o) => {
            $(document).one("click", (o) => {
              let snpc = $(o.target)
                .closest("button")[0]
                .outerHTML.match(/clickButton\([\'\"](.+)[\'\"](,\s*(\d+))*\)/i);
              if (snpc && snpc.length >= 2) {
                let param = snpc[3] ?? 0;
                PLU.setCache("autoClickNum", Number(val));
                PLU.loopClick(snpc[1], param, Number(val));
              } else {
                PLU.setBtnRed($btn, 0);
              }
            });
          }, 500);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopClick(btnCmd, param, clickNum) {
      if (!clickNum || clickNum < 1 || !PLU.ONOFF["btn_bt_loopClick"]) {
        PLU.setBtnRed($("#btn_bt_loopClick"), 0);
        $("#btn_bt_loopClick").text(_("连续点击", "連續點擊"));
        return;
      }
      $("#btn_bt_loopClick").text(_("停点击(", "停點擊(") + clickNum + ")");
      clickButton(btnCmd, param);
      clickNum--;
      setTimeout(() => {
        PLU.loopClick(btnCmd, param, clickNum);
      }, 250);
    },
    //================================================================================================
    loopSlowClick(btnCmd, param, clickNum, delay) {
      if (!delay) delay = 1000;
      if (!clickNum || clickNum < 1 || !PLU.ONOFF["btn_bt_loopSlowClick"]) {
        PLU.setBtnRed($("#btn_bt_loopSlowClick"), 0);
        $("#btn_bt_loopSlowClick").text(_("慢速点击", "慢速點擊"));
        return;
      }
      $("#btn_bt_loopSlowClick").text("停(" + clickNum + ")");
      clickButton(btnCmd, param);
      clickNum--;
      setTimeout(() => {
        PLU.loopSlowClick(btnCmd, param, clickNum, delay);
      }, delay);
    },
    //================================================================================================
    toLoopSlowClick($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_loopSlowClick").text(_("自動点击", "自動點擊"));
        return;
      }
      YFUI.showPop({
        title: "自動點擊",
        text: `輸入自動點擊的次數,输入點擊速度,確定後點擊遊戲中要點的按鈕<br>
						<div style='margin:10px 0;'>
							<span>速度(幾秒一次): </span>
							<input id="slowClickSec" value="0.5" style="font-size:16px;height:30px;width:15%;"></input>
							<span>次數: </span>
							<input id="slowClickTimes" value="${PLU.getCache("autoClickNum") || 20}" style="font-size:16px;height:26px;width:40%;"></input>
						</div>`,
        onOk() {
          let times = Number($("#slowClickTimes").val()),
            delay = Number($("#slowClickSec").val());
          if (Number(times) <= 0 || Number(delay) <= 0) return;
          setTimeout((o) => {
            $(document).one("click", (o) => {
              let snpc = $(o.target)
                .closest("button")[0]
                .outerHTML.match(/clickButton\([\'\"](.+)[\'\"](,\s*(\d+))*\)/i);
              if (snpc && snpc.length >= 2) {
                let param = snpc[3] ?? 0;
                PLU.setCache("autoClickNum", times);
                PLU.loopSlowClick(snpc[1], param, times, delay * 1000);
              } else {
                PLU.setBtnRed($btn, 0);
              }
            });
          }, 500);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    toRecord($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (btnFlag) {
        PLU.TMP.cmds = [];
        $("#btn_record").text(_("停止录制", "停止錄製"));
        return;
      }
      let cmds = PLU.TMP.cmds;
      delete PLU.TMP.cmds;
      // 指令壓縮算法
      var count = 1;
      for (var index = 0; index < cmds.length; index++) {
        if (cmds[index] == cmds[index + 1]) {
          count++;
          continue;
        }
        if (count >= 2 + cmds[index].length == 1) {
          index -= count - 1;
          cmds.splice(index, count, "#" + count + " " + cmds[index]);
        }
        count = 1;
      }
      cmds = cmds
        .map((e) => {
          let res = e.match(/#\d+ ((jh|fb) \d+)/);
          return res ? res[1] : e;
        })
        .join(";");
      YFUI.showPop({
        title: "指令详情",
        text: cmds,
        okText: _("复制", "複製"),
        onOk() {
          if (GM_setClipboard) GM_setClipboard(cmds);
          else YFUI.writeToOut("<span>權限不足!</span>");
          $("#btn_record").text(_("指令录制", "指令錄製"));
        },
      });
    },
    //================================================================================================
    autoMasterGem($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_autoMasterGem").text("一鍵合天神");
        return;
      }
      let arr = ["碎裂的", "裂開的", "無前綴", "無暇的", "完美的", "君王的", "皇帝的"];
      let sel1 = '<select id="startGemLvl" style="font-size:16px;height:30px;width:25%;">';
      arr.forEach((p, pi) => {
        sel1 += '<option value="' + pi + '" ' + (pi == 0 ? "selected" : "") + ">" + p + "</option>";
      });
      sel1 += "</select>";
      YFUI.showPop({
        title: "一鍵合天神",
        text: `選擇合成起始寶石等級,選擇速度(請根據網速和遊戲速度選擇),確定後自動向上合成所有<br>
						<div style='margin:10px 0;'>
							<span>起始等級: </span>${sel1}
							<span>速度(秒): </span>
							<select id="combineSec" style="font-size:16px;height:30px;width:15%;">
								<option selected>0.5</option>
								<option>1</option>
								<option>2</option>
								<option>3</option>
							</select>
						</div>`,
        width: "382px",
        okText: "開始",
        onOk() {
          let startLvl = Number($("#startGemLvl").val()),
            delay = Number($("#combineSec").val());
          PLU.autoCombineMasterGem(startLvl, delay * 1000);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    autoCombineMasterGem(startLvl, delay, gemCode, count) {
      if (!PLU.ONOFF["btn_bt_autoMasterGem"]) {
        PLU.setBtnRed($("#btn_bt_autoMasterGem"), 0);
        $("#btn_bt_autoMasterGem").text("一鍵合天神");
        YFUI.writeToOut("<span style='color:white;'>==停止合成寶石!==</span>");
        return;
      }
      if (!UTIL.sysListeners["listenCombineMasterGem"]) {
        UTIL.addSysListener("listenCombineMasterGem", function (b, type, subtype, msg) {
          if (type == "notice" && msg.indexOf("合成寶石需要") >= 0) {
            UTIL.delSysListener("listenCombineMasterGem");
            YFUI.writeToOut("<span style='color:#F00;'>--缺少銀兩, 合成結束--</span>");
            PLU.setBtnRed($("#btn_bt_autoMasterGem"), 0);
          }
          return;
        });
      }
      //合成寶石需要5萬銀兩。
      //沒有這麼多的完美的藍寶石
      if (!gemCode || count < 3) {
        PLU.getGemList((gemList) => {
          // console.log(gemList)
          let g = gemList.find((e) => e.key.indexOf("" + (startLvl + 1)) > 0 && e.num >= 3);
          if (g) {
            PLU.autoCombineMasterGem(startLvl, delay, g.key, g.num);
          } else {
            if (startLvl < 6) PLU.autoCombineMasterGem(startLvl + 1, delay);
            else {
              PLU.setBtnRed($("#btn_bt_autoMasterGem"), 0);
              YFUI.writeToOut("<span style='color:white;'>==合成寶石結束!==</span>");
            }
          }
        });
      } else {
        let cd = (delay / 4) | 250,
          n = 1;
        cd = cd > 250 ? cd : 250;
        if (count >= 30000) {
          n = 10000;
          cd = delay;
        } else if (count >= 15000) {
          n = 5000;
          cd = delay;
        } else if (count >= 9000) {
          n = 3000;
          cd = delay;
        } else if (count >= 3000) {
          n = 1000;
          cd = delay;
        } else if (count >= 300) {
          n = 100;
          cd = delay;
        } else if (count >= 150) {
          n = 50;
          cd = delay;
        } else if (count >= 90) {
          n = 30;
          cd = (delay / 2) | 0;
        } else if (count >= 30) {
          n = 10;
          cd = (delay / 3) | 0;
        }
        let cmd = "items hecheng " + gemCode + "_N_" + n + "";
        clickButton(cmd);
        setTimeout(() => {
          PLU.autoCombineMasterGem(startLvl, delay, gemCode, count - n * 3);
        }, cd);
      }
    },
    //================================================================================================
    toSellLaji($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        //$("#btn_bt_sellLaji").text('清理垃圾')
        return;
      }
      let defaultList =
        "破爛衣服,水草,木盾,鐵盾,藤甲盾,青銅盾,鞶革,軍袍,麻帶,破披風,長斗篷,牛皮帶,錦緞腰帶,絲質披風,逆鉤匕,匕首,鐵甲,重甲,精鐵甲,逆鉤匕,銀絲甲,梅花匕,軟甲衣,羊角匕,金剛杖,白蟒鞭,天寒項鍊,天寒手鐲,新月棍,天寒戒,天寒帽,天寒鞋,金彈子,拜月掌套";
      YFUI.showInput({
        title: "清理垃圾",
        text: `格式:物品詞組<br>
						物品詞組:以英文逗號分割多個關鍵詞<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">${defaultList}</span><br>
						`,
        value: PLU.getCache("sellItemNames") || defaultList,
        type: "textarea",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val);
          PLU.setCache("sellItemNames", str);
          let keysList = str.split(",");
          let itemsTimeOut = setTimeout(() => {
            UTIL.delSysListener("listItems");
          }, 5000);
          UTIL.addSysListener("listItems", function (b, type, subtype, msg) {
            if (type != "items") return;
            UTIL.delSysListener("listItems");
            clearTimeout(itemsTimeOut);
            clickButton("prev");
            let iId = 1,
              itemList = [];
            while (b.get("items" + iId)) {
              let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
              if (it && it.length > 4 && it[3] == "0" && keysList.includes(it[1]))
                itemList.push({
                  key: it[0],
                  name: it[1],
                  num: Number(it[2]),
                });
              iId++;
            }
            PLU.loopSellItems(itemList);
          });
          clickButton("items", 0);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopSellItems(itemList) {
      if (itemList.length <= 0) {
        PLU.setBtnRed($("#btn_bt_sellLaji"), 0);
        return YFUI.writeToOut("<span style='color:#F66;'>--無出售物件!--</span>");
      }
      let ac = [];
      itemList.forEach((it) => {
        let ct = it.num;
        while (ct > 0) {
          if (ct >= 10000) {
            ac.push("items sell " + it.key + "_N_10000");
            ct -= 10000;
          } else if (ct >= 1000) {
            ac.push("items sell " + it.key + "_N_1000");
            ct -= 1000;
          } else if (ct >= 100) {
            ac.push("items sell " + it.key + "_N_100");
            ct -= 100;
          } else if (ct >= 50) {
            ac.push("items sell " + it.key + "_N_50");
            ct -= 50;
          } else if (ct >= 10) {
            ac.push("items sell " + it.key + "_N_10");
            ct -= 10;
          } else {
            ac.push("items sell " + it.key + "");
            ct -= 1;
          }
        }
      });
      let acs = ac.join(";");
      PLU.fastExec(acs, () => {
        PLU.setBtnRed($("#btn_bt_sellLaji"), 0);
        YFUI.writeToOut("<span style='color:white;'>==出售完成!==</span>");
      });
    },
    //================================================================================================
    toSplitItem($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) return;
      let defaultList =
        "玄武盾,破軍盾,金絲寶甲衣,夜行披風,羊毛斗篷,殘雪戒,殘雪項鍊,殘雪手鐲,殘雪鞋,金絲甲,寶玉甲,月光寶甲,虎皮腰帶,滄海護腰,紅光匕,毒龍鞭,玉清棍,霹靂掌套";
      YFUI.showInput({
        title: "分解裝備",
        text: `格式:物品詞組<br>
						物品詞組:以英文逗號分割多個關鍵詞<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">${defaultList}</span><br>
						`,
        value: PLU.getCache("splitItemNames") || defaultList,
        type: "textarea",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val);
          PLU.setCache("splitItemNames", str);
          let keysList = str.split(",");
          let itemsTimeOut = setTimeout(() => {
            UTIL.delSysListener("listItems_si");
          }, 5000);
          UTIL.addSysListener("listItems_si", function (b, type, subtype, msg) {
            if (type != "items") return;
            UTIL.delSysListener("listItems_si");
            clearTimeout(itemsTimeOut);
            clickButton("prev");
            let iId = 1,
              itemList = [];
            while (b.get("items" + iId)) {
              let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
              if (it && it.length > 4 && it[3] == "0" && keysList.includes(it[1]))
                itemList.push({
                  key: it[0],
                  name: it[1],
                  num: Number(it[2]),
                });
              iId++;
            }
            PLU.loopSplitItem(itemList);
          });
          clickButton("items", 0);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopSplitItem(itemList) {
      if (itemList.length <= 0) {
        PLU.setBtnRed($("#btn_bt_splitItem"), 0);
        return YFUI.writeToOut("<span style='color:#F66;'>--無分解物件!--</span>");
      }
      let ac = [];
      itemList.forEach((it) => {
        let ct = it.num;
        while (ct > 0) {
          if (ct >= 100) {
            ac.push("items splite " + it.key + "_N_100");
            ct -= 100;
          } else if (ct >= 50) {
            ac.push("items splite " + it.key + "_N_50");
            ct -= 50;
          } else if (ct >= 10) {
            ac.push("items splite " + it.key + "_N_10");
            ct -= 10;
          } else {
            ac.push("items splite " + it.key + "");
            ct -= 1;
          }
        }
      });
      let acs = ac.join(";");
      PLU.fastExec(acs, () => {
        PLU.setBtnRed($("#btn_bt_splitItem"), 0);
        YFUI.writeToOut("<span style='color:white;'>==分解完成!==</span>");
      });
    },
    //================================================================================================
    toPutStore($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) return;
      let defaultList = "樹枝,碎片,璞玉,青玉,墨玉,白玉,秘籍木盒,錦袋,瑞雪針釦,武穆遺書,隱武竹箋,空識卷軸,技能書,開元寶票,霹靂彈,舞鳶尾,百宜雪梅";
      YFUI.showInput({
        title: "物品入庫",
        text: `格式:物品詞組<br>
						物品詞組:以英文逗號分割多個關鍵詞<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">${defaultList}</span><br>
						`,
        value: PLU.getCache("putStoreNames") || defaultList,
        type: "textarea",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val);
          PLU.setCache("putStoreNames", str);
          let keysList = str.split(",").join("|");
          let itemsTimeOut = setTimeout(() => {
            UTIL.delSysListener("listItems_ps");
          }, 5000);
          UTIL.addSysListener("listItems_ps", function (b, type, subtype, msg) {
            if (type != "items") return;
            UTIL.delSysListener("listItems_ps");
            clearTimeout(itemsTimeOut);
            clickButton("prev");
            let iId = 1,
              itemList = [];
            while (b.get("items" + iId)) {
              let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
              if (it && it.length > 4 && it[3] == "0" && it[1].match(keysList) && it[1] != "青龍碎片" && it[1] != "玄鐵碎片")
                itemList.push({
                  key: it[0],
                  name: it[1],
                  num: Number(it[2]),
                });
              iId++;
            }
            PLU.loopPutStore(itemList);
          });
          clickButton("items", 0);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopPutStore(itemList) {
      if (itemList.length <= 0) {
        PLU.setBtnRed($("#btn_bt_putStore"), 0);
        return YFUI.writeToOut("<span style='color:#F66;'>--無物件入庫!--</span>");
      }
      let ac = [];
      itemList.forEach((it) => {
        ac.push("items put_store " + it.key + "");
      });
      PLU.fastExec(ac.join(";"), () => {
        PLU.setBtnRed($("#btn_bt_putStore"), 0);
        YFUI.writeToOut("<span style='color:white;'>==入庫完成!==</span>");
      });
    },
    //================================================================================================
    toAutoUse($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) return;
      let defaultList =
        "*神秘寶箱,靈草,紫芝,狂暴丹,小還丹,大還丹,高級大還丹,高級狂暴丹,高級乾坤再造丹,百年靈草,百年紫芝,特級大還丹,特級狂暴丹,特級乾坤再造丹,千年靈草,千年紫芝,頂級大還丹,頂級狂暴補丸,頂級乾坤補丸,萬年靈草,萬年紫芝";
      YFUI.showInput({
        title: "物品使用",
        text: `格式:物品詞組<br>
						物品詞組:以英文逗號分割多個關鍵詞, 只能單個使用的物品前面加*星號<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">${defaultList}</span><br>
						`,
        value: PLU.getCache("autoUseNames") || defaultList,
        type: "textarea",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val);
          PLU.setCache("autoUseNames", str);
          let keysList = str.split(",");
          let itemsTimeOut = setTimeout(() => {
            UTIL.delSysListener("listItems_au");
          }, 5000);
          UTIL.addSysListener("listItems_au", function (b, type, subtype, msg) {
            if (type != "items") return;
            UTIL.delSysListener("listItems_au");
            clearTimeout(itemsTimeOut);
            clickButton("prev");
            let iId = 1,
              itemList = [];
            while (b.get("items" + iId)) {
              let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
              if (!it[1]) continue;
              if (it && it.length > 4 && it[3] == "0") {
                if (keysList.includes(it[1]))
                  itemList.push({
                    key: it[0],
                    name: it[1],
                    num: Number(it[2]),
                    multi: true,
                  });
                else if (keysList.includes("*" + it[1]))
                  itemList.push({
                    key: it[0],
                    name: it[1],
                    num: Number(it[2]),
                    multi: false,
                  });
              }
              iId++;
            }
            PLU.loopAutoUse(itemList);
          });
          clickButton("items", 0);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopAutoUse(itemList) {
      if (itemList.length <= 0) {
        PLU.setBtnRed($("#btn_bt_autoUse"), 0);
        return YFUI.writeToOut("<span style='color:#F66;'>--無物件使用!--</span>");
      }
      let ac = [];
      itemList.forEach((it) => {
        let ct = it.num;
        while (ct > 0) {
          if (it.multi && ct >= 100) {
            ac.push("items use " + it.key + "_N_100");
            ct -= 100;
          } else if (it.multi && ct >= 50) {
            ac.push("items use " + it.key + "_N_50");
            ct -= 50;
          } else if (it.multi && ct >= 10) {
            ac.push("items use " + it.key + "_N_10");
            ct -= 10;
          } else {
            ac.push("items use " + it.key + "");
            ct -= 1;
          }
        }
      });
      PLU.fastExec(ac.join(";"), () => {
        PLU.setBtnRed($("#btn_bt_autoUse"), 0);
        YFUI.writeToOut("<span style='color:white;'>==使用完成!==</span>");
      });
    },
    //================================================================================================
    toLoopScript($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_loopScript").text("循環執行");
        PLU.STO.loopScTo && clearTimeout(PLU.STO.loopScTo) && delete PLU.STO.loopScTo;
        return;
      }
      YFUI.showInput({
        title: "循環執行",
        text: `格式:循環次數@時間間隔|執行指令<br>
						循環次數:省略則默認1次<br>
						時間間隔:省略則默認5(5秒)<br>
						執行指令:以分號分隔的指令<br>
						<span style="color:red;">例如</span><br>
						[例1] 3@5|jh 1;e;n;home;<br>
						[例2] jh 5;n;n;n;w;sign7;
						`,
        value: PLU.getCache("loopScript") || "home;",
        type: "textarea",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            scripts = "",
            times = 1,
            interval = 5,
            arr = str.split("|");
          if (arr.length > 1) {
            scripts = arr[1];
            if (arr[0].indexOf("@") >= 0) {
              times = Number(arr[0].split("@")[0]) || 1;
              interval = Number(arr[0].split("@")[1]) || 5;
            } else {
              times = Number(arr[0]) || 1;
            }
          } else {
            scripts = arr[0];
          }
          PLU.setCache("loopScript", str);
          PLU.loopScript(scripts, times, interval);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopScript(scripts, times, interval) {
      times--;
      $("#btn_bt_loopScript").text("停執行(" + times + ")");
      PLU.execActions(scripts, () => {
        if (times <= 0 || !PLU.ONOFF["btn_bt_loopScript"]) {
          PLU.setBtnRed($("#btn_bt_loopScript"), 0);
          $("#btn_bt_loopScript").text("循環執行");
          PLU.STO.loopScTo && clearTimeout(PLU.STO.loopScTo) && delete PLU.STO.loopScTo;
          return;
        } else {
          PLU.STO.loopScTo = setTimeout(() => {
            PLU.loopScript(scripts, times, interval);
          }, interval * 1000);
        }
      });
    },
    //================================================================================================
    toAutoAskQixia($btn, autoTime) {
      if (g_gmain.is_fighting) return;
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) return;
      $(".menu").hide();
      YFUI.showPop({
        title: "自動訪問奇俠",
        text: "自動對話所有有親密度的奇俠, 請在做完20次贊助金錠後再進行<br><b style='color:#F00;'>是否現在進行?</b>",
        autoOk: autoTime ?? null,
        onOk() {
          let jhqxTimeOut = setTimeout(() => {
            UTIL.delSysListener("listQixia");
            PLU.setBtnRed($btn, 0);
          }, 5000);
          UTIL.addSysListener("listQixia", function (b, type, subtype, msg) {
            if (type != "show_html_page" || msg.indexOf("江湖奇俠成長信息") < 0) return;
            UTIL.delSysListener("listQixia");
            clearTimeout(jhqxTimeOut);
            let listHtml = msg;
            clickButton("prev");
            let str = "find_task_road qixia (\\d+)\x03(.{2,4})\x030\x03\\((\\d+)\\)(.{15,25}朱果)?.{30,50}已出師",
              rg1 = new RegExp(str, "g"),
              rg2 = new RegExp(str),
              visQxs = [];
            listHtml.match(rg1).forEach((e) => {
              let a = e.match(rg2);
              if (a)
                visQxs.push({
                  key: a[1],
                  name: a[2],
                  num: Number(a[3]),
                  link: "find_task_road qixia " + a[1],
                  fast: a[4] ? "open jhqx " + a[1] : null,
                });
            });
            visQxs = visQxs.sort((a, b) => {
              if (a.fast && b.num >= 25000) return -1;
              else return 2;
            });
            visQxs.reverse();
            PLU.toAskQixia(visQxs, 0);
          });
          clickButton("open jhqx", 0);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    toAskQixia(qxList, idx) {
      clickButton("home");
      if (idx >= qxList.length || !PLU.ONOFF["btn_bt_autoAskQixia"]) {
        PLU.setBtnRed($("#btn_bt_autoAskQixia"), 0);
        YFUI.writeToOut("<span style='color:#FFF;'>--奇俠訪問結束!--</span>");
        return;
      }
      let qxObj = qxList[idx];
      if (qxObj.fast) {
        clickButton(qxObj.fast, 0);
        setTimeout(() => {
          PLU.toAskQixia(qxList, idx + 1);
        }, 500);
      } else {
        PLU.execActions(qxObj.link + ";golook_room;", () => {
          let objNpc = UTIL.findRoomNpc(qxObj.name, false, true);
          if (objNpc) {
            PLU.execActions("ask " + objNpc.key + ";ask " + objNpc.key + ";ask " + objNpc.key + ";ask " + objNpc.key + ";ask " + objNpc.key + ";golook_room;", () => {
              setTimeout(() => {
                PLU.toAskQixia(qxList, idx + 1);
              }, 500);
            });
          } else {
            YFUI.writeToOut("<span style='color:#FFF;'>--找不到奇俠:" + qxObj.name + "--</span>");
            setTimeout(() => {
              PLU.toAskQixia(qxList, idx + 1);
            }, 500);
          }
        });
      }
    },
    //================================================================================================
    getQixiaList(callback) {
      let jhQixiaTimeOut = setTimeout(() => {
        UTIL.delSysListener("getlistQixia");
      }, 5000);
      UTIL.addSysListener("getlistQixia", function (b, type, subtype, msg) {
        if (type != "show_html_page" || msg.indexOf("江湖奇俠成長信息") < 0) return;
        UTIL.delSysListener("getlistQixia");
        clearTimeout(jhQixiaTimeOut);
        window.ttttt = msg;
        let listHtml = msg.replace(/\x03(0)?|href;0;|[\033|\27|\0x1b]\[[0-9|;]+m/gi, "");
        clickButton("prev");
        let str =
          "find_task_road qixia (\\d+)(.{2,4})(\\((\\d*)\\))?(open jhqx \\d+朱果)?<\\/td><td.{20,35}>(.{1,10})<\\/td><td.{20,35}>(.{1,15})<\\/td><td .{20,40}領悟(.{2,10})<\\/td><\\/tr>";
        let rg1 = new RegExp(str, "g"),
          rg2 = new RegExp(str),
          qxList = [];
        listHtml.match(rg1).forEach((e) => {
          let a = e.match(rg2);
          if (a)
            qxList.push({
              index: a[1],
              name: a[2],
              num: Number(a[4]) || 0,
              link: "find_task_road qixia " + a[1],
              fast: a[5] ? "open jhqx " + a[1] : null,
              inJh: a[6] && a[6].indexOf("未出世") < 0 ? true : false,
            });
        });
        callback && callback(qxList);
      });
      clickButton("open jhqx", 0);
    },
    //================================================================================================
    toAutoVisitQixia($btn) {
      if (g_gmain.is_fighting) return;
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        //$("#btn_bt_autoVisitQixia").text('親近奇俠')
        PLU.TMP.autoQixiaMijing = false;
        return;
      }
      $(".menu").hide();
      clickButton("open jhqx", 0);
      YFUI.showInput({
        title: "奇俠秘境",
        text:
          `請輸入要提升親密度的遊俠的姓名<br>
                        格式:金錠數量|遊俠姓名@目標友好度<br>
						金錠數量:給予1或5或15金錠,可省略則只對話<br>
						遊俠姓名:只能輸入一個遊俠姓名<br>
						目標友好度:省略則以可學技能的友好度為目標<br>
						<span style="color:red;">例如</span><br>
						[例1] 15|風無痕 <span style="color:blue;">訪問風無痕贈與15金錠</span><br>
						[例2] 火雲邪神 <span style="color:blue;">訪問火雲邪神對話</span><br>
						[例2] 15|步驚鴻@30000 <span style="color:blue;">訪問步驚鴻對話贈與15金錠到30000友好度</span><br>
						` +
          '<div style="text-align:right;"><label>自動挖寶:<input type="checkbox" id="if_auto_wb" name="awb" value="1"/></label><label>不要掃盪秘境:<input type="checkbox" id="if_auto_mj" name="noamj" value="1"/></label></div>',
        value: PLU.getCache("visitQixiaName") || "15|風無痕",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            arr = str.split("|"),
            giveNum = 15,
            qxName = "",
            objectFN = 0;
          let ifAutoMj = $("#if_auto_mj").is(":checked");
          let ifAutoWb = $("#if_auto_wb").is(":checked");
          if (arr.length > 1) {
            giveNum = Number(arr[0]) || 15;
            let nn = arr[1].split("@");
            qxName = nn[0].trim();
            if (nn.length > 1) objectFN = Number(nn[1]);
          } else {
            giveNum = 0;
            let nn = arr[0].split("@");
            qxName = nn[0].trim();
            if (nn.length > 1) objectFN = Number(nn[1]);
          }
          PLU.setCache("visitQixiaName", str);
          PLU.TMP.todayGetXT = 0;
          UTIL.delSysListener("listenVisitNotice");
          PLU.STO.listenVisit && clearTimeout(PLU.STO.listenVisit);
          PLU.TMP.goingQixiaMijing = false;
          PLU.tryVisitQixia(qxName, giveNum, objectFN, ifAutoMj, ifAutoWb, (err) => {
            if (err) {
              if (err.code == 1) {
                PLU.setBtnRed($btn, 0);
                UTIL.delSysListener("listenVisitNotice");
                PLU.toAutoAskQixia($("#btn_bt_autoAskQixia"), 10);
                YFUI.writeToOut("<span style='color:yellow;'> 今日一共獲得玄鐵令x" + PLU.TMP.todayGetXT + "</span>");
                UTIL.log({
                  msg: " 今日一共獲得玄鐵令x " + PLU.TMP.todayGetXT + "  ",
                  type: "TIPS",
                  time: new Date().getTime(),
                });
              } else {
                YFUI.showPop({
                  title: "提示",
                  text: "<b style='color:#F00;'>" + err.msg + "</b>",
                  onOk() {
                    PLU.setBtnRed($btn, 0);
                    PLU.toAutoVisitQixia($btn);
                  },
                  onX() {
                    PLU.setBtnRed($btn, 0);
                  },
                });
              }
            }
          });
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
        onX() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    tryVisitQixia(qxName, giveNum, objectFN, ifAutoMj, ifAutoWb, callback) {
      PLU.TMP.autoQixiaMijing = true;
      //發現
      PLU.getQixiaList((qxlist) => {
        let testDone = qxlist.find((e) => !!e.fast);
        if (testDone) {
          PLU.STO.listenVisit && clearTimeout(PLU.STO.listenVisit);
          callback && callback({ code: 1, msg: "今日奇俠友好度操作已經完畢" });
          return;
        }
        let qx = qxlist.find((e) => e.name == qxName);
        if (!qx) {
          callback && callback({ code: 2, msg: "沒有這個奇俠!" });
          return;
        }
        if (!qx.inJh) {
          callback && callback({ code: 3, msg: "這個奇俠還沒出師!" });
          return;
        }
        let objectFriendNum = objectFN ?? PLU.YFD.qixiaFriend.find((e) => e.name == qxName).skillFN;
        if (qx.num >= objectFriendNum) {
          callback && callback({ code: 4, msg: "奇俠友好度已足夠" });
          return;
        }
        let listenVisitTimeout = function () {
          if (!PLU.TMP.goingQixiaMijing) PLU.tryVisitQixia(qxName, giveNum, objectFN, ifAutoMj, ifAutoWb, callback);
        };
        UTIL.delSysListener("listenVisitNotice");
        //監聽場景消息
        UTIL.addSysListener("listenVisitNotice", function (b, type, subtype, msg) {
          if (type != "notice" && type != "main_msg") return;
          let msgTxt = UTIL.filterMsg(msg);
          if (msgTxt.match("對你悄聲道:你現在去")) {
            //奇俠說秘境
            let l = msgTxt.match(/(.*)對你悄聲道:你現在去(.*),應當會有發現/);
            if (l && l.length > 2) {
              PLU.TMP.goingQixiaMijing = true;
              let placeData = PLU.YFD.mjList.find((e) => e.n == l[2]);
              if (placeData) {
                PLU.execActions(placeData.v + ";;find_task_road secret;;", () => {
                  setTimeout(() => {
                    let mapid = g_obj_map.get("msg_room").get("map_id");
                    let shortName = g_obj_map.get("msg_room").get("short");
                    YFUI.writeToOut("<span style='color:#FFF;'>--地圖ID:" + mapid + "--</span>");
                    if (mapid == "public") {
                      PLU.execActions("secret_op1;", () => {
                        PLU.TMP.goingQixiaMijing = false;
                        PLU.tryVisitQixia(qxName, giveNum, objectFN, ifAutoMj, ifAutoWb, callback);
                      });
                    } else if (ifAutoMj) {
                      UTIL.delSysListener("listenVisitNotice");
                      PLU.setBtnRed($("#btn_bt_autoVisitQixia"), 0);
                      YFUI.writeToOut("<span style='color:yellow;'> ===== 進入了秘境! ===== </span>");
                    } else {
                      let ss = g_obj_map.get("msg_room").elements.find((e) => e.value == "仔細搜索");
                      if (ss) {
                        let cmd_ss = g_obj_map.get("msg_room").get(ss.key.split("_")[0]);
                        PLU.execActions(cmd_ss + ";;", () => {
                          if (ifAutoWb) {
                            let wb = g_obj_map.get("msg_room").elements.find((e) => e.value.indexOf("秘境挖寶") >= 0);
                            if (wb) {
                              PLU.execActions("mijing_wb;;");
                            }
                          }

                          let sd = g_obj_map.get("msg_room").elements.find((e) => e.value.indexOf("掃盪") >= 0);
                          if (sd) {
                            let cmd_sd = g_obj_map.get("msg_room").get(sd.key.split("_")[0]);
                            PLU.doSaoDang(mapid, cmd_sd, () => {
                              PLU.TMP.goingQixiaMijing = false;
                              PLU.tryVisitQixia(qxName, giveNum, objectFN, ifAutoMj, ifAutoWb, callback);
                            });
                          } else if (shortName == "無盡深淵") {
                            PLU.goWuJinShenYuan(() => {
                              PLU.TMP.goingQixiaMijing = false;
                              PLU.tryVisitQixia(qxName, giveNum, objectFN, ifAutoMj, ifAutoWb, callback);
                            });
                          } else {
                            UTIL.delSysListener("listenVisitNotice");
                            PLU.setBtnRed($("#btn_bt_autoVisitQixia"), 0);
                            YFUI.writeToOut("<span style='color:yellow;'> ===進入了未通關秘境!=== </span>");
                          }
                        });
                      }
                    }
                  }, 1500);
                });
              }
              return;
            }
          }
          let vis = msgTxt.match(/今日親密度操作次數\((\d+)\/20\)/);
          if (vis) {
            PLU.STO.listenVisit && clearTimeout(PLU.STO.listenVisit);
            setTimeout(() => {
              if (!PLU.TMP.goingQixiaMijing) {
                PLU.STO.listenVisit = setTimeout(listenVisitTimeout, 4000);
                let objNpc = UTIL.findRoomNpc(qxName, false, true);
                if (objNpc) {
                  PLU.doVisitAction(objNpc.key, giveNum);
                } else {
                  YFUI.writeToOut("<span style='color:#FFF;'>--找不到奇俠!--</span>");
                  setTimeout(() => {
                    PLU.tryVisitQixia(qxName, giveNum, objectFN, ifAutoMj, ifAutoWb, callback);
                  }, 500);
                }
              }
            }, 500);
            return;
          }
          if (msgTxt.match("今日做了太多關於親密度的操作")) {
            PLU.STO.listenVisit && clearTimeout(PLU.STO.listenVisit);
            callback && callback({ code: 1, msg: "今日奇俠友好度操作已經完畢" });
            return;
          }
          if (msgTxt.match(/今日奇俠贈送次數(\d+)\/(\d+),.*贈送次數(\d+)\/(\d+)/)) {
            PLU.STO.listenVisit && clearTimeout(PLU.STO.listenVisit);
            callback && callback({ code: 1, msg: "今日奇俠友好度操作已經完畢" });
            return;
          }
          if (msgTxt.match("掃盪成功,獲得:")) {
            let xtnum = parseInt(msgTxt.split("、")[0].split("玄鐵令x")[1]);
            if (xtnum) PLU.TMP.todayGetXT += xtnum;
            xtnum && YFUI.writeToOut("<span>--玄鐵令+" + xtnum + "--</span>");
            return;
          }
          if (msgTxt.match("你開始四處搜索……你找到了")) {
            let xtnum = parseInt(msgTxt.split("、")[0].split("玄鐵令x")[1]);
            if (xtnum) PLU.TMP.todayGetXT += xtnum;
            xtnum && YFUI.writeToOut("<span>--玄鐵令+" + xtnum + "--</span>");
            return;
          }
        });
        PLU.execActions(qx.link + ";;", () => {
          let objNpc = UTIL.findRoomNpc(qxName, false, true);
          if (objNpc) {
            PLU.STO.listenVisit = setTimeout(listenVisitTimeout, 3000);
            PLU.doVisitAction(objNpc.key, giveNum);
          } else {
            YFUI.writeToOut("<span style='color:#FFF;'>--找不到奇俠:" + qxName + "--</span>");
            setTimeout(() => {
              PLU.tryVisitQixia(qxName, giveNum, objectFN, ifAutoMj, ifAutoWb, callback);
            }, 500);
          }
        });
      });
    },
    //================================================================================================
    doVisitAction(qxKey, giveNum) {
      if (giveNum == 0) {
        PLU.execActions("ask " + qxKey + ";");
      } else if (giveNum == 1) {
        PLU.execActions("auto_zsjd_" + qxKey.split("_")[0] + ";");
      } else if (giveNum == 5) {
        PLU.execActions("auto_zsjd5_" + qxKey.split("_")[0] + ";");
      } else {
        PLU.execActions("auto_zsjd20_" + qxKey.split("_")[0] + ";");
      }
    },
    //================================================================================================
    doSaoDang(mapid, cmd, callback) {
      UTIL.addSysListener("listenVisitSaodang", function (b, type, subtype, msg) {
        if (type != "prompt") return;
        let xtnum = parseInt(msg.split("、")[0].split("玄鐵令x")[1]);
        if (["yaowanggu", "leichishan"].includes(mapid)) {
          if (xtnum < 5)
            return setTimeout(() => {
              clickButton(cmd);
            }, 300);
        } else if (["liandanshi", "lianhuashanmai", "qiaoyinxiaocun", "duzhanglin", "shanya", "langhuanyudong", "dixiamigong"].includes(mapid)) {
          if (xtnum < 3)
            return setTimeout(() => {
              clickButton(cmd);
            }, 300);
        }
        UTIL.delSysListener("listenVisitSaodang");
        PLU.execActions(cmd + " go;", () => {
          callback && callback();
        });
      });
      setTimeout(() => {
        clickButton(cmd);
      }, 300);
    },
    //================================================================================================
    goWuJinShenYuan(endcallback) {
      //無盡深淵
      let paths = "e;e;s;w;w;s;s;e;n;e;s;e;e;n;w;n;e;n;w".split(";");
      var sidx = 0;
      let gostep = function (pathArray, stepFunc) {
        let ca = pathArray[sidx];
        PLU.execActions(ca + "", () => {
          stepFunc && stepFunc();
          sidx++;
          if (sidx >= pathArray.length) {
            endcallback && endcallback();
          } else {
            setTimeout(() => {
              gostep(pathArray, stepFunc);
            }, 250);
          }
        });
      };
      gostep(paths, () => {
        let fc = g_obj_map.get("msg_room").elements.find((e) => e.value == "翻查");
        if (fc) {
          let cmd_fc = g_obj_map.get("msg_room").get(fc.key.split("_")[0]);
          PLU.execActions(cmd_fc + "");
        }
      });
    },
    //================================================================================================
    toWaitCDKill($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        //$("#btn_bt_waitCDKill").text('')
        return;
      }
      clickButton("golook_room");
      YFUI.showPop({
        title: "倒計時叫殺門派紛爭",
        text: "倒計時最後5秒叫殺最近結束時間的門派紛爭!,確定後單擊NPC<br>",
        onOk() {
          setTimeout((o) => {
            $(document).one("click", (o) => {
              let npcbtn = $(o.target).closest("button");
              let snpc = npcbtn[0].outerHTML.match(/clickButton\('look_npc (\w+)'/i);
              if (snpc && snpc.length >= 2) {
                let nowTime = new Date().getTime(),
                  cMPFZ = null;
                for (let k in PLU.MPFZ) {
                  if (!cMPFZ || cMPFZ.t > PLU.MPFZ[k].t) cMPFZ = PLU.MPFZ[k];
                }
                if (cMPFZ) {
                  PLU.TMP.DATA_MPFZ = Object.assign({}, cMPFZ, {
                    killId: snpc[1],
                  });
                  YFUI.showPop({
                    title: "倒計時叫殺門派紛爭",
                    text:
                      '<div style="line-height:2;">人物:' +
                      npcbtn.text() +
                      "<br>地點:" +
                      PLU.TMP.DATA_MPFZ.p +
                      "<br>對決:" +
                      PLU.mp2icon(PLU.TMP.DATA_MPFZ.v) +
                      "</div>",
                    okText: "好的",
                    onOk() { },
                    onNo() {
                      PLU.TMP.DATA_MPFZ = null;
                      PLU.setBtnRed($btn, 0);
                    },
                  });
                }
              } else {
                PLU.TMP.DATA_MPFZ = null;
                PLU.setBtnRed($btn, 0);
              }
            });
          }, 500);
        },
        onNo() {
          PLU.TMP.DATA_MPFZ = null;
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    mp2icon(mplist) {
      let htm = "",
        zfarr = mplist.split(" VS "),
        zarr = zfarr[0].split("、"),
        farr = zfarr[1].split("、");
      zarr.forEach((zm) => {
        htm += '<span style="display:inline-block;background:#F66;border-radius:2px;padding:0 2px;margin:1px;color:#FFF;">' + zm + "</span>";
      });
      htm += '<span style="color:#FFF;background:#F00;font-weight:bold;border-radius:50%;padding:2px;">VS</span>';
      farr.forEach((fm) => {
        htm += '<span style="display:inline-block;background:#66F;border-radius:2px;padding:0 2px;margin:1px;color:#FFF;">' + fm + "</span>";
      });
      return htm;
    },
    //================================================================================================
    toCheckAndWaitCDKill(nowTime) {
      let k = PLU.TMP.DATA_MPFZ.t + 1560000;
      let dt = Math.floor((k - nowTime) / 1000);
      if (dt == 5) {
        YFUI.writeToOut("<span style='color:#F99;'>--最後5秒,進入戰鬥!--</span>");
        //PLU.TMP.DATA_MPFZ = null
        //PLU.setBtnRed($btn,0)
        PLU.autoFight({
          targetKey: PLU.TMP.DATA_MPFZ.killId,
          fightKind: "kill",
          onFail() {
            PLU.TMP.DATA_MPFZ = null;
            PLU.setBtnRed($("#btn_bt_waitCDKill"), 0);
            setTimeout((t) => {
              PLU.autoChushi();
            }, 500);
          },
          onEnd() {
            PLU.TMP.DATA_MPFZ = null;
            PLU.setBtnRed($("#btn_bt_waitCDKill"), 0);
            setTimeout((t) => {
              PLU.autoChushi();
            }, 500);
          },
        });
      }
    },
    //================================================================================================
    setListen($btn, listenKey, stat) {
      let btnFlag = 0;
      if (stat != undefined) {
        btnFlag = PLU.setBtnRed($btn, stat);
        PLU.setCache(listenKey, stat);
        return;
      } else {
        btnFlag = PLU.setBtnRed($btn);
      }
      if (!btnFlag) {
        PLU.setCache(listenKey, 0);
        return;
      }
      if (listenKey == "listenQL") {
        //監聽青龍
        YFUI.showInput({
          title: "監聽本服青龍",
          text: `格式:擊殺類型|物品詞組<br>
                            擊殺類型:0殺守方(好人),1殺攻方(壞人)。<br>
                            物品詞組:以英文逗號分割多個關鍵詞<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">0|斬龍,斬龍寶鐲,碎片</span><br>
                            [例2] <span style="color:blue;">1|*</span>;
                            `,
          value: PLU.getCache(listenKey + "_keys") || "0|斬龍,開天寶棍,天罡掌套,龍皮至尊甲衣",
          type: "textarea",
          onOk(val) {
            let str = $.trim(val);
            if (!str || str.indexOf("|") < 0) return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", str);
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "listenTF") {
        //監聽夜魔
        YFUI.showInput({
          title: "監聽逃犯",
          text: `格式:擊殺類型|逃犯詞組<br>
                            擊殺類型:0殺守方(逃犯),1殺攻方(捕快)。<br>
                            逃犯詞組:以英文逗號分割多個關鍵詞<br>
                            <span style="color:#F00;">【新人】以#開頭則等候他人開殺再進</span><br>
                            <span style="color:#933;">例如:</span><br>
                            [例1] <span style="color:blue;">0|夜魔*段老大,#夜魔*流寇</span>
                            `,
          value: PLU.getCache(listenKey + "_keys") || "0|夜魔*段老大,夜魔*二娘,#夜魔*嶽老三,#夜魔*雲老四,#夜魔*流寇,#夜魔*惡棍,#夜魔*劇盜",
          type: "textarea",
          onOk(val) {
            let str = $.trim(val);
            if (!str || str.indexOf("|") < 0) return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", str);
            PLU.setCache(listenKey, 1);
            PLU.splitTFParam();
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "listenKFQL") {
        //監聽廣場青龍
        YFUI.showInput({
          title: "監聽跨服青龍",
          text: `格式:擊殺類型|物品詞組<br>
                            擊殺類型:0殺守方(好人),1殺攻方(壞人)。<br>
                            物品詞組:以英文逗號分割多個關鍵詞<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">0|斬龍,斬龍寶鐲,碎片</span><br>
                            [例2] <span style="color:blue;">1|*</span>;
                            `,
          value: PLU.getCache(listenKey + "_keys") || "1|斬龍,開天寶棍,天罡掌套,龍皮至尊甲衣",
          type: "textarea",
          onOk(val) {
            let str = $.trim(val);
            if (!str || str.indexOf("|") < 0) return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", str);
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "listenYX") {
        //監聽遊俠
        YFUI.showInput({
          title: "監聽遊俠",
          text: `格式:遊俠詞組<br>
                            遊俠詞組:以英文逗號分割多個關鍵詞<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">王語嫣,厲工,金輪法王,虛夜月,雲夢璃,葉孤城</span><br>
                            `,
          value: PLU.getCache(listenKey + "_keys") || [].concat(...PLU.YFD.youxiaList.map((e) => e.v)).join(","),
          type: "textarea",
          onOk(val) {
            let str = $.trim(val);
            if (!str) return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", str);
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "autoTP") {
        //監聽突破
        YFUI.showInput({
          title: "持續突破",
          text: `請輸入需要自動突破的技能,以英文逗號分割,自動突破將在當前全部突破完後才開始。<br>
                            以1|開頭使用金剛舍利加速<br>
                            以2|開頭使用通天丸加速<br>
                            以3|開頭使用突破寶典加速<br>
                            以4|開頭使用三生石加速(未開發)<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">千影百傷棍,1|排雲掌法,2|無相金剛掌,3|九天龍吟劍法,獨孤九劍</span>
                            `,
          value: PLU.getCache(listenKey + "_keys") || "1|千影百傷棍,1|排雲掌法,1|不動明王訣",
          type: "textarea",
          onOk(val) {
            let str = $.trim(val);
            if (!str) return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", str);
            PLU.setCache(listenKey, 1);
            PLU.getSkillsList((allSkills, tupoSkills) => {
              if (tupoSkills.length == 0) {
                PLU.toToPo();
              }
            });
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "autoDY") {
        //監聽突破
        YFUI.showInput({
          title: _("持续钓鱼", "持續釣魚"),
          text: _("请输入需要保留的元宝数", "請輸入需要保留的元寶數"),
          value: PLU.getCache(listenKey + "_key") || 100000,
          onOk(val) {
            let num = Number($.trim(val));
            PLU.setCache(listenKey + "_key", num);
            PLU.setCache(listenKey, 1);
            let room = g_obj_map.get("msg_room");
            if (room) room = room.get("short");
            if (room != "桃溪" || UTIL.inHome()) {
              let path = ["rank go 233;#6 s", "sw;se", "sw", "se", "s", "s"];
              // 人满是啥提示...,不知道...(那就随机选位置吧(
              PLU.execActions(path.slice(0, Math.floor(Math.random() * 6) + 1).join(";") + ";diaoyu");
            }
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "autoConnect") {
        YFUI.showInput({
          title: "自動重連",
          text: `請輸入斷線後自動重連的時間,重連方式為到時間自動刷新頁面。<br>單位為秒,0代表不自動重連。<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">60</span> 代表60秒後刷新頁面
                            `,
          value: PLU.getCache(listenKey + "_keys") || "0",
          //type:"textarea",
          onOk(val) {
            let v = Number(val);
            if (val == "") return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", v);
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "autoSignIn") {
        //YFUI.showPop(
        YFUI.showPop({
          title: "定時一鍵簽到",
          text: `請輸入自動簽到的時間。<br>
						<div><span style="font-size:18px;line-height:2;">每日: </span><input id="autoSignInTime" type="time" style="font-size:20px;border-radius:5px;margin:10px 0"/></div>
						`,
          onOk() {
            let v = $.trim($("#autoSignInTime").val());
            if (v == "") return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "autoQuitTeam") {
        //進塔離隊
        YFUI.showPop({
          title: "進塔自動離隊",
          text: `是否進塔自動離隊?<br>`,
          onOk() {
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else {
        PLU.setCache(listenKey, 1);
        return;
      }
    },
    //================================================================================================
    splitTFParam() {
      let ltl = (PLU.getCache("listenTF_keys").split("|")[1] || "").split(",");
      PLU.TMP.lis_TF_list = [];
      PLU.TMP.lis_TF_force = [];
      ltl.map((e, i) => {
        if (e.charAt(0) == "#") {
          PLU.TMP.lis_TF_list.push(e.substring(1));
          PLU.TMP.lis_TF_force.push(0);
        } else {
          PLU.TMP.lis_TF_list.push(e);
          PLU.TMP.lis_TF_force.push(1);
        }
      });
    },
    //================================================================================================
    goQinglong(npcName, place, gb, kf) {
      let placeData = PLU.YFD.qlList.find((e) => e.n == place);
      if (kf || (UTIL.inHome() && placeData)) {
        PLU.execActions(placeData.v + ";golook_room", () => {
          let objNpc = UTIL.findRoomNpc(npcName, !Number(gb));
          if (objNpc) {
            PLU.killQinglong(objNpc.key, 0);
          } else {
            YFUI.writeToOut("<span style='color:#FFF;'>--尋找目標失敗!--</span>");
            PLU.execActions("golook_room;home");
          }
        });
      }
    },
    //================================================================================================
    killQinglong(npcId, tryNum) {
      PLU.autoFight({
        targetKey: npcId,
        fightKind: "kill",
        autoSkill: "random",
        onFail(errCode) {
          if (errCode >= 88 && tryNum < 100) {
            setTimeout(() => {
              PLU.killQinglong(npcId, tryNum + 1);
            }, 250);
            return;
          }
          YFUI.writeToOut("<span style='color:#FFF;'>--搶青龍失敗!--</span>");
          PLU.execActions("home;");
        },
        onEnd() {
          PLU.execActions("prev_combat;home;");
        },
      });
    },
    //================================================================================================
    goTaofan(npcName, npcPlace, flyLink, gb, force) {
      if (UTIL.inHome()) {
        let ctn = 0,
          gocmd = flyLink;
        PLU.YFD.cityList.forEach((e, i) => {
          if (e == npcPlace) ctn = i + 1;
        });
        if (ctn > 0) gocmd = "jh " + ctn;
        PLU.execActions(gocmd + ";golook_room;", (e) => {
          setTimeout((t) => {
            PLU.killTaofan(npcName, -Number(gb), force, 0);
          }, 1000);
        });
      }
    },
    //================================================================================================
    killTaofan(npcName, gb, force, tryCount) {
      console.debug(gb);
      let npcObj = UTIL.findRoomNpc(npcName, gb);
      if (npcObj) {
        if (force) {
          PLU.autoFight({
            targetKey: npcObj.key,
            fightKind: "kill",
            autoSkill: "random",
            onFail(errCode) {
              if (errCode == 4) {
                YFUI.writeToOut("<span style='color:#FFF;'>--已達到上限!取消逃犯監聽!--</span>");
                PLU.setListen($("#btn_bt_listenTF"), "listenTF", 0);
              } else if (errCode > 1 && tryCount < 36) {
                setTimeout(() => {
                  PLU.killTaofan(npcName, gb, force, tryCount + 1);
                }, 500);
                return;
              }
              PLU.execActions("golook_room;home;");
            },
            onEnd() {
              PLU.execActions("prev_combat;home;");
            },
          });
        } else {
          PLU.waitDaLaoKill({
            targetId: npcObj.key,
            onFail(ec) { },
            onOk() {
              PLU.autoFight({
                targetKey: npcObj.key,
                fightKind: "kill",
                autoSkill: "random",
                onFail(errCode) {
                  if (errCode == 4) {
                    YFUI.writeToOut("<span style='color:#FFF;'>--已達到上限!取消逃犯監聽--</span>");
                    PLU.setListen($("#btn_bt_listenTF"), "listenTF", 0);
                  } else YFUI.writeToOut("<span style='color:#FFF;'>--'ERR=" + errCode + "--</span>");
                  PLU.execActions("golook_room;home;");
                },
                onEnd() {
                  PLU.execActions("prev_combat;home;");
                },
              });
            },
          });
        }
      } else {
        YFUI.writeToOut("<span style='color:#FFF;'>--找不到NPC!--</span>");
        if (tryCount < 4) {
          return setTimeout(() => {
            PLU.killTaofan(npcName, gb, force, tryCount + 1);
          }, 500);
        }
        PLU.execActions("golook_room;home;");
      }
    },
    //================================================================================================

    waitDaLaoKill({ targetId, onOk, onFail }) {
      let tryTimes = 0;
      UTIL.addSysListener("lookNpcWait", function (b, type, subtype, msg) {
        if (type == "notice" && subtype == "notify_fail" && msg.indexOf("沒有這個人") >= 0) {
          YFUI.writeToOut("<span style='color:#FFF;'>--目標已丟失!--</span>");
          UTIL.delSysListener("lookNpcWait");
          return onFail && onFail(1);
        }
        if (type == "look_npc") {
          let desc = UTIL.filterMsg(b.get("long"));
          let lookInfo = desc.match(/[他|她]正與 (\S*)([\S\s]*) 激烈爭鬥中/);
          if (lookInfo && lookInfo.length > 2 && $.trim(lookInfo[2]) != "") {
            YFUI.writeToOut("<span style='color:#9F9;'>--目標已被大佬攻擊,可以跟進--</span>");
            UTIL.delSysListener("lookNpcWait");
            return onOk && onOk();
          }
          tryTimes++;
          if (tryTimes > 30) {
            UTIL.delSysListener("lookNpcWait");
            return onFail && onFail(30);
          } else {
            setTimeout(() => {
              clickButton("look_npc " + targetId);
            }, 500);
          }
        }
        //如提前進入戰鬥可能是因為殺氣, 逃跑後繼續
        if (type == "vs" && subtype == "vs_info" && b.get("vs2_pos1") != targetId) {
          PLU.autoEscape({
            onEnd() {
              setTimeout(() => {
                clickButton("look_npc " + targetId);
              }, 500);
            },
          });
        }
      });
      clickButton("look_npc " + targetId);
    },

    //================================================================================================
    fixJhName(name) {
      switch (name) {
        case "白駝山":
          return "白馱山";
        case "黑木崖":
          return "魔教";
        case "光明頂":
          return "明教";
        case "鐵血大旗門":
          return "大旗門";
        case "梅莊":
          return "寒梅莊";
      }
      return name;
    },
    //================================================================================================
    goFindYouxia(params) {
      //{paths,idx,objectNPC}
      if (params.idx >= params.paths.length) {
        setTimeout(() => {
          PLU.execActions("home");
        }, 500);
        YFUI.writeToOut("<span style='color:#FFF;'>--找不到遊俠!...已搜索完地圖--</span>");
        return;
      }
      let acs = [params.paths[params.idx]];
      PLU.actions({
        paths: acs,
        idx: 0,
        onPathsEnd() {
          setTimeout(() => {
            let npcObj = UTIL.findRoomNpc(params.objectNPC, false, true);
            if (npcObj) {
              YFUI.writeToOut("<span style='color:#FFF;'>--遊俠已找到--</span>");
              PLU.killYouXia(npcObj.key, 0);
            } else {
              params.idx++;
              PLU.goFindYouxia(params);
            }
          }, 300);
        },
        onPathsFail() {
          setTimeout(() => {
            PLU.execActions("home");
          }, 500);
          YFUI.writeToOut("<span style='color:#FFF;'>--找不到遊俠!...路徑中斷--</span>");
          return;
        },
      });
    },
    //================================================================================================
    killYouXia(npcId, tryNum) {
      PLU.autoFight({
        targetKey: npcId,
        fightKind: "kill",
        autoSkill: "multi",
        onFail(errCode) {
          if (String(errCode).indexOf("delay_") >= 0) {
            let mc = String(errCode).match(/delay_(\d+)/);
            if (mc) {
              let wtime = 500 + 1000 * Number(mc[1]);
              PLU.execActions("follow_play " + npcId + ";");
              YFUI.writeToOut("<span style='color:#FFF;'>▶開始嘗試做遊俠跟班!!</span>");
              setTimeout(() => {
                PLU.execActions("follow_play none", () => {
                  YFUI.writeToOut("<span style='color:#FFF;'>◼停止做遊俠跟班!!準備開殺!!</span>");
                  PLU.killYouXia(npcId, tryNum + 1);
                });
              }, wtime);
              return;
            }
          } else if (errCode >= 88 && tryNum < 44) {
            setTimeout(() => {
              PLU.killYouXia(npcId, tryNum + 1);
            }, 1000);
            return;
          } else if (errCode == 1) {
            YFUI.writeToOut("<span style='color:#F99;'>--現場找不到遊俠了!--</span>");
          } else {
            YFUI.writeToOut("<span style='color:#F99;'>--攻擊遊俠失敗!--</span>");
          }
          PLU.execActions("home;");
        },
        onEnd() {
          PLU.execActions("prev_combat;home;");
        },
      });
    },
    //================================================================================================
    getSkillsList(callback) {
      UTIL.addSysListener("getSkillsList", function (b, type, subtype, msg) {
        if (type != "skills" && subtype != "list") return;
        UTIL.delSysListener("getSkillsList");
        clickButton("prev");
        let all = [],
          tupo = [];
        all = PLU.parseSkills(b);
        all.forEach((skill) => {
          if (skill.state >= 4) {
            tupo.push(skill);
          }
        });
        callback(all, tupo);
      });
      clickButton("skills");
    },
    //================================================================================================
    parseSkills(b) {
      let allSkills = [];
      for (var i = b.elements.length - 1; i > -1; i--) {
        if (b.elements[i].key && b.elements[i].key.match(/skill(\d+)/)) {
          var attr = b.elements[i].value.split(",");
          var skill = {
            key: attr[0],
            name: $.trim(UTIL.filterMsg(attr[1])),
            level: Number(attr[2]),
            kind: attr[4],
            prepare: Number(attr[5]),
            state: Number(attr[6]),
            from: attr[7],
          };
          allSkills.push(skill);
        }
      }
      allSkills = allSkills.sort((a, b) => {
        if (a.kind == "known") return -1;
        else if (b.kind != "known" && a.from == "基礎武功") return -1;
        else if (b.kind != "known" && b.from != "基礎武功" && a.kind == "force") return -1;
        else return 1;
      });
      return allSkills;
    },
    //================================================================================================
    toToPo() {
      setTimeout(function () {
        if (UTIL.inHome()) {
          PLU.getSkillsList((allSkills, tupoSkills) => {
            if (tupoSkills.length > 0) {
              if (PLU.STO.outSkillList) clearTimeout(PLU.STO.outSkillList);
              PLU.STO.outSkillList = setTimeout(() => {
                PLU.STO.outSkillList = null;
                if (!!$("#out_top").height() && $("#out_top .outtitle").text() == "我的技能") clickButton("home");
              }, 200);
              return;
            }
            let tpArr = PLU.getCache("autoTP_keys").split(",");
            let tpList = [];
            tpArr.forEach((s) => {
              let sk = {};
              let cs = s.match(/((\d)\|)?(.*)/);
              if (cs) {
                sk.name = cs[3];
                sk.sp = Number(cs[2]);
              } else {
                sk.name = s;
                sk.sp = 0;
              }
              let skobj = allSkills.find((e) => e.name.match(sk.name));
              if (skobj) tpList.push(Object.assign({}, skobj, sk));
            });
            PLU.TMP.stopToPo = false;
            PLU.toPo(tpList, 0);
          });
        }
      }, 500);
    },
    //================================================================================================
    toPo(tpList, skIdx) {
      if (skIdx < tpList.length && !PLU.TMP.stopToPo) {
        let acts = "enable " + tpList[skIdx].key + ";tupo go," + tpList[skIdx].key + ";";
        if (tpList[skIdx].sp == 1) acts += "tupo_speedup4_1 " + tpList[skIdx].key + " go;";
        else if (tpList[skIdx].sp == 2) acts += "tupo_speedup3_1 " + tpList[skIdx].key + " go;";
        else if (tpList[skIdx].sp == 3) acts += "tupo_up " + tpList[skIdx].key + " go;";
        else if (tpList[skIdx].sp == 4) acts += "items info obj_sanshengshi;event_1_66830905 " + tpList[skIdx].key + " go;";

        PLU.execActions(acts, () => {
          setTimeout(() => {
            if (PLU.STO.outSkillList) clearTimeout(PLU.STO.outSkillList);
            PLU.STO.outSkillList = null;
            PLU.toPo(tpList, skIdx + 1);
          }, 300);
        });
      } else {
        YFUI.writeToOut("<span style='color:yellow;'> ==突破完畢!== </span>");
        clickButton("home");
      }
    },
    //================================================================================================
    toBangFour(n) {
      UTIL.log({
        msg: " 進入幫四(" + n + ") ",
        type: "TIPS",
        time: new Date().getTime(),
      });
      PLU.STO.bangFourTo && clearTimeout(PLU.STO.bangFourTo);
      PLU.STO.bangFourTo = setTimeout(function () {
        clickButton("home");
      }, 30 * 60 * 1000);
      clickButton("clan fb enter shiyueweiqiang-" + n, 0);
    },
    toBangSix() {
      UTIL.log({ msg: " 進入幫六 ", type: "TIPS", time: new Date().getTime() });
      PLU.STO.bangSixTo && clearTimeout(PLU.STO.bangSixTo);
      PLU.STO.bangSixTo = setTimeout(function () {
        clickButton("home");
      }, 30 * 60 * 1000);
      clickButton("clan fb enter manhuanqishenzhai", 0);
    },
    //================================================================================================
    inBangFiveEvent() {
      PLU.toggleFollowKill($("#btn_bt_kg_followKill"), "followKill", 1);
      var moving = false;
      PLU.TMP.listenBangFive = true;
      UTIL.addSysListener("listenBangFive", function (b, type, subtype, msg) {
        if (!moving && type == "jh" && (subtype == "dest_npc" || subtype == "info")) {
          moving = true;
          let roomName = UTIL.filterMsg(g_obj_map.get("msg_room").get("short"));
          if (roomName.match(/蒙古高原|成吉思汗的金帳/) && !UTIL.roomHasNpc()) {
            PLU.execActions(";;n;", () => {
              moving = false;
            });
          } else {
            moving = false;
          }
        }
        /*
        type:main_msg
        msg:你獲得:\x1B[34m三\x1B[2;37;0m\x1B[35m生\x1B[2;37;0m\x1B[31m石
         */

        if (type == "home" && subtype == "index") {
          UTIL.delSysListener("listenBangFive");
          YFUI.writeToOut("<span style='color:white;'> ==幫五完畢!== </span>");
          PLU.execActions("golook_room;home");
        }
      });
    },
    intervene($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        UTIL.delSysListener("intervene");
        UTIL.delSysListener("score");
        return;
      }
      let Fight = function (b, num) {
        PLU.autoFight({
          targetKey: b.get("vs2_pos" + num),
          fightKind: "fight",
          onEnd() {
            UTIL.delSysListener("intervene");
            UTIL.delSysListener("score");
            PLU.setBtnRed($btn);
          },
          onFail() {
            PLU.autoFight({
              targetKey: b.get("vs2_pos" + num),
              onEnd() {
                UTIL.delSysListener("intervene");
                UTIL.delSysListener("score");
                PLU.setBtnRed($btn);
              },
              onFail() {
                if (num <= 7) {
                  Fight(++num);
                } else {
                  UTIL.delSysListener("intervene");
                  UTIL.delSysListener("score");
                }
              },
            });
          },
        });
      };
      UTIL.addSysListener("intervene", (b, type, subtype, msg) => {
        if (type == "vs" && subtype == "vs_info") {
          UTIL.delSysListener("intervene");
          UTIL.delSysListener("score");
          Fight(b, 1);
        }
      });
      UTIL.addSysListener("score", (b, type, subtype, msg) => {
        if (type == "score" && subtype == "user") {
          if (b.get("long").indexOf("激烈爭鬥中...") == -1) {
            PLU.execActions("score " + b.get("id"));
            return;
          }
          UTIL.delSysListener("score");
          PLU.execActions("watch_vs " + b.get("id"));
        }
      });
      YFUI.showPop({
        title: _("杀隐藏怪", "殺隱藏怪"),
        text: _("自动观战,自动加入战斗<br>确认后,点开要跟的玩家页面", "自動觀戰,自動加入戰鬥<br>確認後,點開要跟的玩家頁面"),
        onNo() {
          UTIL.delSysListener("intervene");
          UTIL.delSysListener("score");
          PLU.setBtnRed($btn);
        },
      });
    },
    // 字符串相似度算法
    getSimilarity(str1, str2) {
      let sameNum = 0;
      for (let i = 0; i < str1.length; i++)
        for (let j = 0; j < str2.length; j++)
          if (str1[i] === str2[j]) {
            sameNum++;
            break;
          }
      let length = Math.max(str1.length, str2.length);
      return (sameNum / length) * 100 || 0;
    },
    npcDataUpdate() {
      var wayList = [...new Set(PLU.YFD.mapsLib.Npc.map((e) => e.way))];
      if (PLU.YFD.mapsLib.Npc_New[PLU.YFD.mapsLib.Npc_New.length - 1]) var i = wayList.indexOf(PLU.YFD.mapsLib.Npc_New[PLU.YFD.mapsLib.Npc_New.length - 1].way);
      else var i = 0;
      PLU.UTIL.addSysListener("look_npc", (b, type, subtype, msg) => {
        if (type != "look_npc") return;
        if (b.get("id").indexOf("bad_target_") == 0) return;
        if (b.get("id").indexOf("hero_") == 0) return;
        if (b.get("id").indexOf("eren_") == 0) return;
        if (b.get("id").indexOf("bukuai") == 0) return;
        if (PLU.YFD.qixiaList.includes(ansi_up.ansi_to_text(b.get("name")))) return;
        let roomInfo = g_obj_map.get("msg_room");
        let jh = PLU.YFD.cityId[roomInfo.get("map_id")] ?? roomInfo.get("map_id");
        let curName = UTIL.filterMsg(roomInfo.get("short") || "");
        PLU.YFD.mapsLib.Npc_New.push({
          jh: jh,
          loc: curName,
          name_new: ansi_up.ansi_to_text(b.get("name")),
          id: b.get("id") || "",
          desc: ansi_up.ansi_to_text(b.get("long")?.split("\n")[1]),
          way: wayList[i],
        });
      });

      func = () => {
        PLU.execActions(wayList[i], () => {
          for (var npc of PLU.UTIL.getRoomAllNpc()) PLU.execActions("look_npc " + npc.key);
          setTimeout(() => {
            i++;
            func();
          }, 1500);
        });
      };
      func();
    },
    //================================================================================================
    checkUseSkills() {
      let curTime = new Date().getTime();
      if (!PLU.battleData.performTime || curTime - PLU.battleData.performTime >= 400) {
        PLU.battleData.performTime = curTime;
        if (!PLU.battleData.mySide) {
          let vsInfo = g_obj_map.get("msg_vs_info");
          for (let i = vsInfo.elements.length - 1; i > -1; i--) {
            let val = vsInfo.elements[i].value + "";
            if (!val || val.indexOf(PLU.accId) < 0) continue;
            PLU.battleData.myPos = vsInfo.elements[i].key.charAt(7);
            PLU.battleData.mySide = vsInfo.elements[i].key.substring(0, 3);
            break;
          }
        }
        if (PLU.battleData.mySide) {
          if (PLU.getCache("autoCure") == 1) {
            PLU.checkAutoCure();
          }
          if (PLU.getCache("autoPerform") >= 1) {
            PLU.checkAutoPerform();
          }
        }
      }
    },
    //================================================================================================
    setAutoCure($btn, listenKey, stat) {
      if (listenKey == "autoCure") {
        //自動加血藍
        YFUI.showInput({
          title: "自動加血加藍",
          text: `格式:血百分比|加血技能,藍百分比|加藍技能,以英文逗號分割,每樣只能設置一個技能。<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">50|道種心魔經,10|不動明王訣</span><br> 血低於50%自動加血,藍低於10%自動加藍<br>
                            [例2] <span style="color:blue;">30|紫血大法</span><br> 血低於30%自動加血技能,不自動加藍<br>
                            `,
          value: PLU.getCache(listenKey + "_keys") || "10|道種心魔經,10|不動明王訣",
          onOk(val) {
            let str = $.trim(val);
            PLU.setCache(listenKey + "_keys", str);
            PLU.splitCureSkills();
          },
          onNo() { },
        });
      }
    },
    toggleAutoCure($btn, listenKey, stat) {
      let btnFlag = 0;
      if (stat != undefined) {
        btnFlag = PLU.setBtnRed($btn, stat);
        PLU.setCache(listenKey, stat);
      } else {
        btnFlag = PLU.setBtnRed($btn);
      }
      if (!btnFlag) {
        return PLU.setCache(listenKey, 0);
      } else {
        PLU.setCache(listenKey, 1);
        setTimeout(() => {
          YFUI.writeToOut("<span style='color:yellow;'>自動血藍: " + PLU.getCache(listenKey + "_keys") + " </span>");
        }, 100);
      }
    },
    //================================================================================================
    splitCureSkills() {
      let kf = (PLU.getCache("autoCure_keys") || "").split(",");
      PLU.TMP.autoCure_percent = "";
      PLU.TMP.autoCure_skills = "";
      PLU.TMP.autoCure_force_percent = "";
      PLU.TMP.autoCure_force_skills = "";
      if (kf.length > 0) {
        let acp = kf[0].split("|");
        PLU.TMP.autoCure_percent = Number(acp[0]) || 50;
        PLU.TMP.autoCure_skills = acp[1];
        if (kf.length > 1) {
          let acf = kf[1].split("|");
          PLU.TMP.autoCure_force_percent = Number(acf[0]) || 10;
          PLU.TMP.autoCure_force_skills = acf[1];
        }
      }
    },
    //================================================================================================
    checkAutoCure() {
      let vsInfo = g_obj_map.get("msg_vs_info");
      let userInfo = g_obj_map.get("msg_attrs");
      let keePercent = ((100 * Number(vsInfo.get(PLU.battleData.mySide + "_kee" + PLU.battleData.myPos))) / Number(userInfo.get("max_kee"))).toFixed(2);
      let forcePercent = ((100 * Number(vsInfo.get(PLU.battleData.mySide + "_force" + PLU.battleData.myPos))) / Number(userInfo.get("max_force"))).toFixed(2);
      if (!PLU.TMP.autoCure_percent) {
        PLU.splitCureSkills();
      }
      if (PLU.TMP.autoCure_force_skills && Number(forcePercent) < PLU.TMP.autoCure_force_percent) {
        PLU.autoCureByKills(PLU.TMP.autoCure_force_skills, forcePercent);
      } else if (PLU.TMP.autoCure_skills && Number(keePercent) < PLU.TMP.autoCure_percent && PLU.battleData.cureTimes < 3) {
        PLU.autoCureByKills(PLU.TMP.autoCure_skills, forcePercent);
      }
    },
    //================================================================================================
    autoCureByKills(skill, forcePercent) {
      if (PLU.battleData && PLU.battleData.xdz > 2) {
        let rg = new RegExp(skill);
        let useSkill = PLU.selectSkills(rg);
        if (useSkill) {
          clickButton(useSkill.key, 0);
          if (Number(forcePercent) > 1) PLU.battleData.cureTimes++;
        }
      }
    },
    //================================================================================================
    setAutoPerform($btn, listenKey, stat) {
      if (listenKey == "autoPerform") {
        //自動技能
        let skillsList = [];
        try {
          skillsList = JSON.parse(PLU.getCache(listenKey + "_keysList"));
        } catch (error) {
          skillsList = ["6|千影百傷棍,九天龍吟劍法", "", "", "", "3|九天龍吟劍法"];
        }
        YFUI.showInput({
          title: "自動技能",
          text: `格式:觸發氣值|技能詞組,以英文逗號分割多個關鍵詞。<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">9|千影百傷棍,九天龍吟劍法,排雲掌法</span><br> 氣大於等於9時自動使用技能<br>
                            `,
          value: skillsList,
          inputs: ["技能1", "技能2", "技能3", "技能4"],
          onOk(val) {
            PLU.setCache(listenKey + "_keysList", JSON.stringify(val));
            if (PLU.getCache(listenKey)) {
              PLU.setPerformSkill(PLU.getCache(listenKey));
            }
          },
          onNo() { },
        });
      }
    },
    toggleAutoPerform($btn, listenKey, stat) {
      let curIdx = Number(PLU.getCache(listenKey));
      if (stat != undefined) {
        if (stat > 0) {
          PLU.setBtnRed($btn, 1);
          PLU.setPerformSkill(stat);
        } else PLU.setBtnRed($btn, 0);
        $btn.text([_("连招", "連招"), "技一", "技二", "技三", "技四"][stat]);
        PLU.setCache(listenKey, stat);
        if (stat > 0) PLU.TMP.lastAutoPerformSet = stat;
      } else {
        let nowTime = Date.now();
        if (curIdx == 0 && nowTime - (PLU.TMP.lastClickAutoPerform || 0) < 350) {
          curIdx = PLU.TMP.lastAutoPerformSet || 1;
          curIdx++;
          if (curIdx > 4) curIdx = 1;
        } else {
          curIdx = curIdx == 0 ? PLU.TMP.lastAutoPerformSet || 1 : 0;
        }
        PLU.TMP.lastClickAutoPerform = nowTime;
        if (curIdx > 0) PLU.TMP.lastAutoPerformSet = curIdx;
        PLU.setCache(listenKey, curIdx);
        if (curIdx == 0) {
          PLU.setBtnRed($btn, 0);
          $btn.text("連招");
        } else {
          PLU.setBtnRed($btn, 1);
          $btn.text([_("连招", "連招"), "技一", "技二", "技三", "技四"][curIdx]);
          PLU.setPerformSkill(curIdx);
        }
      }
    },
    setPerformSkill(idx) {
      let skillsList = [];
      idx = idx - 1;
      try {
        skillsList = JSON.parse(PLU.getCache("autoPerform_keysList"));
      } catch (error) {
        skillsList = [];
      }
      let str = skillsList[idx] || "";
      let aps = str.split("|");
      if (aps && aps.length == 2) {
        PLU.TMP.autoPerform_xdz = Number(aps[0]);
        PLU.TMP.autoPerform_skills = aps[1].split(",");
      } else {
        PLU.TMP.autoPerform_xdz = 0;
        PLU.TMP.autoPerform_skills = [];
      }
      setTimeout(() => {
        let setCh = ["一", "二", "三", "四"][idx];
        YFUI.writeToOut(
          "<span style='color:yellow;'>自動技能[" + setCh + "] : " + str + " </span><br><span style='color:white;'>** 雙擊自動技能按鈕切換技能設置 **</span>",
        );
      }, 100);
    },
    //================================================================================================
    checkAutoPerform() {
      // if(PLU.battleData.autoSkill) return;
      if (!PLU.TMP.autoPerform_xdz) return;
      // if(!PLU.TMP.autoPerform_xdz){
      //     let aps = PLU.getCache("autoPerform_keys").split('|')
      //     PLU.TMP.autoPerform_xdz = Number(aps[0])
      //     PLU.TMP.autoPerform_skills = aps[1].split(',')
      //}
      if (PLU.battleData.xdz >= PLU.TMP.autoPerform_xdz) {
        if (PLU.TMP.autoPerform_skills && PLU.TMP.autoPerform_skills.length > 0) {
          PLU.TMP.autoPerform_skills.forEach((skn, idx) => {
            let useSkill = PLU.selectSkills(skn);
            if (useSkill) {
              setTimeout((e) => {
                clickButton(useSkill.key, 0);
              }, idx * 100);
            }
          });
        }
      }
    },
    //================================================================================================
    setFightSets($btn, listenKey, stat) {
      if (listenKey == "followKill") {
        //開跟殺
        YFUI.showInput({
          title: "開跟殺",
          text: `格式:跟殺的人名詞組,以英文逗號分割多個關鍵詞,人名前帶*為反跟殺。<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">步驚鴻,*醉漢</span><br> 步驚鴻攻擊(殺or比試)誰我攻擊誰;誰攻擊醉漢我攻擊誰<br>
                            `,
          value: PLU.getCache(listenKey + "_keys") || "風,豹,劍,門,豆,七,星,虎,影,貓", // 顺序怎么随口怎么来 XD
          //type:"textarea",
          onOk(val) {
            let str = $.trim(val);
            PLU.setCache(listenKey + "_keys", str);
            PLU.splitFollowKillKeys();
          },
          onNo() { },
        });
      }
    },
    toggleFollowKill($btn, listenKey, stat) {
      let btnFlag = 0;
      if (stat != undefined) {
        btnFlag = PLU.setBtnRed($btn, stat);
        PLU.setCache(listenKey, stat);
      } else {
        btnFlag = PLU.setBtnRed($btn);
      }
      if (!btnFlag) {
        return PLU.setCache(listenKey, 0);
      } else {
        PLU.splitFollowKillKeys();
        PLU.setCache(listenKey, 1);
        setTimeout(() => {
          YFUI.writeToOut("<span style='color:yellow;'>自動跟殺: " + PLU.getCache(listenKey + "_keys") + " </span>");
        }, 100);
      }
    },
    //================================================================================================
    splitFollowKillKeys() {
      let keystr = PLU.getCache("followKill_keys") || "";
      let keys = keystr.split(/[,,]/);
      PLU.FLK = {
        followList: [],
        defendList: [],
      };
      keys.forEach((e) => {
        if (!e) return;
        if (e.charAt(0) == "*") {
          PLU.FLK.defendList.push(e.substring(1));
        } else {
          PLU.FLK.followList.push(e);
        }
      });
    },
    //================================================================================================
    toCheckFollowKill(attacker, defender, fightType, msgText) {
      if (!PLU.FLK) PLU.splitFollowKillKeys();
      for (let i = 0; i < PLU.FLK.followList.length; i++) {
        let flname = PLU.FLK.followList[i];
        if (attacker.match(flname)) {
          PLU.autoFight({
            targetName: defender,
            fightKind: fightType,
            onFail() { },
            onEnd() { },
          });
          return;
        }
      }
      for (let i = 0; i < PLU.FLK.defendList.length; i++) {
        let dfname = PLU.FLK.defendList[i];
        if (defender.match(dfname)) {
          PLU.autoFight({
            targetName: attacker,
            fightKind: fightType,
            onFail() { },
            onEnd() { },
          });
          return;
        }
      }
    },
    //================================================================================================
    startSync($btn) {
      PLU.getTeamInfo((t) => {
        if (!t) PLU.setBtnRed($btn);
        else {
          YFUI.writeToOut("<span style='color:yellow;'>===隊伍同步開始" + (t.is_leader ? ", <b style='color:#F00;'>我是隊長</b>" : "") + " ===</span>");
          PLU.allowedcmds = ["go", "fb", "yell", "rank", "fight", "kill", "escape", "jh", "ask", "npc_datan", "give", "room_sousuo", "change_server"];
          if (t.is_leader) {
            PLU.TMP.leaderTeamSync = true;
          } else {
            PLU.listenTeamSync(t.leaderId);
          }
        }
      });
    },
    toggleTeamSync($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (btnFlag) {
        PLU.TMP.teamSync = true;
        if (PLU.TMP.firstSync) PLU.startSync($btn);
        else {
          YFUI.showPop({
            title: "隊伍同步",
            text: "<b style='color:#F00;'>入隊後再打開隊伍同步!!</b><br>隊長發布指令, 隊員監聽同步指令!",
            okText: "同步",
            onOk(e) {
              PLU.TMP.firstSync = 1;
              PLU.startSync($btn);
            },
            onNo() {
              PLU.setBtnRed($btn);
            },
            onX() {
              PLU.setBtnRed($btn);
            },
          });
        }
      } else {
        PLU.TMP.teamSync = false;
        PLU.TMP.leaderTeamSync = false;
        UTIL.delSysListener("syncTeamChannel");
      }
    },
    //================================================================================================
    commandTeam(args) {
      if (!PLU.TMP.leaderTeamSync) return;
      let cmd = args[0];
      if (
        !g_gmain.is_fighting &&
        (PLU.allowedcmds.indexOf(cmd.split(" ")[0]) > -1 ||
          cmd.indexOf("find_") == 0 ||
          cmd.indexOf("event_") == 0 ||
          cmd.indexOf("give_") == 0 ||
          cmd.indexOf("get_") == 0 ||
          cmd.indexOf("op1") >= 0 ||
          cmd.indexOf("_op2") > 0 ||
          ["nw", "n", "ne", "w", "e", "sw", "s", "se"].includes(cmd))
      ) {
        cmd = PLU.Base64.encode(args[0]).split("").join("-");
        clickButton("team chat " + cmd + "\n");
      }
    },
    //================================================================================================
    listenTeamSync(leaderId) {
      UTIL.addSysListener("syncTeamChannel", (b, type, subtype, msg) => {
        if (type == "channel" && subtype == "team" && msg.indexOf(leaderId) > 0 && msg.indexOf("【隊伍】") > 0) {
          var cmd = PLU.Base64.decode(msg.split(":")[1].replace("\x1B[2;37;0m", "").replace(/-/g, "")).replace(/\n/g, "");
          if (
            PLU.allowedcmds.indexOf(cmd.split(" ")[0]) > -1 ||
            cmd.indexOf("find_") == 0 ||
            cmd.indexOf("event_") == 0 ||
            cmd.indexOf("give_") == 0 ||
            cmd.indexOf("get_") == 0 ||
            cmd.indexOf("op1") >= 0 ||
            cmd.indexOf("_op2") > 0 ||
            ["nw", "n", "ne", "w", "e", "sw", "s", "se"].includes(cmd)
          ) {
            clickButton(cmd);
          }
          /*if (cmd == "change_server world") {
            clickButton("team join " + leaderId + "-1a1a");
}*/
        }
      });
    },
    //================================================================================================
    getTeamInfo(callback) {
      UTIL.addSysListener("checkTeam", (b, type, subtype, msg) => {
        if (type != "team" && subtype != "info") return;
        UTIL.delSysListener("checkTeam");
        if (b.get("team_id")) {
          if (b.get("is_member_of") == "1") {
            callback &&
              callback({
                is_leader: parseInt(b.get("is_leader")),
                leaderId: b.get("member1").split(",")[0],
              });
          } else {
            callback && callback(0);
          }
        } else {
          callback && callback(0);
        }
        clickButton("prev");
      });
      clickButton("team");
    },
    //================================================================================================
    setSkillGroup(idx) {
      if (g_gmain.is_fighting) return;
      $(".menu").hide();
      let lsgTimeOut = setTimeout(() => {
        UTIL.delSysListener("loadSkillGroup");
      }, 5000);
      UTIL.addSysListener("loadSkillGroup", (b, type, subtype, msg) => {
        if (type != "enable" && subtype !== "list") return;
        UTIL.delSysListener("loadSkillGroup");
        clearTimeout(lsgTimeOut);
        clickButton("prev");
      });
      clickButton("enable mapped_skills restore go " + idx);
    },
    //================================================================================================
    setWearEquip(idx) {
      if (g_gmain.is_fighting) return;
      $(".menu").hide();
      let equipKey = "equip_" + idx + "_keys";
      YFUI.showInput({
        title: "裝備組-" + idx,
        text: `格式:武器裝備詞組,以英文逗號分割多個關鍵詞,<br>
						<span style="color:#D60;">武器名前必須帶上*,入脈武器名前帶**。<br>
						卸下武器名前帶上#。</span><br>
                        <span style="color:red;">例如:</span><br>
                        [例1] <span style="color:blue;">#風泉之劍,*離別鉤,*傾宇破穹棍,**馭風騰雲,霸天聖袍,紫貪狼戒</span><br>
                        [例2] <span style="color:blue;">*風泉之劍,**雨葉魔槍,木棉袈裟,龍淵扳指,大士無雙帽,天璣九玄冠,博睿扳指,崆峒不老戒,楊柳怨羌笛,*妙韻梨花蕭</span><br>
                        `,
        value: PLU.getCache(equipKey) || "",
        type: "textarea",
        onOk(val) {
          let str = $.trim(val);
          if (!str) return;
          PLU.setCache(equipKey, str);
          PLU.wearEquip(str);
        },
        onNo() { },
      });
    },
    wearEquip(equipsStr) {
      PLU.getAllItems((list) => {
        let equips = equipsStr.split(","),
          equipCmds = "";
        let equipArr = equips.forEach((e) => {
          let eqObj = {};
          if (e.substr(0, 1) == "#") {
            eqObj = { type: -1, name: e.substr(1) };
          } else if (e.substr(0, 2) == "**") {
            eqObj = { type: 2, name: e.substr(2) };
          } else if (e.substr(0, 1) == "*") {
            eqObj = { type: 1, name: e.substr(1) };
          } else {
            eqObj = { type: 0, name: e };
          }
          let bagItem = list.find((it) => !!it.name.match(eqObj.name));
          if (bagItem) {
            if (eqObj.type == -1) equipCmds += "unwield " + bagItem.key + ";";
            else if (eqObj.type == 2) equipCmds += "wield " + bagItem.key + " rumai;";
            else if (eqObj.type == 1) equipCmds += "wield " + bagItem.key + ";";
            else equipCmds += "wear " + bagItem.key + ";";
          }
        });
        PLU.execActions(equipCmds, () => {
          YFUI.writeToOut("<span style='color:yellow;'> ==裝備完畢!== </span>");
          if (g_gmain.is_fighting) gSocketMsg.go_combat();
        });
      });
    },
    //================================================================================================
    showLog() {
      if ($("#myTools_InfoPanel").length > 0) return $("#myTools_InfoPanel").remove();
      let $logPanel = YFUI.showInfoPanel({
        text: "",
        onOpen() {
          $("#myTools_InfoPanel .infoPanel-wrap").html(PLU.logHtml);
          $("#myTools_InfoPanel .infoPanel-wrap").scrollTop($("#myTools_InfoPanel .infoPanel-wrap")[0].scrollHeight);
        },
        onNo() {
          PLU.logHtml = "";
          UTIL.logHistory = [];
          UTIL.setMem("HISTORY", JSON.stringify(this.logHistory));
          $("#myTools_InfoPanel .infoPanel-wrap").empty();
        },
        onClose() { },
      });
    },
    //================================================================================================
    updateShowLog(e) {
      let html = `<div style="${e.ext.style}">${UTIL.getNow(e.ext.time)} ${e.ext.msg}</div>`;
      PLU.logHtml += html;
      if ($("#myTools_InfoPanel").length < 1) return;
      $("#myTools_InfoPanel .infoPanel-wrap").append(html);
      $("#myTools_InfoPanel .infoPanel-wrap").scrollTop($("#myTools_InfoPanel .infoPanel-wrap")[0].scrollHeight);
    },
    //================================================================================================
    goHJS(where, npc) {
      let roomInfo = g_obj_map.get("msg_room");
      let curName = UTIL.filterMsg(roomInfo.get("short") || "");
      let act = "";
      if (curName == "青苔石階" && roomInfo.get("northwest") == "青苔石階") act = "nw";
      else if (curName == "青苔石階" && roomInfo.get("northeast") == "青苔石階") act = "ne";
      else if (curName == "青苔石階" && roomInfo.get("southwest") == "青苔石階") act = "sw";
      else if (curName == "榆葉林" && roomInfo.get("north") == "榆葉林") act = "n";
      else if (curName == "榆葉林" && roomInfo.get("south") == "榆葉林") act = "s";
      else if (curName == "世外桃源" && where == "鏡星府") act = "nw";
      else if (curName == "世外桃源" && where == "榮威鏢局") act = "ne";
      else if (curName == "世外桃源" && where == "碧落城") act = "s";
      if (act)
        PLU.execActions(act, () => {
          let npcObj = roomInfo.get("npc1");
          if (npcObj) {
            var npcName = npcObj.split(",")[1];
          }
          if (npc && ((npcName && npcName != npc) || !npcObj))
            PLU.execActions("jh 2;n;n;e;s;luoyang317_op1;go_hjs go;se;se;ne;w;n;", () => {
              PLU.goHJS(where, npc);
            });
          else PLU.goHJS(where, npc);
        });
    },
    //================================================================================================
    goHaRi() {
      let roomInfo = g_obj_map.get("msg_room");
      let curName = UTIL.filterMsg(roomInfo.get("short") || "");
      let act = "";
      if (curName == "沙漠迷宮") {
        if (roomInfo.get("east") == "沙漠迷宮") act = "e";
        else if (roomInfo.get("north") == "沙漠迷宮") act = "n";
        else if (roomInfo.get("west") == "沙漠迷宮") act = "w";
        else if (roomInfo.get("south") == "沙漠迷宮") act = "s";
        if (act)
          PLU.execActions(act, () => {
            PLU.goHaRi();
          });
      } else if (curName == "荒漠") {
        PLU.execActions("n;n;nw;n;ne", () => {
          YFUI.writeToOut("<span style='color:#FFF;'>--到達--</span>");
        });
      } else {
        PLU.execActions("rank go 263;e;s;w;w;s;sw;sw;sw;sw;nw;nw;n;nw;ne;", () => {
          PLU.goHaRi();
        });
      }
    },
    //================================================================================================
    queryJHMenu($btn, jhname) {
      let npcList = PLU.YFD.mapsLib.Npc.filter((e) => e.jh == jhname);
      npcList.forEach((e) => {
        let str = [e.jh, e.loc, e.name].filter((s) => !!s).join("-");
        YFUI.writeToOut(
          "<span><a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.goNpcWay(\"" +
          str +
          '","' +
          e.way +
          "\")'>" +
          str +
          "</a> &nbsp;&nbsp;<a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.showNpcWay(\"" +
          str +
          '","' +
          e.way +
          "\")'>路徑詳情</a></span>",
        );
      });
      YFUI.writeToOut("<span>----------</span>");
    },
    //================================================================================================
    toQueryNpc() {
      YFUI.showInput({
        title: "查找NPC",
        text: _(
          "输入NPC名字,可模糊匹配,支持<a target='_blank' href='https://www.runoob.com/regexp/regexp-syntax.html'>正则表达式</a>,同時支持简体(不包括地址名)和繁体<br>" +
          "正则表达式之外语法例子:<br>" +
          "[例1] 開封@毒蛇<br>" +
          "[例2] 星宿海@百龍山@毒蛇",
          "輸入NPC名字,可模糊匹配,支持<a target='_blank' href='https://zh.wikipedia.org/wiki/正則表達式'>正則表達式</a>,同時支持簡體和繁體<br>" +
          "正則表達式之外語法例子:<br>" +
          "[例1] 開封@毒蛇<br>" +
          "[例2] 星宿海@百龍山@毒蛇",
        ),
        value: PLU.getCache("prevSearchStr") || "^.?(男|女)[孩童]",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val);
          PLU.setCache("prevSearchStr", str);
          PLU.queryNpc(str + "道");
        },
        onNo() { },
      });
    },
    // 查询房间路径
    queryRoomPath() {
      if (UTIL.inHome()) return;
      let jh = PLU.YFD.cityId[g_obj_map?.get("msg_room")?.get("map_id")];
      if (jh) {
        let room = ansi_up.ansi_to_text(g_obj_map?.get("msg_room")?.get("short"));
        return PLU.queryNpc(jh + "@" + room + "@.*道", true)[0]?.way;
      }
    },
    // 链接两个路径终点
    linkPath(pathA, pathB) {
      if (!pathA) return pathB;
      let arrayA = pathA.split(";");
      let arrayB = pathB.split(";");
      let len = Math.min(arrayA.length, arrayB.length);
      for (var index = 0; index < len; index++) if (arrayA[index] != arrayB[index]) break;
      if (!index) return pathB;
      return arrayA
        .slice(index)
        .reverse()
        .map((e) => {
          let cmd = e.match(/^(#\d+ )?([ns]?[we]?)$/);
          if (cmd) {
            if (!cmd[1]) cmd[1] = "";
            if (cmd[2].indexOf("n") == 0) {
              var way = cmd[2].replace("n", "s");
            } else {
              var way = cmd[2].replace("s", "n");
            }
            if (way.indexOf("w") >= 0) {
              way = way.replace("w", "e");
            } else {
              way = way.replace("e", "w");
            }
            return cmd[1] + way;
          }
          // 迷宫反走
          cmd = e.match(/^(.+):(.+)\^(.+)$/);
          if (cmd) return cmd[1] + ":" + cmd[3] + "^" + cmd[2];
          return e;
        })
        .concat(arrayB.slice(index))
        .join(";");
    },
    // 最短路径
    minPath(pathA, pathB) {
      let linkPath = PLU.linkPath(pathA, pathB);
      if (linkPath == "" || linkPath == pathB) return linkPath;
      let a = linkPath.split(";");
      let len = a.length;
      for (var index = 0; index < len; index++) {
        let cmd = a[index].match(/^(.+):(.+\^.+)$/);
        if (cmd) a[index] = PLU.YFD.mapsLib.Labyrinth[cmd[1]][cmd[2]];
      }
      a = a.join(";").split(";");
      let b = pathB.split(";");
      len = b.length;
      for (var index = 0; index < len; index++) {
        let cmd = b[index].match(/^(.+):(.+\^.+)$/);
        if (cmd) b[index] = PLU.YFD.mapsLib.Labyrinth[cmd[1]][cmd[2]];
      }
      b = b.join(";").split(";");
      return a.length <= b.length ? linkPath : pathB;
    },
    //================================================================================================
    formatNpcData(text) {
      let npc = text.match(/^(.*)@(.*)@(.*)道$/);
      if (npc) {
        var jh = npc[1];
        var loc = npc[2];
        var name = "^" + npc[3] + "$";
      } else {
        npc = text.match(/^([^*-]*)[@*-](.*)道$/);
        if (npc) {
          if (npc[1] == "茶聖" || npc[1] == "青衣劍士") {
            var name = "^" + npc[1] + "-" + npc[2] + "$";
          } else {
            var jh = npc[1];
            var name = "^" + npc[2] + "$";
          }
        } else {
          npc = text.match(/^(.*)道$/);
          if (npc) {
            var name = npc[1];
          } else {
            var name = text;
          }
        }
      }
      return [jh, loc, name];
    },
    queryNpc(name, quiet) {
      if (!name) return;
      let [jh, loc, tmpName] = PLU.formatNpcData(name);
      name = tmpName;
      let npcLib = PLU.YFD.mapsLib.Npc;
      let findList = npcLib.filter((e) => {
        if (e.jh == jh && e.loc == loc && (e.name.match(name) || (e.name_tw && e.name_tw.match(name)) || (e.name_new && e.name_new.match(name)))) return true;
        return false;
      });
      if (findList.length == 0)
        findList = npcLib.filter((e) => {
          if ((e.jh == jh || !jh) && (e.name.match(name) || (e.name_tw && e.name_tw.match(name)) || (e.name_new && e.name_new.match(name)))) return true;
          return false;
        });
      if (findList.length == 0)
        findList = npcLib.filter((e) => {
          if (e.name.match(name) || (e.name_tw && e.name_tw.match(name)) || (e.name_new && e.name_new.match(name))) return true;
          return false;
        });
      let res = [];
      if (findList && findList.length > 0) {
        findList.forEach((e) => {
          let str = [e.jh, e.loc, _(e.name, e.name_tw)].filter((s) => !!s).join("-");
          if (!quiet)
            YFUI.writeToOut(
              "<span><a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.goNpcWay(\"" +
              str +
              '","' +
              e.way +
              "\")'>" +
              str +
              "</a> &nbsp;&nbsp;<a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.showNpcWay(\"" +
              str +
              '","' +
              e.way +
              "\")'>路徑詳情</a></span>",
            );
          res.push(e);
        });
        if (!quiet) YFUI.writeToOut("<span>----------</span>");
      } else if (!quiet) {
        YFUI.writeToOut("<span style='color:#F66;'>查詢不到相關數據</span>");
      }
      return res;
    },
    //================================================================================================
    toPathNpc() {
      let defaultMapId = PLU.getCache("pathFindMap") || "1";
      let citys = PLU.YFD.cityList
        .map((c, i) => {
          let issel = i + 1 == defaultMapId ? "selected" : "";
          return '<option value="' + (i + 1) + '" ' + issel + ">" + c + "</option>";
        })
        .join("");
      YFUI.showPop({
        title: "全圖找NPC",
        text: `選擇地圖, 輸入NPC名字,可模糊匹配<br>
				<div style='margin:10px 0;'>
					<span>地圖: </span>
					<select id="pathFindMap" style="font-size:15px;height:32px;width:81%;border:1px solid #444;">
						${citys}
					</select>
				</div>
				<div style='margin:10px 0;'>
					<span>名字: </span>
					<input id="pathFindNpc" value="${PLU.getCache("pathFindNpc") || "小龍人"}" style="font-size:14px;height:26px;width:80%;border:1px solid #444;"></input>
				</div>`,
        onOk() {
          let mapStr = $.trim($("#pathFindMap").val()),
            npcStr = $.trim($("#pathFindNpc").val());
          if (!npcStr) return;
          PLU.setCache("pathFindMap", mapStr);
          PLU.setCache("pathFindNpc", npcStr);
          let jhMap = PLU.YFD.mapsLib.Map[parseInt(mapStr) - 1];
          if (!jhMap) {
            return YFUI.writeToOut("<span style='color:#F66;'>---無地圖數據---</span>");
          } else {
            let ways = jhMap.way.split(";");
            console.log({ paths: ways, idx: 0, objectNPC: npcStr });
            PLU.goPathFindNpc({ paths: ways, idx: 0, objectNPC: npcStr });
          }
        },
        onNo() { },
      });
    },
    goPathFindNpc(params) {
      //goFindYouxia
      if (params.idx >= params.paths.length) {
        setTimeout(() => {
          PLU.execActions("home");
        }, 100);
        YFUI.writeToOut("<span style='color:#FFF;'>--找不到目標NPC!...已搜索完地圖--</span>");
        return;
      }
      let acs = [params.paths[params.idx]];
      PLU.actions({
        paths: acs,
        idx: 0,
        onPathsEnd() {
          setTimeout(() => {
            let npcObj = UTIL.findRoomNpcReg(params.objectNPC);
            if (npcObj) {
              YFUI.writeToOut("<span style='color:#FFF;'>--目標NPC已找到--</span>");
            } else {
              params.idx++;
              PLU.goPathFindNpc(params);
            }
          }, 100);
        },
        onPathsFail() {
          setTimeout(() => {
            PLU.execActions("home");
          }, 500);
          YFUI.writeToOut("<span style='color:#FFF;'>--找不到目標NPC!...路徑中斷--</span>");
          return;
        },
      });
    },
    AutoPuzzle() {
      PLU.TMP.puzzleList = {};
      PLU.TMP.puzzleWating = {};
      return {
        //puzzleWating: {},
        analyzePuzzle: function (puzzle) {
          var puzzleid = "";
          var publisherName = "";
          var targetName = "";
          var publisherResult = /<a[^>]*find_task_road2 [^>]*>((?!<a[^>]*>).)+<\/a>/.exec(puzzle);
          if (publisherResult && publisherResult.length > 0) {
            publisherName = publisherResult[0].replace(/<\/?a[^>]*>/g, "");
            if (publisherName.indexOf("-") > -1) {
              publisherName = publisherName.split("-")[1];
            }
            publisherName = publisherName.replace(/\x1B/g, "").replace(/^<\/span>/, "");
            var result1 = /find_task_road2 [^>^']*/.exec(publisherResult[0]);
            puzzleid = result1[0].replace(/find_task_road2 /g, "");
          }
          var targetResult = puzzle.match(/<a[^>]*find_task_road [^>]*>((?!<a[^>]*>).)+<\/a>/g);
          if (targetResult && targetResult.length > 0) {
            var targetInfoIndex = 0;
            if (/搶走了,去替我要回來吧!/.test(puzzle)) {
              targetInfoIndex = targetResult.length - 1;
            }
            targetName = targetResult[targetInfoIndex].replace(/<\/?a[^>]*>/g, "");
            if (targetName.indexOf("-") > -1) {
              targetName = targetName.split("-")[1];
            }
            targetName = targetName.replace(/\x1B/g, "").replace(/^<\/span>/, "");
            if (!puzzleid) {
              var result1 = /find_task_road [^>^']*/.exec(targetResult[targetInfoIndex]);
              puzzleid = result1[0].replace(/find_task_road /g, "");
            }
          }
          if (!puzzleid) {
            return "";
          }
          if (puzzleid in PLU.TMP.puzzleList) {
            $.extend(PLU.TMP.puzzleList[puzzleid], {
              puzzle: puzzle,
              publisherName: publisherName,
              targetName: targetName,
            });
          } else {
            PLU.TMP.puzzleList[puzzleid] = {
              puzzle: puzzle,
              publisherName: publisherName,
              targetName: targetName,
              firstPublisherName: publisherName,
              firstStep: puzzle.replace(/<[^>]*>/g, ""),
              publisherMap: g_obj_map.get("msg_room").get("map_id"),
              publisherRoom: g_obj_map.get("msg_room").get("short"),
            };
          }
          return puzzleid;
        },
        startpuzzle: function (puzzleid) {
          if (!PLU.TMP.puzzleList[puzzleid]) return;
          var puzzle = PLU.TMP.puzzleList[puzzleid].puzzle;
          if (/看上去好生奇怪,/.test(puzzle) || /鬼鬼祟祟的叫人生疑,/.test(puzzle)) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "npc_datan",
              actionCode: "npc_datan",
              target: PLU.TMP.puzzleList[puzzleid].targetName,
              status: "start",
            };
          } else if (
            /你一番打探,果然找到了一些線索,回去告訴/.test(puzzle) ||
            /你一番搜索,果然找到了,回去告訴/.test(puzzle) ||
            /好,我知道了。你回去轉告/.test(puzzle) ||
            /老老實實將東西交了出來,現在可以回去找/.test(puzzle) ||
            /好,好,好,我知錯了……你回去轉告/.test(puzzle) ||
            /腳一蹬,死了。現在可以回去找/.test(puzzle)
          ) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "answer",
              actionCode: "ask",
              target: PLU.TMP.puzzleList[puzzleid].publisherName,
              status: "start",
            };
          } else if (/我想找/.test(puzzle) || /我有個事情想找/.test(puzzle)) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "ask",
              actionCode: "ask",
              target: PLU.TMP.puzzleList[puzzleid].targetName,
              status: "start",
            };
          } else if (
            /我十分討厭那/.test(puzzle) ||
            /好大膽,竟敢拿走了我的/.test(puzzle) ||
            /竟敢得罪我/.test(puzzle) ||
            /搶走了,去替我要回來吧!/.test(puzzle) ||
            /十分囂張,去讓[他她]見識見識厲害!/.test(puzzle)
          ) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "fight",
              actionCode: "fight",
              target: PLU.TMP.puzzleList[puzzleid].targetName,
              status: "start",
            };
          } else if (
            /上次我不小心,竟然吃了/.test(puzzle) ||
            /竟對我橫眉瞪眼的,真想殺掉[他她]!/.test(puzzle) ||
            /昨天撿到了我幾十輛銀子,拒不歸還。錢是小事,但人品可不好。/.test(puzzle)
          ) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "kill",
              actionCode: "kill",
              target: PLU.TMP.puzzleList[puzzleid].targetName,
              status: "start",
            };
          } else if (/銀子/.test(puzzle)) {
            PLU.execActions("auto_tasks cancel");
            PLU.TMP.puzzleWating = {};
            return;
          } else if (/突然想要一/.test(puzzle) || /唉,好想要一/.test(puzzle)) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "get",
              actionCode: "get",
              target: PLU.TMP.puzzleList[puzzleid].targetName,
              status: "start",
            };
          } else if (/可前去尋找/.test(puzzle)) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "room_sousuo",
              actionCode: "room_sousuo",
              target: "",
              status: "start",
            };
          }
          this.gotoPuzzle(puzzleid);
        },
        gotoPuzzle: function (puzzleid) {
          if (puzzleid != PLU.TMP.puzzleWating.puzzleid) return;
          var that = this;
          switch (PLU.TMP.puzzleWating.action) {
            case "npc_datan":
            case "fight":
            case "kill":
            case "ask":
            case "room_sousuo":
              PLU.TMP.puzzleWating.status = "trace";
              PLU.execActions("find_task_road " + puzzleid);
              break;
            case "get":
              if (
                g_obj_map.get("msg_room").get("map_id") == PLU.TMP.puzzleList[puzzleid].publisherMap &&
                g_obj_map.get("msg_room").get("short") == PLU.TMP.puzzleList[puzzleid].publisherRoom
              ) {
                var npc = g_obj_map.get("msg_room").elements.filter(function (item) {
                  return item.key.indexOf("npc") == 0 && that.ansiToHtml(item.value.split(",")[1]) == PLU.TMP.puzzleList[puzzleid].publisherName;
                });
                if (npc.length > 0) {
                  PLU.TMP.puzzleWating.waitTimer = setTimeout(function () {
                    PLU.TMP.puzzleWating.status = "trace";
                    PLU.execActions("find_task_road " + puzzleid);
                  }, 2000);
                  PLU.TMP.puzzleWating.status = "give";
                  var npcArr = {};
                  for (var i = 0; i < npc.length; i++) {
                    var npcinfo = npc[i].value.split(",");
                    npcArr[npcinfo[0]] = npc[i];
                  }
                  PLU.TMP.puzzleWating.waitCount = 0;
                  for (var npcid in npcArr) {
                    PLU.execActions("give " + npc[0].value.split(",")[0]);
                    PLU.TMP.puzzleWating.waitCount++;
                  }
                  return;
                }
              }
              PLU.TMP.puzzleWating.status = "trace";
              PLU.execActions("find_task_road " + puzzleid);
              break;
            case "answer":
              PLU.TMP.puzzleWating.status = "trace";
              PLU.execActions("find_task_road2 " + puzzleid);
              break;
          }
        },
        doPuzzle: function (puzzleid) {
          if (puzzleid != PLU.TMP.puzzleWating.puzzleid) return;
          var that = this;
          switch (PLU.TMP.puzzleWating.action) {
            case "npc_datan":
            case "answer":
            case "ask":
            case "fight":
            case "kill":
              PLU.TMP.puzzleWating.status = "wait";
              var npcs = g_obj_map.get("msg_room").elements.filter(function (item) {
                return (
                  item.key.indexOf("npc") == 0 &&
                  (that.ansiToHtml(item.value.split(",")[1]) == PLU.TMP.puzzleWating.target ||
                    (PLU.TMP.puzzleWating.target == "惡人" && item.value.split(",")[0].indexOf("eren") == 0) ||
                    (PLU.TMP.puzzleWating.target == "捕快" && item.value.split(",")[0].indexOf("bukuai") == 0) ||
                    (["柳繪心", "王鐵匠", "楊掌櫃", "客商", "柳小花", "賣花姑娘", "劉守財", "方老闆", "朱老伯", "方寡婦"].indexOf(PLU.TMP.puzzleWating.target) > -1 &&
                      item.value.split(",")[0].indexOf("bad_target_") == 0))
                );
              });
              if (npcs.length > 0) {
                var distinctNpcs = {};
                for (var i = 0; i < npcs.length; i++) {
                  distinctNpcs[npcs[i].value.split(",")[0]] = 1;
                }
                if (PLU.TMP.puzzleWating.action == "fight") {
                  for (var npcid in distinctNpcs) {
                    PLU.autoFight({
                      targetKey: npcid,
                      fightKind: "fight",
                      autoSkill: "multi",
                      onFail() {
                        PLU.autoFight({
                          targetKey: npcid,
                          fightKind: "kill",
                          autoSkill: "multi",
                        });
                      },
                    });
                  }
                } else {
                  for (var npcid in distinctNpcs) {
                    PLU.execActions(PLU.TMP.puzzleWating.actionCode + " " + npcid);
                  }
                }
              }
              break;
            case "get":
              if (PLU.TMP.puzzleWating.status == "traced") {
                PLU.TMP.puzzleWating.status = "wait";
                var objs = g_obj_map.get("msg_room").elements.filter(function (item) {
                  return item.key.indexOf("item") == 0 && that.ansiToHtml(item.value.split(",")[1]) == PLU.TMP.puzzleWating.target;
                });
                if (objs.length > 0) {
                  for (var index in objs) {
                    PLU.execActions("get " + objs[index].value.split(",")[0]);
                  }
                } else {
                  var npcs = g_obj_map.get("msg_room").elements.filter(function (item) {
                    return (
                      item.key.indexOf("npc") == 0 && !isNaN(item.key.replace("npc", "")) && item.value.indexOf("金甲符兵") == -1 && item.value.indexOf("玄陰符兵") == -1
                    );
                  });
                  that.lookNpcForBuy(
                    npcs,
                    function () {
                      PLU.TMP.puzzleWating.status = "return";
                      PLU.execActions("find_task_road2 " + puzzleid);
                    },
                    function () {
                      npcs = g_obj_map.get("msg_room").elements.filter(function (item) {
                        return (
                          item.key.indexOf("npc") == 0 &&
                          !isNaN(item.key.replace("npc", "")) &&
                          item.value.indexOf("金甲符兵") == -1 &&
                          item.value.indexOf("玄陰符兵") == -1
                        );
                      });
                      that.lookNpcForKillGet(npcs);
                    },
                  );
                }
              } else {
                if (PLU.TMP.puzzleWating.status == "returned") {
                  var npcs = g_obj_map.get("msg_room").elements.filter(function (item) {
                    return item.key.indexOf("npc") == 0 && that.ansiToHtml(item.value.split(",")[1]) == PLU.TMP.puzzleWating.target;
                  });
                  if (npcs.length > 0) {
                    for (var index in npcs) {
                      if (npcs[index].value) PLU.execActions("give " + npcs[index].value.split(",")[0]);
                    }
                  }
                }
              }
              break;
            case "room_sousuo":
              PLU.execActions("room_sousuo");
              break;
          }
        },
        lookNpcForBuy: function (npcs, foundcallback, notfoundcallback) {
          if (PLU.TMP.puzzleWating.actionCode != "get") return;
          if (npcs.length > 0) {
            var that = this;
            var npc = npcs.shift();
            var npcid = npc.value.split(",")[0];
            PLU.execActions("look_npc " + npcid);
            setTimeout(function () {
              that.getNpcInfoForBuy(npcid, npcs, foundcallback, notfoundcallback);
            }, 200);
          } else {
            notfoundcallback && notfoundcallback();
          }
        },
        getNpcInfoForBuy: function (npcid, othernpcs, foundcallback, notfoundcallback) {
          if (PLU.TMP.puzzleWating.actionCode != "get") return;
          var that = this;
          if (!g_obj_map.get("msg_npc") || g_obj_map.get("msg_npc").get("id") != npcid) {
            setTimeout(function () {
              that.getNpcInfoForBuy(npcid, othernpcs, foundcallback, notfoundcallback);
            }, 200);
            return;
          }
          var cmds = g_obj_map.get("msg_npc").elements.filter(function (item) {
            return item.value == "購買";
          });
          if (cmds.length > 0) {
            PLU.execActions("buy " + npcid);
            setTimeout(function () {
              that.getNpcBuyInfo(npcid, othernpcs, foundcallback, notfoundcallback);
            }, 200);
          } else {
            if (othernpcs.length > 0) {
              var npc = othernpcs.shift();
              var npcid = npc.value.split(",")[0];
              PLU.execActions("look_npc " + npcid);
              setTimeout(function () {
                that.getNpcInfoForBuy(npcid, othernpcs, foundcallback, notfoundcallback);
              }, 200);
            } else {
              notfoundcallback && notfoundcallback();
            }
          }
        },
        getNpcBuyInfo: function (npcid, othernpcs, foundcallback, notfoundcallback) {
          if (PLU.TMP.puzzleWating.actionCode != "get") return;
          var that = this;
          if (!g_obj_map.get("msg_buys") || g_obj_map.get("msg_buys").get("npcid") != npcid) {
            setTimeout(function () {
              that.getNpcBuyInfo(npcid, othernpcs, foundcallback, notfoundcallback);
            }, 200);
            return;
          }
          var buyitems = g_obj_map.get("msg_buys").elements.filter(function (item) {
            return item.key.indexOf("item") == 0 && that.ansiToHtml(item.value.split(",")[1]) == PLU.TMP.puzzleWating.target;
          });
          if (buyitems.length > 0) {
            for (var i = 0; i < buyitems.length; i++) {
              PLU.execActions("buy " + buyitems[i].value.split(",")[0] + " from " + npcid);
            }
            foundcallback && foundcallback();
          } else {
            if (othernpcs.length > 0) {
              var npc = othernpcs.shift();
              var npcid = npc.value.split(",")[0];
              PLU.execActions("look_npc " + npcid);
              setTimeout(function () {
                that.getNpcInfoForBuy(npcid, othernpcs, foundcallback, notfoundcallback);
              }, 200);
            } else {
              notfoundcallback && notfoundcallback();
            }
          }
        },
        lookNpcForKillGet: function (npcs, foundcallback, notfoundcallback) {
          if (PLU.TMP.puzzleWating.actionCode != "get") return;
          if (npcs.length > 0) {
            var that = this;
            var npc = npcs.shift();
            var npcid = npc.value.split(",")[0];
            PLU.execActions("look_npc " + npcid);
            setTimeout(function () {
              that.getNpcInfoForKillGet(npcid, npcs, foundcallback, notfoundcallback);
            }, 200);
          } else {
            notfoundcallback && notfoundcallback();
          }
        },
        getNpcInfoForKillGet: function (npcid, othernpcs, foundcallback, notfoundcallback) {
          if (PLU.TMP.puzzleWating.actionCode != "get") return;
          var that = this;
          if (!g_obj_map.get("msg_npc") || g_obj_map.get("msg_npc").get("id") != npcid) {
            setTimeout(function () {
              that.getNpcInfoForKillGet(npcid, othernpcs, foundcallback, notfoundcallback);
            }, 200);
            return;
          }
          var cmds = g_obj_map.get("msg_npc").elements.filter((item) => {
            return item.value == "殺死";
          });
          if (cmds.length > 0 && g_obj_map.get("msg_npc").get("long").indexOf(PLU.TMP.puzzleWating.target) > -1) {
            PLU.TMP.puzzleWating.waitTarget = npcid;
            PLU.execActions("kill " + npcid);
            foundcallback && foundcallback();
          } else {
            if (othernpcs.length > 0) {
              var npc = othernpcs.shift();
              var npcid = npc.value.split(",")[0];
              PLU.execActions("look_npc " + npcid);
              setTimeout(function () {
                that.getNpcInfoForKillGet(npcid, othernpcs, foundcallback, notfoundcallback);
              }, 200);
            } else {
              notfoundcallback && notfoundcallback();
            }
          }
        },
        puzzlekillget: function () {
          var npcname = prompt("請輸入要殺的npc名稱", "");
          if (npcname) {
            PLU.TMP.puzzleWating.actionCode = "killget";
            PLU.TMP.puzzleWating.waitTargetName = npcname;
          }
        },
        ansiToHtml: function (str) {
          return ansi_up.ansi_to_html(str).replace(/\x1B/g, "");
        },
        puzzlesubmit: function (puzzleid) {
          let mapname = PLU.YFD.cityId[PLU.TMP.puzzleList[puzzleid].publisherMap] ?? PLU.TMP.puzzleList[puzzleid].publisherMap;
          let value =
            mapname + "@" + ansi_up.ansi_to_html(PLU.TMP.puzzleList[puzzleid].publisherRoom).replace(/<[^>]*>/g, "") + "@" + PLU.TMP.puzzleList[puzzleid].firstStep;
          if (!PLU.getCache("listenPuzzle")) unsafeWindow.clickButton("chat " + value);
        },
      };
    },

    //================================================================================================
    toQueryMiTi() {
      let defaultMapId = PLU.getCache("pathFindMiTi") || "1";
      let citys = PLU.YFD.cityList
        .map((c, i) => {
          let issel = i + 1 == defaultMapId ? "selected" : "";
          return '<option value="' + (i + 1) + '" ' + issel + ">" + c + "</option>";
        })
        .join("");
      YFUI.showPop({
        title: "全圖找謎題",
        text: `選擇地圖, 輸入關鍵詞(人物,地點,物品)列表(英文逗號隔開)<br>可模糊匹配<br>
            <div style='margin:10px 0;'>
              <span>去哪找: </span>
              <select id="pathFindMap" style="font-size:15px;height:32px;width:81%;border:1px solid #444;">
                ${citys}
              </select>
            </div>
            <div style='margin:10px 0;'>
              <span>要找啥: </span>
              <input id="pathFindKeyword" value="${PLU.getCache("pathFindKeyword") || "柴紹,李秀寧,大鸛淜洲,天羅紫芳衣"
          }" style="font-size:14px;height:26px;width:80%;border:1px solid #444;"></input>
            </div>`,
        onOk() {
          let mapStr = $.trim($("#pathFindMap").val()),
            KeywordStr = $.trim($("#pathFindKeyword").val());
          if (!KeywordStr) return;
          PLU.setCache("pathFindMap", mapStr);
          PLU.setCache("pathFindKeyword", KeywordStr);
          let jhMap = PLU.YFD.mapsLib.Map[parseInt(mapStr) - 1];
          if (!jhMap) {
            return YFUI.writeToOut("<span style='color:#F66;'>---無地圖數據---</span>");
          } else {
            let ways = jhMap.way.split(";");
            console.log({ paths: ways, idx: 0, objectKeyword: KeywordStr });
            PLU.MiTiArray = [];
            PLU.goPathFindMiTi({
              paths: ways,
              idx: 0,
              objectKeyword: KeywordStr,
            });
          }
        },
        onNo() { },
      });
    },
    goPathFindMiTi(params) {
      //goFindYouxia
      if (params.idx >= params.paths.length) {
        setTimeout(() => {
          PLU.execActions("home");
        }, 100);
        YFUI.writeToOut("<span style='color:#FFF;'>--找不到目標謎題!...已搜索完地圖--</span>");
        return;
      }
      let acs = [params.paths[params.idx]];
      PLU.actions({
        paths: acs,
        idx: 0,
        onPathsEnd() {
          let npcArray = UTIL.getRoomAllNpc();
          UTIL.addSysListener("MiTi", (b, type, subtype, msg) => {
            if (type != "main_msg") return;
            if (msg.match(params.objectKeyword)) PLU.MiTiArray.push(msg);
          });
          for (var npc of npcArray) {
            PLU.execActions("auto_tasks cancel;ask " + npc.key);
          }
          UTIL.delSysListener("MiTi");
          if (PLU.MiTiArray.length) {
            YFUI.writeToOut("<span style='color:#FFF;'>--目標謎題已找到--</span>");
            return;
          } else {
            setTimeout(() => {
              params.idx++;
              PLU.goPathFindMiTi(params);
            }, 500);
          }
        },
        onPathsFail() {
          setTimeout(() => {
            PLU.execActions("home");
          }, 500);
          YFUI.writeToOut("<span style='color:#FFF;'>--路徑中斷--</span>");
          return;
        },
      });
    },
    //================================================================================================
    goNpcWay(desc, way) {
      let goList = PLU.getCache("prevQueryList") || [];
      let newList = goList.filter((e) => e.desc != desc);
      let len = newList.unshift({ desc: desc, way: way });
      if (len > 10) newList.length = 10;
      PLU.setCache("prevQueryList", newList);
      PLU.execActions(way);
    },

    //================================================================================================
    //================================================================================================
    showNpcWay(desc, way) {
      let text = "<span style='color:blue;background:rgba(255,255,244,0.8);padding:1px 10px;display:inline-block;word-break:break-all;'>" + way + "</span></br>";
      let way2 = PLU.linkPath(PLU.queryRoomPath(), way);
      let way3 = PLU.minPath(PLU.queryRoomPath(), way);
      if (way != way2) {
        text +=
          "<span style='color:blue;background:rgba(255,255,244,0.8);padding:1px 10px;display:inline-block;word-break:break-all;'>同图路径(?):" +
          way2 +
          "</span></br>";
        text +=
          "<span style='color:blue;background:rgba(255,255,244,0.8);padding:1px 10px;display:inline-block;word-break:break-all;'>最短路径(?):" +
          way3 +
          "</span></br>";
      }
      YFUI.showPop({
        title: "路徑詳情:" + desc,
        text: text,
        autoOk: 10,
        okText: "關閉",
        noText: "前往",
        onOk() { },
        onNo() {
          PLU.goNpcWay(desc, way);
        },
      });
    },
    //================================================================================================
    toQueryHistory() {
      let prevList = PLU.getCache("prevQueryList") || [];
      if (prevList.length == 0) return YFUI.writeToOut("<span style='color:#F66;'>---無歷史數據---</span>");
      for (let i = prevList.length - 1; i >= 0; i--) {
        let e = prevList[i];
        YFUI.writeToOut(
          "<span><a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.goNpcWay(\"" +
          e.desc +
          '","' +
          e.way +
          "\")'>" +
          e.desc +
          "</a> &nbsp;&nbsp;<a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.showNpcWay(\"" +
          e.desc +
          '","' +
          e.way +
          "\")'>路徑詳情</a></span>",
        );
      }
      YFUI.writeToOut("<span>----------</span>");
    },
    //================================================================================================
    showMPFZ($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#topMonitor").hide();
        $("#btn_bt_showMPFZ").text(_("纷争显示", "紛爭顯示"));
        PLU.setCache("showTopMonitor", 0);
        return;
      }
      $("#topMonitor").show();
      $("#btn_bt_showMPFZ").text(_("纷争隐藏", "紛爭隱藏"));
      PLU.setCache("showTopMonitor", 1);
    },
    //================================================================================================
    openCombineGem() {
      let htm = "<div>";
      PLU.YFD.gemType.forEach((t, ti) => {
        htm += "<div>";
        PLU.YFD.gemPrefix.forEach((p, pi) => {
          if (pi > 2)
            htm +=
              '<button onclick="PLU.combineGem(' +
              ti +
              "," +
              pi +
              ')" style="color:' +
              t.color +
              ';width:18%;margin:2px 1%;padding:3px;">' +
              (p.substr(0, 2) + t.name.substr(0, 1)) +
              "</button>";
        });
        htm += "</div>";
      });
      htm += "</div>";
      htm += `<div style="margin:10px 0 0 3px;position:absolute;left:15px;bottom:10px;">每次連續合成最多 <input id="maxCombine" type="number" value="1" style="width:50px;height:25px;line-height:25px;" maxlength="3" min=1 max=9999 oninput="if(value.length>4)value=value.substr(0,4)"/> 顆寶石。</div>`;
      YFUI.showPop({
        title: "合成寶石",
        text: htm,
        width: "382px",
        okText: "關閉",
        onOk() { },
      });
    },
    //================================================================================================
    combineGem(type, grade) {
      if (PLU.TMP.combineTooFast) return YFUI.writeToOut("<span style='color:#F66;'>--點擊不要太快!--</span>");
      PLU.TMP.combineTooFast = setTimeout(() => {
        PLU.TMP.combineTooFast = null;
      }, 600000);
      let targetNum = parseInt($("#maxCombine").val()) || 1;
      let getNum = 0;
      let countString = (combineNum, gemCode) => {
        let combineStr = "";
        if (combineNum % 3 != 0) return "";
        combineStr += "items hecheng " + gemCode + "_N_" + Math.floor(combineNum / 3) + ";";
        return combineStr;
      };
      let needGem = (gemGrade, needNum, gemList) => {
        if (gemGrade < 0) return null;
        let gemName = PLU.YFD.gemPrefix[gemGrade] + PLU.YFD.gemType[type].name;
        let gemCode = PLU.YFD.gemType[type].key + "" + (gemGrade + 1);
        let objGem = gemList.find((e) => e.name == gemName);
        let gemNum = objGem?.num ?? 0;
        if (gemNum >= needNum) {
          return countString(needNum, gemCode);
        } else {
          let dtNum = needNum - gemNum;
          let next = needGem(gemGrade - 1, 3 * dtNum, gemList);
          if (next) return next + countString(needNum, gemCode);
          return null;
        }
      };
      let countCombine = function (cb) {
        PLU.getGemList((gemList) => {
          let runStr = needGem(grade - 1, 3, gemList);
          if (runStr) {
            PLU.fastExec(runStr + "items", () => {
              YFUI.writeToOut("<span style='color:white;'>==合成寶石x1==</span>");
              getNum++;
              targetNum--;
              if (targetNum > 0) {
                countCombine(() => {
                  cb && cb(true);
                });
              } else {
                cb && cb(true);
              }
            });
          } else {
            YFUI.writeToOut("<span style='color:#F66;'>--沒有足夠的寶石!--</span>");
            cb && cb(false);
          }
        });
      };
      countCombine((end) => {
        clearTimeout(PLU.TMP.combineTooFast);
        PLU.TMP.combineTooFast = null;
        YFUI.writeToOut("<span style='color:white;'>==合成寶石結束! 得到寶石x" + getNum + "==</span>");
      });
    },
    //================================================================================================
    getGemList(callback) {
      let getItemsTimeOut = setTimeout(() => {
        UTIL.delSysListener("getListItems");
      }, 5000);
      UTIL.addSysListener("getListItems", (b, type, subtype, msg) => {
        if (type != "items" || subtype != "list") return;
        UTIL.delSysListener("getListItems");
        clearTimeout(getItemsTimeOut);
        //clickButton("prev");
        let iId = 1,
          itemList = [];
        while (b.get("items" + iId)) {
          let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
          if (it && it.length > 4 && it[3] == "0" && it[1].match("寶石"))
            itemList.push({
              key: it[0],
              name: it[1],
              num: Number(it[2]),
            });
          iId++;
        }
        callback && callback(itemList);
      });
      clickButton("items", 0);
    },
    //================================================================================================
    getAllItems(callback) {
      let getItemsTimeOut = setTimeout(() => {
        UTIL.delSysListener("getListItems");
      }, 5000);
      UTIL.addSysListener("getListItems", (b, type, subtype, msg) => {
        if (type != "items" || subtype != "list") return;
        UTIL.delSysListener("getListItems");
        clearTimeout(getItemsTimeOut);
        clickButton("prev");
        let iId = 1,
          itemList = [];
        while (b.get("items" + iId)) {
          let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
          if (it && it.length > 4)
            itemList.push({
              key: it[0],
              name: it[1],
              num: Number(it[2]),
              equipped: it[3] == "0",
            });
          iId++;
        }
        callback && callback(itemList);
      });
      clickButton("items", 0);
    },
    //================================================================================================
    backupSetting() {
      let config = {};
      config.GM = GM_info;
      config.GM.scriptMetaStr = undefined;
      config.GM.script.header = undefined;
      config.PLU = {};
      config.PLU.CACHE = UTIL.getMem("CACHE");
      config.PLU.HISTORY = UTIL.getMem("HISTORY");
      config.PLU.STATUS = PLU.STATUS;
      config.PLU.TMP = PLU.TMP;
      const reader = new FileReader();
      reader.readAsDataURL(new Blob([JSON.stringify(config)], { type: "application/json" }));
      reader.onload = (e) => {
        let a = document.createElement("a");
        a.download = "無劍配置-" + PLU.accId + "-" + new Date().getTime() + ".json";
        a.style.display = "none";
        a.href = reader.result;
        a.click();
      };
    },
    //================================================================================================
    loadSetting() {
      let input = document.createElement("input");
      input.type = "file";
      input.id = "config";
      input.accept = "application/json";
      input.style.display = "none";
      input.onchange = () => {
        const reader = new FileReader();
        reader.readAsText(input.files[0]);
        reader.onload = (e) => {
          const config = JSON.parse(reader.result);
          UTIL.setMem("CACHE", config.PLU.CACHE);
          UTIL.setMem("HISTORY", config.PLU.HISTORY);
          PLU.initStorage();
          PLU.TMP = config.PLU.TMP;
          PLU.STATUS = config.PLU.STATUS;
          YFUI.writeToOut("<span style='color:yellow;'>==加載完成==</span>");
        };
      };
      input.click();
    },
  };
  //=================================================================================
  // UTIL模塊
  //=================================================================================
  window.UTIL = {
    //================
    accId: null,
    sysListeners: {},
    logHistory: [],
    //================
    getUrlParam(key) {
      let res = null,
        au = location.search.split("?"),
        sts = au[au.length - 1].split("&");
      sts.forEach((p) => {
        if (p.split("=").length > 1 && key == p.split("=")[0]) res = unescape(p.split("=")[1]);
      });
      return res;
    },
    getAccId() {
      this.accId = this.getUrlParam("id");
      return this.accId;
    },
    setMem(key, data) {
      localStorage.setItem("PLU_" + this.accId + "_" + key, data);
    },
    getMem(key) {
      return localStorage.getItem("PLU_" + this.accId + "_" + key);
    },
    rnd() {
      return Math.floor(Math.random() * 1000000);
    },
    getuuid: function () {
      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
        var r = (Math.random() * 16) | 0,
          v = c == "x" ? r : (r & 0x3) | 0x8;
        return v.toString(16);
      });
    },
    getNow(timestamp) {
      var date = timestamp ? new Date(timestamp) : new Date();
      var Y = date.getFullYear();
      var M = (date.getMonth() + 1 + "").padStart(2, "0");
      var D = (date.getDate() + "").padStart(2, "0");
      var h = (date.getHours() + "").padStart(2, "0");
      var m = (date.getMinutes() + "").padStart(2, "0");
      var s = (date.getSeconds() + "").padStart(2, "0");
      return M + "-" + D + " " + h + ":" + m + ":" + s;
    },
    log({ msg, type, time, isHistory }) {
      let style = "color:#333";
      if (type == "TF") {
        let co = msg.match("夜魔") ? "#F0F" : "#666";
        style = "color:" + co;
      } else if (type == "QL") {
        style = "color:#00F";
      } else if (type == "MPFZ") {
        style = "color:#F60";
      } else if (type == "LPFZ") {
        style = "color:#033";
      } else if (type == "KFQL") {
        style = "color:#F00;background:#FF9;";
      } else if (type == "YX") {
        let co2 = msg.match("宗師】") ? "#00F" : msg.match("俠客】") ? "#08F" : msg.match("魔尊】") ? "#F00" : msg.match("邪武】") ? "#F80" : "#999";
        style = "color:" + co2 + ";background:#CFC;";
      } else if (type == "BF") {
        style = "color:#FFF;background:#93C;";
      } else if (type == "TIPS") {
        style = "color:#29F";
      }
      //console.log('%c%s',style,this.getNow(time)+msg)
      if (!isHistory) {
        this.logHistory.push({ msg, type, time });
        this.setMem("HISTORY", JSON.stringify(this.logHistory));
      }
      let evt = new Event("addLog");
      evt.ext = { msg, type, time, style };
      document.dispatchEvent(evt);
    },
    filterMsg(s) {
      if (typeof s == "string") return s.replace(/[\033|\27|\0x1b]\[[0-9|;]+m/gi, "");
      return "";
    },
    sysDispatchMsg(b, type, subtype, msg) {
      for (var key in this.sysListeners) {
        this.sysListeners[key](b, type, subtype, msg);
      }
    },
    addSysListener(key, fn) {
      this.sysListeners[key] = fn;
    },
    delSysListener(key) {
      delete this.sysListeners[key];
    },
    findRoomNpc(npcName, gb, searchAll) {
      console.debug(npcName);
      let roomInfo = g_obj_map.get("msg_room");
      if (!roomInfo) return null;
      for (let i = roomInfo.elements.length - 1; i >= 0; i--) {
        let bNpc = this.getSpNpcByIdx(roomInfo, i, searchAll);
        if (bNpc && bNpc.name == npcName) {
          if (!gb) return bNpc;
          else {
            let gNpc = this.getSpNpcByIdx(roomInfo, i - gb);
            if (gNpc) return gNpc;
          }
        }
      }
      return null;
    },
    roomHasNpc() {
      let roomInfo = g_obj_map.get("msg_room");
      let res = false;
      if (!roomInfo) return null;
      for (let i = roomInfo.elements.length - 1; i >= 0; i--) {
        if (roomInfo.elements[i].key.match("npc")) {
          res = true;
          break;
        }
      }
      return res;
    },
    getRoomAllNpc() {
      let roomInfo = g_obj_map.get("msg_room");
      let res = [];
      if (!roomInfo) return res;
      for (let i = roomInfo.elements.length - 1; i >= 0; i--) {
        let npc = roomInfo.elements[i].key.match(/npc(\d+)/);
        if (npc) {
          let infoArr = roomInfo.elements[i].value.split(",");
          let name = this.filterMsg(infoArr[1]);
          res.push({ name: name, key: infoArr[0] });
        }
      }
      return res;
    },
    findRoomNpcReg(npcName) {
      let roomInfo = g_obj_map.get("msg_room");
      if (!roomInfo) return null;
      for (let i = roomInfo.elements.length - 1; i >= 0; i--) {
        let npc = roomInfo.elements[i].key.match(/npc(\d+)/);
        if (npc) {
          let infoArr = roomInfo.elements[i].value.split(",");
          let name = this.filterMsg(infoArr[1]);
          if (name.match(npcName)) return { name: name, key: infoArr[0] };
        }
      }
      return null;
    },
    getSpNpcByIdx(roomInfo, idx, searchAll) {
      let npcInfo = roomInfo.get("npc" + idx);
      if (npcInfo) {
        let infoArr = npcInfo.split(",");
        let name = this.filterMsg(infoArr[1]);
        if (searchAll) return { name: name, key: infoArr[0] };
        if (name != infoArr[1]) return { name: name, key: infoArr[0] };
      }
      return null;
    },
    getItemFrom(name) {
      if (g_gmain.is_fighting) return;
      var item = g_obj_map.get("msg_room")?.elements.find((it) => it.key.substring(0, 4) == "item" && it.value.indexOf(name) >= 0);
      if (item) {
        clickButton("get " + item.value.split(",")[0]);
      }
    },
    inHome() {
      return gSocketMsg._is_in_home;
    },
  };
  //=================================================================================
  // UI模塊
  //=================================================================================
  window.YFUI = {
    init() {
      let maxW = $("#out").width() > 634 ? 634 : $("#out").width();
      console.log($("#page").width(), $("#out").width());
      let rightStyle = $("#page").width() - $("#out").width() > 4 ? "left:" + (maxW - 76 + 4) + "px;" : "right:0;";
      this.$Panel = $(
        '<div id="WJPlug_Panel" style="pointer-events:none;position:absolute;z-index:9999;' +
        rightStyle +
        ';top:5.5%;font-size:12px;line-height:1.2;text-align:right;list-style:none;">',
      );
      $("body").append(this.$Panel);
    },
    addBtnGroup({ id, style }) {
      let $box = $('<div id="' + id + '" style="position:relative;"></div>');
      style && $box.css(style);
      this.$Panel.append($box);
      return $box;
    },
    addBtn({ id, groupId, text, onclick, style, boxStyle, extend, children, canSet }) {
      let $box = $('<div id="' + id + '" class="btn-box" style="position:relative;pointer-events:auto;"></div>');
      let $btn = $(
        '<button id="btn_' +
        id +
        '" style="padding:4px 2px;box-sizing:content-box;margin:1px 1px;border:1px solid #333;border-radius:4px;width:68px;">' +
        text +
        "</button>",
      );
      style && $btn.css(style);
      boxStyle && $box.css(boxStyle);
      $btn.$extend = extend;
      $btn.click((e) => {
        onclick && onclick($btn, $box);
      });
      $box.append($btn);
      if (children) $box.append($('<b style="position:absolute;left:1px;top:3px;font-size:12px;">≡</b>'));
      if (canSet) {
        let $setbtn = $(
          '<i style="position:absolute;right:-8px;top:2px;font-size:14px;background:#333;color:#fff;font-style:normal;;line-height:1;border:1px solid #CCC;border-radius:100%;padding:2px 6px;cursor:pointer;">S</i>',
        );
        $box.append($setbtn);
        $setbtn.click((e) => {
          onclick && onclick($btn, $box, "setting");
        });
      }
      groupId ? $("#" + groupId).append($box) : this.$Panel.append($box);
      $box.$button = $btn;
      return $box;
    },
    addMenu({ id, groupId, text, extend, style, menuStyle, multiCol, onclick, children }) {
      //{text,id,btnId}
      let $btnBox = this.addBtn({ id, groupId, text, extend, style, children }),
        _this = this;
      function addMenuToBtn({ btnId, $parent, list, menuStyle }) {
        let $listBox = $('<div id="menu_' + btnId + '" class="menu" style="position:absolute;top:0;right:' + $parent.width() + 'px;display:none;"></div>');
        $parent.append($listBox);
        list &&
          list.forEach((sub) => {
            let btnOpt = Object.assign({}, sub, { groupId: "menu_" + btnId });
            if (!btnOpt.onclick) {
              btnOpt.onclick = onclick;
            }
            if (multiCol) btnOpt.boxStyle = Object.assign({}, { display: "inline-block" }, btnOpt.boxStyle);
            let $subBtnBox = _this.addBtn(btnOpt);
            if (sub.children)
              $subBtnBox.$list = addMenuToBtn({
                btnId: sub.id,
                $parent: $subBtnBox,
                list: sub.children,
                menuStyle: sub.menuStyle,
              });
          });
        $parent.$button.click((e) => {
          $listBox.toggle().css({ right: $parent.width() + 5 });
          menuStyle && $listBox.css(menuStyle);
          $listBox.is(":visible") && $listBox.parent().siblings(".btn-box").find(".menu").hide();
          onclick && onclick($parent.$button, $parent);
        });
        return $listBox;
      }
      $btnBox.$list = addMenuToBtn({
        btnId: id,
        $parent: $btnBox,
        list: children,
        menuStyle: menuStyle,
      });
      return $btnBox;
    },
    showPop(params) {
      if ($("#myTools_popup").length) $("#myTools_popup").remove();
      params = params || {};
      let okText = params.okText || _("确定", "確定"),
        noText = params.noText || "取消",
        _this = this;
      _this.SI_autoOk && clearInterval(_this.SI_autoOk);
      _this.SI_autoOk = null;
      let ph = `<div style="z-index:9999;position:fixed;top: 40%;left:50%;width:100%;height:0;font-size:14px;" id="myTools_popup">
			<div class="popup-content" style="width:${params.width || "70%"
        };max-width:512px;background: rgba(255,255,255,.8);border:1px solid #999999;border-radius: 10px;transform: translate(-50%,-50%) scale(.1,.1);transition:all .1s;">
			<div style="padding: 10px 15px;"><span style="font-weight:700;">${params.title || ""
        }</span><span style="float:right;color:#666;cursor:pointer;" class="btncl">✖</span></div>
			<div style="padding: 0 15px;line-height:1.5;max-height:500px;overflow-y:auto;">${params.text || ""}</div>
			<div style="text-align:right;padding: 10px;">`;
      if (params.onNo) ph += `<button style="margin-right: 15px;padding: 5px 20px;border: 1px solid #000;border-radius:5px;" class="btnno">${noText}</button>`;
      ph += `<button style="padding: 5px 20px;background-color: #963;color:#FFF;border: 1px solid #000;border-radius: 5px;" class="btnok">${okText}</button>
			</div></div></div>`;
      let $ph = $(ph);
      $("body").append($ph);
      setTimeout(() => {
        $ph.find(".popup-content").css({ transform: "translate(-50%,-50%) scale(1,1)" });
        params.afterOpen && params.afterOpen($ph);
      }, 100);
      if (params.autoOk) {
        let autoCloseN = Number(params.autoOk);
        $("#myTools_popup .btnok").text(okText + "(" + autoCloseN + "s)");
        _this.SI_autoOk = setInterval(() => {
          autoCloseN--;
          $("#myTools_popup .btnok").text(okText + "(" + autoCloseN + "s)");
          if (autoCloseN < 1) {
            $ph.find(".btnok").click();
          }
        }, 1000);
      } else if (params.autoNo) {
        let autoCloseN = Number(params.autoNo);
        $("#myTools_popup .btnno").text(noText + "(" + autoCloseN + "s)");
        _this.SI_autoOk = setInterval(() => {
          autoCloseN--;
          $("#myTools_popup .btnno").text(noText + "(" + autoCloseN + "s)");
          if (autoCloseN < 1) {
            $ph.find(".btnno").click();
          }
        }, 1000);
      }
      $ph.find(".btncl").click((e) => {
        _this.SI_autoOk && clearInterval(_this.SI_autoOk);
        params.onX && params.onX();
        $ph.remove();
      });
      $ph.find(".btnno").click((e) => {
        _this.SI_autoOk && clearInterval(_this.SI_autoOk);
        params.onNo && params.onNo();
        $ph.remove();
      });
      $ph.find(".btnok").click((e) => {
        _this.SI_autoOk && clearInterval(_this.SI_autoOk);
        params.onOk && params.onOk($ph);
        $ph.remove();
      });
    },
    showInput(params) {
      let popParams = Object.assign({}, params);
      let inpstyle = "font-size:14px;line-height:1.5;width:100%;padding:5px;border:1px solid #999;border-radius:5px;margin:5px 0;outline:none;box-sizing:border-box;";
      if (params.inputs && params.inputs.length > 1) {
        for (let i = 0; i < params.inputs.length; i++) {
          let val = params.value[i] || "";
          popParams.text += `<div><div style="width:20%;float:left;margin:5px 0;line-height:2;text-align:right;">${params.inputs[i]}: </div><div style="width:73%;margin-left:21%;">`;
          popParams.text +=
            params.type == "textarea"
              ? `<textarea id="myTools_popup_input_${i}" rows="4" style="${inpstyle}">${val}</textarea></div></div>`
              : `<input id="myTools_popup_input_${i}" type="text" value="${val}" style="${inpstyle}"/></div></div>`;
        }
        popParams.onOk = () => {
          let val = [];
          for (let i = 0; i < params.inputs.length; i++) {
            val.push($("#myTools_popup_input_" + i).val());
          }
          params.onOk(val);
        };
      } else {
        popParams.text +=
          params.type == "textarea"
            ? `<div><textarea id="myTools_popup_input" rows="4" style="${inpstyle}">${params.value || ""}</textarea></div>`
            : `<div><input id="myTools_popup_input" type="text" value="${params.value || ""}" style="${inpstyle}"/></div>`;
        popParams.onOk = () => {
          let val = $("#myTools_popup_input").val();
          params.onOk(val);
        };
      }
      this.showPop(popParams);
    },
    showInfoPanel(params) {
      if ($("#myTools_InfoPanel").length) $("#myTools_InfoPanel").remove();
      params = params || {};
      let okText = params.okText || _("关闭", "關閉"),
        noText = params.noText || "清空",
        _this = this;
      let $ph = $(`<div style="z-index:9900;position:fixed;top:10%;left:0;width:100%;height:0;font-size:12px;" id="myTools_InfoPanel">
			<div class="infoPanel-content" style="width:${params.width || "75%"
        };max-width:512px;height:620px;background: rgba(255,255,255,.9);border:1px solid #999;border-radius:0 10px 10px 0;transform: translate(-100%,0);transition:all .1s;">
				<div style="padding: 10px 15px;"><span style="font-weight:700;">${params.title || ""
        }</span><span style="float:right;color:#666;cursor:pointer;" class="btncl">✖</span></div>
				<div style="padding: 0 15px;line-height:1.5;height:550px;overflow-y:auto;" class="infoPanel-wrap">${params.text || ""}</div>
				<div style="text-align:right;padding: 10px;">
				<button style="padding: 5px 20px;background-color: #969;color:#FFF;border: 1px solid #000;border-radius: 5px;margin-right:25px;" class="btnno">${noText}</button>
				<button style="padding: 5px 20px;background-color: #963;color:#FFF;border: 1px solid #000;border-radius: 5px;" class="btnok">${okText}</button>
				</div>
			</div></div>`);
      $("body").append($ph);
      setTimeout(() => {
        $ph.find(".infoPanel-content").css({ transform: "translate(0,0)" });
        params.onOpen && params.onOpen();
      }, 100);
      $ph.find(".btncl").click((e) => {
        params.onClose && params.onClose();
        $ph.remove();
      });
      $ph.find(".btnok").click((e) => {
        params.onOk && params.onOk();
        params.onClose && params.onClose();
        $ph.remove();
      });
      $ph.find(".btnno").click((e) => {
        params.onNo && params.onNo();
      });
      return $ph;
    },
    writeToOut(html) {
      var m = new unsafeWindow.Map();
      m.put("type", "main_msg");
      m.put("subtype", "html");
      m.put("msg", html);
      gSocketMsg.dispatchMessage(m);
    },
  };
  PLU.autoPuzzle = PLU.AutoPuzzle();
  attach();
  init();
});