剑网三插件入门教程(3):Hello JiangHu

阅读: 评论:0

剑网三插件入门教程(3):Hello JiangHu

剑网三插件入门教程(3):Hello JiangHu

本篇教程将指导你建立一个简单的插件:Hello Jianghu,主要介绍插件的基本结构和一些基本知识。
这个插件的唯一功能就是在进入游戏以后输出一行信息,效果是这样的:

怎么样?是不是觉得有点吭爹呢^_^


剑三插件的目录结构
剑三的插件都放在游戏的Interface文件夹内,在正式服中它的路径是:剑三安装目录binzhcnInterface
在这个目录下每一个文件夹就是一个插件,文件夹名就是插件的名字。

进入一个插件的文件夹后,会看到这些文件:info.ini、一个或多个lua文件,还可能会有除了info.ini之外的ini文件,例如Cube插件的目录是这样的:

Info.ini是插件的信息文件,游戏程序将通过它来读取插件的名称、说明和要执行的lua脚本,所以这个文件是很重要的。
Cube.lua就是插件lua脚本,一个插件可以有多个lua脚本,通过info.ini的设置来执行。
Cube.ini是插件的界面配置文件,带有界面的插件就需要这个界面文件了,现在我们先不管它。

一个最简单的插件的目录结构是这样的:一个以插件名命名的文件夹、文件夹里有一个info.ini和一个lua。
我们开始建立Hello Jianghu插件
首先在Interface目录下面建立文件夹Hello,然后在Hello文件夹中新建2个文本文件并改名为info.ini和hello.lua,如图


配置info.ini

Info.ini的格式是这样的:

  1.    
  2. [插件文件夹名]
  3. name=插件的名字(在人物选择界面的插件管理面板中显示的名字)
  4. desc=插件的介绍
  5. default=1
  6. version=0.4
  7. lua_0=插件脚本1
  8. lua_1=插件脚本2
  9. …………
复制代码
第一行的方框中的内容必须是这个插件的文件夹名,否则会无法加载
default=1表示这个插件是默认加载的,即插件管理面板中默认是打钩的
version=0.4是剑三插件系统的版本号,目前是0.4
lua_0= 的后面就是插件的lua脚本的路径了,如果有多个脚本,就可以继续写lua_1=xxx lua_2=xxx ……,游戏会从lua_0开始按顺序载入。

在本例中,我们的info.ini内容是这样的:

  1.   
  2. [Hello]
  3. name=Hello Jianghu
  4. desc=我的第一个插件
  5. default=1
  6. version=0.4
  7. lua_0=InterfaceHelloHello.lua
复制代码

编写lua脚本

先来个最简单的
直接用记事本打开hello.lua,输进这一句:
  1. Output("Hello JiangHu")
复制代码 保存,小退下游戏重进就能在聊天框看到效果了:

关于Output函数:这是一个万能的输出函数,可以输出字符串、变量、甚至直接输出一个数组,用法很简单:直接Output(变量)即可,它的原型可以在uiscriptmsg.lua中找到。

是否觉得Output显示的这种格式不顺眼?想要干净的显示一行文字?这时候就可以用OutputMessage函数了,我们把hello.lua中的内容换成这样
  1. OutputMessage("MSG_SYS", "Hello JiangHun")
复制代码
保存并小退一下看看,这样就漂亮多了吧?

Jianghu后面那n是一个换行的转义符,顾名思义,所用就是在这一行结尾来一个换行,这样可以避免让下一行内容紧接着这一行,影响阅读。关于转义符的用法可以自行上网搜索。
关于OutputMessage函数:这是个函数可以输出字符串、变量,一般的用法是OutputMessage(szType, szMsg),Type是输出信息类型("MSG_SYS"是黄字的系统信息),szMsg是要输出的字符串,它的原型也在uiscriptmsg.lua中。

Lua脚本的推荐格式
为了减小我们自己的脚本对全局环境的影响并且为了方便管理,我们一般都会按照这种标准来写插件脚本:
在文件头创建一个以插件名字命名的空table,然后把这个插件所有的变量和函数都定义到这个table中。
按照这种格式,我们把hello.lua改成这样:
  1.   
  2. Hello = {}
  3. Hello.TextJH = "Hello Jianghun"
  4. function Hello.output()
  5.   OutputMessage("MSG_SYS", Hello.TextJH)
  6. end
  7. Hello.output()
复制代码
虽然看起来变得繁琐了,但这样可以为日后的修改维护提供很大的方便。

给插件加入快捷键
想要在游戏中为这个插件设置一个快捷键,按一次就显示一条”Hello Jianghu”?
只需要在hello.lua最后加入这一句:
  1. Hotkey.AddBinding("Hello_output", "输出信息", "Hello", Hello.output, nil)
复制代码
小退之后你就能在游戏的快捷键设置里找到Hello这一项了,给它设置一个快捷键按几下,看到效果了吧:


Hotkey.AddBinding函数的各参数用法我用一张图来说明:

第五个参数固定为nil
好了,这次就讲这么多吧。
附上最终完成的Hello Jianghu插件:
Hello.rar (444 Bytes, 下载次数: 215)


文章的最后给大家推荐两篇插件入门教程:
南宫临风的 插件教程:基础介绍和创建第一个插件  这个教程……怎么说呢,反正我刚开始学插件的时候是看不懂这篇教程的……
Const奶舟的 剑三插件编写入门(一)  这篇教程相当好、相当经典,曾经给了我很大帮助,强烈推荐看几遍

本文发布于:2024-02-02 07:58:29,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170683190942434.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:插件   剑网   入门教程   JiangHu
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23