WOW插件编写快速入手指南
利用Lua脚本语言制作魔兽WOW插件

利⽤Lua脚本语⾔制作魔兽WOW插件1 WOW内编程办法第⼀种:打开WOW⾃带macro宏编辑窗⼝-->输⼊/script或WOW API直接制作简单宏(1)跪倒求婚Macro/kneel/say 如果你不嫁给我,我就⼀辈⼦不起来(2)切换WOW程序的窗⼝与全屏模式/script SetCVar("gxWindow",1-GetCVar("gxWindow"));/console gxRestart(3) 打开所有包/script OpenAllBags()/script CloseBag(X) (X=4~0)(4) ALT键切换⽤Alt切换⼤⼩冰箭/cast [modifier:alt] 寒冰箭(等级 1);寒冰箭(等级 11)⽤Alt切换AOE⽕/雪/cast [modifier:alt] 烈焰风暴(等级 6);(等级 6)⽤Alt切换⼤⼩魔爆术/use 莫阿姆之眼/cast [modifier:alt] 魔爆术(等级 1);暴风雪(魔爆术 6)(5)饰品+技能(多饰品+stopcasting )/use 赞达拉英雄护符/cast ⽕球术(等级 12)(6)闪烁宏(按⼀次闪现后需再按⼀次以便调回⽅向)/stopcasting/cast 闪现术/script FlipCameraYaw(180);(7)招BB并⽴即攻击⽬标(连按2次)/cast [nopet] 召唤⽔元素/stopmacro [target=pettarget,exists]/petattack第⼆种:打开WOW⾃带macro宏编辑窗⼝-->结合WOW API+Lua制作复杂宏(255字以内)⽬标:把前4个包的灵魂碎⽚全放到最后⼀个包内/scriptbag=0 cw=1 sc=1 --定义好变量,bag是包的编号,cw表⽰查找包的槽位,sc指向最后⼀个包内的槽位for bag=0,3,1 do --从0号包开始,到3号包结束,最后⼀个包不搜索。
通用插件作业指导

通用插件作业指导一、背景介绍通用插件是一种可以在不同的软件或者系统中使用的可扩展功能模块,它能够增强软件的功能和灵便性。
本文将为您提供通用插件的作业指导,匡助您了解如何开辟和使用通用插件。
二、插件开辟准备1. 确定插件功能:在开辟插件之前,需要明确插件的功能和目标。
可以根据软件或者系统的需求,确定插件的功能范围和特性。
2. 选择开辟平台:根据插件的目标软件或者系统,选择合适的开辟平台。
常见的开辟平台包括Java、JavaScript、Python等,根据自己的技术背景和需求选择合适的平台。
3. 学习相关技术:了解插件开辟所需的相关技术,包括编程语言、开辟框架、API等。
可以参考官方文档、教程或者在线资源来学习相关技术。
4. 设置开辟环境:根据选择的开辟平台,设置相应的开辟环境。
安装开辟工具、配置开辟环境,确保能够顺利进行插件开辟。
三、插件开辟步骤1. 确定插件结构:根据插件的功能和目标,设计插件的结构。
通常包括插件的入口文件、配置文件、资源文件等。
可以参考已有的插件或者开辟文档来设计插件结构。
2. 编写插件代码:根据插件的功能需求,编写插件的代码。
根据开辟平台的要求,使用相应的编程语言和开辟框架进行开辟。
可以使用面向对象的设计模式来组织插件的代码。
3. 实现插件功能:根据插件的功能需求,实现插件的具体功能。
可以使用已有的API或者开辟自定义的API来实现功能。
在开辟过程中,可以进行单元测试和调试,确保插件的功能正常运行。
4. 测试和优化:完成插件的开辟后,进行测试和优化。
测试插件在不同的环境和场景下的兼容性和性能。
根据测试结果,进行优化和修复bug,确保插件的稳定性和可靠性。
5. 打包和发布:完成插件的测试和优化后,进行打包和发布。
根据开辟平台的要求,将插件打包成可安装的文件或者发布到插件市场。
在发布前,可以编写插件的文档和使用指南,方便用户了解和使用插件。
四、插件使用指南1. 安装插件:根据插件的发布方式,选择合适的安装方法。
插件新手指南

