剑三插件编写入门
插件编写傻瓜教程

>>写在前面本教程主要讲解如何用按键精灵自带的模版编写插件.请大家在教程没全部写完之前不要跟贴,谢谢合作!需要的工具:VC6.0 编辑语言:C++>>初步接触1.安装VC6.0(建议不要使用创天的汉化版)2.解压插件自带的模版,解压后选择QMPlugin.dsw文件,打开工程.进入VC编辑界面.3.选择FileViewx选项卡,再选择QMPlugin.cpp.(参照map1图中红圈位置)此时,编辑区域显示的是QMPlugin.cpp文件的内容.4.请看下面的组图中的红圈部分红圈1-4的内容都是QMPlugin.cpp的内容红圈1: 定义头文件部分在此打个简单的比喻!我们把插件看做一个机器装配工厂,插件中需要调用的函数看做是装配零件.插件这个工厂要装配不同的机器必须用到不同的装配零件.为了方便工作,我们人为地把汽车零件放在一个仓库,把轮船零件放在一个仓库.类推.在这里,定义头文件就相当于在组装一台机器前告诉工厂,我们组装这台机器需要去哪些仓库拿零件.下面程序中用到的函数必须在头文件指示的仓库里.这里还要提一下,仓库可以存在包含关系,比如A仓库可以包含B.C2个小仓库, 如果我们要取B仓库中的零件,只要指明A仓库或者B仓库任意一个就可以了. 详细的头文件包含关系可以参阅MSDN(当然自己也可以定义头文件,本文主要是写给一些初学者,在此略过)红圈2: 编辑按键精灵脚本时显示的本插件的名称注释修改这里的字符串可以改变本插件显示的名称红圈3: 定义功能的函数红圈部分是一个函数,一个函数对应着一条插件命令.int Test1Handler(char *lpszParamList, char *lpszRetVal)int表示函数的返回值是一个整型Test1Handler是本函数的名称(char *lpszParamList, char *lpszRetVal)是函数的2个参数char表示这2个参数都是字符型,*是指针运算符,char *说明这2个参数是字符型指针在C/C++中可以把字符型指针看做是字符型数组,简单的也可以理解成字符串. lpszParamList是命令需要的参数,lpszRetVal是返回值参数char lpszParam1[1024] = {0}, lpszParam2[1024] = {0};ParseParam(lpszParamList,lpszParam1,lpszParam2);如果该函数对应的插件命令参数大于1个,我们则需要这2句这2句是把命令需要的参数分解,我们在使用插件的时候写进的命令参数是XXX,XXXX,XXXX的形式的.XXX,XXXX,XXXX被看做是一个参数传递给插件中的函数.因此我们需要ParseParam函数来分解,分解的过程是以逗号为分割线,去掉逗号,把一个参数分成几个参数的过程.上面例子2句是分解成2个参数lpszParam1,lpszParam2.分解后的参数仍是字符串型.(提一下ParseParam函数是在ExtFunc.cpp中被定义的)char lpszShowMessage[4096];sprintf(lpszShowMessage,"Param1 = %s\nParam2= %s",lpszParam1,lpszParam2);MessageBox(0,lpszShowMessage,"This is plugin command Test1",0);这3句是函数过程,这里的sprintf函数就是被定义在"stdio.h"中的return 1;C/C++语言的函数除了函数是void型外都必须有返回值,如果你的函数不需要返回值,也要写return这句,至于返回什么可以任意.上面定义了函数返回类型是int,这里只要写任意一个整数就可以了.红圈4: 本插件在编辑按键精灵脚本时的命令,以及注释部分"Test1","测试1",Test1Handler,"Test2","测试2",Test2Handler,知道这是一个结构体就可以了.这个结构体有3个部分,每个部分的逗号都不可以省略.3个逗号以及这3个逗号之前的字符表示一条插件命令,6.1的则是4个逗号"Test1"是完成后插件的命令名,与Test1Handler对应"测试1"是注释内容,Test1Handler是上面定义的函数,与"Test1"对应如果这里你不想写注释可以这样写"Test1",,Test1Handler,注:6.0和6.1的模版不同之处,6.1此处多了1个部分,表示该命令有几个命令参数"Test1","测试1",Test1Handler,2,现在接触电脑时间越来越少,估计这篇教程要慢慢完成了.预计2.3天才能完成一节.还有对一些论坛短消息没有回复,敬请大家谅解.下个章节会讲一些C++函数类型转换的相关知识.[本帖最后由沉8 于 2007-3-16 12:22 PM 编辑]1.jpg(162.66 KB) map12.jpg(165.33 KB) map2map3。
剑侠世界插件制作说明

