北大侠客行MUD论坛

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

怎么让MushClient弹出对话框?

[复制链接]
发表于 2014-12-23 14:10:07 | 显示全部楼层 |阅读模式
比如弹出yes/no选择对话框,
比如附带一个TextBox的输入对话框。
查了一下MushClient自带的函数,好像没有实现这两个功能的。
但是在别人的插件里面,还真有这些对话框啊。

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-12-23 14:13:15 | 显示全部楼层
看了一下插件的内容,应该是用utils实现的。
但是用其他语言,怎么调用这个utils呢?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-12-23 15:49:59 | 显示全部楼层
utils函数是 Lua utilities 函数的意思,是lua自带的内置函数。
  1. Lua functions

  2. utils.activatenotepad (Actvitates the specified notepad window)
  3. utils.appendtonotepad (Appends text to the specified notepad window)
  4. utils.base64decode (Decode a string which was base-64 encoded)
  5. utils.base64encode (Encode a string with base-64 encoding)
  6. utils.callbackslist (Returns a table of plugin callback function names)

  7. utils.choose (Display a combo box with choices in it)
  8. utils.compress (Compress a string)
  9. utils.decompress (Decompress a string)
  10. utils.directorypicker (Invokes the Windows standard "directory picker" dialog box)
  11. utils.editbox (Display a large message box and get free-format reply)
  12. utils.edit_distance (Returns the Levenshtein Edit Distance between two words)

  13. utils.filepicker (Invokes the Windows standard "file picker" dialog box)
  14. utils.filterpicker (Display a dialog box which filters its contents as you type)
  15. utils.fontpicker (Invokes the Windows standard "font picker" dialog box)
  16. utils.fromhex (Convert a string from hex)
  17. utils.functionlist (Returns a table of MUSHclient world function names)

  18. utils.getfontfamilies (Returns all fonts available to Windows)
  19. utils.glyph_available (Returns the glyph index of a glyph (character) in a font)
  20. utils.hash (Hash a string, returning the hex codes)
  21. utils.info (Information about directories, locale, etc.)
  22. utils.infotypes (Returns a table of all GetInfo type selectors)

  23. utils.inputbox (Display a message box and get free-format reply)
  24. utils.listbox (Display a dialog box with choices in it in a single selection list box)
  25. utils.md5 (Hash a string using the 128-bit MD5 algorithm)
  26. utils.metaphone (Returns metaphones (sound-alike codes) for the supplied word)
  27. utils.msgbox (Display a message box and get a response)

  28. utils.multilistbox (Display a dialog box with choices in it in a multiple selection list box)
  29. utils.readdir (Read a disk directory into a table)
  30. utils.reload_global_prefs (Forces global preferences file to be reloaded)
  31. utils.sendtofront (Bring a window to the front)
  32. utils.sha256 (Hash a string using a 256-bit hash)

  33. utils.shellexecute (Executes a Windows "shell" command)
  34. utils.spellcheckdialog (Spell-checker dialog)
  35. utils.split (Split a delimited string into a table)
  36. utils.timer (Returns the high-resolution timer output)
  37. utils.tohex (Convert a string into hex)
  38. utils.umsgbox (Display a message box and get a response (Unicode))

  39. utils.utf8convert (Encodes a string into a UTF-8 string)
  40. utils.utf8decode (Encodes a series of Unicode codes into a UTF-8 string)
  41. utils.utf8encode (Encodes a series of Unicode codes into a UTF-8 string)
  42. utils.utf8sub (Returns a substring of a UTF-8 string)
  43. utils.utf8valid (Checks if a UTF-8 string is valid)

  44. utils.xmlread (Parses an XML string into a nested table)
复制代码
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-12-23 19:39:30 | 显示全部楼层
关键是怎么用其他语言来访问这些函数呢?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-12-24 07:31:34 | 显示全部楼层
回复 5# cmud
  1. stop_job=function()
  2.         local result = utils.msgbox ("是否强制停止当前工作?", "停止?...", "yesnocancel", "?", 3 )
  3.         if result == "yes" then
  4.                 me.job = "none"
  5.                 stopall()
  6.                 print("机器停止工作")
  7.         end
  8. end
复制代码
比如这样, 会跳出一个对话框, 3个按钮, "是, 否, 取消", 只有点了"是", 才会执行下面的终止机器代码
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-12-24 10:10:01 | 显示全部楼层
回复 6# moonlily

多谢以上各位,utils确实可以实现lua的弹出对话框功能。
但是尚未找到其他语言调用utils的方法。

我这边使用python测试了一下,使用python自带的GUI(TK)库,可以实现
对话框功能,更推荐使用easygui库,
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 12:07 PM , Processed in 0.010587 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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