北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 7267|回复: 29

【mudlet】法盲的自定义界面V0.1版 (12楼补充GMCP更新状态方法)

[复制链接]
发表于 2023-1-18 16:08:56 | 显示全部楼层 |阅读模式
本帖最后由 mtz 于 2023-1-19 07:53 PM 编辑

自我介绍:

    刚接触北侠的新人一个,游戏中的人物名字:法盲,暂入日月神教,1级。(说不定哪天suicide -f,重新开始。)

动手起因:
    刚入北侠,被各种信息刷屏,眼花缭乱。怎么样把各种信息分类显示呢?开始研究前辈的示例,实现了fullme和分屏后又冒出了新想法;
  • 第二个想法:既然做了为什么不做的好看一点呢?开始画背景图;
  • 第三个想法:界面肯定要能显示状态,确定了四个状态:气血、精神、食物、饮水;
  • 第四个想法:显示状态,肯定要弄个血条、蓝球的动态显示;
  • 第五个想法:好像少了个北侠的特征,于是就有了这个0.1版的功能界面。
  • 第六个想法:...........



界面简介:

    利用下部四分之一空间模拟出一个游戏的功能界面,现在具有四种状态的显示、聊天和玩家动作的分类显示。未来可能持续制作其它功能页面和功能。

V0.1版实现的功能:
  • 聊天信息(闲聊、QQ聊、谣言)和游戏玩家的移动(过来、离开等)信息的分类、分屏显示,中间显示聊天相关的信息,左右两个窗口显示其它信息,左侧暂未使用,右侧显示游戏中玩家的移动信息;
  • 人物状态的显示,气血(左边红球)、精神(右侧蓝球)、食物(中间橙红条)、饮水(中间淡蓝条);
  • 状态更新,频率5秒(可自定义),1%精度显示;
  • 自定义按键开户或关闭状态监控;
  • 界面跟随窗口调整大小,按游戏主窗口1920*881的分辨率制作,高度不建议缩小,宽度建议不低于1600,可用lua getMainWindowSize()查询游戏主窗口的数据。


注意:12楼补充了使用GMCP更新四种状态的方法,使用hpbrief的更新方法可以弃用了。其它功能、方法不变。

界面效果图:


界面背景图:


侠客行:



实现的思路,以及相关脚本、触发、按钮:
思路:

  • 创建Geyser.Gauge,将四种状态的计算为百分比,Geyser.Gauge根据百分比显示适当的进度条
  • 创建Label,作为背景层只显示背景图片(可以用)
  • 创建MiniConsole,用以显示分类的信息
  • 创建多行匹配触发,收集相关状态数据,并设定Geyser.Gauge值
  • 创建触发,分类聊天信息
  • 创建触发,分类游戏人物过来离去相关信息