〓插件新手指南〓※游戏根目录树状图(更新材质文件夹详细分类简洁说明):< World of Warcraft >┣< Interface > ---接口┃┣< Addons > ---插件存放文件夹┃┃┗< addons' Folders > ---各类单体插件文件夹┃┣以下皆为游戏内部材质替换的相应文件夹,与Addons文件夹在同目录下┃┣<AUCTIONFRAME>---拍卖行框体┃┣<BattlefieldFrame>---战场队列框体┃┣<Buttons> ---界面按钮┃┣<ClassTrainerFrame>---训练师框体┃┣<COMMON>--输入框/复选框等┃┣<DialogFrame> ---对话框┃┣<FriendsFrame> ---好友框体┃┣<Glues> ---游戏登录界面材质(如:冰龙、游戏登录的输入框/帐号复选框,Loading画面等)┃┣<ItemTextFrame> ---物品文本框┃┣<Icons> ---图标替换材质┃┣<KeyBindingFrame>---按键绑定框体┃┣<LFGFrame> ---寻求组队框体┃┣<LootFrame> ---拾取框┃┣<MacroFrame> ---宏界面框体┃┣<MailFrame>---邮箱框体┃┣<MERCHANTFRAME>---商人贩卖界面框体┃┣<Minimap>---小地图框体┃┣<MoneyFrame>---金钱框体┃┣<PaperDollInfoFrame>---玩家界面各类框体元件,如上翻,下拉按钮,装备管理按钮,滚动条等┃┣<PetActionBar> ---宠物动作条框体┃┣<PetPaperDollFrame>---宠物面板┃┣<PetStableFrame> ---宠物技能界面框体┃┣<QuestFrame> ---任务框体┃┣<RAIDFRAME> ---团队框体┃┣<ShapeshiftBar> ---姿态切换栏动作条┃┣<Spellbook> ---法术技能框体┃┣<Stationery> ---暴雪官方信纸材质,比如GM寄给你的信的背景材质┃┣<TALENTFRAME> ---天赋框体┃┣<TargetingFrame> ---目标框体┃┣<TAXIFRAME> ---飞行地图框体┃┣<Tooltips>---界面/姓名板框体边框,背景材质┃┣<TradeFrame> ---交易框体┃┣<TradeSkillFrame> ---商业技能框体┃┗<WorldMap>---世界地图材质┗< WTF > ---插件配置文件┣Config.wtf ---游戏系统设置文件┗< Account >┗< Your Account Name > ---你的登录帐户┣< SavedVariables > ---全局插件设置,此帐户下所有角色都默认此设置┣bindings-cache.wtf > ---全局按键绑定,此帐户下所有角色都默认此设置┣cache.md5 ---MD5验证文件┣macros-cache.txt ---宏设定缓存┣macros-local.txt ---宏设定┣SavedVariables.lua --全局部分频道及游戏性设定┣SavedVariables.lua.bak ---全局部分频道及游戏性设定备份┗< Your Server Name > ---你的服务器名┣< Your Role Name 1 > ----你的角色名字1┃┣< SavedVariables > ---角色插件设置,该设置只针对此角色设定┃┣AddOns.txt ---插件的启用禁用设定信息文件┃┣camera-settings.txt ---游戏镜头设置┃┣layout-cache.txt ---框体层级设置┃┣bindings-cache.wtf ---个人按键绑定储存信息┃┣cache.md5 ---MD5验证文件┃┣macros-cache.txt ---宏设定缓存┃┣macros-local.txt ---宏设定┃┣SavedVariables.lua ---个人部分频道及游戏性设定┃┗SavedVariables.lua.bak ---个人部分频道及游戏性设定备份┣< Your Role Name 2 > ---你的角色名字2┣ ...以此类推Tip:一般我们为了在网吧也用上自己电脑上的插件配置,而保存addons和wtf这2个文件夹的含义也就不言而喻了~~所以如果你要在其他机子上保留一些设置,只需要保存相应的文件,替换系统默认生成的即可※如何安装一般来说,从网站或者论坛下载下来的插件都是RAR、ZIP、7z的压缩包形式,压缩包里一般包含以插件名字命名的文件夹、一些说明文档,一些插件网址的链接的广告,而我们要做的只是把这个插件文件夹解压缩到你X:\World of Warcraft\Interface\AddOns这个路径下,只有放到AddOns 这个文件夹里,插件才能被WOW编译程序导入加载发挥其作用。
lunaunitframes 用法