剑侠世界插件制作说明(2009-4-28更新后)1#大中小发表于2009-4-28 09:49 只看该作者剑侠世界插件制作说明(2009-4-28更新后)剑侠世界插件制作说明前言:2009-4-28更新后,我们将更新客户端支持玩家自定义插件的功能。
此份文档教你如何将以前混在一起零散繁杂的各种插件整合成正式的、系统所支持的可配置式插件。
首先我们知道,以前的客户端可以采用放“包外”的形式,将一些客户端界面脚本文件按照系统的规则放置于客户端的ui 目录下,就可以使客户端优先读取这些包外文件。
然而这种做法的缺点在于如果有多种插件混杂在一起的话,管理将非常麻烦,并且相同文件名的冲突也会造成一些不可避免的错误。
所以,我们开发了一种灵活的插件管理方式,具体做法如下:在4-28更新之后,客户端根目录将会生成一个“interface”的文件夹,里面会有一个默认的ini 文件:plugincfg.ini,是插件的总开关,当你在ESC 界面勾选开启插件之后,信息会保存在这个文件里。
当然,你如果开发插件的话,不需要手动修改这个文件。
下面是重点,被系统所支持的多插件配置方法:假如……原来你有一个插件,是显示藏宝图坐标点的,原来的目录结构可能是:则在4-28更新后你需要做的是将ui 文件夹命名为任意你喜欢的名字,比如“plus_treapos”,并将它放在interface 文件夹下。
好了,现在我们再在这个“plus_treapos”里新建一个文件:plugincfg.ini里面的内容如下:[PluginInfo]PluginName=藏宝图坐标点显示PluginDate=2009-04-24PluginContext=用于在大地图显示藏宝图的坐标点LoadState=1这里的PluginName 就是插件的名称,自定义。
PluginDate 是你插件的更新日期,格式为:XXXX-XX-XXPluginContext 就是你插件的描述,爱写啥写啥。
剑三编辑器教程1-5章BY腐默笙箫白天

【剑三编辑器教程】第一章【编号】成女身体编号2001-2011【藏剑】2201-2210【万花】2301-2308【五毒】2401-2407【唐门】2501-2510【七秀】2601-2610【纯阳】2701-2710【天策】2801-2805【丐帮】2901-2906【明教】成男身体编号2001-2011【藏剑】2101-2110【少林】2201-2210【万花】2301-2308【五毒】2401-2407【唐门】2601-2610【纯阳】2701-2710【天策】【还有一个身上插箭的】2801-2505【丐帮】2901-2906【明教】常用物品色盅D005072粉色扇子DOO7131鼓槌D007098拂尘D007068,D003022c-D003021b马头【忆红颜】D005226蓝金锁心卷D005211胸前大红花D005055/D005055b/D005053风车D005052b/D005052暗香D003160天地和D003132碧玉金玲牙梳D003129天字青丝须D003121b绣花鞋D003114铁血丹心囊【箭囊】D003070韩海雄风囊【箭囊】D003069蓝鲤鱼【名字忘了】D003059红鲤鱼【名字忘了】D003058真黄之眼D0030026c独乐咏【蓝色腰鼓】D003025d犹梦婆娑【粉色长形腰鼓圆形】D003025c粉色独乐咏【大概是】D003025b扣舷鼓【粉色长形腰鼓六边形】D003025奇缘【粉色梯形腰鼓】D003024c悦【不解释】D003024b绣花鼓【七秀挂件】D003024画卷D003023葫芦,D003021,D003020c-D003020灯D003009c-D003009,D003007c,D010192【常用动作】扇子舞f2b06sh【两个动作】九星连珠发招F2b01ty变装火舞身F2b01ty【直接关键字搜索动作】江湖遗秘【包含奔跑动作】小七【包含奔跑动作】蹲【蹲下起身】寒冰针枪【看起来挺不错的动作】蓄力【也是很多技能的样子】机关【唐门动作】袖舞【七秀跳舞动作】链状,七秀双剑技能,江海凝光,妙舞神扬,双剑攻击,剑舞,剑主,霓裳劲舞,曲尽花落,f2s9x05BUFF01,【以上关键字搜索出现七秀相关动作和技能】重剑,轻剑【藏剑技能,细节不讨论】ps其实玩的熟练大致哪个哪个在哪里就可以找到了,不过要熟练也很难,因为东西非常多【剑三编辑器教程】第二章【简单摄像机设置】关于摄像机,首先先创建摄像机点击【创建摄像机】下角会出现摄像机-002点击小加号会显示【添加动作】选择第一个,【位置变换】会出现浅蓝色的进度条点击下方的黄色小块往后拉会移动长短,,但是往后拖动之后,前面就成了这样所以需要把它的进度拖到顶头就是【0】当然按着你的需要你可以更改摄像机移动的帧数。
剑三编辑器