相关的脚本:
1、四个状态条
  1. --气血红球状态条
  2. --orientation
  3. --"horizontal" is the default and creates a horizontal gauge that fills from left to right.
  4. --"vertical" creates a gauge that fills from bottom to top.
  5. --"goofy" is horizontal but fills right to left.
  6. --"batty" is vertical but fills from top to bottom.

  7. --气血状态条设置参数------------------------------------------------
  8. pkuxkx.bl_hpbar_nm = "nm_hpbar"              --状态条名字
  9. pkuxkx.bl_hpbar_x = "25%"                    --左边距离
  10. pkuxkx.bl_hpbar_y = "-15%"                   --顶边距离
  11. pkuxkx.bl_hpbar_width = "130px"              --宽
  12. pkuxkx.bl_hpbar_height = "125px"             --高
  13. pkuxkx.bl_hpbar_orientation = "vertical"     --设置状态1到100的方向,vertical从下往上

  14. --创建气血状态条------------------------------------------------
  15. function pkuxkx.MiniConsole_hpbar(hpnow)
  16.   if(pkuxkx.bl_hpbar) then
  17.     print("HP红球已存在!")
  18.   else
  19.     pkuxkx.bl_hpbar = Geyser.Gauge:new({
  20.       name=pkuxkx.bl_hpbar_nm,
  21.       x=pkuxkx.bl_hpbar_x,
  22.       y=pkuxkx.bl_hpbar_y,
  23.       width=pkuxkx.bl_hpbar_width,
  24.       height=pkuxkx.bl_hpbar_height,
  25.       orientation=pkuxkx.bl_hpbar_orientation,
  26.     })
  27.     pkuxkx.bl_hpbar.front:setStyleSheet([[
  28.         background-color:#830708;
  29.         border-top: 1px black solid;
  30.         border-left: 1px black solid;
  31.         border-bottom: 1px black solid;
  32.         border-radius: 7;
  33.         padding: 3px;
  34.         ]])
  35.     pkuxkx.bl_hpbar.back:setStyleSheet([[
  36.         background-color: #000;
  37.         border-width: 1px;
  38.         border-color: black;
  39.         border-style: solid;
  40.         border-radius: 7;
  41.         padding: 3px;]])
  42.     pkuxkx.bl_hpbar:setValue(50,100)
  43.   end
  44. end

  45. --设置气血状态条------------------------------------------------
  46. function pkuxkx.MiniConsole_sethpbar(hp_now,hp_max)
  47.   local hpzs,hpxs = math.modf(tonumber(tonumber(hp_now)/tonumber(hp_max)*100))
  48.   if(hpzs <= 100) then
  49.     pkuxkx.bl_hpbar:setValue(hpzs,100)
  50.   else
  51.     pkuxkx.bl_hpbar:setValue(100,100)
  52.   end
  53. end

  54. --精神蓝球状态条
  55. --orientation
  56. --"horizontal" is the default and creates a horizontal gauge that fills from left to right.
  57. --"vertical" creates a gauge that fills from bottom to top.
  58. --"goofy" is horizontal but fills right to left.
  59. --"batty" is vertical but fills from top to bottom.

  60. --精神状态条设置参数------------------------------------------------
  61. pkuxkx.bl_jsbar_nm = "nm_jsbar"             --状态条名字
  62. pkuxkx.bl_jsbar_x = "68%"                   --左边距离
  63. pkuxkx.bl_jsbar_y = "-15%"                  --顶边
  64. pkuxkx.bl_jsbar_width = "130px"             --宽
  65. pkuxkx.bl_jsbar_height = "125px"            --高
  66. pkuxkx.bl_jsbar_orientation = "vertical"    --设置状态1到100的方向,vertical从下往上

  67. --创建精神状态条------------------------------------------------
  68. function pkuxkx.MiniConsole_jsbar()
  69.   if(pkuxkx.bl_jsbar) then
  70.     print("HP红球已存在!")
  71.   else
  72.   pkuxkx.bl_jsbar = Geyser.Gauge:new({
  73.     name=pkuxkx.bl_jsbar_nm,
  74.     x=pkuxkx.bl_jsbar_x,
  75.     y=pkuxkx.bl_jsbar_y,
  76.     width=pkuxkx.bl_jsbar_width,
  77.     height=pkuxkx.bl_jsbar_height,
  78.     orientation=pkuxkx.bl_jsbar_orientation,
  79.   })
  80.   pkuxkx.bl_jsbar.front:setStyleSheet(            --设置状态条前面的变化条
  81.       [[background-color:#0000cd;
  82.       border-top: 1px black solid;
  83.       border-left: 1px black solid;
  84.       border-bottom: 1px black solid;
  85.       border-radius: 7;
  86.       padding: 3px;
  87.       ]])
  88.   pkuxkx.bl_jsbar.back:setStyleSheet(                      --设置状态条底面的变化条
  89.       [[background-color: #000;
  90.       border-width: 1px;
  91.       border-color: black;
  92.       border-style: solid;
  93.       border-radius: 7;
  94.       padding: 3px;]])
  95.   pkuxkx.bl_jsbar:setValue(50,100)
  96.   end
  97. end

  98. --设置精神状态条------------------------------------------------
  99. function pkuxkx.MiniConsole_setjsbar(js_now,js_max)
  100.   local jszs,jsxs = math.modf(tonumber(tonumber(js_now)/tonumber(js_max)*100))
  101.   if(jszs <= 100) then
  102.     pkuxkx.bl_jsbar:setValue(jszs,100)
  103.   else
  104.     pkuxkx.bl_jsbar:setValue(100,100)
  105.   end
  106. end

  107. --食物、饮水状态条
  108. --orientation
  109. --"horizontal" is the default and creates a horizontal gauge that fills from left to right.
  110. --"vertical" creates a gauge that fills from bottom to top.
  111. --"goofy" is horizontal but fills right to left.
  112. --"batty" is vertical but fills from top to bottom.

  113. --食物状态条设置参数------------------------------------------------
  114. pkuxkx.bl_foodbar_nm = "nm_foodbar"                   --状态条名字
  115. pkuxkx.bl_foodbar_x = "37%"                           --左边距离
  116. pkuxkx.bl_foodbar_y = "-21%"                          --顶边
  117. pkuxkx.bl_foodbar_width = "13%"                       --宽
  118. pkuxkx.bl_foodbar_height = "25px"                     --高
  119. pkuxkx.bl_foodbar_orientation = "horizontal"          --设置状态1到100的方向,horizontal从左往右

  120. --创建食物状态条------------------------------------------------
  121. function pkuxkx.MiniConsole_foodbar()
  122.   if(pkuxkx.bl_foodbar) then
  123.     print("食物条已存在!")
  124.   else
  125.   pkuxkx.bl_foodbar = Geyser.Gauge:new({
  126.     name=pkuxkx.bl_foodbar_nm,
  127.     x=pkuxkx.bl_foodbar_x,
  128.     y=pkuxkx.bl_foodbar_y,
  129.     width=pkuxkx.bl_foodbar_width,
  130.     height=pkuxkx.bl_foodbar_height,
  131.     orientation=pkuxkx.bl_foodbar_orientation,
  132.   })
  133.   pkuxkx.bl_foodbar.front:setStyleSheet(        --设置状态条前面的变化条
  134.       [[background-color:#ff4500;     
  135.       border-top: 1px black solid;
  136.       border-left: 1px black solid;
  137.       border-bottom: 1px black solid;
  138.       border-radius: 7;
  139.       padding: 3px;
  140.       ]])
  141.   pkuxkx.bl_foodbar.back:setStyleSheet(         --设置状态条底面的变化条
  142.       [[background-color: #000;
  143.       border-width: 1px;
  144.       border-color: black;
  145.       border-style: solid;
  146.       border-radius: 7;
  147.       padding: 3px;]])
  148.   pkuxkx.bl_foodbar:setValue(50,100)    --设置一个初始值,可删除
  149.   end
  150. end

  151. --设置食物状态条数值------------------------------------------------
  152. function pkuxkx.MiniConsole_setfoodbar(food_now)
  153.   local foodzs,foodxs = math.modf(tonumber(tonumber(food_now)/300*100))   --计算当前食物数值对应的百分比,foodzs保存整数部分
  154.   if(foodzs <= 100) then                     --防止百分值大于100时,状态条过长
  155.     pkuxkx.bl_foodbar:setValue(foodzs,100)    --设置数值
  156.   else
  157.     pkuxkx.bl_foodbar:setValue(100,100)       --设置数值
  158.   end
  159. end

  160. --饮水状态条------------------------------------------------
  161. pkuxkx.bl_waterbar_nm = "nm_waterbar"       --状态条名字
  162. pkuxkx.bl_waterbar_x = "50%"                --左边
  163. pkuxkx.bl_waterbar_y = "-21%"               --顶边
  164. pkuxkx.bl_waterbar_width = "13%"            --宽
  165. pkuxkx.bl_waterbar_height = "25px"          --高
  166. pkuxkx.bl_waterbar_orientation = "goofy"    --设置状态1到100的方向,goofy从左往右

  167. --创建饮水状态条------------------------------------------------
  168. function pkuxkx.MiniConsole_waterbar()
  169.   if(pkuxkx.bl_waterbar) then
  170.     print("饮水条已存在!")
  171.   else
  172.   pkuxkx.bl_waterbar = Geyser.Gauge:new({
  173.     name=pkuxkx.bl_waterbar_nm,
  174.     x=pkuxkx.bl_waterbar_x,
  175.     y=pkuxkx.bl_waterbar_y,
  176.     width=pkuxkx.bl_waterbar_width,
  177.     height=pkuxkx.bl_waterbar_height,
  178.     orientation=pkuxkx.bl_waterbar_orientation,
  179.   })
  180.   pkuxkx.bl_waterbar.front:setStyleSheet([[
  181.       background-color:#1e90ff;
  182.       border-top: 1px black solid;
  183.       border-left: 1px black solid;
  184.       border-bottom: 1px black solid;
  185.       border-radius: 7;
  186.       padding: 3px;
  187.       ]])
  188.   pkuxkx.bl_waterbar.back:setStyleSheet([[
  189.       background-color: #000;
  190.       border-width: 1px;
  191.       border-color: black;
  192.       border-style: solid;
  193.       border-radius: 7;
  194.       padding: 3px;]])
  195.   pkuxkx.bl_waterbar:setValue(50,100)
  196.   end
  197. end

  198. --设置饮水状态条------------------------------------------------
  199. function pkuxkx.MiniConsole_setwaterbar(water_now)
  200.   local waterzs,waterxs = math.modf(tonumber(tonumber(water_now)/300*100))
  201.   if(waterzs <= 100) then
  202.   pkuxkx.bl_waterbar:setValue(waterzs,100)
  203.   else
  204.     pkuxkx.bl_waterbar:setValue(100,100)
  205.   end
  206. end

