CWDG论坛-专业魔兽插件's Archiver

Isler 发表于 2007-9-13 10:58

FeatureFrame,类似大脚的插件综合设定中心,简繁

特别注意,没有小地图按钮可能是你的插件没有可以在FeatureFrame上显示的

[attach]2838[/attach]


    你有没有想到过有一个像大脚那样的综合配置窗口呢?FeatureFrame就可以满足你的要求。配合MinimapButtonsBag(后面简称MBB)等插件清理小地图,可以让自己的小地图更加清爽。
    声明:此插件本人第一次见于小紫的包包,通过对小紫包中的插件的研究,将官方最新版修改了一下,并添加了简体中文支持,并非100%原创作品,发出来仅为大家试用,如有不妥之处,本人将随时删除。

插件下载:[attach]2832[/attach]


    官方的例子乱七八糟,我只是根据自己需要,做个例子,并没有包含所有代码,你可以去[url=http://www.wowwiki.com/FeatureFrame][color=#002f7c]http://www.wowwiki.com/FeatureFrame[/color][/url]获得插件原作者的完整例子。下面的代码仅供参考:

    比如你想把SCT Dennie v1.67b TBC 测试版4加到FeatureFrame中,你可以在sct.lua中的function DSCT_OnLoad()下面加入如下代码:
if ( EarthFeature_AddButton ) then
  EarthFeature_AddButton(
   {
    id= "SCT";
    name= "战斗指示器";   [color=green]---在列表里显示的名字[/color]
    subtext= "SCT";    [color=green]---名字下面的注释[/color]
    tooltip = "战斗指示器 + 法术预警";    [color=green]---鼠标悬停的注释[/color]
    icon= "Interface\\Icons\\Ability_Gouge";    [color=green]---列表中的图标,这个需要自己找,可以定义MPQ和UI中的图标[/color]
    callback= DSCT_showMenu;   [color=green]---调用的命令,傻瓜一点的找法是在sct.lua中搜索“SlashCmdList”[/color]
   }
  );
end

其它插件可以做类似修改,以便在FeatureFrame中显示出来。
关于图标的问题,提供一个从World of Warcraft\Data\zhCN\locale-zhCN.MPQ中查看ICO的工具:[attach]2833[/attach]

顺便给张配合MBB的图,为新建人物初次登陆,大家可以看到小地图很清爽,非常舒服。
PS:如果你也用MBB的话,推荐将FeatureFrame加到排除列表(实现小地图只有2个插件按钮,如配图),方法如下:
打开MBB.lua,把第九行改成 MBB_Exclude = {"FeatureFrameMinimapButton"};

Isler 发表于 2007-9-13 17:03

目前自己用到的插件的代码及位置

注意:格式改成UTF-8
         原来有类似代码的,一定要删除,比如ATLAS,原有代码并不能让其在 FeatureFrame 中显示
         代码放在不同位置,会导致按钮不能显示或插件出错,以下位置为我测试好的,尽量放在推荐位置


ACP  ACP.lua   function ACP:ToggleChildren(val)下

        if ( EarthFeature_AddButton ) then
                EarthFeature_AddButton(
                        {
                                id= "ACP";
                                name= "插件控制面板";
                                subtext= "ACP";
                                tooltip = "在游戏中加载/卸载插件";
                                icon= "Interface\\Icons\\Trade_Engineering";
                                callback= self.SlashHandler;
                        }
                );
        end
        
ATLAS  ATLAS.lua   function Atlas_Search(text)下 注意删除原有代码
        if ( EarthFeature_AddButton ) then
                EarthFeature_AddButton(
                        {
                                id= "Atlas";
                                name= "副本地图浏览器";
                                subtext= "Atlas";
                                tooltip = "副本地图浏览器";
                                icon= "Interface\\AddOns\\Atlas\\Images\\AtlasIcon";
                                callback= Atlas_SlashCommand;
                        }
                );
        end        

ATLASLOOT  AtlasLoot\Core\AtlasLoot.lua   function AtlasLoot_OnVariablesLoaded()下    注意删除原有代码

        if ( EarthFeature_AddButton ) then
                EarthFeature_AddButton(
                        {
                                id= "AtlasLoot";
                                name= "副本掉落物品查询";
                                subtext= "AtlasLoot";
                                tooltip = "显示副本中的首领与小怪可能掉落的物品";
                                icon= "Interface\\Icons\\INV_Box_01";
                                callback= AtlasLoot_ShowMenu;
                        }
                );
        end        

        
CastingBarPlusPlus  function CastingBarPlusPlus:FramesSetup()下

        if ( EarthFeature_AddButton ) then
                EarthFeature_AddButton(
                        {
                                id= "CastingBarPlusPlus";
                                name= "施法条美化、定制";
                                subtext= "CastingBarPlusPlus";
                                tooltip = "美化施法条及敌对施法条,并可让其移动";
                                icon= "Interface\\Icons\\Spell_Shadow_ShadowMend";
                                callback= function()
                                        self:ShowOptions()
                                end;
                        }
                );
        end        


DamageEx  DamageEx.lua   function DEX_Init()下 注意删除原有类似代码

        if ( EarthFeature_AddButton ) then
                EarthFeature_AddButton(
                        {
                                id= "DamageEx";
                                name= "增强伤害显示器";
                                subtext= "DamageEx";
                                tooltip = "显示你对目标的伤害和治疗";
                                icon= "Interface\\Icons\\Ability_DualWield";
                                callback= DEX_showMenu;
                        }
                );
        end        


Decursive DCR_init.lua   function D:OnEnable(first)下 注意删除原有代码

        if(EarthFeature_AddButton) then
            EarthFeature_AddButton(
            {
                id = "Decursive";
                name = "一键驱散";
                subtext = "Decursive";
                tooltip = "提供驱散魔法辅助功能,包含进阶的显示及过滤功能";
                icon = DC.IconON;
                callback = D.ShowHidePriorityListUI;
            }
            );
        end
        

EN_UnitFrames  function EUF_OnEvent(event)  下,需要先将function EUF_SlashCommandHandler(msg)下的(msg == "")改成((msg or "") == ""),这里就不放出修改文件了,可以等花无心放出新版本

        if ( EarthFeature_AddButton ) then
                EarthFeature_AddButton(
                        {
                                id= "EUF";
                                name= "头像增强";
                                subtext= "EN_UnitFrames";
                                tooltip = "增强显示头像,显示目标的目标的目标,并显示破甲值等信息,小队头像显示队员职业等级";
                                icon= "Interface\\Icons\\INV_Helm_mask_ZulGurub_D_01";
                                callback= function(msg) EUF_SlashCommandHandler(msg); end;
                        }
                );
        end        


ItemDB        ItemDB_DBFrame.lua   function ItemDB_DBFrame_OnLoad()下

        if ( EarthFeature_AddButton ) then
                EarthFeature_AddButton(
                        {
                                id= "ItemDB";
                                name= "物品数据库";
                                subtext= "ItemDB";
                                tooltip = "提供一个类似拍卖行的搜索界面,可以搜索本机缓存中的物品";
                                icon= "Interface\\Icons\\INV_Box_02";
                                callback= function(msg)
                                        ItemDB_DBFrame_SlashCommandHandler(msg);
                                end;
                        }
                );
        end                        


SCT  SCT.lua   function DSCT_OnLoad()下

        if ( EarthFeature_AddButton ) then
                EarthFeature_AddButton(
                        {
                                id= "SCT";
                                name= "战斗指示器";
                                subtext= "SCT";
                                tooltip = "战斗指示器 + 法术预警";
                                icon= "Interface\\Icons\\Ability_Gouge";
                                callback= DSCT_showMenu;
                        }
                );
        end


zBar  zBar.lua  function zBarFrame_OnLoad()下

        if ( EarthFeature_AddButton ) then
                EarthFeature_AddButton(
                        {
                                id= "zBar";
                                name= "自由动作条";
                                subtext= "zBar";
                                tooltip = "提供1~4个可以自由移动、变换形状的动作条";
                                icon= "Interface\\Icons\\Spell_Nature_WrathofAir _Totem";
                                callback= function(msg)
                                        zBarOption:OpenForBar(zBar1)
                                end;
                        }
                );
        end

3000k 发表于 2007-9-13 17:08

*** 作者被禁止或删除 内容自动屏蔽 ***

Kuso_EDKing 发表于 2007-9-13 18:01

倒了,这个就是cosmos的东西啊
国内就是小强

ps:wowwiki和cosmos可是大有关系的 :)

sunfires 发表于 2007-9-13 22:25

这个强啊。偶喜欢。。回头试试改去~~

dahuilang 发表于 2007-9-14 00:52

貌似很强 就是设置起来麻烦~

gongjian_6 发表于 2007-9-14 02:06

每个FUNCTION的名字都不一样啊,不同的插件改法都不一样啊

fqccwlei84 发表于 2007-10-8 18:57

请问CECB这个插件能天加到里面吗??方法是什么呢!???

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.