中国有句古话叫“授人以鱼不如授人以渔”,说的是传授给人既有知识,不如传授给人学习知识的方法。道理其实很简单,鱼是目的,钓鱼是手段,一条鱼能解一时之饥,却不能解长久之饥,如果想永远有鱼吃,那就要学会钓鱼的方法。
本文以剑侠世界飞剑整合包为蓝本,简析剑侠世界插件常规修改方法。水平有限,仅仅为个人理解,如果错误和纰漏之处,敬请谅解。
一、认识插件
插件压缩包解压后,会出现两个文件夹。即Interface和UI。
Interface即插件的主文件夹,在这里我们可以实现很多的插件功能。后文详细说明
...
中国有句古话叫“授人以鱼不如授人以渔”,说的是传授给人既有知识,不如传授给人学习知识的方法。道理其实很简单,鱼是目的,钓鱼是手段,一条鱼能解一时之饥,却不能解长久之饥,如果想永远有鱼吃,那就要学会钓鱼的方法。
本文以剑侠世界飞剑整合包2.24为蓝本,简析剑侠世界插件常规修改方法。
水平有限,仅仅为个人理解,如果错误和纰漏之处,敬请谅解。
一、认识插件
插件压缩包解压后,会出现两个文件夹。即Interface和UI。
Interface即插件的主文件夹,在这里我们可以实现很多的插件功能。后文详细说明
UI即User Interface中文名为用户界面。在这里我们可以自由的定义某些界面的坐标位置等等。
在UI文件夹内,我们可以看到有三个文件夹001a、001b、001c。分别指的三种游戏分辨率,即800*600;1024*768;1200*800。每个文件夹都含有wndconfig.ini文件。这里定义的是某些窗口的位置,我们一般只需要认识三个项目。如下:
UI_POPBAR=录像、骑马、切换战斗模式那一栏
UI_BUFFBAR=BUFF栏
UI_SIDEBAR=角色、背包、技能那一栏
比如我们在选用顶部工具条的时候,和BUFF会有重合,怎么办?把BUFF适当的调低一些。比如在000a中UI_BUFFBAR=149,33。如果我们调整为UI_BUFFBAR=149,63.则与顶部工具条下一行中的福袋开关等显示一行,不会被上面一行的界面中显示。这指的是我上一个版本中的顶部工具条,而本版中,已经取消了顶部工具条的第一行,因此,我将UI中的BUFF栏进行了还原,有兴趣的朋友,可以对比两个wndconfig.ini文件。
在Interface的内容如下
kingsoft_autopack 背包整理分包
peres_fightsprite 战斗精灵分包
setting 部分配置文件的储存位置
tools 工具条文件
unlock 上线解锁,托管等
user 部分配置文件的储存位置
超级老包 超级老包脚本
自动喊话 自动喊话脚本
interfacemanagercfg.ini 配置文件
NewPlug 中文版的主目录,这里包含了绝大多数脚本
二、插件修改
因为常规的一些修改只涉及到NewPlug和tools,所以原则上我只说明以上两个文件夹的内容。
2.1
首先,我们来谈谈tools文件夹。在tools文件夹里面,一共包含了一个user文件夹和11个文件,分别如下:
AutoFightswitch.lua------远程控制的脚本文件,使得队伍控制功能得以实现
AutoPick.lua-------------自动采集脚本
kaiguan.ini--------------右侧工具条的主界面配置
kaiguan.lua--------------右侧工具条的主要脚本文件
popbar.ini---------------这个配置文件的主要目的,是去除了录像按钮
popbar.lua---------------这个脚本的主要用途是队伍控制
tools.ini----------------顶部工具条的界面
tools.lua----------------顶部工具条的主文件,内含读书、福袋、远程开仓等功能
plugincfg.ini------------插件的相关信息
采集草药.lua--------------伏牛山采集草药的功能脚本
采集枫树.lua--------------伏牛山采集枫树的功能脚本
在这里,我们其实需要掌握的几个修改文件,主要是tools.lua,tools.ini;kaiguan.lua,kaiguan.ini;以及popbar.lua,偶尔我们还会用到autopick.lua。接着我按照我的思路和大家一起探讨。
tools.lua:在经过调整后的2.24版本中,我压缩了tools的功能,更多的功能主要在kaiguan.lua中实现,也就是大家平时看到的右侧工具条了。但tools中还是包含了一些插件功能,安全区读书、自动福袋、后山跳沟、钓鱼、报刀具、远程仓库、自动跑荆棘林。但都是既定脚本,其中要修改的部分其实很少了。在这里可以加入吃军饷肉的代码,举例如下:
在 me.UseItem(tbItem.pItem);
end
下面添加:
local tbFind = me.FindItemInBags(20,1,488,1);--熟牛肉
for j, tbItem in pairs(tbFind) do
me.UseItem(tbItem.pItem);
end
如果大家确实要认识tools,我觉得更好的是参考这个文件之前的版本,其实关于工具条的修改,在之前我也有过解释。
popbar.lua:这里我们需要掌握的修改,主要是针对一些命令的修改,前阵子一直有人在公聊发送--下线,结果造成了很多的不便,但如果我们修改成我们个人或家族独有命令,则不会出现这样的问题了。举例如下:
我们需要修改我们打开老包开启的命令,可以打开popbar.lua,找到
SendChannelMsg("Team",szPosText.."--包开");
修改"--包开"为"--包不同",同样在AutoFightswitch.lua中也做同样的文字修改,这样我们的老包开启命令就修改为了--包不同。如果我们需要使用工具条中的按钮,则还需要修改kaiguan.lua中的相应文字。这个,我们后面再说。
另外,队伍控制的默认状态时关闭的,主要是为了避免使用中的麻烦。需要修改的可以打开AutoFightswitch.lua文件。将最上面的local switchStart = 0; 修改为local switchStart = 1;
ps:同样是为了避免麻烦,我没有添加自动下线的队控按钮。怎么添加,后面说明。
右侧工具条的修改:
右侧工具条主要有五个一级菜单,常见辅助;队伍控制;义军大盗;自动寻路;军营相关
kaiguan.lua:这个文件让我们实现了二级菜单式的工具条,可以压缩更多的功能。
首先我们了解一下kaiguan.ini,在这里,我们以分辨率800*600定义了右侧工具条在游戏界面中的初始位置以及工具条的大小高低,还可以定义各个按钮的间隔大小等。
[Main]
WndType=WndShowAnimate
Name=Main
Left=730----工具条最左上角在游戏画面里X轴位置
Top=300-----工具条最左上角在游戏画面里Y轴位置
Width=70----工具条的宽度
Height=400--工具条的高度
Moveable=0--是否支持拖动;0为不支持,1为可拖动。
Layer=1
再看下面这段代码:
[BtnMenu]
WndType=WndButton
Parent=Main
Left=5-------按钮最左上角在工具条内X轴的位置
Top=20-------按钮最左上角在工具条内Y轴的位置
Width=70-----按钮的宽度
Height=0-----按钮的高度,这里没有定义。
Left=1
Image=\image\ui\001a\common\btn_4ch.spr
Down=2
UpOver=1
DownOver=2
Frame=0
Color=white-------按钮的文字颜色
Label=常用辅助-----按钮的说明文字
Tip=
Font=12
LabelXOffset=6
LabelYOffset=2
如果我们需要调整工具条按钮的间隙。可以将下面一个按钮的Top= 做调整,以紧接着的BtnMenu1中的Top=45为例:
如需要调大间隙,我们可以将TOP=45调整为top=50乃至更大,反之则调小。
有朋友问到,将队伍控制的按钮放到最下面。最简便的方法,便是将BtnMenu1和BtnMenu4的Top=120后面的数字互换。
即修改BtnMenu1中的Top=45改为Top=120 而将BtnMenu4的TOP=120修改为TOP=45
再说kaiguan.lua:再kaiguan.lua中主要是定义二级菜单的内容。
在kaiguan.lua中有这样一段代码:
Ui:RegisterNewUiWindow("UI_kaiguan", "kaiguan", {"a", 730, 375}, {"b", 954, 525 }, {"c", 1210, 550 });
uikaiguan.tbAllModeResolution = {
["a"] = { 730, 330},
["b"] = { 954, 525 },
["c"] = { 1210, 550 },
};
这里主要是定义了三种分辨率下工具条的初始位置。
如何添加一个二级按钮呢?我们以在常见辅助按钮下添加一个自动大盗的开启按钮为例说明:
首先,我们在uikaiguan.tbMenu = 下面添加一个文字按钮。
在这段代码下面有如下内容:
{
{ " 远程仓库 "},
{ " 自动喊话 "},
{ " 战斗精灵 "},
{ " 获取坐标 "},
{ " 物品采集 "},
{ " 自动答题 "},
{ " 辅助技能 "},
{ " 自动探测 "},
{ " 自动反击 "},
{ " 物品排除 "},
{ " 快速祈福 "},
{ " 跟随战斗 "},
{ " "},
};
修改为
{
{ " 远程仓库 "},
{ " 自动喊话 "},
{ " 战斗精灵 "},
{ " 获取坐标 "},
{ " 物品采集 "},
{ " 自动答题 "},
{ " 辅助技能 "},
{ " 自动探测 "},
{ " 自动反击 "},
{ " 物品排除 "},
{ " 快速祈福 "},
{ " 跟随战斗 "},
{ " 自动大盗 "},
{ " "},
};
接着找到:
uikaiguan.OnButtonClick=function(self,szWnd, nParam)
if (szWnd == self.BTN_MENU) then
DisplayPopupMenu(
self.UIGROUP,
szWnd,
13,
修改这里的13为14,因为我们添加了一个按钮。如果是添加两个则在原来的基础上增加2,以此类推。
然后我们还需要在elseif (szWnd == self.BTN_MENU1) then 上面的
self.tbMenu[13][1],
13
);
作如下添加
self.tbMenu[13][1],
13;
self.tbMenu[14][1],
14
);
最后,我们在if szWnd == self.BTN_MENU then下面添加大盗的调用函数。
即找到
elseif nItemId==12 then
Map.tbAutoAim:AutoFollow();
下面添加
elseif nItemId==13 then
自动大盗的调用函数,这个内容可以在自动大盗的脚本中获取。
这样我们就完成了一级菜单常用辅助下二级按钮的添加。其他按钮的添加依此即可。
我们再说如果添加一个一级按钮。
如果需要添加一个一级按钮,我们首先需要做的是在kaiguan.ini中建一个BtnMenu5的内容,并按照BtnMenu1的内容进行书写,并定义好该按钮的top位置。参考其他的定义即可。
然后在kaiguan.lua中找到uikaiguan.BTN_MENU4="BtnMenu4" 在下面添加uikaiguan.BTN_MENU5="BtnMenu5"
再找到elseif (szWnd == self.BTN_MENU4) then
在这一段的后面按照该内容添加elseif (szWnd == self.BTN_MENU5) then的内容
最后if szWnd == self.BTN_MENU4 then 下面添加if szWnd == self.BTN_MENU5 then的内容
可能我说的不够清楚和详细,但我一直觉得举例说明的话,大家更容易理解一些,如果你熟悉了之前版本的tools.lua中按钮的添加,这个应该是相当的容易理解。
需要注意的是,一定要注意细节的处理,比如,你的BtnMenu内容为14个。而你的uikaiguan.OnButtonClick下却只有10个内容,调用的函数一定要和你的按钮文字对应,而且,还需要注意符号的完善。不要遗漏应有的;。
总之,一切都可以按照已有的内容添加,注意好细节的处理,你的工具条就可以按照你自己的想法去定义。
哦。对了,如果你还需要添加或修改自动寻路中的按钮。还需要在\interface\NewPlug\超级寻路[脚本].lua中添加或修改相应的内容。这个和http://www.sleepfox.net/post/13.html中问题中除了文字修改不一样,其他都一样,而文字修改,我们只需要在kaiguan.lua中完成即可。
关于NewPlug,在NewPlug中,我丢入了很多的独立插件,在这里,几乎集中了除interface下其他几个文件夹的插件功能之外的所有插件功能。比如自动战斗,比如自动辅助、自动反击、快速祈福、自动挖宝、大盗、快速剧情、自动答题,等等。
虽然内容很多,其实也是大同小异。几乎这些独立脚本的修改,是完全一致的,而且,有些插件的修改只是少数人的需要,比如说自动战斗,比如说N键里面默认快捷键的修改。所以,我可能不会每一个插件的内容都作出解释,毕竟,我也是为生活奔波和忙碌的人。
我们先说自动辅助的默认状态,自动辅助,我个人不是太喜欢默认开启,毕竟在PK的时候,你给我来个清风符什么的。我会死的很惨。:)
在newplug中找到:辅助技能[脚本].lua
你可以看到如下代码
local nAsistState = 0; -------此处为插件的默认状态。 0为关闭,1为开启。
local szCmd = [=[
Map.tbAutoAsist:Asistswitch(); ---------这里,即是该功能的调用函数
]=];
UiShortcutAlias:AddAlias("GM_C2", szCmd); -- 热键:Alt + 2
注:在newplug中,大多数插件需要修改的插件,基本都是中文名。
待续




强帖,期待后续.
[回复]
飞剑大侠,插件好用,24号更新的又有点下问题,就是自动战斗里的健不能保存,每次都要点保存,默认没用,有时间麻烦修改下
[回复]
老大救命啊,今天维护以后登录又出现黑屏了
[回复]
老大,解决了,是和波波虎冲突了。
顺便再问个问题,气武110级技能咋不能自动挂机
[回复]
拜读了,受益匪浅,自己可以按需要修改了,感觉真好:)
2.24版的超级老包会出现反复买菜或合玄的问题,我换回了原来的
快速祈福停不下来,我存了40多次一点全用完了,祈到好的状态又被后面的冲掉了,这个我也去掉了:S
右侧工具栏队控里的开光影石、军营相关里的开魔晶石还有N键面板里的采光影石我只保留了一个
[回复]
现在有新的工具条了。布衣隐的工具条很好。使画面更简洁。希望飞剑抽空换个
[回复]