我下载拉一个剑侠世界插件下载的安装包,但是打开...

后使用快捷导航没有帐号?
查看: 8403|回复: 74
新人欢迎积分1 阅读权限70积分7340精华2UID3938012帖子金钱4388 威望3
Lv.7, 积分 7340, 距离下一级还需 2660 积分
UID3938012帖子威望3 多玩草884 草
本帖最后由 吃了出错 于
12:45 编辑
& & 大家好,看这个帖子之前请先浏览一下我之前发的一个帖子插件菜鸟浅谈如何打造适合自己的插件
& & 在上次的帖子里只是比较浅的谈了一下,而且第四部分:改造情况四:自定义功能面板、队控功能(主要基于耍耍ST版面板)由于当时还不是太熟,所以就暂时搁置了,后来在26楼回帖中承诺不忙的时候把这部分整理一下给大家分享,最近一直没有时间,这两天趁着不忙整理了一下,这次的帖子尽可能详细的介绍如何改造,更多的是通过大量的例子来说明,这样比较直观。也算是兑现自己的承诺吧。写的比较长,不需要的随便看看就好,勿喷,有需要的朋友可以认真看看。
& & 上次的帖子中在开头已经写了一部分前言了,这里就不再赘述了,只说明一点,本贴改造是基于耍耍插件进行的,我的思路是通过耍耍原版的每个文件夹的说明来进行阐述,这样可能整体结构会比较乱,但是会比较直观。
首先看一下原版耍耍插件的interface结构:
09:12:36 上传
再来一张自己改造之后的interface文件夹:
09:12:36 上传
1、[虎]自动挖宝:
耍耍原版的挖宝插件在挖宝的过程中会随机的选择跑地图,不能把一张地图的图全部挖完之后再切换到下一地图,如果你经常上论坛的话你会发现在论坛上有骑虎难下大大发的“包[]自动挖宝强化版”,连接地址:
主要功能:
1:优化挖宝,一个地图一个地图挖过去。
2:优化挖宝,包满暂停挖宝,智能合玄,不绑不绑和,绑根绑和。
3:追加挖宝完成后智能检测包裹内箱子数量,自己买钥匙开箱子,箱子开完后,启动清包,合玄卖垃圾,一条龙服务。
& & 相对原版的挖宝,优化版挖宝更加方便快捷,同时比较适合自己的要求,所以我们要做的就是把耍耍原版里的“[虎]自动挖宝”删除,然后替换为优化版里的“自动挖宝”分包,替换完之后需要试验一下,应该没有问题,因为他的函数和耍耍原版的函数是一致的,调用面板也不需要调整。替换完成之后,我们还需要注意的是,查看一下替换文件的快捷键是否和其他插件有冲突,快捷键的查看,我们可以在所有的.lua文件中查找shortcut这个字符来查看和修改。当然,你还可以继续修改,比如我根据自己的使用习惯,把挖图完成后的回城地点设在了凤翔。关于地点的设定后面会有提到,这里不再赘述。
2、[冥]_地图详细坐标跑宝图
& & 这个文件夹里只有一点需要说明的,就是wanted_killnpc.txt文件,在这里我们可以添加很多需要在地图上显示的点,很简单,我们可以看一下该文件的结构:
09:12:36 上传
& & 其中的红色部分是我自己增加的,大家可以看到,我在原版的基础上增加了我以前记忆中的隐藏55BB坐标点,其实就是把原有的一行进行复制,增加一行,然后把坐标点的两个坐标值改一下就OK了,坐标点的采集在耍耍插件中快捷键是ALT+1,很方便。在这里给大家放上我自用的wanted_killnpc.txt文件
(11.73 KB, 下载次数: 204)
09:12:36 上传
下载次数: 204
下载积分: 金钱 -5
(左键点击下载)
,增加了几乎所有的隐藏55BB点,和基本上最全的楼兰小怪点和羚羊出生点显示,效果如图:
09:12:36 上传
& & 怎么样,很简单吧。
3、背包负重指示器:
& & 没什么好改的,后面类似这种没有什么改的就直接跳过了啊
4、多点挂机:
& & 这个给大家讲一下我进行修改的经过:我们知道原版的只有八个挂机点,可能对于某些朋友来说是不够的,尤其是对于刷皇陵的朋友,那我们首先来看如何添加更多的挂机点呢,我们打开MPGua.lua文件,看到以下两段:
tbMPGua.BTN_CLOSE
=&BtnClose&;
tbMPGua.BTN_POS1
=&BtnPos1&;
tbMPGua.EDT_POS1
=&EdtPos1&;
tbMPGua.BTN_POS2
=&BtnPos2&;
tbMPGua.EDT_POS2
=&EdtPos2&;
tbMPGua.BTN_POS3
=&BtnPos3&;
tbMPGua.EDT_POS3
=&EdtPos3&;
tbMPGua.BTN_POS4
=&BtnPos4&;
tbMPGua.EDT_POS4
=&EdtPos4&;
tbMPGua.BTN_POS5
=&BtnPos5&;
tbMPGua.EDT_POS5
=&EdtPos5&;
tbMPGua.BTN_POS6
=&BtnPos6&;
tbMPGua.EDT_POS6
=&EdtPos6&;
tbMPGua.BTN_POS7
=&BtnPos7&;
tbMPGua.EDT_POS7
=&EdtPos7&;
tbMPGua.BTN_POS8
=&BtnPos8&;
tbMPGua.EDT_POS8
=&EdtPos8&;
elseifszWnd == self.BTN_POS1 then
local nMapId,nX,nY =me.GetWorldPos();
self.nMapId=nMapId;
self.tbPos[1]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS1, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS2 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[2]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS2, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS3 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[3]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS3, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS4 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[4]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS4, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS5 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[5]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS5, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS6 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[6]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS6, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS7 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[7]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS7, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS8 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[8]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS8, &(&..nX..&,&..nY..&)&);
& & 大家可以看到,这两段的结构都是重复的,而且这两段显然都是进行抓点的关键语句,我们看不懂不要紧(我也看不懂),但是我们需要清楚,这些语句既然是重复的(数字依次递增),那么就可能是可增加的,我们只需要按照相同的格式进行增加就OK了,OK,比如12个点:
tbMPGua.BTN_CLOSE =&BtnClose&;
tbMPGua.BTN_POS1& & =&BtnPos1&;
tbMPGua.EDT_POS1& & =&EdtPos1&;
tbMPGua.BTN_POS2& & =&BtnPos2&;
tbMPGua.EDT_POS2& & =&EdtPos2&;
tbMPGua.BTN_POS3& & =&BtnPos3&;
tbMPGua.EDT_POS3& & =&EdtPos3&;
tbMPGua.BTN_POS4& & =&BtnPos4&;
tbMPGua.EDT_POS4& & =&EdtPos4&;
tbMPGua.BTN_POS5& & =&BtnPos5&;
tbMPGua.EDT_POS5& & =&EdtPos5&;
tbMPGua.BTN_POS6& & =&BtnPos6&;
tbMPGua.EDT_POS6& & =&EdtPos6&;
tbMPGua.BTN_POS7& & =&BtnPos7&;
tbMPGua.EDT_POS7& & =&EdtPos7&;
tbMPGua.BTN_POS8& & =&BtnPos8&;
tbMPGua.EDT_POS8& & =&EdtPos8&;
tbMPGua.BTN_POS9& & =&BtnPos9&;
tbMPGua.EDT_POS9& & =&EdtPos9&;
tbMPGua.BTN_POS10&&=&BtnPos10&;
tbMPGua.EDT_POS10&&=&EdtPos10&;
tbMPGua.BTN_POS11&&=&BtnPos11&;
tbMPGua.EDT_POS11&&=&EdtPos11&;
tbMPGua.BTN_POS12&&=&BtnPos12&;
tbMPGua.EDT_POS12&&=&EdtPos12&;
elseifszWnd == self.BTN_POS1 then
local nMapId,nX,nY =me.GetWorldPos();
self.nMapId=nMapId;
self.tbPos[1]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS1, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS2 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[2]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS2, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS3 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[3]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS3, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS4 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[4]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS4, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS5 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[5]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS5, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS6 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[6]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS6, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS7 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[7]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS7, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS8 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[8]={nX,nY};
Edt_SetTxt(self.UIGROUP, self.EDT_POS8,&(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS9 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[9]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS9, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS10 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[10]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS10, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS11 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[11]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS11, &(&..nX..&,&..nY..&)&);
elseif szWnd == self.BTN_POS12 then
local _,nX,nY = me.GetWorldPos();
self.tbPos[12]={nX,nY};
Edt_SetTxt(self.UIGROUP,self.EDT_POS12, &(&..nX..&,&..nY..&)&);
& & OK,这是已经增加过的了,下一步我们还需要注意一点,搜索所有和8有关的数字改为12,因为我们知道原有插件的所有语句都是基于8个挂机点来写的,那么我们应该想到需要把其他和挂机点个数有关的语句也要调整,否则很有可能没有效果。
& & OK,全部改完之后执行语句已经基本没有问题了,但是这个插件还有一个问题,它是用面板调出的,而原有的面板只有八个点位,所以接下来我们还需要修改一下对应的.ini文件,也就是面板配置文件。
& & 打开MPGua.ini文件,来看下面的语句:
WndType=WndText
Parent=Main
Text=挂机点1:
Color=white
WndType=WndEdit
Parent=Main
Color=yellow
WndType=WndButton
Parent=Main
Image=\image\ui\001a\common\btn_2ch.spr
Label=抓点
Color=blue
DisableFrame=3
LabelYOffset=3
WndType=WndText
Parent=Main
Text=挂机点2:
Color=white
WndType=WndEdit
Parent=Main
Color=yellow
WndType=WndButton
Parent=Main
Image=\image\ui\001a\common\btn_2ch.spr
Label=抓点
Color=blue
DisableFrame=3
LabelYOffset=3
WndType=WndText
Parent=Main
Text=挂机点3:
Color=white
WndType=WndEdit
Parent=Main
Color=yellow
WndType=WndButton
Parent=Main
Image=\image\ui\001a\common\btn_2ch.spr
Label=抓点
Color=blue
DisableFrame=3
LabelYOffset=3
& & 这里同样可以看到绝大多数的语句都是重复的top=这一行是逐渐递增的,我相信大家应该都能看的懂这些语句的意思吧,这里top显然是指对应面板里的高度,同样,我们按照相同的递增幅度添加9-12点就可以了,很简单的,分割线后面的面板语言也需要进行相应的高度调整。这里不再赘述。
& & 顺便说一句,如果你发现面板整体的调出位置在屏幕上不太合适的话,你还需要在对应的MPGua.lua文件中找到:Ui:RegisterNewUiWindow(&UI_MULTIPOSGUA&,&MPGua&, {&a&,101, 70}, {&b&,402, 222},{&c&,502, 222});这个语句的作用是定义插件面板调出在屏幕上的初始位置,分别对应800*600,0*800分辨率下的位置,101,70分别代表了高低和左右,大家可以自己摸索着进行多次修改,直到找到适合自己的位置。
& & 下面再来说一下修改一层挂机合玄的思路:
先看原版的以下代码(这里以耍耍最新版里带的多点挂机为例):
if(mypos==2and math.abs(nX-1746)&5 and math.abs(nY-3196)&5) then&&--到安全区第2点【秦始皇陵三层】(218.199),96&
& && && && && && && &self.nState=4;
& && && && && && && &
& && && && &&&end
& && && && &&&if(mypos==1 andmath.abs(nX-1762)&5 and math.abs(nY-3191)&5) then&&--到安全区第1点【秦始皇陵三层】(220.199),91&
& && && && && && && &mypos=2;
& && && && && && && &
& && && && &&&end
& && && && &&&if(mypos==0 andmath.abs(nX-1789)&3 and math.abs(nY-3240)&3) then&&--进安全区第1点【秦始皇陵三层】(223.202),40&
& && && && && && && &mypos=1;
& && && && &&&end
& && && && &&&if(mypos==0) then
& && && && && && && &me.AutoPath();
& && && && &&&end
& && && && &&&if(mypos==1) then
& && && && && && && &self:MoveTo();& && && && & --进入方向走动;
& && && && && && && &return& && &0.1* Env.GAME_FPS;&&
& && && && &&&end
& && && && &&&if(mypos==2) then
& && && && && && && &self:MoveTo();
& && && && && && && &return& && &0.1* Env.GAME_FPS;& && && &
& && && && &&&end
& && & elseif (self.nState==4) then& & --步骤 4& && && && && &--到安全区 合X 买菜买药 修理 全做...
& && && && &&&local nIndex_YeSou& && & =0;
& && && && &&&local nIndex_YeLianShi =0;
& && && && &&&if(self.nTimes%6==0) then
& && && && && && && &Txt_SetTxt(self.UIGROUP,self.TXT_POS,&【&..GetMapNameFormId(self.nMapId)..&】安全区买菜 买药 修理 合X&);
& && && && &&&end
& && && && &&&if me.nTemplateMapId == 1538 then
& && && && && && && &local tbAroundNpc = KNpc.GetAroundNpcList(me,200);
& && && && && && && &for i=1,#tbAroundNpc do
& && && && && && && && && & if(nIndex_YeSou&0and nIndex_YeLianShi&0) then
& && && && && && && && && && && &&&
& && && && && && && && && & end
& && && && && && && && && & if(tbAroundNpc[ i ].nTemplateId==2447)then&&
& && && && && && && && && && && &&&nIndex_YeSou=tbAroundNpc.nI
& && && && && && && && && & end
& && && && && && && && && & if(tbAroundNpc[ i ].nTemplateId==3574)then&&
& && && && && && && && && && && &&&nIndex_YeLianShi=tbAroundNpc.nI
& && && && && && && && && & end
& && && && && && && &end
& && && && && && && &if(nIndex_YeSou==0 ornIndex_YeLianShi==0) then
& && && && && && && && && &
& && && && && && && &end
& && && && &&&end
& && && && &&&if me.nTemplateMapId == 1536 then
& && && && && && && &nIndex_YeSou =UiManager:GetAroundNpcId(2443)
& && && && && && && &if not nIndex_YeSou then
& && && && && && && && && & self:MoveTo();
& && && && && && && && && & return
& && && && && && && &end
& && && && &&&end
& && && && &&&if(self.nHX1==1) then
& && && && && && && &localbHeX,ts=self:HeXuan(nIndex_YeLianShi);
& && && && && && && &if(bHeX==1) then
& && && && && && && && && &
& && && && && && && &end
& && && && &&&end
& && && && &&&local nCount_Cai =me.GetItemCountInBags(19,3,1,5);
& && && && &&&if (nCount_Cai&5 andUiManager:WindowVisible(Ui.UI_SHOP) == 1) then
& && && && && && && &me.ShopBuyItem(825,5-nCount_Cai);
& && && && && && && && &UiNotify:OnNotify(UiNotify.emUIEVENT_REPAIRALL_SEND);
& && && && && && && &self.bAutoClose& && &=1 ;
& && && && && && && &return& && &1* Env.GAME_FPS;
& && && && &&&end
& && && && &&&if(nCount_Cai&5 andUiManager:WindowVisible(Ui.UI_SAYPANEL) ~= 1) then& &
& && && && && && && &AutoAi.SetTargetIndex(nIndex_YeSou);
& && && && && && && &return& && &1* Env.GAME_FPS;
& && && && &&&end
& && && && &&&if (nCount_Cai&5 andUiManager:WindowVisible(Ui.UI_SAYPANEL) == 1) then
& && && && && && && &me.AnswerQestion(1);
& && && && && && && &self.bAutoClose& && &=1 ;
& && && && && && && &return& && &1* Env.GAME_FPS;
& && && && &&&end
& && && && &&&localnCount_HuiTianD=me.GetItemCountInBags(17,1,1,4);
& && && && &&&localnCount_JiuZhuanD=me.GetItemCountInBags(17,1,1,5);
& && && && &&&localnCount_DaBuSan=me.GetItemCountInBags(17,2,1,4);
& && && && &&&localnCount_ShouWuD=me.GetItemCountInBags(17,2,1,5);
& && && && &&&if (self.nRedDrugType==1 andself.nBlueDrugType==1 and UiManager:WindowVisible(Ui.UI_SHOP) == 1) then
& && && && && && && &me.ShopBuyItem(679,self.nRedNum-nCount_HuiTianD);& && &&&--679回天丹 680九转丹 684大补散 685首乌丹
& && && && && && && &me.ShopBuyItem(684,self.nBlueNum-nCount_DaBuSan);
& && && && && && && && &UiNotify:OnNotify(UiNotify.emUIEVENT_REPAIRALL_SEND);
& && && && && && && &self.bAutoClose& && &=1 ;
& && && && && && && &return& && &3* Env.GAME_FPS;
& && && && &&&end
& && && && &&&if (self.nRedDrugType==1 andself.nBlueDrugType==2 and UiManager:WindowVisible(Ui.UI_SHOP) == 1) then
& && && && && && && &me.ShopBuyItem(679,self.nRedNum-nCount_HuiTianD);& && &&&--679回天丹 680九转丹 684大补散 685首乌丹
& && && && && && && &me.ShopBuyItem(685,self.nBlueNum-nCount_ShouWuD);& && &
& && && && && && && && &UiNotify:OnNotify(UiNotify.emUIEVENT_REPAIRALL_SEND);
& && && && && && && &self.bAutoClose& && &=1 ;
& && && && && && && &return& && &3* Env.GAME_FPS;
& && && && &&&end
& && && && &&&if (self.nRedDrugType==2 andself.nBlueDrugType==1 and UiManager:WindowVisible(Ui.UI_SHOP) == 1) then
& && && && && && && &me.ShopBuyItem(680,self.nRedNum-nCount_JiuZhuanD);
& && && && && && && &me.ShopBuyItem(684,self.nBlueNum-nCount_DaBuSan);& && &&&--679回天丹 680九转丹 684大补散 685首乌丹
& && && && && && && && &UiNotify:OnNotify(UiNotify.emUIEVENT_REPAIRALL_SEND);
& && && && && && && &self.bAutoClose& && &=1 ;
& && && && && && && &return& && &3* Env.GAME_FPS;
& && && && &&&end
& && && && &&&if (self.nRedDrugType==2 andself.nBlueDrugType==2 and UiManager:WindowVisible(Ui.UI_SHOP) == 1) then
& && && && && && && &me.ShopBuyItem(680,self.nRedNum-nCount_JiuZhuanD);
& && && && && && && &me.ShopBuyItem(685,self.nBlueNum-nCount_ShouWuD);& && && && &&&--679回天丹 680九转丹 684大补散 685首乌丹
& && && && && && && && &UiNotify:OnNotify(UiNotify.emUIEVENT_REPAIRALL_SEND);& && && & --普通修理
& && && && && && && &self.bAutoClose& && &=1 ;
& && && && && && && &return& && &3* Env.GAME_FPS;
& && && && &&&end
& && && && &&&local bFlag=0;
& && && && &&&if((self.nRedDrugType==1 andnCount_HuiTianD&self.nRedNum) or (self.nRedDrugType==2 andnCount_JiuZhuanD&self.nRedNum)) then
& && && && && && && &bFlag=1;
& && && && &&&end
& && && && &&&if((self.nBlueDrugType==1 andnCount_DaBuSan&self.nBlueNum) or (self.nBlueDrugType==2 andnCount_ShouWuD&self.nBlueNum)) then
& && && && && && && &bFlag=1;
& && && && &&&end
& && && && &&&if(bFlag==1 andUiManager:WindowVisible(Ui.UI_SAYPANEL) ~= 1) then& &
& && && && && && && &AutoAi.SetTargetIndex(nIndex_YeSou);
& && && && && && && &return& && &1* Env.GAME_FPS;
& && && && &&&end
& && && && &&&if (bFlag==1 andUiManager:WindowVisible(Ui.UI_SAYPANEL) == 1) then
& && && && && && && &me.AnswerQestion(0);
& && && && && && && &self.bAutoClose& && &=1 ;
& && && && && && && &return& && &1.5* Env.GAME_FPS;
& && && && &&&end
& && && && &&&--------------------------------------
& && && && &&&if me.nTemplateMapId == 1538 then
& && && && && && && &self.nState=5;
& && && && &&&else
& && && && && && && &self.nState=9;
& && && && &&&end
& && && && &&&mypos=0;
& && & elseif (self.nState==5) then& && && &&&--步骤 5
& && && && &&&if(self.nTimes%6==0) then
& && && && && && && &Txt_SetTxt(self.UIGROUP,self.TXT_POS,&【&..GetMapNameFormId(self.nMapId)..&】走出安全区&);
& && && && &&&end
& && && && &&&local _,nX,nY = me.GetWorldPos();
& && && && &&&if(mypos==3 andmath.abs(nX-1746)&5 and math.abs(nY-3267)&5) then&&--到非安全区后第1点【秦始皇陵三层】(218.204),67&
& && && && && && && &self.nState=1;
& && && && && && && &return& && &0.3* Env.GAME_FPS;
& && && && &&&end
& && && && &&&if(mypos==0 andmath.abs(nX-1786)&5 and math.abs(nY-3190)&5) then&&--出安全区第1点【秦始皇陵三层】(223.199),90&
& && && && && && && &me.Msg(&到1点了&);
& && && && && && && &mypos=1;
& && && && &&&elseif(mypos==1 andmath.abs(nX-1813)&3 and math.abs(nY-3216)&3) then --出安全区第2点【秦始皇陵三层】(226.201),16&
& && && && && && && &me.Msg(&到2点了&);
& && && && && && && &mypos=2;
& && && && &&&elseif(mypos==2 andmath.abs(nX-1801)&5 and math.abs(nY-3226)&5) then --出安全区第3点【秦始皇陵三层】(225.201),26&
& && && && && && && &me.Msg(&到3点了&);
& && && && && && && &mypos=3;
& && && && &&&end
& && && && &&&if(mypos==0) then
& && && && && && && &self:MoveTo();
& && && && && && && &return& && &0.1* Env.GAME_FPS;
& && && && &&&end
& && && && &&&if(mypos==1) then
& && && && && && && &self:MoveTo();
& && && && && && && &return& && &0.1* Env.GAME_FPS;
& && && && &&&end
& && && && &&&if(mypos==2) then
& && && && && && && &self:MoveTo();
& && && && && && && &return& && &0.1* Env.GAME_FPS;
& && && && &&&end
& && && && &&&if(mypos==3) then
& && && && && && && &self:MoveTo();
& && && && && && && &return& && &0.1* Env.GAME_FPS;
& && && && &&&end
& & OK,通篇浏览整个多点挂机的代码后我们可以发现,以上的段落是专门负责定义去安全区合玄、买药、买菜的,其他的部分关系不大,我们重点看这一部分,可以发现我们需要修改的仅仅是一些坐标点和NPC代码即可,以为合玄、买药、买菜这些功能你不管是在那个地图进行,他们的代码应该都是一样的。首先我们需要明白原有这些坐标点代表的意义,这就需要我们跑到三层后找到这些坐标点,看看这些坐标点到底代表了什么位置呢,以前改的时候我都在后面标注上了,后来找不到了- -,只是记得有些坐标点是代表进入安全区的临界坐标,有些坐标代表了进入安全区后的初始位置,有些坐标代表了冶炼大师旁边的位置等等,知道这些坐标点后我们再来看这些语言的含义,可以看到if(mypos==1) then这样的语句是定义了不同的情况,就是说如果人物处于这个状态的时候就执行后面的语句,其实这些语句的含义都不难理解,大家只要仔细研究一下就发现,我们只要把三层的地图代码和相对应三层含义的坐标点替换为一层对应相同含义的坐标点,那么应该就可以在一层实现同样的效果,不是么,这里不再赘述详细的修改过程,需要在修改的过程中使用大量的ALT+1或者ALT+2操作来确认坐标点和NPC代码。这里只是给大家讲一下思路而已了。
& & OK,还要说的一点修改是合玄的金钱,像我就是因为绑银不够,必须用不绑银进行合玄,我们来看多点挂机里合玄的代码,因为我们需要改的是关于钱的代码,我们只需要在整个文档中去找有关钱的代码就OK了,我们不难找到这一句:
if(UiManager:WindowVisible(Ui.UI_EQUIPENHANCE) == 1) then
& && && && && && && &for i=1,nDenJi do
& && && && && && && && && & if&&nCount &=4 then
& && && && && && && && && && && &&&self:MyFindItem2(18,1,1,i,1,4,114);
& && && && && && && && && && && &&&me.ApplyEnhance(Item.ENHANCE_MODE_COMPOSE,Item.BIND_MONEY);
& && && && && && && && && && && &&&returnbFlag,1* Env.GAME_FPS;
& && && && && && && && && & end
& && && && && && && &end
& && && && &&&end
& & 稍有英文基础的都应该能够看出来这里BIND_MONEY代表了绑银的意思,我们只要把它替换为不绑银的代码不就OK了么,呵呵,大家都知道耍耍版里是有不绑银合不绑玄的功能的,所以我们不知道不绑银的代码的话只要在耍耍版里合玄的相关语句就可以找到了,也就是superbao.lua这个文件里搜索MONEY这个关键词,很快我们就能发现不绑银的代码是NORMAL_MONEY,所以就很快可以实现用不绑银进行多点挂机里的合玄啦,简单吧,呵呵
5、工具条菜单:
这个相对来说比较麻烦,因为它需要和其他的插件文件进行多次的关联,所以放在最后说,同样,队控功能也放在最后说。
6、海王自动猜数字:
这个在插件里已经写得很明白了,只需要改一下领箱子的大号名称就行了。
7、耍·F12屏蔽:
这里我们可以根据自己的实际需要,比如我把其中的helpsprite.lua文件用无痕版的代替,可以显示每周声望的获得情况,这是我所需要的。另外,现在的耍耍版本身就整合了仓库满自动翻页的功能,我们就不用自己在整合代码了,感谢耍耍。
8、耍·超级老包:
这个可以说是整个插件里最复杂也是最重要的一个插件了,我们新手最后不要轻易自己改,只需要按照耍耍里很明白的提示把前面几句定义合玄等级、买菜买药数量的数字改成自己需要的就OK了。
我只是再说一下自己添加的功能,我们可以在论坛里发现师太大大关于自动存宝图和自动存玄晶的帖子:
老包完成后自动存宝图(5-6 13:30更新)
码[]自动存玄晶
OK,其实帖子里面已经把代码写得很清楚了,如果你需要这个功能的话只需要把代码往superbao.lua的最后一放就OK了,其实这两段代码大部分都很像,大家只要稍微看一下就会发现,按照同样的格式我们可以实现自动存任何东西,不是么,呵呵。OK,代码添加完成后我们还需要实现如何调用,这部分我会在在后面统一讲到,这里暂时不讲了。
9、耍·大盗面板:
这里我只添加了南宫大大的无需任务访问大盗这个文件(其实自己基本没用过,呵呵),链接地址:
无需任务依次拜访110级大盗插件(简单测试通过)而且后面南宫大大还发过如何改成90级大盗的方法,大家自己找找,很简单。
10、耍·队友追踪
在耍耍版的帖子里的5楼有添加乾坤归队的分包,我需要,所以我替换了,不再赘述。
11、耍·副工具条:
这里几乎没有什么要改造的,只是需要注意一下“地图按钮.lua”这个文件,因为我们看到实际上这个文件是定义了副工具条菜单的弹出和关闭,曾经我再刚开始尝试改造工具条菜单的时候就是忽略和这个文件导致有些子菜单无法正常关闭,还好后来耍耍大大指点迷津。里面的语句都很简单,如果你添加或者调整了工具条菜单,记得修改一下这个文件进行对应就可以了。
12、耍·跟随战斗:
autoEatRed.lua:这里修改自动吃血的比例,有注释,很简单;
autoFollow.lua:这里修改跟站频率、自动加血频率、检测反弹怪的范围等,有注释,很简单,根据自己需要改喽。
Selectnpc.lua:自动连招,大家可以根据自己需要添加或减少或调整连招顺序,有注释,很简单,自己找技能代码。
13、耍·工具条:
Tools.lua:关键文件,在耍耍问题总汇里有如何去掉自动吃白驹丸,不再赘述,这里只是给大家提个思路,自动吃白驹和精活那里,我们是不是可以自己添加吃任何东西呢,呵呵,很简单的,对吧,物品代码论坛里都有,大家自己找。另外,这里还可以对上部的工具条进行自定义和修改,但是这里不再赘述了,大家可以参考后面写的关于队控召唤那一部分,道理都是一样的,只不过这个是单控,那个是队控罢了。
自动开辅助.lua:自己根据需要添加或减少技能代码就OK了,我是没动,耍耍版的应该很完美了。
14、耍·光拾空放:
我在这里只改了峨眉空放加血技能的频率,大家可以自己根据需要修改,不过提醒一下,如果技能+2的峨眉,没有回蓝的BB的话,加血频率太高可能会不够蓝哦,我深有体会。
15、耍·名字扩展
在耍耍版的帖子里的5楼有显示敌人血量的分包,我需要,所以我替换了,不再赘述。
16、耍·任务时钟
这里唯一需要说的一点就是serverspeed.lua这个文件可以用师太大大发布的任务时间栏追踪每日事项次数(5-6更新)替换,链接:,增加了显示每周剩余大盗次数和每天逍遥次数等,有必要就换,没必要就不换,我现在用的没换,根据自己需要吧。
17、耍·探测器
这个在最早发布的帖子里就有跟大家说过思路,根据原有的插件代码,我们完全可以进行简单的复制粘贴添加NPC代码就能实现对任何你想要探测的东西进行提示,就像我之前说的比如探测逍遥里容易漏掉的怪(根据自己需要,我现在逍遥熟悉了,完全不用了)
18、耍·五行开药
逍遥药每次自动开药数量插件里写得很明白,不再赘述,其实我们只要稍微看一下耍耍大大的问题总汇和插件里的说明,很多问题自己就能解决了。
19、耍·系统配置
这里我增加了两个文件,第一个是红尘大大的系统设置面板统一,原帖地址:
第二个是骑虎难下的大大的防止错花金币买玄或者回程副,原帖地址:
这两个改造都是直接把下载下来的补丁直接放在文件夹下就OK了,我把它放在了系统配置里了,其实放在其他地方也没有问题的
另外,在这个文件夹下还有一个很实用的修改,就是把AutoGetAward.lua下的--是否自动使用每日登录奖励的赐福宝箱,默认为使用,改为0则不自动使用。
localIsUseBaoXiang
这样每个号都能自动使用每日的赐福宝箱了,也是根据个人需要修改。
20、耍·召唤队控
队控功能最最重要的文件,放在最后说。
21、耍·自动寻路
这里只提一点,我们在寻路里采集的坐标点都记录在myui.txt这里,所以如果更新插件又想保留原来自己采集的坐标点的话把这个文件保留着替换即可。
22、耍·自动战斗
& & 这里我只说三点修改的思路,第一,自动开修炼珠,比如我号比较多,原版的修炼珠是每次队控开半个小时,我根据自己的需要,用字母版插件里的同名文件对耍耍版的替换,可以实现每次开修炼珠自己选择开多长时间,我现在用的是每次开两个小时,呵呵,同样是根据自己需要修改。
& & 第二,耍·自动战斗\script\misc下的autofight_setting.lua文件,这里可以修改挂机范围,大家在不同的情况下完全可以进行不同的调整,比如我自动挂机刷皇陵的时候,范围都设置成900(挂机范围、技能范围、活动范围三个),但是当我用大号带小号刷逍遥的时候,我就把这几个数都改为3000,视野范围改为8000,这样自动战斗时的范围就更大,更方便一些。这个文件里同样可以修改自动战斗时需要自动释放的辅助技能,大家也可以根据自己需要进行增加和减少技能代码,举个最简单的例子,我把天王里的天罡战气的代码去掉了,因为自动战斗中如果枪天自行释放这个辅助技能对于叠加攻击不利,不如手动释放,所以我去掉了,还是那句话,一切根据自己的需要。
& & 第三,耍·自动战斗\script\misc下的autofight.lua文件,这里有优先攻击某种怪的代码,我们看:
& && & if self.nPvpMode == 0 and(math.mod(self.nCounter, 6) == 0) and me.nTemplateMapId & 297 then
& && & local tbAroundNpc = KNpc.GetAroundNpcList(me, 35);
& && & for _, pNpc in ipairs(tbAroundNpc) do
& && && && &&&local szName = pNpc.szN
& && && && &&&if (string.find(szName,&工匠头领&)) or (string.find(szName,&白府家丁长&)) or (string.find(szName,&幽冥狼王&)) or (string.find(szName,&碧水蜈&)) or (string.find(szName,&尸逐达鲁&)) or ((string.find(szName,&鬼使&)) and me.nTemplateMapId == 1536 and(me.nPkModel == Player.emKPK_STATE_PRACTISE)) or ((string.find(szName,&百夫长&)) and me.nTemplateMapId == 1538 and(me.nPkModel == Player.emKPK_STATE_PRACTISE)) then
& && && && && && && &if (pNpc.nDoing ~= 10 andpNpc.nDoing ~= 20 and pNpc.nKind ~= 1) then
& && && && && && && && && & AutoAi.SetTargetIndex(pNpc.nIndex);
& && && && && && && &end
& && && && && && && &break
& && && && &&&end
& && & end
& && & local tbAroundNpc = KNpc.GetAroundNpcList(me, 35);
& && & for _, pNpc in ipairs(tbAroundNpc) do
& && && && &&&if pNpc.nTemplateId == 3146 orpNpc.nTemplateId == 3149 or pNpc.nTemplateId == 3152 or pNpc.nTemplateId ==3157 or pNpc.nTemplateId == 3177 or pNpc.nTemplateId == 3193 orpNpc.nTemplateId == 3277&&orpNpc.nTemplateId == 6939&&then
& && && && && && && &if (pNpc.nDoing ~= 10 andpNpc.nDoing ~= 20 and pNpc.nKind ~= 1) then
& && && && && && && && && & AutoAi.SetTargetIndex(pNpc.nIndex);
& && && && && && && &end
& && && && && && && &break
& && && && &&&end
& && & end
& && & end
& & 耍耍大大在最新版的插件里添加了地图的判断,也就是防止在皇陵里面不同的层针对同样的怪会造成混乱,但是我自己测试的时候感觉加了这个地图判断的代码后需要有反应时间,不能再第一时间对指定的怪攻击,所以我就用原来耍耍大大最早发出的代码进行了替换,效果是不再判断地图,直接进行特殊怪攻击。OK,还是根据个人需要那句话。
长篇大论,楼主V5了!
总评分:&金钱 + 200&
多玩草 + 200&
新人欢迎积分1 阅读权限70积分7340精华2UID3938012帖子金钱4388 威望3
Lv.7, 积分 7340, 距离下一级还需 2660 积分
UID3938012帖子威望3 多玩草884 草
24、召唤队控和工具条菜单
说实话,我真的不知道要怎么写这一部分,因为要解释的东西太多了,试着写一下吧,尽量能让和我一样的新手们看着简单明了。
Popbar.lua这个文件,对于耍耍版插件来说是最最重要的文件了,因为它定义了大多数的队控功能,我们还是来一点一点看吧:
先来举个最简单的列子,队控到达某些位置:请允许我偷个懒,这部分请参阅我之前的帖子的改造情况一,里面写的很清楚插件菜鸟浅谈如何打造适合自己的插件
不过上次说的只是再原有的基础上修改坐标,今天给大家说一下怎么添加,比如我想用过无痕插件的朋友都知道,无痕插件比耍耍插件中多了皇陵的相关选项,比如队控去皇陵入口、二层、三层、四层等等,那么我想在耍耍插件里添加进同样的寻路功能,该如何来做呢,OK,先看我改好的一个列子:
uiPopBar.TTB1=
{& 队回★ 一安 &},
{& 队回★ 三安 &},
{& 队回★ 四层 &},
{& 队回★ 三层 &},
{& 队回★ 二层 &},
{& 队回★ 入口 &},
{& 队回★ 石鼓 &},
{& 队回★ 商会 &},
{& 队回★ 凤翔 &},
{& 队回★ 军营 &},
{& 队回★ 军需 &},
这里定义了游戏中显示的部分
uiPopBar.OnMenuItemSelected=function(self,szWnd,nItemId, nParam)
if szWnd == BTNTTB1 then
if nItemId==1 then
if me.nTeamId & 0 then
SendChannelMsg(&Team&,&--一安耍&);
if me.nTemplateMapId ~= 1536 then
UiManager:OpenWindow(&UI_INFOBOARD&,&&bclr=red&&color=yellow&该功能只能在秦皇陵一层非安全区使用~&)
me.StartAutoPath();
这里定义了是否组队,如果组队,那么效果就是队控发出消息“--一安耍”,如果没有组队且地图不在皇陵一层(1536)就在屏幕上显示“该功能只能在秦皇陵一层非安全区使用”,其他情况(也就是在皇陵一层)那么久执行me.StartAutoPath();这里的坐标是一个从安全区外面进安全区的临界坐标,大家可以自己在游戏里自行查找(ALT+1)
elseifstring.find(szMsg,&--一安耍&) andstype==&队伍& and callStart== 1 then
if (me.IsDead() ==1) then
me.SendClientCmdRevive(0);
ifme.nAutoFightState == 1 then
AutoAi.ProcessHandCommand(&auto_fight&,0);
if me.nTemplateMapId~= 1536 then
UiManager:OpenWindow(&UI_INFOBOARD&,&&bclr=red&&color=yellow&该功能只能在秦皇陵一层非安全区使用~&)
me.StartAutoPath();
这一部分定义了如果发现处于组队情况,同时发现队聊里出现了&--一安耍&这条消息,那么全队关闭自动战斗,同时对地图进行判断,执行寻路语句。OK,搞懂这三部分,已经具备了修改队控功能的基本知识。
那我在进行这部分修改的时候曾今遇到这样的问题,就是第一部分我添加了那些项之后却在游戏里显示不出来,后来经过仔细查看整个代码我发现这一部分是关键部分:
elseifszWnd == BTNTTB1 then
DisplayPopupMenu(
self.UIGROUP,
self.TTB1[1][1],
self.TTB1[2][1],
self.TTB1[3][1],
self.TTB1[4][1],
self.TTB1[5][1],
self.TTB1[6][1],
self.TTB1[7][1],
self.TTB1[8][1],
self.TTB1[9][1],
self.TTB1[10][1],
self.TTB1[11][1],
这里原版是这有7个按钮,而我这里添加完成后应该有11个按钮,所以这里我们只需要按照固定的格式添加到相应的数字就OK了,改完之后我们在游戏里就能看到全部的按钮了。
还有一个最简单实用的例子,就是队控扔东西,上次的帖子里也有提到,这里给大家看一下我改好的,一目了然,大家都可以根据自己需要进行添加或者减少:
elseifstring.find(szMsg,&--扔逍遥材料耍&)and stype==&队伍& and callStart== 1 then
if me.nFaction == 5 then
local tbItem = me.FindItemInBags(18,1,1,1)[1]& & --1级玄晶
or me.FindItemInBags(18,1,1,2)[1]& && && && && && && & --2级玄晶
or me.FindItemInBags(18,1,1,3)[1]& && && && && && && & --3级玄晶
or me.FindItemInBags(18,1,1,4)[1];& && && && && && && &--4级玄晶
if tbItem then
me.ThrowAway(tbItem.nRoom,tbItem.nX, tbItem.nY);
me.Msg(&&color=yellow&没有逍遥材料&color&&);
elseif string.find(szMsg,&--扔逍遥牌子耍&) and stype==&队伍& and callStart == 1 then
local tbItem =me.FindItemInBags(18,1,289,10)[1]--逍遥令牌
or me.FindItemInBags(18,1,289,9)[1]--逍遥令牌
or me.FindItemInBags(18,1,289,8)[1]--逍遥令牌
or me.FindItemInBags(18,1,289,7)[1]--逍遥令牌
orme.FindItemInBags(22,1,35,1)[1]--逍遥材料
or me.FindItemInBags(22,1,37,1)[1]--逍遥材料or me.FindItemInBags(22,1,39,1)[1]--逍遥材料
or me.FindItemInBags(22,1,41,1)[1]--逍遥材料
or me.FindItemInBags(22,1,43,1)[1]--逍遥材料
or me.FindItemInBags(18,1,543,1)[1]--同伴经验书
or me.FindItemInBags(18,1,247,1)[1]--万花谷熊皮
or me.FindItemInBags(18,1,111,1)[1]--白虎牌子
or me.FindItemInBags(18,1,111,2)[1]--白虎牌子
or me.FindItemInBags(18,1,111,3)[1]--白虎牌子
or me.FindItemInBags(18,1,110,1)[1]--家族牌子
or me.FindItemInBags(18,1,110,2)[1]--家族牌子
or me.FindItemInBags(18,1,110,3)[1]--家族牌子
or me.FindItemInBags(18,1,81,1)[1]--门派牌子
or me.FindItemInBags(18,1,81,2)[1]--门派牌子
or me.FindItemInBags(18,1,81,3)[1]--门派牌子
or me.FindItemInBags(18,1,107,1)[1]--秘药
or me.FindItemInBags(18,1,84,1)[1]--义军令牌
or me.FindItemInBags(22,1,73,1)[1]--夜明珠碎片
or me.FindItemInBags(22,1,75,1)[1]--长明灯部件
or me.FindItemInBags(22,1,77,1)[1]--搬山印碎片
or me.FindItemInBags(22,1,79,1)[1]--摸金符碎片
or me.FindItemInBags(22,1,69,1)[1]--收获的果实
or me.FindItemInBags(22,1,9,8)[1]--雪莲
or me.FindItemInBags(22,1,9,10)[1];--虫草
if tbItem thenme.ThrowAway(tbItem.nRoom,tbItem.nX, tbItem.nY);
me.Msg(&&color=yellow&没有逍遥牌子&color&&);end
是不是很简单呢,呵呵。
OK,下面还是要讲讲队控菜单是如何实现和调用这些队控功能的。
我们从最直观的工具条菜单看起,还是通过举例说明吧。
先来看整体菜单:
09:21:49 上传
这里能够看出如刚才所说的添加了队控皇陵自动寻路的效果,另外工具条菜单的顺序和颜色也有调整,我把自己最常用的逍遥、杂项和白虎放在了一起,同时颜色调整为最鲜艳的红色,便于自己看到。这里只需要改变对应的.ini界面文件就可以实现,来看\interface\工具条菜单里的showtimemulu.ini文件,举例说明:
WndType=WndButton
Parent=Main
Image=\image\ui\001a\common\btn_4ch.spr
DownOver=2
Label=逍遥
LabelXOffset=4
LabelYOffset=3
这段代码定义了第八个按钮的界面,我们只需要在原版的基础上修改Label=逍 遥 这一句就可以轻易的调整你自己想要的界面顺序了,Color=red而这一句则定义了界面上字体的颜色,自己替换成自己喜欢的颜色就OK了,非常简单,其他的不用动,没有必要变动。其他的都类似啦。
界面修改成你想要的效果之后,还必须对定义功能的对应的.lua文件进行调整,否则你点上去按钮可能出现的是其他功能。OK,我们再来看showtimemulu.lua这个文件:
elseif(szWnd == self.BTNST8) then
& && && && &&&UiManager:SwitchWindow(Ui.UI_SHOWTIMEMULU);
& && && && &&&UiManager:SwitchWindow(Ui.UI_SHOWTIMEE);
大家可以看到,这里面代码的意思就是如果你按了第8个按钮,那么就关闭总菜单目录,同时打开对应的SHOWTIMEE子菜单,有点英文基础的都很容易明白不是么,呵呵。
OK,这里必须说明一下,如果你添加了更多的SHOWTIME X(这里的X代表增加的项的字母)自定义的菜单项,那么一定要去到“耍·副工具条”文件夹里的“地图按钮.lua”看一下:
if(UiManager:WindowVisible(Ui.UI_SHOWTIMEF) == 1) then
& && && && && && && &UiManager:CloseWindow(Ui.UI_SHOWTIMEF)
这里是原版耍耍里没有的SHOWTIMEF项,对应我面板里的杂项按钮,这里按照原版的格式复制粘贴改个字母就OK了,那么这句话的意思就是你要返回主菜单的时候如果子菜单F是开着的,那么就关闭它。
下面我们来看最关键的部分,如何通过点击菜单的按钮实现相应的游戏中的效果:
这里我先以耍耍原版中的一个例子说明,再来说如何自己添加:
比如“逍遥”按钮里的“逍二”:我们知道在游戏里的效果是点击该按钮后队控跑到逍遥引路人处然后进入逍遥二,先来看工具条菜单showtimee.lua:
tbShowTimeE.OnButtonClick=function(self,szWnd,nParam)
& && & if (szWnd == self.BTNST1) then
& && && && &&&Map.tbSuperCall:Callto13()& && && & --队控进逍遥一
& && & elseif (szWnd == self.BTNST2) then
& && && && &&&Map.tbSuperCall:Callto14()& && && & --队控进逍遥二
对应语句的意思是:如果按了第二个按钮(后面有注释,就是进逍遥二),那么执行Map.tbSuperCall:Callto14()这个代码,我们可以称为环节一,OK,老手应该都明白是什么意思了,新手可能还不太清楚,我自己的理解这里耍耍大大只是为了工具条菜单的体现将多数执行语句都用相应的简化语句Map.tbSuperCall:Callto(XX)这样一种形式来定义,方便队控菜单的制作,这里真的要膜拜一下耍耍,其实语言倒不是很复杂,关键是创意和思路!
OK,接下来我们来找Map.tbSuperCall:Callto14()到底代表着什么呢,来看popbar.lua,也就是我刚才说的队控里最关键的一个文件,我们查找关键字“Callto14()”,找到以下语句:
functiontbSuperCall:Callto14()
& && & SendChannelMsg(&Team&,&--进逍遥2耍&);
OK,这个部分的意思就是如果发现了需要执行Map.tbSuperCall:Callto14()命令的情况,那么在游戏中发送队聊消息&--进逍遥2耍&,这里是环节二。
OK,我们接着找下一步插件需要做什么,在文件中查找进“逍遥2耍”,找到下面的代码:
elseifstring.find(szMsg,&--进逍遥2耍&) and stype==&队伍& and callStart == 1 then
& && && && && && && && && & UiManager:XiaoYao2()& && && &--进逍遥二
这里的意思是如果在聊天频道里发现了&--进逍遥2耍&,且处于组队状态且队控开启,那么执行:
UiManager:XiaoYao2()
这个代码,这里是环节三。
下面要做的是找到UiManager:XiaoYao2()
,可以称为环节四吧。这里需要对插件的整体结构有一定的了解,这个语句在supermaplink.lua中,代码:
-- 自动进逍遥2
functiontbSuperMapLink:XiaoYao2()
& && & if me.nTemplateMapId == 342 then
& && && && &&&
& && & end
& && & --local nMapId = me.GetWorldPos();
& && & --local szLink =&,&..nMapId..&,&;
& && & local szLink = &,23,3237,2,&;
& && & UiManager.tbLinkClass[&npcpos&]:OnClick(szLink);
关键语句是local szLink = &,23,3237,2,&;这里数字代表的意思:23是汴京,3237是NPCID,2代表了当打开对话界面时选择第二个选项(也就是进逍遥二了)
好吧,其实,作为一个像我一样的插件菜鸟,我们不需要进行环节四或者说对环节四中的代码不需要明白,我们只要知道执行了环节三之后能够实现什么效果就行,至于环节四里的代码,不懂也没有关系。
OK,我们再来回想一下,环节一:按下菜单按钮,执行对应代码;环节二:发现对应代码需要执行,发送队控消息;环节三:发现队控消息出现,执行相应代码实现效果。怎么样,思路是不是很清楚了。
OK,那接下来我再举个我自己添加的新队控功能的例子,一个最简单也是最实用的例子。
09:21:49 上传
先来看,这是我自己添加的“杂项”菜单的子菜单,里面有一些我常用的功能,先来看一个简单的例子:“队控吃菜”,首先我们要找到思路,我们知道在“家宝”菜单中有一项是“秘药”,效果是全队自动吃家族关卡中的秘药,那我们只要找到了相关的代码,在把其中的秘药代码替换为你想队控吃的任何东西都没有问题了,是吧。我们按照刚才的三个环节一步一步来找,很容易搞清楚队控吃秘药是如何实现的,最后我们发现其实执行语句就在“家宝”对应的showtimeg.lua中:
tbShowTimeG.MiYao=function(self)
& && & local tbFind =me.FindItemInBags(18,1,107,1);
& && & for j, tbItem in pairs(tbFind) do
& && && && &&&me.UseItem(tbItem.pItem);
& && && && &&&return 0;
& && & end
很容易理解,就是如果发现背包里面有(18,1,107,1)这个物品,也就是秘药,就是用它。那我们把其中的(18,1,107,1)替换为90菜,再按照刚才的三个环节添加,就很容易实现队控吃90菜的目的了,这里不再赘述。这种简单的情况是最实用的思路,就是在原有插件功能上只进行很小的修改就可以实现自己想要的功能。其实复杂点的无非是比如你在论坛上发现了一个分包或者一段代码很实用,而耍耍原版中没有,那么就把分包和代码加到合适的地方,然后用三个环节一步一步的进行添加就OK了。
好了,我想写到这里应该已经说得比较清楚了,再往深里说或者细节上说就需要太多的时间和版面了。
25、其他增加的文件夹:
(1)compose
蓬莱岛主的自定义合玄面板,非常非常实用的一个插件,很多朋友不想用四合一的方式进行合玄的,不用进行什么代码修改,只要把这个放到interface里,游戏里设置好合玄规则,看好使用说明,有些时候什么比原来的合玄还好用,呵呵,举个例子,如果你有充值特权,那么你随时随地打开合玄面板,然后点两下G就可以随时随地自动合玄了。
帖子地址:包[]自动合玄面板(增加对扩展包关闭情况的处理)
这个是我们使用了红尘大大的统一系统设置面板后自动生成的文件夹,大家只要记得在换插件的时候备份一下就OK了。
(3)耍·远程下线
耍耍原帖中五楼有提示,自己根据需要添加,直接放进去,记一下快捷键和用法就OK了。
(4)自动购买精活
红尘大大的帖子:
看一下说明,必要的话可以自己进行一些微调,插件里有提示,很简单,自己也可以做到菜单里去。
(5)自动游龙
伤感深蓝发的帖子:
看一下说明,自己修改成自己需要的。
(6)角色信息记录
这个是因为我的小号比较多,所以觉得很实用,地址大家在论坛里找找吧,我改好之后很久没有动过了,效果是下线自动记录角色信息,我把其中的不绑银改为了绑银,主要是看小号的绑银够不够换银子的,呵呵,完全自己的需求,觉得没用的可以忽略。
[ 本帖最后由 大马士革的风 于
09:30 编辑 ]
新人欢迎积分1 阅读权限70积分7340精华2UID3938012帖子金钱4388 威望3
Lv.7, 积分 7340, 距离下一级还需 2660 积分
UID3938012帖子威望3 多玩草884 草
&&写在最后的话:
& & 实话实说,本人也是个插件菜鸟,目前的水平也仅仅是稍微明白点插件的原理,在前人各位大大的代码基础上进行点小修补或者小添加,但我自己觉得有时候通过自己的理解或者创意实现了一些原来没有的功能,这种乐趣甚至超越了游戏本身,呵呵,如果没有了插件,自己真的不知道怎么玩这个游戏了,之所以没有换游戏,可能也有很大一部分原因是再也找不到支持这么开放的代码的插件的游戏了......写这个东西不是为了炫耀,也不是为了得什么花花草草,只是为了把自己的乐趣和大家分享,给需要的朋友提供点帮助,也是为了兑现自己之前帖子里的承诺吧。写得不好,有不妥之处或者错误的地方希望大家指正,再一次感谢耍耍、红尘、南宫等等等等大大们!也希望朋友们看完之后能够亲手打造属于自己的插件,大家也看到了,在文中我多次提到这样一句话:根据自己的需要,适合自己的才是最好用的!所以这里就不放我自己的插件了,呵呵。
[ 本帖最后由 大马士革的风 于
09:23 编辑 ]
新人欢迎积分1 阅读权限70积分7340精华2UID3938012帖子金钱4388 威望3
Lv.7, 积分 7340, 距离下一级还需 2660 积分
UID3938012帖子威望3 多玩草884 草
我晕,论坛的格式发完怎么成这样了,编辑了半天还是不理想,这层楼放上我自己编辑时候用的word文档吧,有需要的朋友自己放电脑上用WORD看吧
(357.64 KB, 下载次数: 613)
09:37:21 上传
下载次数: 613
下载积分: 金钱 -5
(左键点击下载)
怕有毒不放心的就别下了
[ 本帖最后由 大马士革的风 于
09:37 编辑 ]
新人欢迎积分0 阅读权限50积分1871精华0UID7753011帖子金钱5079 威望9
Lv.5, 积分 1871, 距离下一级还需 629 积分
UID7753011帖子威望9 多玩草30 草
很好很强大,感谢楼主无私奉献,有很多地方不谋而合。
另外有几个问题麻烦楼主再研究下:
一、皇陵挂机合玄怎么修改4合1成13合1
二、皇陵四层怎么优先攻击大怪(忘了叫什么),老先打百夫长
三、自动吃精活白驹能否改为大白驹,想快点升级
本人水平不够,望不吝赐教!
新人欢迎积分1 阅读权限70积分7340精华2UID3938012帖子金钱4388 威望3
Lv.7, 积分 7340, 距离下一级还需 2660 积分
UID3938012帖子威望3 多玩草884 草
原帖由 huxy823 于
10:27 发表
很好很强大,感谢楼主无私奉献,有很多地方不谋而合。
另外有几个问题麻烦楼主再研究下:
一、皇陵挂机合玄怎么修改4合1成13合1
二、皇陵四层怎么优先攻击大怪(忘了叫什么),老先打百夫长
三、自动吃精活白驹能否改为大白驹,想 ...
这位朋友,你好:一:之前有和其他朋友简单探讨过,但是根据自己的思路改了之后朋友说没有效果;补充:其实没有那么复杂,因为我以前自己没有需要,所以一直没有自己尝试,刚才自己试了下,可以了,可能之前朋友忘改了某个数字吧,因为以前很多朋友问过,我单独发个帖子说明一下吧,你可以去看看。
二:耍耍最新版里加入了地图判断应该不存在这个问题了,可能会有点延时?我没在四层刷过,其实如果你平时只在四层刷,那么可以直接修改代码把“百夫长”去掉,这样更直接;
三:不太明白你的意思,我记得好像耍耍原版里就可以自动吃大白驹的啊。
[ 本帖最后由 大马士革的风 于
11:07 编辑 ]
新人欢迎积分1 阅读权限60积分4600精华0UID7528815帖子金钱29830 威望0
Lv.6, 积分 4600, 距离下一级还需 400 积分
UID7528815帖子威望0 多玩草27 草
第一次和楼主这么接近
新人欢迎积分1 阅读权限70积分7424精华0UID3760186帖子金钱20102 威望1
Lv.7, 积分 7424, 距离下一级还需 2576 积分
UID3760186帖子威望1 多玩草940 草
楼主辛苦了,顶下。[ddt17]
新人欢迎积分0 阅读权限50积分1871精华0UID7753011帖子金钱5079 威望9
Lv.5, 积分 1871, 距离下一级还需 629 积分
UID7753011帖子威望9 多玩草30 草
请问皇陵合玄的单独贴子地址在哪?
三是我意思没表达清楚,应该是上线自动买白驹怎么改成买大白驹
新人欢迎积分1 阅读权限70积分7340精华2UID3938012帖子金钱4388 威望3
Lv.7, 积分 7340, 距离下一级还需 2660 积分
UID3938012帖子威望3 多玩草884 草
原帖由 huxy823 于
11:22 发表
请问皇陵合玄的单独贴子地址在哪?
三是我意思没表达清楚,应该是上线自动买白驹怎么改成买大白驹
辛苦了 帖子刚刚发好了,可以去看下,上线自动买白驹这个功能你是如何实现的,如果你知道这段代码在哪直接把其中的白驹丸的代码替换为大白驹的代码就OK了啊,但是我自己觉得这个功能不太实用,因为不方便多少,同时也不能自动计算你到底需要吃多少个大白呢?
新人欢迎积分0 阅读权限50积分1871精华0UID7753011帖子金钱5079 威望9
Lv.5, 积分 1871, 距离下一级还需 629 积分
UID7753011帖子威望9 多玩草30 草
谢谢楼主热心发贴-皇陵合玄
如果能自动调用执行自动合玄面板中的自定义多种组合方式合玄,那就太完美了!
白也是一种艺术
新人欢迎积分1 阅读权限60积分3897精华0UID2522961帖子金钱2599 威望0
Lv.6, 积分 3897, 距离下一级还需 1103 积分
UID2522961帖子威望0 多玩草199 草
新人欢迎积分1 阅读权限60积分3542精华0UID7251274帖子金钱11976 威望2
Lv.6, 积分 3542, 距离下一级还需 1458 积分
UID7251274帖子威望2 多玩草289 草
楼主大神,在下不知道啥是插件,能教我下关于me的用法吗???
新人欢迎积分4 阅读权限150积分31990精华2UID6261528帖子金钱15930 威望50
类平行空间人士
UID6261528帖子威望50 多玩草1159 草
[ppb51] 文字斜了。是因为代码:[ i ] 造成的。。或者像我 这样。i 的两边打上空格。不然不显示
建议用编辑帖子顶部工具 代码&&按钮发代码
新人欢迎积分1 阅读权限70积分7340精华2UID3938012帖子金钱4388 威望3
Lv.7, 积分 7340, 距离下一级还需 2660 积分
UID3938012帖子威望3 多玩草884 草
原帖由 吃了出错 于
13:45 发表
[ppb51] 文字斜了。是因为代码:[ i ] 造成的。。或者像我 这样。i 的两边打上空格。不然不显示
建议用编辑帖子顶部工具 代码&&按钮发代码 原来是这么回事啊,算了,不改了,太长了,我自己都懒得再调整了
版主进步勋章
版主进步勋章
助人为乐奖
助人为乐奖
剑侠功勋勋章
剑侠功勋勋章
优秀插件作者勋章
优秀插件作者勋章
节日守望者
节日守望者
九阴功勋勋章
九阴功勋勋章
爱情守望者
爱情守望者
需要金钱:1100
Powered by
手机盒子客户端点击或扫描下载}

我要回帖

更多关于 剑侠世界插件下载 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信