|
从本篇开始讲解插件相关的编写,以及ExtendedErmFunction编写的实例。希望更多有编程基础的朋友对ERA插件编程有所了解,另外揭开插件的面纱,其实他并不神秘。
插件其实是一个DLL文件,又叫动态库链接文件,这个不多说。ERA平台会遍历MOD目录里面的目录,在这些目录下的EraPlugins文件夹里面寻找.dll和.era扩展名的文件,尝试用LoadLibrary加载进进程空间。这里值得注意的是.era扩展名的文件,他是ERA2.3以后的标准扩展名,只是扩展名不同而已,他本身仍然是个DLL文件。
也就是说,任何有效的DLL放到mod的EraPlugins目录下都会被加载,和编程语言无关。看到这里,学习VB的同学可以安心,如果你的DLL无法被加载,我立马给你50000WOG币的精神损失费。
现在说说SDK,位于Tools\Era\SDK。这里以C语言对应的era.h为例。SDK的作用就是便于开发,提供了很多定义好的结构体,以及定义很多angel.dll中的函数,这个angel.dll是ERA提供的一个“桥梁”,里面导出函数可以方便得让我们控制ERA的方方面面。
如果没有提供的SDK,比如VB编程的朋友,可以根据era.h变换成等效的VB代码,一样可以方便得链接ERA平台。本篇的目的是在于介绍插件和SDK,这里介绍使用SDK的第一步,以后的篇幅将逐步解析SDK的各个方面。
#include "Era.h" //包含SDK头文件
using namespace Era; //使用SDK命名空间
extern "C" __declspec(dllexport) BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID lpReserved)
{
if (reason == DLL_PROCESS_ATTACH)
{
ConnectEra(); //调用函数ConnectEra();连接ERA平台
//做你想做的事情
}
return TRUE;
};
基本来说,简单的几步,就可以使用SDK的函数、结构体了。对于VB而言,导出angel.dll的ConnectEra函数后用同样的方法,也可以开始插件的开发了。必须说明的时,不使用SDK也可以开发出插件,SDK只是一个方便得函数接口,而并非必须的,这个视你需要实现的功能而定。 |
评分
-
2
查看全部评分
-
|