wangshengzhen 发表于 2008-6-20 01:22:17

想请问下大家,如何跨插件读数组

想请问下大家,如何跨插件读数组
比如说,一个插件已经定义了abc,如何能在另一个插件里读出这个数组的内容

dongtianbao 发表于 2008-6-20 01:37:00

回复: 想请问下大家,如何跨插件读数组

强大 强大 强大 强大 强大 强大 强大 强大 强大 强大 强大 强大

jim_yang 发表于 2008-6-20 10:53:29

回复: 想请问下大家,如何跨插件读数组

最好的方法就是写个模块,把数组地址传过去,然后在另一个插件里读出这个地址以及长度。
amxx范围内的话就是写个公共插件,定义这个数组,然后自己写存取函数供各个插件读取。

Rulzy 发表于 2008-6-20 12:29:12

回复: 想请问下大家,如何跨插件读数组

插件一:

....
new abc
....
public plugin_natives()
{
    register_native("func_test_get_array", "native_test_get_array");
}
public native_test_get_array(a)
{
    ......
    set_array(2, abc, 33*32)
    ......
}
然后写一个头文件 test_get_array.inc(此文件保存至include文件夹下):
#if defined _test_get_array_included
    #endinput
#endif
#define _test_get_array_included
native func_test_get_array(a)
然后在另一个插件里这样使用:

....
#include <test_get_array>
....
public test()
{
    new a;
    func_test_get_array(a);
    ....
}
未测试,但大概思路就这样。

jim_yang 发表于 2008-6-20 14:08:50

回复: 想请问下大家,如何跨插件读数组

刚才写了个模块测试了一下,发现用起来实在不方便,没办法,pawn没有指针,哎,知道数组地址也没用,数组只能值传递,所以写模块也快不了哪儿去,还是试试版主的方法吧。

wangshengzhen 发表于 2008-6-20 17:02:00

回复: 想请问下大家,如何跨插件读数组

谢谢大家的回复,忘了说下这个数组的内容是玩家进入就变化的,Rulzy的方法能读出吗?

jim_yang 发表于 2008-6-20 17:42:58

回复: 想请问下大家,如何跨插件读数组

变化是你自己需要控制的,也就是说在公共插件里变化这个数组,然后其他插件才能得到最新值。不知道我说的你明不明白

你要做的就是单独写一个类模块插件,声明这个数组,包括控制其变化,然后在其他插件里读取

wangshengzhen 发表于 2008-6-21 13:53:48

回复: 想请问下大家,如何跨插件读数组

呵呵,有点麻烦,还是用笨办法,在另一个插件里再定义一下算了
页: [1]
查看完整版本: 想请问下大家,如何跨插件读数组