剑三编辑器2篇剑三编辑器是一款非常实用的编辑器工具,在剑网三游戏中拥有广泛的应用。
它具备丰富的功能和简洁的界面,能够满足玩家对于游戏内编辑需求的各种要求。
本文将从功能特点和使用方法两方面对剑三编辑器进行详细介绍。
在功能特点方面,剑三编辑器具有以下几个显著的特点。
首先,它支持多种文本格式的编辑,包括常见的文本文件和代码文件。
无论是编辑任务还是自定义代码,剑三编辑器都能够提供便利的编写环境。
其次,它拥有强大的代码补全和语法高亮功能。
当玩家编辑代码时,编辑器能够智能地分析代码结构,并给出相应的提示,极大地提高了编写效率。
再次,它还支持多窗口编辑和多文件编辑功能。
这一点对于需要同时编辑多个文件或者进行复杂的编辑操作的玩家来说,尤为重要。
最后,剑三编辑器还支持自定义快捷键和颜色方案,使得玩家可以根据个人喜好进行个性化设置。
在使用方法方面,剑三编辑器也是非常简单易用的。
首先,玩家需要在游戏内打开编辑器工具。
在游戏界面的右上角找到"编辑器"按钮并点击。
进入编辑器后,玩家可以看到编辑器的主界面,包括菜单栏、工具栏和编辑区域。
在编辑器的菜单栏中,玩家可以选择打开文件、新建文件、保存文件等常见的文件操作。
在工具栏中,玩家可以找到一些常用的编辑工具,例如剪切、复制、粘贴等。
编辑区域是玩家进行具体编辑操作的地方,玩家只需在这里编写代码或者编辑文本即可。
在编辑区域的下方还有一个状态栏,用于显示当前编辑文件的状态信息。
当玩家完成编辑后,可以选择保存文件并退出编辑器。
总之,剑三编辑器是一款功能强大、简单易用的编辑器工具,对于剑网三游戏玩家来说是非常实用的。
无论是日常的编辑任务还是自定义代码的编写,剑三编辑器都能够提供良好的编辑环境和丰富的功能支持。
玩家只需简单的几步操作,便可轻松使用编辑器进行各种编辑操作。
对于想要提高游戏体验和个人化游戏内容的玩家来说,剑三编辑器无疑是一个不可或缺的好帮手。
剑网叁插件教程