复制代码

2、游戏玩家信息分类
  1. --创建显示玩家来去信息的MiniConsole
  2. --相关配置参数--------------------------------------------------------
  3. pkuxkx.bl_lqwd_nm = "nm_lqwd"          --显示来去信息MiniConsole的名字
  4. pkuxkx.bl_lqwd_x = "-17.7%"            --左边位置
  5. pkuxkx.bl_lqwd_y = "24%"               --顶边位置
  6. pkuxkx.bl_lqwd_width = "16.1%"         --宽
  7. pkuxkx.bl_lqwd_height = "70%"          --高
  8. pkuxkx.bl_lqwd_fontsize = 12           --字体大小
  9. pkuxkx.bl_lqwd_color = "black"         --背景颜色
  10. pkuxkx.bl_lqwd_scrollbar = false       --是否显示滚动条
  11. pkuxkx.bl_lqwd_wrap = 15               --换行的字符数

  12. --创建显示窗口--------------------------------------------------------
  13. function pkuxkx.MiniConsole_laiqu()
  14.   if(pkuxkx.bl_lqwd) then           --判断MiniConsole是否存在
  15.     selectCurrentLine()              --选择当前行的内容
  16.     copy()                           --拷贝当前行的内容
  17.     pkuxkx.bl_lqwd:appendBuffer()    --将当前复制的内容追加到窗口中
  18.   else
  19.     pkuxkx.bl_lqwd = Geyser.MiniConsole:new({                   --创建MiniConsole窗口,配置如上
  20.                   name = pkuxkx.bl_lqwd_nm,
  21.                   x = pkuxkx.bl_lqwd_x,
  22.                   y = pkuxkx.bl_lqwd_y,
  23.                   width = pkuxkx.bl_lqwd_width,
  24.                   height = pkuxkx.bl_lqwd_height,
  25.                   fontSize = pkuxkx.bl_lqwd_fontsize,
  26.                   color = pkuxkx.bl_lqwd_color,
  27.                   scrollBar = pkuxkx.bl_lqwd_scrollbar,
  28.                 },pkuxkx.bl_dbbjwd)
  29.     setWindowWrap(pkuxkx.bl_lqwd_nm,pkuxkx.bl_lqwd_wrap)          --设置窗口换行的字符数
  30.     selectCurrentLine()                                           --选择当前行的内容
  31.     copy()                                                        --拷贝当前行的内容
  32.     pkuxkx.bl_lqwd:appendBuffer()                                 --将当前复制的内容追加到窗口bl_lqwd中
  33.   end
  34.   deleteLine()                                                    --从主窗口中删除当前行
  35. end