Luna Unit Frames 是一款在魔兽世界游戏中常用的插件,它可以帮助玩家更好地管理和监控自己与周围队友的生命值、法力值等重要信息。
以下是关于 Luna Unit Frames 插件的使用方法。
1. 下载和安装玩家需要前往魔兽世界插件冠方全球信息站或其他可信赖的插件下载全球信息站,搜索并下载最新版本的 Luna Unit Frames 插件压缩包。
然后将压缩包解压到魔兽世界的插件目录下(通常位于 \Worldof Warcraft\_ret本人l_\Interface\AddOns\),重启游戏即可完成安装。
2. 配置界面进入游戏后,玩家可以通过按下“ESC”键,然后点击插件选项打开游戏的插件管理界面。
在界面中找到 Luna Unit Frames,并点击进入插件的配置界面。
在该界面中,玩家可以根据个人需求对插件的各项功能进行自定义调整,包括单位框架的大小、位置、显示内容等。
3. 设置单元框架在 Luna Unit Frames 的配置界面中,玩家可以对各个单位框架进行独立的设置。
玩家可以选择显示自己的生命值、法力值和目标的生命值,以及队友的生命值等信息。
还可以设置单位框架的颜色、透明度等外观效果。
4. 配置触发器Luna Unit Frames 还提供了触发器的设置功能,玩家可以根据自己的需求设置不同的触发器效果。
在队友生命值低于一定比例时进行特殊提示,或者在自己的法力值低于一定数值时进行警示等。
5. 使用宏命令有些玩家可能希望在使用 Luna Unit Frames 插件的通过编写宏命令来实现更加个性化的操作。
在 Luna Unit Frames 的冠方全球信息站或相关论坛中,玩家可以找到一些常用的宏命令示例和使用技巧,以满足自己的特定需求。
总结通过使用 Luna Unit Frames 插件,玩家可以更加方便地管理和监控游戏中的单位框架信息,从而在战斗中更加高效地进行团队合作。
然而,对于一些新手玩家来说,刚开始使用插件时可能会有一定的学习成本,需要花费一些时间和精力来熟悉和适应插件的各项功能和设置。
WOW插件制作指南

end
function SaySomething(msg) message(msg);
--调用内部函数 message,该函数接受一个参数,然后输出一个字符串
end 在实际的游戏中如果我们的模块正常加载的话,我们可以这么调用这个指令
/ISay HelloWorld 二、 走进 Lua
1. 什么是 Lua? Lua 是一种设计用来支持简单数据描述的扩展编程语言。同时它也很好的支持面向对
<scripts>
<OnLoad> this:RegisterEvent("注册变量");
Hale Waihona Puke </OnLoad>
<OnEvent> if (event == "注册的变量名") then
1/1
作者:Bluefee 网站: QQ:914654
调用自定义函数;
在这里 Button 元素是第一个类型元素,也就是说是一个部件元素。它出现在这个 XML 文件中促使一个名为 MyButton 的按钮被创建。这个元素内部中的 Anchors 定义了它的属性, 因此这些是第二个元素类型,也就是说是一个属性元素。一般的 UI 结构总是这样的,你使 用一个元素来表现一个部件,并且在其内部使用其他元素来表现它的属性。并且他们是可 以嵌套的,下面是一个例子:
魔兽世界宏命令完全教程