剑叁大脚与单体插件搭配使用的Word教程1.剑网叁的插件统一都安装在X:\Program Files\Kingsoft\JX3\bin\zhcn\interface文件夹内(该路径中X代表盘符,红色部分的路径因个人而异会有所不同,请自行查找,淡蓝色部分的路径是绝对路径,是绝对一成不变的路径),interface文件夹内存放的一大堆的英文文件夹就是插件。
2.安装插件的时候,请将下载好的插件压缩包解压,鼠标右键选中插件压缩包,选择解到当前文件夹3.从压缩包中解压出来的这个英文文件夹就是我们要安装的插件。
4.找到解压出来的插件文件夹,右键点击插件文件夹选择剪切然后到插件目录X:\Program Files\Kingsoft\JX3\bin\zhcn\interface文件夹内粘贴即可(该路径中X代表盘符,红色部分的路径因个人而异会有所不同,请自行查找,淡蓝色部分的路径是绝对路径,是绝对一成不变的路径)。
到此插件就安装好了,但是还要经过一些设置才行,以下就介绍下大脚跟盒子的设置方法。
4.大脚用户请看这里:启动大脚后,打开大脚设置5.选择游戏客户端的目录并设置大脚6.盒子用户请看这里:启动盒子后,打开盒子设置此时弹出如下窗口,点击图上红框位置设置客户端路径,而路径中bin\zhcn\interface是绝对路径。
由于你可能不止使用了盒子插件,可能使用了别的其他插件,那么为了防止盒子屏蔽你的其他插件,你需要按下图设置总是保留不明插件。
如果盒子中有你不使用的插件,而你既不想启用该插件也不想让盒子更新该插件的话你可以点击下图的插件管理按钮。
在弹出的窗口中勾选你不使用的插件然后点击卸载即可。
然后关闭该窗口就可以了。
7.进入游戏在任务选择画面打开插件管理器,选择所需加载的插件或者加载全部插件。
允许加载过期插件即可正常使用。
剑侠情缘三 PT宏使用说明

tnofight 目标没进战斗
target 目标类型(npc,boss,noboss,player)前三个都是npc
tlife 目标血量比例
tmana 目标内力比例
distance 目标距离
tstatus 目标为指定状态
tnostatus 目标非指定状态
ttnoprepare 目标的目标不在读条
ttforce 目标的目标门派
tnofaorce 目标的目标非门派
tmount 当前内功为指定内功
tnomount 当前内功不为指定内功
=====================================
status的判定参数
buff/debuff类型:
外功
阳性
混元
阴性
点穴
毒性
蛊
药石
=====================================
更新日志
PT_version=1.04
1、增加"终止执行"代码,可中断自己读条。
e.g.
/skill [prepare:狂炎燃叶功>0.5|震地颤尘锤>0.5,buff:弹跳] 终止执行
安装说明:
1、将插件解压至interface目录即可进入游戏。
2、本插件和其他宏扩展插件存在冲突,使用本插件请关闭其他任何宏扩展类插件。
3、本插件暂时可用与PVP,如果有任何问题与请与本人联系37965329@,联系时请附带出问题的宏语句。
4、本插件完全开源,LUA属于嵌入式语言,原则上不能脱离游戏运行。
自身buff部分:
插件中的代码编辑和调试功能怎样使用

插件中的代码编辑和调试功能怎样使用哎呀,说起插件中的代码编辑和调试功能怎么使用,这可真是个有趣又有点复杂的事儿。
就拿我前段时间碰到的一件事来说吧。
我有个朋友,他是个初出茅庐的小程序员,兴致勃勃地想要开发一个能自动整理桌面文件的小工具。
他满心欢喜地找了个相关的插件,准备大显身手。
咱们先来说说代码编辑这部分。
就像在一张白纸上画画,你得有支好用的“笔”。
在插件里,这个“笔”通常就是一个功能丰富的代码编辑器。
比如说,它得有智能的代码补全功能,当你敲出几个字母,它就能猜到你想要写的是什么,就像有个贴心的小助手在旁边给你提示。
还有语法高亮,这可太重要啦!不同的代码元素用不同的颜色显示,让你一眼就能看出哪里是变量,哪里是函数,清清楚楚,不会眼花缭乱。
就像我那朋友,刚开始的时候,因为编辑器没有语法高亮,找个函数名找半天,把自己急得够呛。
再来说调试功能。
这就好比你在走一条黑漆漆的路,调试工具就是你手里的手电筒,能帮你照亮前方,发现问题在哪里。
比如说,你可以设置断点,让程序运行到特定的地方停下来,然后查看变量的值,看看是不是和你预想的一样。
还能单步调试,一步一步地看程序是怎么执行的,就像放慢动作看电影,不放过任何一个细节。
我那朋友有一次程序运行结果不对,怎么都找不出原因。
后来用了断点调试,发现原来是一个变量在中间被意外修改了,可把他高兴坏了,就像找到了宝藏一样。
还有啊,很多插件还提供了错误提示功能。
当你的代码有语法错误或者逻辑错误的时候,它会及时地给你指出来,告诉你错在哪里,怎么改。
这可省了不少事儿,不用你自己像个无头苍蝇一样到处找问题。
另外,一些高级的插件还支持代码重构。
比如说,你发现一段代码写得不太好,结构不合理,通过插件的重构功能,它能帮你自动优化代码结构,让你的代码更加简洁、易读、易维护。
这对于提升代码质量可太有帮助啦!总之,使用插件中的代码编辑和调试功能,就像是拥有了一套超级厉害的工具,能让你的编程之路更加顺畅。
剑网三白名单插件API