复制代码

3、聊天信息分类
  1. --聊天MiniConsole
  2. --相关配置参数--------------------------------------------------------
  3. pkuxkx.bl_ltwd_nm = "nm_ltwd"          --显示来去信息MiniConsole的名字
  4. pkuxkx.bl_ltwd_x = "32.5%"             --左边位置
  5. pkuxkx.bl_ltwd_y = "32%"               --顶边位置
  6. pkuxkx.bl_ltwd_width = "35%"           --宽
  7. pkuxkx.bl_ltwd_height = "56.2%"        --高
  8. pkuxkx.bl_ltwd_fontsize = 12           --字体大小
  9. pkuxkx.bl_ltwd_color = "black"         --背景颜色
  10. pkuxkx.bl_ltwd_scrollbar = false       --是否显示滚动条
  11. pkuxkx.bl_ltwd_wrap = 44               --换行的字符数

  12. --创建显示窗口--------------------------------------------------------
  13. function pkuxkx.MiniConsole_liaotian()        
  14.   if(pkuxkx.bl_ltwd) then                  --判断聊天窗口是否存在
  15.     selectCurrentLine()                     --选择当前行
  16.     copy()                                  --复制当前行
  17.     pkuxkx.bl_ltwd:appendBuffer()           --将当前复制的内容追加到窗口bl_ltwd中
  18.   else
  19.     --local wi,he = getMainWindowSize()
  20.     pkuxkx.bl_ltwd = Geyser.MiniConsole:new({        --创建聊天窗口,并放置于pkuxkx.bl_dbbjwd中,用于显示相关文本
  21.     name = pkuxkx.bl_ltwd_nm,
  22.     x = pkuxkx.bl_ltwd_x,
  23.     y = pkuxkx.bl_ltwd_y,
  24.     width = pkuxkx.bl_ltwd_width,
  25.     height = pkuxkx.bl_ltwd_height,
  26.     fontSize = pkuxkx.bl_ltwd_fontsize,
  27.     color = pkuxkx.bl_ltwd_color,
  28.     scrollBar = pkuxkx.bl_ltwd_scrollbar,
  29.     },pkuxkx.bl_dbbjwd)
  30.     setWindowWrap(pkuxkx.bl_ltwd_nm,pkuxkx.bl_ltwd_wrap)     --设置换行字符数      
  31.     selectCurrentLine()                                      --选择当前行的内容
  32.     copy()                                                   --复制当前行的内容
  33.     pkuxkx.bl_ltwd:appendBuffer()                            --将当前复制的内容追加到窗口中
  34.   end
  35.   deleteLine()                                               --删除匹配成功的信息(不在主窗口显示)
  36. end
