找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2175|回复: 17

[已解决] 如何定义这种动态数组

[复制链接]

该用户从未签到

发表于 2008-10-26 03:28:24 | 显示全部楼层 |阅读模式
本帖最后由 caffeine 于 2012-10-13 08:14 编辑

下面的这个问题已经解决

for(new id=1;id<=33;id++) 改成 for(new id=1;id<33;id++) 就好了。(在动态数组中)
___________________________________________________
sma:test.sma

如果 curPos[33][3601][3] 改成 curPos[33][36001][3] ,那AMXX文件编译时间都要1分多钟,所以有必要把它改成动态的数组。毕竟现在的 3601 也定义得太浪费资源了。

  1. #include <amxmodx>
  2. new curPos[33][3601][3]
  3. new timeAll[33]
  4. public plugin_init() {
  5. set_task(1.0,"timer_task",_,_,_,"b")
  6. }
  7. public timer_task() {
  8. for(new id=1;id<=get_maxplayers();id++) {
  9.   if(is_user_connected(id) && is_user_alive(id)) {
  10.    get_user_origin(id,curPos[id][timeAll[id]])
  11.    client_print(id,print_chat,"(%d) %d %d %d",timeAll[id],curPos[id][timeAll[id]][0],curPos[id][timeAll[id]][1],curPos[id][timeAll[id]][2])
  12.    timeAll[id]++
  13.   }
  14. }
  15. }
复制代码
[ 本帖最后由 caffeine 于 2008-10-26 03:29 编辑 ]
___________________________________________________



该用户从未签到

发表于 2008-10-26 03:37:57 | 显示全部楼层
等NB来吧。

该用户从未签到

发表于 2008-10-26 09:11:25 | 显示全部楼层
咖啡在研究新插件吗?

该用户从未签到

 楼主| 发表于 2008-10-26 11:55:45 | 显示全部楼层

回复 4# SiMen.3Q 的帖子

该用户从未签到

发表于 2008-10-26 12:23:39 | 显示全部楼层
amxmodx\scripting\testsuite\arraytest.sma有示例

该用户从未签到

发表于 2008-10-26 12:35:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

该用户从未签到

发表于 2008-10-26 13:06:02 | 显示全部楼层
大概可能也许是这样:

int di=3601;

curPos*   q   =   (curPos*)malloc(d1  *   sizeof(curPos));   
  //使用:   
  for(int   i   =   0;   i   <   33;   i++)   {   
          for(int   j   =   0;   j   <  d1;   j++)   {   
                  for(int   k   =   0;   k   <   3;   k++)   {   
                          q[i][j][k]   = ......;   
                  }   
          }   
  }   

错了别扣分

[[i] 本帖最后由 donle 于 2008-10-26 13:07 编辑 [/i]]

该用户从未签到

发表于 2008-10-26 13:25:32 | 显示全部楼层
**~ c++ ?

该用户从未签到

发表于 2008-10-26 14:01:21 | 显示全部楼层
1m多点的内存,不算多额

该用户从未签到

 楼主| 发表于 2008-10-26 16:01:00 | 显示全部楼层
arraytest.sma 看不懂啊,在网上也找不到动态数组的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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