搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
运维做开发
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
黑龙江大学计算机考研资料汇总_黑大909和903的区别
2
Excel 支持运行 Python 代码,做表格也要学编程了?_excel可以编程代码吗
3
SFT指令微调大模型后,感觉LLM变傻了_微调 容易 变傻
4
【算法】隐马尔科夫HMM之Viterbi维特比算法原理_已知观测序列o=(红,黑,红),利用维比特算法试求最优状态序列,即最优路径i*=(i1
5
AI系统Spark原理与代码实战案例讲解_sparkai系统
6
汇总大厂-校招/社招 Java面试题_spring大厂面试题
7
【软件工程笔记3】——需求管理_软件工程需求管理
8
获取客户端真实IP
9
ARM处理器有哪些工作模式和寄存器?各寄存器作用是什么?ARM异常中断处理流程?_异常中断 lr寄存器
10
排序算法之折半插入排序
当前位置:
article
> 正文
关于魔兽世界插件AddOns
作者:运维做开发 | 2024-08-13 11:16:37
赞
踩
tur shell -wow addons
有的player每天晚上花4.5个小时跟公会活动打强大的BOSS. 也有些人钟爱PVP, 成天干竞技场, 战场. 还有休闲玩家, 只是喜欢和朋友一起进入游戏而已, 就算去打低等级的副本也很开心, 喜欢一起在YY里聊天, 在频道里打字扯蛋....的感觉.
WOW通过用插件来定制UI来实现多种玩法. 对技术控玩家和完美主义者玩家, 暴雪允许玩家定制UI和修改所有功能.
插件可以简单到改变血条的颜色或用'/'命令来做一些表情动作(/dance ==)或者复杂到分析一个服务器里的经济情况.
一个插件必须包含一个 Table of Contents (.toc) 文件, 并且文件名必须与插件的文件夹名相同比如RaidAchievement.toc(一个关于副本成就的插件, 本人是小成就控). 还可以包含 XML(定义界面), Lua 脚本, 图片, 音频等.
.toc 是驱动文件
.xml 是控制界面(都知道xml只能保存信息, 具体控制逻辑还是交给 .lua)
.lua 实现各种逻辑
插件加载过程:
1. 打开客户端的时候, 扫描AddOns目录, 建立一个已经安装的插件的列表. 包括各个插件的meta信息, 像是作者, 插件名, 版本号等等.(meta在客户端关闭之前只加载这一次)
2. 玩家进入某个服务器的角色选择界面.
3. 这时玩家可以给指定的角色启用或禁用某些插件.
4. 玩家选择一个角色, 读条进入游戏.
5. 按 FrameXML.toc 里列出的顺序, 加载默认UI XML 和 Lua 文件.
6. 没有出错的并且是启用的, 非LoD模式的插件被加载:(PS. Load on Demand: 简单的说就是不自动加载, 常用在实现配置功能的插件里, 比如团队框架插件Grid, 设置好一次后不是要经常进行再次设置, 所以这个Grid设置功能插件设置成LoD模式, 可以节省加载插件的时间和空间, 当我们要修改Grid的设置的时候在聊天窗口input /grid 这时才真正加载Grid的设置部分.)
a. 如果这个插件运行在其它插件基础之上, 并且依赖的插件没被加载, 那么先加载需要的插件(PS. 加载的顺序和操作系统有关, 可能按名字的字母序, 也可能按照文件的创建日期)
b. 读这个插件的.toc文件, 建立需要加载的文件列表(PS. 前面忘记说了, .toc文件就像是一个插件的驱动文件, 它包含这个插件要用到的 .xml, .lua 文件列表.)
c. 所有文件按顺序执行, LoadAddon() 命令立即执行. 遇到 XML 里的 script 元素也立即执行它们(PS. 例如:<Script file="Libs\LibStub\LibStub.lua"/>).
d.加载这个插件保存的变量(上次游戏时保存的, 如果保存过的话.)
e. 当 ADDON_LOADED 事件的第一个参数被设置成一个已加载的插件名的时候就被触发.(PS. 加载结构很复杂, 第一个看到的事件不一定是最先被执行的)
7. 服务器端保存的变量(角色的等级, 装备, 成就啥的), 相关按键设置, 宏命令也开始在后台同步加载.
8. SPELLS_CHANGED 事件触发, 标志着玩家的技能加载了, 并且UI可用了.
9.PLAYER_LOGIN 事件触发, 标志着大多数游戏数据可用了, 各种界面元素(技能栏, 施法条等等)定位都已Okey.
10.PLAYER_ENTERING_WORLD 事件触发, 标志哥已经读完蓝条进入了游戏!(PS. 您的好友幻小梦进入了游戏 :) )
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/运维做开发/article/detail/974562
推荐阅读
article
【
图像
加密
解密】
区块
链
的
前提下扩散
图像
加密
解密(含
直方图
)【含
Matlab
源码 4120期】_swp...
本文探讨了在云计算背景下,
区块
链
技术如何提升数据安全性,尤其是在
图像
加密
解密过程中
的
应用。作者介绍了基于
区块
链
的
可搜索加...
赞
踩
article
SpringJPA
不支持
MySQL
的
ifnull
函数_
jpa
ifnull
...
问题:在我的一条更新语句中如下: @Modifying @Query(value = "UPDATE syzy_beiJ...
赞
踩
article
【
Java
数据结构
】
Map
和
Set
超详细两万字
讲解
(内含搜索树+哈希表)_
map
.
tostring
可...
所以我们
的
Map
和
Set
就
讲解
完了,下篇文章将会
讲解
反射、枚举以及lambda表达式。让我们共同学习,共同进步,为知识
的
...
赞
踩
article
基于
Linux4.9
构建
OpenPLC
运行环境
_
openplc
移植...
本文档详细介绍了如何在BeagleBoard-X15开发板上,基于Linux 4.9.69-ti-rt-r85内核和Ub...
赞
踩
article
04、
Java
8 -
Runnable
Lambda
表达式
_
java8
runnable
...
本文详细介绍了
Java
8中
Runnable
接口如何利用
Lambda
表达式
简化代码。通过示例展示了
Lambda
创建Run...
赞
踩
article
搭建
一个
区块
链
程序
的
实践...
https://blog.csdn.net/blockchain_lemon/article/details/80837...
赞
踩
article
ARM
架构
异常
中断
处理流程_简述
arm
的
异常
响应
过程
...
在
ARM
体系中通常有以下3种方式控制程序的执行流程:在正常程序执行
过程
中,每执行一条
ARM
指令,程序计数器寄存器(PC)...
赞
踩
article
Netty
网络通信
之
Socket
_
netty
socket
...
网络通信
之
Socket
_
netty
socket
netty
socket
一.什么是So...
赞
踩
article
机器
学习
笔记:
编码器
与
解码器
...
在
机器
翻译中,输入的序列与输出的序列经常是长度不相等的序列,此时,像自然语言处理这种直接使用循环神经网络或是门控循环单元...
赞
踩
article
vue
开发环境
配置
(
node
多
版本
切换
,
nvm
安装
)_
node
版本
切换
...
最近在依赖问题上由于我
安装
的
node
版本
适配性不全面,因为是在云内断网开发,使用不了
nvm
工具)有时候会因为
node
的版...
赞
踩
article
自组装
mid360
便捷化
bag
包
采集
设备...
找到 ws_livox/src/livox_ros_driver2/launch_ROS1中的 msg_MID360.l...
赞
踩
article
PyCharm
操作指南
,
Python
必用
的
IDE
难吗?上手真简单!...
2019独角兽企业重金招聘
Python
工程师标准>>> ..._pycharm需要ide吗?py...
赞
踩
article
Writing
Bazel
rule
s: simple
binary
rule
...
例如,如果您要求进行fetch_repo_test构建,
Bazel
将构建一个图,其中fetch_repo_test节点...
赞
踩
article
RTOS
(
实时操作系统
)--异常
和
中断
向量
_
中断
和
实时操作系统
...
在
RTOS
(
实时操作系统
)中,异常
和
中断
向量
扮演着至关重要的角色,它们确保了系统在遇到特殊情况或外部事件时能够做出适当的...
赞
踩
article
Llama
3.1
上线
就
被攻破:大骂小扎
,
危险
配方张口
就
来!指令遵循能力强
了
更容易越狱
...
...
梦晨 发自 凹非寺量子位 | 公众号 QbitAI最强大模型
Llama
3.1
,
上线
就
被攻破
了
。对着自己的老板扎克伯格破...
赞
踩
article
JAVA
集合
基础知识_
java
集合
基础知识...
本文转自:https://www.cnblogs.com/xbingxin/p/5278488.htmlJava
集合
框架...
赞
踩
article
【HarmonyOS NEXT 】
应用
开发:ArkTS
页面
和
自定义
组件
生命周期
_
arkts
页面
生命周...
onPageShow:
页面
每次显示时触发一次,包括路由过程、
应用
进入前台等场景。onPageHide:
页面
每次隐藏时触发...
赞
踩
article
SpringBoot
+
Netty
-
SocketIO
在
项目
中实战详解...
序言:因工作
项目
需要使用到推送功能,且与前端Socket.IO框架对接,因此使用了
Netty
-
SocketIO
。Nett...
赞
踩
article
ttk
Treeview
_ttk.
treeview
...
import threading,time#=========== 创建
Treeview
==============...
赞
踩
article
区块
链
相关
API
方法_
区块
哈希
值
地址
查询
账户
api...
区块
链
相关
API
:GetBestBlockHash: 返回最优链上最近
区块
的
哈希
GetBlock: 返回具有指定
哈希
的区...
赞
踩
相关标签
matlab
数据结构
java
散列表
openplc
PLC
开发语言
深度学习
机器学习
人工智能
python
vue.js
前端
javascript
命令模式
开发工具
数据库
bazel
单片机
嵌入式硬件
llama
集合