复制代码
4、创建背景Label
注意:请使用命令“getMudletHomeDir()”获取路径,在其中新建“pnp”文件夹,并请素材将bj.pnp放入php文件夹中。

  1. --底边背景Label
  2. ----------------------------------------------------------
  3. pkuxkx.bl_dbbjwd_nm = "nm_ltbjwd"         --显示底边背景MiniConsole的名字
  4. pkuxkx.bl_dbbjwd_x = "0%"                 --左边位置
  5. pkuxkx.bl_dbbjwd_y = "-25%"               --顶边位置
  6. pkuxkx.bl_dbbjwd_width = "100%"           --宽
  7. pkuxkx.bl_dbbjwd_height = "26%"           --高
  8. pkuxkx.bl_dbbjwd_color = "black"            --背景颜色
  9. pkuxkx.bl_dbbjwd_scrollbar = false        --是否显示滚动条
  10. ----------------------------------------------------------
  11. function pkuxkx.Label_dbbjwd()      
  12.   if(pkuxkx.bl_dbbjwd) then                                 --判断聊天窗口是否存在
  13.     print("底边背景(bl_dbbjwd)MiniConsole已存在!")   

  14.   else
  15.   
  16.     pkuxkx.bl_dbbjwd = Geyser.Label:new({              --创建背景窗口,只用于显示背景图片
  17.                   neme = pkuxkx.bl_dbbjwd_nm,
  18.                   x = pkuxkx.bl_dbbjwd_x,
  19.                   y = pkuxkx.bl_dbbjwd_y,
  20.                   width = pkuxkx.bl_dbbjwd_width,
  21.                   height = pkuxkx.bl_dbbjwd_height,
  22.                   --fontSize = pkuxkx.bl_dbbjwd_fontsize,
  23.                   fgcolor = pkuxkx.bl_dbbjwd_color,
  24.                   --scrollBar = pkuxkx.bl_dbbjwd_scrollbar,
  25.                 })
  26.     pkuxkx.bl_dbbjwd:setColor(0,255,0,1)
  27.     pkuxkx.bl_dbbjwd:setStyleSheet([[border-image: url(]] .. getMudletHomeDir() .. [[/pnp/bj.png);]])   --设置背景图片
  28.     print("底边背景(bl_dbbjwd)MiniConsole已存在!")
  29.   end
  30. end