魔兽世界宏命令完全教程魔兽世界是一款非常受欢迎的多人在线角色扮演游戏,它提供了宏命令功能,允许玩家自定义一系列的指令和操作。
宏命令可以大幅提高游戏的效率和便利性,本文将为你介绍魔兽世界宏命令的完全教程。
一、宏命令的概念宏命令是玩家用一段简单的代码为游戏创建一个指令集,玩家可以通过按键激活该指令集,从而一键执行多个操作或者技能。
宏命令可以包括常规指令、技能施放、条件分支、循环、变量定义等。
二、宏命令的编写1.调用技能或指令:可以通过输入“/技能名称”来调用一个技能或指令。
例如,“/火球术”将施放一个火球术。
2. 使用条件分支:可以使用条件语句来控制技能或指令的使用。
例如,“/cast [mod: shift]火球术;寒冰箭”表示当按下Shift键时施放火球术,否则施放寒冰箭。
3. 使用循环:可以使用循环语句来循环执行一系列的技能或指令。
例如,“/script local i; for i=1,5 do RunMacro("宏名称") end”表示循环执行宏命令5次。
4. 使用变量定义:可以使用变量来存储和传递数据。
例如,“/script local targetName = UnitName("target");”表示将目标的名称存储在变量targetName中。
三、宏命令的应用宏命令可以用于各种游戏场景和操作,可以提高玩家的效率和便利性。
下面是几个宏命令的应用示例:1. 物品使用宏:可以使用宏命令将多个物品的使用合并为一个指令。
例如,“/use 物品1; 物品2; 物品3”可以一键使用物品1、物品2、物品32. 快速切换宏:可以使用宏命令实现快速切换不同的装备、技能或者天赋设置。
例如,“/eq uipset 装备方案1”可以一键切换到装备方案13. 施法宏:可以使用宏命令将多个技能的施放合并为一个指令。
例如,“/castsequence 火球术, 寒冰箭, 寒冰箭”可以一键施放火球术,然后寒冰箭,再次按下则继续施放寒冰箭。
魔兽世界宏制作基础

魔兽世界宏制作基础在魔兽世界这个充满奇幻与挑战的游戏世界里,宏是一项强大的工具,能让玩家的游戏体验更加便捷和高效。
对于新手玩家来说,掌握宏制作的基础知识是提升游戏操作水平的重要一步。
首先,我们要明白什么是宏。
简单来说,宏就是一系列游戏指令的集合,通过一个按键或点击就能一次性执行多个指令。
这就好比把一系列复杂的操作简化成了一个简单的动作,节省了时间和精力。
那么,如何开始制作宏呢?第一步,打开游戏中的宏界面。
在游戏菜单中找到“宏”选项,点击进入后,您可以看到创建新宏的按钮。
接下来,给您的宏取一个清晰易懂的名字。
这个名字应该能够反映宏的功能,比如“一键爆发宏”“治疗自保宏”等等。
这样在使用的时候,您能一眼就知道这个宏的用途。
然后,就是选择宏的图标。
游戏提供了各种各样的图标供您选择,您可以根据自己的喜好和习惯来挑选。
进入宏命令的编辑阶段,这是宏制作的核心部分。
在这里,您需要输入具体的指令。
魔兽世界中的指令有很多种,比如技能释放指令、装备切换指令、喊话指令等等。
比如,如果您想制作一个简单的攻击宏,假设您的主要攻击技能是“暗影箭”,那么宏命令可能就是这样:/cast 暗影箭这行命令的意思就是释放“暗影箭”这个技能。
如果您想在释放技能的同时喊话,比如喊“我要发动攻击啦!”,那么宏命令就会变成:/cast 暗影箭/y 我要发动攻击啦!“/y”代表的就是喊话的指令。
再比如,您是一名治疗职业,想要制作一个在紧急情况下快速给自己使用治疗药水的宏,命令可能是这样:/use 治疗药水/cast 快速治疗这就实现了先使用药水再释放治疗技能的连续操作。
除了单个技能和物品的使用,宏还可以实现条件判断。
比如说,您可以设置一个宏,只有当您的生命值低于 30%的时候,才自动使用保命技能和物品。
在宏命令中,还有一些特殊的参数可以使用,以实现更复杂和精细的控制。
比如“@mouseover”,它可以让您对鼠标指向的目标执行操作;“@focus”则可以针对您设置的焦点目标进行操作。
wow插件总计

