搜索
查看: 2023|回复: 7

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

[复制链接]
发表于 2008-6-20 01:22:17 | 显示全部楼层 |阅读模式 来自 福建泉州
想请问下大家,如何跨插件读数组
比如说,一个插件已经定义了abc[33][32],如何能在另一个插件里读出这个数组的内容
发表于 2008-6-20 01:37:00 | 显示全部楼层 来自 广东广州

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

强大 强大 强大 强大 强大 强大 强大 强大 强大 强大 强大 强大
回复

使用道具 举报

发表于 2008-6-20 10:53:29 | 显示全部楼层 来自 北京海淀

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

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

使用道具 举报

发表于 2008-6-20 12:29:12 | 显示全部楼层 来自 福建漳州

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

插件一:
  1. ....
  2. new abc[33][32]
  3. ....
  4. public plugin_natives()
  5. {
  6.     register_native("func_test_get_array", "native_test_get_array");
  7. }
  8. public native_test_get_array(a[33][32])
  9. {
  10.     ......
  11.     set_array(2, abc[0], 33*32)
  12.     ......
  13. }
复制代码
然后写一个头文件 test_get_array.inc(此文件保存至include文件夹下):
  1. #if defined _test_get_array_included
  2.     #endinput
  3. #endif
  4. #define _test_get_array_included
  5. native func_test_get_array(a[33][32])
复制代码
然后在另一个插件里这样使用:
  1. ....
  2. #include <test_get_array>
  3. ....
  4. public test()
  5. {
  6.     new a[33][32];
  7.     func_test_get_array(a);
  8.     ....
  9. }
复制代码
未测试,但大概思路就这样。
回复

使用道具 举报

发表于 2008-6-20 14:08:50 | 显示全部楼层 来自 北京海淀

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

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

使用道具 举报

 楼主| 发表于 2008-6-20 17:02:00 | 显示全部楼层 来自 福建泉州

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

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

使用道具 举报

发表于 2008-6-20 17:42:58 | 显示全部楼层 来自 北京海淀

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

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

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

使用道具 举报

 楼主| 发表于 2008-6-21 13:53:48 | 显示全部楼层 来自 福建泉州

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

呵呵,有点麻烦,还是用笨办法,在另一个插件里再定义一下算了
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表