复制代码


相关的触发:
1、匹配hpbrief信息的
1.1表达式

  1. ^#(.+),(.+),(.+),(.+),(.+),(.+)$
复制代码
1.2配置截图
注意:截图有误,不重传图了,请将4修改为2。请将4修改为2。请将4修改为2。

1.3触发器中的脚本
  1. --[[
  2. --hpbrief
  3. #经验,潜能,最大内力,当前内力,最大精力,当前精力
  4. #最大气血,有效气血,当前气血,最大精神,有效精神,当前精神
  5. set hpbrief long情况下可另显示一行真气,真元,食物,饮水
  6. --]]

  7. --气血--------------------------------------------------------------------------------------
  8. pkuxkx.hp_max = multimatches[3][2]
  9. pkuxkx.hp_maxbf = multimatches[3][3]
  10. pkuxkx.hp_now = multimatches[3][4]
  11. pkuxkx.MiniConsole_sethpbar(pkuxkx.hp_now,pkuxkx.hp_max)

  12. --精神--------------------------------------------------------------------------------------
  13. pkuxkx.js_max = multimatches[3][5]
  14. pkuxkx.js_max2 = multimatches[3][6]
  15. pkuxkx.js_now = multimatches[3][7]
  16. pkuxkx.MiniConsole_setjsbar(pkuxkx.js_now,pkuxkx.js_max)

  17. --食物--------------------------------------------------------------------------------------
  18. pkuxkx.food_now = multimatches[5][4]
  19. pkuxkx.MiniConsole_setfoodbar(pkuxkx.food_now)

  20. --饮水--------------------------------------------------------------------------------------
  21. pkuxkx.water_now = multimatches[5][5]
  22. pkuxkx.MiniConsole_setwaterbar(pkuxkx.water_now)


  23. --隐藏hpbrief信息--------------------------------------------------------------------------------------
  24. ----[[
  25.   moveCursor(0,getLineCount()-2)
  26.   deleteLine()
  27.   moveCursor(0,getLineCount()-1)
  28.   deleteLine()
  29.   moveCursor(0,getLineCount())
  30.   pkuxkx.deleteFull()
  31.   --]]
复制代码


2、匹配玩家过来离去相关信息
2.1表达式
  1. ^.+(进去|过来|过去|离去|离开|消失不见|人影一闪|出现|早已没有|进入这个世界).+$
复制代码
2.2配置截图