GetColorDiamondInfoFromEnchantID 获取玩家身上某个道具的修理价格
GetShopItemRepairPrice 获取玩家身上某个道具的出售价格
GetShopItemSellPrice 获取还有多少帧可以接着买限量的商品
Hand_Get
获取绑定BUFF的描述文本 显示活动Tip 显示区域公共日常Tip 显示任务Tip 文本着色 获取本客户端的玩家ID 响应使用生活技能 响应分解装备 分解装备 更新生活技能的Box状态 显示生活技能Tip 显示书本Tip 获取书本的Tip文本 获取书本的Tip文本 显示配方的link 显示附魔的Tip
获取插件信息
RegisterEvent ReInitUI IsFileExist class Output UILog
注册事件 重新加载UI 判断文件是否存在 创建一个类 在系统消息中输出对应变量的值 在系统消息中输出对应变量的值
IsOptionOrOptionChildPanelOpened 判断是否有选项或其子窗口被打开
clone
var2str SplitString
GetFormatText
FormatHandle
GetFormatImage
KeepOneByteFloat KeepTwoByteFloat FixFloat GetIntergerBit Conversion2ChineseNumber IsTableEmpty IsEmpty GetMoneyTipText
获取角色等级数据
GetLevelUpData
获取玩家界面存盘数据
GetUserPreferences
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
剑三插件编写入门什么是插件插件是一种遵循一定规范的应用程序接口编写出来的程序。
由于一个大型软件通常只由一家软件公司开发,在开发过程中,由于人手和时间的限制,这就决定了软件自身功能的局限性,而且软件的更新速度也是较为缓慢的,也不能满足所有的用户需求。
正是处于这样的考虑,通常一些大型的软件都提供了调用外部插件程序的接口。
这样一来,通过别人的插件使得自己的软件在功能和更新速度上都大大得到改善,同时使用者可以根据自己的需求来制作一些更适用于自己使用环境的插件程序。
游戏中的插件和外挂是两个不同的概念,游戏外挂通常是通过修改游戏运行时的数据,包括网络通信、本机内存等方式欺骗服务器,让外挂使用者达到不劳而获的目的。
而游戏插件是游戏开发者允许的,在一定限制下的改善游戏内容,比如界面显示、操作方式、或者为使用者提供方便功能,并不直接修改游戏数据的程序。
游戏插件都只能运行在客户端。
剑三中插件能做什么前面已经提到过,游戏插件都是运行在客户端的,也就是说我们通过客户端可以做的事情,理论上通过插件都可以做到。
为了不影响游戏的正常运行,通常开发者都会对游戏插件做出一些限制、下面整理一下剑三中,插件所被允许做的事情。
1、改善用户界面(UI)例如常用的头顶增强、战斗提示、气条拖动、Buff、Debuff缩放、弧形血条等。
2、改善游戏操作例如拾取助手、自动Roll取绿装、自动贩卖灰色物品等。
3、提供游戏开发者允许,但又没有提供的功能。
例如仇恨插件、任务指引、焦点目标、技能CD提示等。
3、其他不影响游戏数据的你能想到的任何东西。
例如小游戏插件。
插件的安装在剑三的安装目录下的interface文件夹中放入你需要安装的插件,登录游戏,在人物选择界面右侧点击插件管理,勾选上你想加载的插件,这样在你进入游戏,游戏程序就会去调用相应的插件程序了。
以我的电脑为例,安装从多玩论坛下载的弧形血条插件我的剑三安装在D:\ProgramFiles\Kingsoft\JX3\ 目录下面。
进入D:\Program Files\Kingsoft\JX3\ 目录,找到interface文件夹。
如果没有这个文件夹,直接新建文件夹并命名为interface即可。
解压下载到的headEx.rar文件,得到一个HeadEx的文件夹,文件夹里包含了HeadEx.lua 、info.ini、LEOConst_HeadEx.ini等文件,将HeadEx文件夹放入到interface文件夹中,进入游戏,在任务选择画面点击插件管理,勾选弧形血条插件,进入游戏后就可以看见插件了。
很多人在安装插件时发现将插件文件放入了interface文件夹下,但在游戏中的插件管理中看不到自己下载的插件,这样的问题通常是因为在解压插件文件的过程中,多产生了一级目录。
例如弧形血条插件中包含info.ini文件,这个文件应该处于的位置是Interface\HeadEx\info.ini而有的使用者在解压时直接将HeadEx下的文件解压到了interface中,或者在interface下的HeadEx 文件夹中又创建的HeadEx文件夹,造成了如下的一些目录情况,这些都是不能运行插件的。
Interface\info.iniInterface\HeadEx\ HeadEx \info.ini学习制作插件需要哪些基础和工具简单Lua编程,包括lua基本语法,table的概念,函数的概念,面向对象的基础概念。
工具上剑三客户端当然是不能少啦,剩下就是lua语言的编辑环境,最简单的就是txt文档编辑器来,一般我们还是习惯使用一些特殊的编辑器,比如UEStidio,NotePad++,这些支持语法高亮的编辑器。
另外为了方便检查脚本错误,还需要使用luaforwindows的可执行文件。
可以到lua的官方网站去下载(/p/luaforwindows/)剑三插件的组成首先,剑三中的游戏插件是一个程序,那么我们肯定是需要一个文件来保存程序的代码。
其次,插件程序是不可以脱离游戏独立运行的,它必须依赖于游戏程序,那么我们需要一种方式来告诉游戏程序,这个插件是干什么的,应该从哪开始执行这个插件程序,这个文件在剑三中就是info.ini文件。
最后,由于在游戏中通常会运行很多个插件,那么这么多info.ini就会十分的混乱,为了方便管理,降低每个插件与其他插件的耦合度,剑三有这样一个规则,插件必须放在一个文件夹中,文件夹中必须有一个info.ini文件。
并且ini文件中必须有一个Section名为文件夹名字。
(一个Section就是INI文件中用中括号分割的一段区域,具体详见Windows INI文件格式)综上,剑三插件的基本结构有以下5点:1、需要一个文件夹、至少一个程序文件、一个info.ini文件。
2、info.ini文件必须在这个文件夹中。
3、info.ini文件中的Section名必须为这个文件夹的文字。
4、info.ini文件中必须指明需要运行的程序文件的路径与名称。
5、info.ini文件中所指明的程序文件不能直接放在interface目录下,必须在其子目录中从上面这五点中可以得到这样一些隐含信息:info文件所指明的程序文件不必要和info在同一级目录下。
Info中可以有多个Section,但由于Section名和文件夹名不相同,所以多余的Section并不起作用,且不影响正常的Section工作。
Info文件中指明的程序文件可以有多个,随其编号决定调用顺序,编号越小越先调用。
info指明的程序文件不需要是lua的扩展名,只要是lua程序文件,可以是任意扩展名。
Info文件只能在interface目录的直接子目录下,比如 interface\HeadEx,不能是interface\a\b\info.iniInfo.ini文件中的注释符号使用【#】,具体配置项如下所示:Info中的配置对应游戏中的显示界面:当我们指定的系统插件版本号低于右上角显示的系统版本号时,插件将变成灰色,这表示官方对插件的一些设置、开放的接口作出了调整,可能你所编写的插件在该版本下不能正常使用,我们可以通过勾选下面的允许加载过期插件来强制运行它,但是不一定可以正常工作哦。
通常我们为了编写和管理插件的方便,有这样一些约定俗成的规矩。
1、为你的插件新建一个文件夹,文件夹的名字尽量做到见即知意。
2、为了避免和别的插件冲突,在你的文件夹前加一个自己的前缀,比如Const_HeadEx。
3、将你的插件入口程序和info.ini文件放到同一目录下。
4、在你的程序文件第一行首先定义一个table,这个table的名字是你插件的名字,用于存储所有与你插件相关的信息。
5、所有的函数、属性、都写在自己定义的table中。
6、在程序文件的最后一行调用你的入口函数。
7、将界面配置文件和对应的程序文件取相同的文件名。
剑三插件的Hello World下面开始我们进入剑三插件的Hello World程序,哈哈哈哈。
1、首先在剑三目录下的interface中建立一个My_InterFaceTest文件夹2、在Interface文件夹中建立一个info.ini文件和Main.lua文件。
3、在info.ini文件中输入以下内容:4、在Main.Lua文件中输入以下内容5、进入游戏,在插件管理界面勾选我的HelloWorld6、进入游戏就可以看到聊天框里出现了这些文字。
到这里我们的HelloWorld就完成了,下面将进一步介绍插件的制作,从这里开始就需要程序基础了。
剑三插件用到的部分对象简介Player对象Player对象是玩家自己,是玩家所有属性的一个集合,这里有我们常用的一些属性。
我们可以通过全局函数GetClientPlayer()来获得它。
NPC对象表示一个指定的NPC。
可以使用全局函数GetNpc(dwID)来获得它。
剑三插件的基本接口介绍GetClientPlayer()获取本机的player对象。
GetNpc(dw)获取npc对象,参数为NPCID。
GetPlayer(dw)获取一个player对象,参数为playerID。
GetDoodad(dw)获取一个Doodad对象,参数为doodad的IDRegisterEvent(sz,function)注册一个客户端事件,可以在Event()函数中响应它。
参数为事件名,响应时间的函数。
当它作为一个全局函数使用的时候,由于脚本程序是由上至下逐行解释的,所以一定要把响应事件的函数定义在它的前面。
RegisterCustomData(sz)注册一个用户数据,参数是数据名。
剑三插件的基本事件介绍通常事件在响应时,会向相应的函数传递一些事件相关的信息,这些信息存在叫arg0~arg9的变量里,我们可以直接在事件响应函数中访问到它们。
1、插件本身的事件:OnFrameCreate()OnFrameBreathe()上面这两个事件实际上是两个函数,当遇到插件创建事件时会调用OnFrameCreate()。
一般在没有特殊设置的情况下,当界面窗口可见时,会每秒调用16次OnFrameBreathe()函数。
2、客户端相关事件:UI_SCALED当UI进行缩放的时候会激发这个事件。
CUSTOM_DATA_LOADED当用户数据读取完毕的时候会激发这个事件。
3、游戏角色相关事件:BUFF_UPDATE玩家角色Buff更新的时候会激发这个事件。
MONEY_UPDATE玩家角色金钱变化时会激发这个事件。
SYNC_ROLE_DATA_END玩家角色数据同步完成会激发这个事件。
BAG_ITEM_UPDATE玩家角色背包里的物品变化会激发这个事件。
EQUIP_ITEM_UPDATE玩家角色装备变化会激发这个事件。
PLAYER_STATE_UPDATE玩家角色状态变化会激发这个事件。
PLAYER_LEVEL_UPDATE玩家角色等级变化会激发这个事件。
PARTY_SYNC_MEMBER_DATA玩家角色数据同步时会激发这个事件。
FIGHT_HINT角色受到攻击时会激发这个事件。
PLAYER_ENTER_SCENE玩家角色进入可视范围内会激发这个事件。
PLAYER_DEATH玩家角色死亡会激发这个事件。
PLAYER_LEAVE_SCENE玩家角色离开可视范围会激发这个事件。
PLAYER_REVIVE玩家角色复活会激发这个事件。
SYNC_LOOT_LIST玩家角色同步拾取列表后会激发这个事件。
4、NPC相关事件NPC_STATE_UPDATENPC状态变化会激发这个事件。
NPC_LEAVE_SCENENPC离开可视范围会激发这个事件。
5、任务相关事件QUEST_ACCEPTED玩家角色接受任务会激发这个事件。