wow插件总计# AzCastBar----漂亮的施法插件可以同时显示自己/目标/焦点目标的施法条。
插件设置命令:“/acb”。
# ACE3+ACE2整合库插件----CWDG为你制作的综合ACE整合库包。
# ACP----极强插件管理工具ACP主要用于在游戏内进行插件的管理。
输入“/acp”打开设置界面。
# Align----界面设置插件Align提供网格来对齐你的界面,可以让你更轻松的设置你的界面。
命令:/align。
# Atlas----Atlas插件是一款功能强大的地图插件,并有许多的为Atlas开发的组件等。
使用命令“/atlas”来打开主窗口。
# Atlasloot----装备物品掉落查询。
使用命令“/al”打开界面。
# AuctionMaster----拍卖大师插件。
和拍卖行NPC对话后,点击右上角的按钮进行搜索和配置等功能。
# Bartender4----Bartender4动作条增强插件。
插件配置命令:"/bt",动作条快捷键设置命令“/kb”。
# BaudBag----BaudBag背包银行整合插件,完全的暴雪风格,整合了背包和银行,随时随地查看银行等功能。
使用“/baudbag”打开设置。
# BugSack----此插件包内包含两个插件,!BugGrabber可以用来屏蔽一切插件错误导致的红字框体,BugSack则可以将这些错误的详细信息收集以供查看。
# ButtonFacade----ButtonFacade动作条美化插件。
使用"/bf"命令打开插件设置选择你喜欢的皮肤。
# BuyEmAll----BuyEmAll批量购买物品插件。
# caelNamePlates----caelNameplates姓名板美化增强插件,替代游戏默认的姓名板背景材质。
进入战斗自动开启,结束战斗自动关闭。
# Capping----战场助手插件Capping,显示战场中的各类计时器,在战场中显示一些额外的信息内容,插件设置命令:“/capping”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IsShown() 和 IsVisible() 的区别 是否显示,表示一种属性:如果父对象可见的时候是否会显 IsShown() 示。 IsVisible() 是否可见,表示当前状态:当前对象在屏幕上有没有显示。
Frame 框架,继承 Layout Frame,最重要的 UI 对象,屏幕上可见的 UI 对象都是它的子类,一 般用来在上面放置其他控件。
<AbsDimension x="" y=""/> <!--绝对尺寸 --> </Size> <!-- 简化写法 --> <Size x="" y=""/> <Anchors> <!--锚点,用来标记相对位置 -->
<Anchor Point="本控件的参考点" relativeTo="参考
控件" relativePoint="参考控件的参考点">
bottom="5"/> <!-- 背景四周留白 -->
</BackgroundInsets> </Backdrop>
<Layers> <!-- 分层,主要放置贴图材质和字符 -->
<Layer level="BACKGROUND"> <!-- 背景层 -->
<Texture name="$parentRed" file="贴图" hidden="true"/>
</Layer>
<Layer level="ARTWORK"> <!-- 艺术层 -->
<FontString name="$parent 名字" inherits="Font" justifyH="CENTER"/>
<Layer level="OVERLAY"> <!-- 覆盖层 -->
<Texture name="$parentShine" file="贴图
Frame 标签
XML 中最主要的一个标签是<Frame></Frame>。所谓 Frame 意指框架,就是用来包含其他东 西的。 UIParent 是最上层的框架,所有的 UI 都包含在其中。与之并列的是一个特殊框架 World Frame, 包括 FPS、截图。 其它控件一般都是 Frame 的子类,都包含类似的属性和子标签:背景、贴图、边框、事件处理。 如:<button> <slider> <statusbar> 等等。
</Scripts> </Frame>
</Ui>
Ui 标签
<Ui>是最上级标签。其中的 schema 用来语法检查,如果你的 XML 编辑器支持还可以用来代码 提示。否则对我们来说用处不大。可以简化为:
<Ui xmlns="/wow/ui/" xmlns:xsi="/2001/XMLSchema-instance" > </Ui>
<Offset> <!-- 偏移值 --> <AbsDimension x="" y=""/>
</Offset> <!-- 简化写法 --> <Offset x="" y="" /> </Anchor> </Anchors> <!-- 背景和边框 -->
<Backdrop name="$parentBackdrop" bgFile="背景贴图"
edgeFile="边框贴图" tile="不知道"> <EdgeSize> <AbsValue val="18"/> <!-- 边框缩放大小
--> </EdgeSize> <TileSize> <AbsValue val="16"/>
</TileSize> <BackgroundInsets>
<AbsInset left="5" right="5" top="5"
Frame 的子类;描述
Button;按钮。
Frame 标签就像一个透明的玻璃容器。你可以仅用它来装载其它部件,当然也可以给他添加 贴图显示出来。
记得游戏中按下“Alt+z”的效果了么,被隐藏的就是 UIParent。容器被隐藏了,里面装的东 西也就透明了。
子标签和属性
<Frame name="名称,唯一" inherits="myFather 继承"
<Script file="localization.lua"/> <!-- 在此载入用于汉
化的 lua 文件 -->
<Frame name="zBar" parent="UIParent"> <!-- 一个 Frame
框架 -->
<Scripts> <!-- 脚本部分,用于处理事件 --> <OnLoad> zBar_OnLoad(); </OnLoad> <OnEvent> zBar_OnEvent(event); </OnEvent>
toplevel="true 等级" parent="UIParent 父标签" id="编号"
movable="true 可移动" enableMouse="true 允许鼠标事件"
frameStrata="HIGH 层级" hidden="false 隐藏" >
<Size> <!--大小 -->
‘#’ 和 ‘%’ 为行注释符号。
而以##开头的注释行可就不光是好看的了,这些都是插件的工程描述标记,要是不注意 插件根本就不会载入。
示例中彩色的标记表示标准标记,每个标准标记都有特定功能。其它 eMail, Author 等为 扩展标记,只有注释功能。
工程标记之后的部分为包含文件列表,脚本文件和布局文件,数量随意,但每种至少要 有一个:一个 lua 或一个 xml。
8 ## eMail: 如题 9 ## UIType: 插件类型 10 ## Dependencies: 依赖的插件 11 ## RequiredDeps: 必须依赖的其他插件 12 ## OptionalDeps: 可选倚赖 13 ## SavedVariables: 统一存放的变量 14 ## SavedVariablesPerCharacter: 按角色存放的变量 15 ## LoadOnDemand: 1 (调用时加载) 16 ## LoadWith: 当指定插件加载时才加载,前提是调用时加载 17 ## DefaultState: disabled 默认状态 18 ## Secure: 安全(功能未知) 19 # 注释 1 dklasjfkasdj 20 Script.lua -- 脚本文件 21 % 注释 2 dskajfklasdjfklsdaj 22 Layout.xml -- 布局文件
TOC —— 工程描述文件
后缀名为 toc 的文件就是工程文件,包含工程的基本信息。主要包含以下内容:
切换行号显示
1 ## Interface: 适用的魔兽版本号 2 ## Title: 显示的标题(默认语言) 3 ## Notes: 显示的说明(默认语言) 4 ## Title-zhCN: 特定语言的标题(简体中文) 5 ## Notes-zhCN: 特定语言的说明(简体中文) 6 ## Author: 作者(不显示) 7 ## Version: 版本
或者更加简化,不太规范但是可用:<Ui>布局内容</Ui>
Script 标签
在 Ui 标签中最先包含的往往是<Script file="lua 文件名"/>表示在此处载入某 lua 文件。 注意这里也有顺序哦,如果发现变量、函数不存在,检查一下看是不是顺序问题。
这样一来我们有了两种方法载入 lua 文件。在 xml 中载入 lua 实际上不是非如此不可的,有 时候没必要用 xml 的就直接在 toc 中放个 lua,把 xml 省掉。这样做你必须在 lua 中有个入口, 也就是有个裸语句(不在任何 function 中的)进行事件注册或者调用函数。
" alphaMode="ADD 透明模式" hidden="true">
<Anchors> <Anchor point="CENTER"/>
</Anchors> </Texture> </Layer> </Layers> <Frames>
<!-- 嵌入其他框架 -->
</Frames> <Scripts>