2.3触发器中的脚本
  1. pkuxkx.MiniConsole_laiqu()
  2. --显示游戏人物过来离去相关信息小窗口的触发
复制代码


3、匹配聊天相关信息
3.1表达式
  1. ^【(谣言|闲聊|北侠QQ群)】.*$
复制代码
3.2配置截图

3..3触发器中的脚本
  1. pkuxkx.MiniConsole_liaotian()
  2. --显示聊天相关信息小窗口的触发
复制代码

4、界面初始化(暂时不知道其它办法,暂用此法)
4.1表达式
  1. .*☆ 飞雪连天射白鹿,笑书神侠倚碧鸳 ☆.*
复制代码
4.2配置截图

4.3触发器中的脚本
  1. pkuxkx.MiniConsole_foodbar()
  2. pkuxkx.MiniConsole_waterbar()
  3. pkuxkx.MiniConsole_hpbar()
  4. pkuxkx.MiniConsole_jsbar()
  5. pkuxkx.Label_dbbjwd()
复制代码


相关的定时器:
1、hpbrief定时(5秒或自己决定)
  1. send("hpbrief",false)
复制代码
相关的按钮:
1、启停hpbrief监控
  1. lua enableTimer("hpbrief") echo("状态监视启动")
复制代码
  1. lua disableTimer("hpbrief") echo("状态监视关闭")
复制代码










本帖子中包含更多资源

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

x
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2023-1-18 18:28:28 | 显示全部楼层
相当酷炫
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2023-1-18 18:44:41 | 显示全部楼层
Mudlet 在北俠受众不多,可否考虑开发个Mushclient的版本?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2023-1-18 19:51:13 | 显示全部楼层
xxhy 发表于 2023-1-18 06:44 PM
Mudlet 在北俠受众不多,可否考虑开发个Mushclient的版本?

刚接触北侠,也试了其它软件,
看中的是mudlet的多平台,个人需要需要Mac和windows,
还有官网有详细API手册和示例,虽然英文读起来费劲,好在有示例。

我觉得方法可以通用,移植应该不难,只是我不会用Mushclient,虽然也装过。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2023-1-18 21:14:38 | 显示全部楼层
更新状态条用gmcp更好,hpbrief不如gmcp
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2023-1-18 21:24:33 | 显示全部楼层
icer 发表于 2023-1-18 09:14 PM
更新状态条用gmcp更好,hpbrief不如gmcp

感谢指教,打开了两个频道,
但没有搞清楚怎么接收这些信息,
百科上也没有找到,烦请告知。

> gmcp
GMCP 频道收听汇总:
BUFF(Buff)         
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2023-1-18 21:26:19 | 显示全部楼层
https://www.pkuxkx.com/forum/thread-47139-1-1.html
gmcp的例子我记得在mudlet文档里有
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2023-1-18 21:36:43 | 显示全部楼层
icer 发表于 2023-1-18 09:26 PM
https://www.pkuxkx.com/forum/thread-47139-1-1.html
gmcp的例子我记得在mudlet文档里有

非常感谢,看了帖子,还没有理解如果接收这个信息,
我慢慢研究吧
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2023-1-18 21:39:15 | 显示全部楼层
mtz 发表于 2023-1-18 09:36 PM
非常感谢,看了帖子,还没有理解如果接收这个信息,
我慢慢研究吧

如何接收查查mudlet文档
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2023-1-18 21:43:53 | 显示全部楼层
icer 发表于 2023-1-18 09:39 PM
如何接收查查mudlet文档

找到了,新的东西,慢慢吸收
  1. https://wiki.mudlet.org/w/Manual:GMCP_Extensions

  2. Manual:GMCP Extensions
  3. Automatic package installation
  4. Mudlet supports automatic download and setup of Mudlet packages should the MUD server offer it. These packages could consist of graphical additions to your game or anything else you'd like your players to have loaded on their Mudlet profiles by default. This setup is automatic and carefree on part of the user, and handles package updates in a transparent manner as well.
复制代码
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-27 10:51 PM , Processed in 0.013100 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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