能否实现不退出魔兽世界主界面直接添加插件
能否实现在线添加以前没有加载过的插件或者说能否通过开发一个插件来实现实时加载插件?
例如
addons目录下只有aaa插件
我要在线加载bbb插件
把bbb copy到 addons目录
修改aaa插件的toc文件,将bbb的相关信息加入里面,然后在魔兽里面直接/console reloadui加载该插件
能否实现? 无法实现。
插件是无法进行文件操作的,因此你的意图无法实现。
最接近的实现方法是动态加载技术。 如果把bbb插件copy到aaa插件目录里面,对bbb插件的toc文件与aaa整合是否可行呢? 應該不行吧! wow 在開始的時候會載入所有的 lua,如果在啟動前沒載入,即使改變了 toc 裡的內容,且重新載入 ui,新增的 lua 還是不會被載入。 换一个思路,如果插件本身作为其他插件的数据存在,那么动态的载入,是很简单的事情,内存控制很容易做。
我打算开发的一个插件系统,按照设计,应该能够实现在线共享插件,动态加载等功能,其实,这些功能很简单,复杂的是作为插件系统基础的部分。 同意 kurapica 的思路, cosin0002 也有类似想法, 你们可以交流下啊. 反回人物~~这样可以的吧!! [quote]原帖由 [i]芭莉丝[/i] 于 2007-11-25 01:01 发表 [url=http://bbs.cwowaddon.com/redirect.php?goto=findpost&pid=29163&ptid=2663][img]http://bbs.cwowaddon.com/images/common/back.gif[/img][/url]
反回人物~~这样可以的吧!! [/quote]
返回人物并没有再次加载插件的功能,插件是在wow.exe被调用时加载的。你可以通过/console reloadui重置插件设置,但是不能加载未注入内存的新插件。 插件文件内容被改动过,重新/console reloadui加载插件是可以的
我就经常切换出游戏修改LUA,然后在不退出游戏的情况下,重新加载啊
换句话说,插件A中包含了
001
002
003
004
005
006
007
008
009
只要TOC正常,应该可以通过更换这些文件来达到替换插件的目的
我认为不管什么方法,启动加载还是动态加载,都是要让WOW提前通知插件文件列表 wow.exe启动的时候,会把当前的插件toc列表(应该是这个吧)保存下来,而且肯定不会变,动态重载只是按照这个表再把每个文件载入一边,想更新这个表要重新刷新一边wow.exe
不过就不知道,如果改成列表里存在的名字或toc,但是功能完全不同的东西,这样重载会不由有问题
就是说建立一个或多个临时“空插件”,需要动态重载就用真正的插件去顶临时插件的位置
我觉的这么做有很危险的一面 实际上,如果你把BBB里面的文件名改成AAA里面的一样,再复制过去,在重新加载AAA,或者直接修改AAA然后重新加载,就可以不重新启动游戏 吉祥火的思路应该是正确的,我有时候也这样调试插件,不过不是100%都能成功。很疑惑。
另外想求教个问题,如何实现按职业动态加载插件?
比如,我一个账户上有多个角色,有猎人、有法师。如何在登陆猎人的时候不会错误加载法师的专用插件,而是动态加载?(或者简单点,加载但不显示?) 我觉得 插件是启动 wow.exe的时候就全部 读到缓存(内存?)里的
然后玩的时候把 interface文件夹删除了 都没事 不可以的,魔兽在装载时,TOC文件里面的所有文件被读入,然后这个列表在不退出游戏的情况下无法更改,也就是说,你无法添加新的文件 [quote]原帖由 [i]nait[/i] 于 2008-6-10 23:46 发表 [url=http://bbs.cwowaddon.com/redirect.php?goto=findpost&pid=43026&ptid=2663][img]http://bbs.cwowaddon.com/images/common/back.gif[/img][/url]
我觉得 插件是启动 wow.exe的时候就全部 读到缓存(内存?)里的
然后玩的时候把 interface文件夹删除了 都没事 [/quote]
我就经常开着游戏删除插件,删除以后只要你没重载UI,插件一直能用,不会报错,但是如果在toc文件中加一个以前和toc文件不在同目录下的文件进入toc文件并重载插件并不能载入新加的文件,意思就是只要游戏运行以后addon文件夹下新加任何文件都是不能够被载入的.
页:
[1]