设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1334|回复: 15

[求助] ZP强化武器补给箱捡拾不掉武器     [复制链接]

Rank: 10Rank: 10Rank: 10

帖子
1528
精华
0
声望
5167 点
金币
938 Mold
被赞许
20 次
注册时间
2010-4-9

可爱小猫

发表于 2010-6-21 21:48:12 |显示全部楼层
就是捡了强化武器补给箱后原武器不掉落,武器重枪了。

这是武器补给箱的副源码,该怎么弄才能让拾到补给箱后原武器掉落。
  1. /* 本插件由 AMXX-Studio 中文版自动生成*/
  2. /* UTF-8 func by www.DT-Club.net */

  3. #include <amxmodx>
  4. #include <fakemeta>
  5. #include <zombieplague>
  6. #include <zp_presents2>

  7. #define PLUGIN_NAME        "强化武器补给箱"
  8. #define PLUGIN_VERSION        "1.0"
  9. #define PLUGIN_AUTHOR        "charm暗影芭比"

  10. #define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))

  11. #define OFFSET_AWM_AMMO                        377
  12. #define OFFSET_SCOUT_AMMO                378
  13. #define OFFSET_PARA_AMMO                379
  14. #define OFFSET_FAMAS_AMMO                380
  15. #define OFFSET_M3_AMMO                        381
  16. #define OFFSET_USP_AMMO                        382
  17. #define OFFSET_FIVESEVEN_AMMO                383
  18. #define OFFSET_DEAGLE_AMMO                384
  19. #define OFFSET_P228_AMMO                385
  20. #define OFFSET_GLOCK_AMMO                386
  21. #define OFFSET_FLASH_AMMO                387
  22. #define OFFSET_HE_AMMO                        388
  23. #define OFFSET_SMOKE_AMMO                389
  24. #define OFFSET_C4_AMMO                        390

  25. public plugin_init()
  26. {
  27.         register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  28. }

  29. public zp_present_get(id,const name[])
  30. {
  31.         new num = random_num(1,9)
  32.         if(num == 1)
  33.         {
  34.                 fm_give_item(id,"weapon_mp5navy")
  35.                 fm_give_item(id,"ammo_9mm")
  36.                 fm_give_item(id,"ammo_9mm")
  37.                 fm_give_item(id,"ammo_9mm")
  38.                 fm_give_item(id,"ammo_9mm")
  39.                 client_print(0,print_center,"%s获得了强化补给武器(双持MP7A1)",name)
  40.         }
  41.         else if(num == 2)
  42.         {
  43.                 fm_give_item(id,"weapon_sg552")
  44.                 fm_give_item(id,"ammo_556nato")
  45.                 fm_give_item(id,"ammo_556nato")
  46.                 fm_give_item(id,"ammo_556nato")
  47.                 fm_give_item(id,"ammo_556nato")
  48.                 client_print(0,print_center,"%s获得了强化补给武器(旋风AK47)",name)
  49.         }
  50.         else if(2<num<5)
  51.         {
  52.                 fm_give_item(id,"weapon_elite")
  53.                 fm_give_item(id,"ammo_9mm")
  54.                 fm_give_item(id,"ammo_9mm")
  55.                 fm_give_item(id,"ammo_9mm")
  56.                 fm_give_item(id,"ammo_9mm")
  57.                 client_print(0,print_center,"%s获得了强化补给武器(金红双蝎)",name)
  58.         }
  59.         else if(2<num<5)
  60.         {
  61.                 fm_give_item(id,"weapon_fiveseven")
  62.                 fm_give_item(id,"ammo_57mm")
  63.                 fm_give_item(id,"ammo_57mm")
  64.                 fm_give_item(id,"ammo_57mm")
  65.                 fm_give_item(id,"ammo_57mm")
  66.                 client_print(0,print_center,"%s获得了强化补给武器(双持沙鹰)",name)
  67.         }
  68.         else if(4<num<8)
  69.         {
  70.                 new n_currentHE =  fm_get_user_bpammo(id,CSW_HEGRENADE)
  71.                 new n_currentSG =  fm_get_user_bpammo(id,CSW_SMOKEGRENADE)
  72.                 new n_currentFB =  fm_get_user_bpammo(id,CSW_FLASHBANG)
  73.                 fm_set_user_bpammo(id,CSW_HEGRENADE,0)
  74.                 fm_set_user_bpammo(id,CSW_SMOKEGRENADE,0)
  75.                 fm_set_user_bpammo(id,CSW_FLASHBANG,0)
  76.                 fm_give_item(id,"weapon_hegrenade")
  77.                 fm_give_item(id,"weapon_smokegrenade")
  78.                 fm_give_item(id,"weapon_flashbang")
  79.                 fm_set_user_bpammo(id,CSW_HEGRENADE,n_currentHE + 1)
  80.                 fm_set_user_bpammo(id,CSW_SMOKEGRENADE,n_currentSG + 1)
  81.                 fm_set_user_bpammo(id,CSW_FLASHBANG,n_currentFB + 2)
  82.                 for(new i=1;i<5;i++)
  83.                 {
  84.                         fm_give_item(id,"ammo_357sig")
  85.                         fm_give_item(id,"ammo_762nato")
  86.                         fm_give_item(id,"ammo_buckshot")
  87.                         fm_give_item(id,"ammo_45acp")
  88.                         fm_give_item(id,"ammo_556nato")
  89.                         fm_give_item(id,"ammo_9mm")
  90.                         fm_give_item(id,"ammo_57mm")
  91.                         fm_give_item(id,"ammo_338magnum")
  92.                         fm_give_item(id,"ammo_556natobox")
  93.                         fm_give_item(id,"ammo_50ae")
  94.                 }
  95.                 client_print(0,print_center,"%s获得了强化补给武器(手雷弹夹补给)",name)
  96.         }
  97.         else
  98.         {
  99.                 zp_set_user_nightvision(id,1)
  100.                 client_print(0,print_center,"%s获得了强化补给武器(夜仪器)",name)
  101.         }
  102. }

  103. stock fm_give_item(index, const item[]) {
  104.         if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
  105.                 return 0;

  106.         new ent = fm_create_entity(item);
  107.         if (!pev_valid(ent))
  108.                 return 0;

  109.         new Float:origin[3];
  110.         pev(index, pev_origin, origin);
  111.         set_pev(ent, pev_origin, origin);
  112.         set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
  113.         dllfunc(DLLFunc_Spawn, ent);

  114.         new save = pev(ent, pev_solid);
  115.         dllfunc(DLLFunc_Touch, ent, index);
  116.         if (pev(ent, pev_solid) != save)
  117.                 return ent;

  118.         engfunc(EngFunc_RemoveEntity, ent);

  119.         return -1;
  120. }

  121. stock fm_set_user_bpammo(index, weapon, amount)
  122. {
  123.         new offset;
  124.        
  125.         switch(weapon)
  126.         {
  127.                 case CSW_AWP: offset = OFFSET_AWM_AMMO;
  128.                 case CSW_SCOUT,CSW_AK47,CSW_G3SG1: offset = OFFSET_SCOUT_AMMO;
  129.                 case CSW_M249: offset = OFFSET_PARA_AMMO;
  130.                 case CSW_M4A1,CSW_FAMAS,CSW_AUG,CSW_SG550,CSW_GALI,CSW_SG552: offset = OFFSET_FAMAS_AMMO;
  131.                 case CSW_M3,CSW_XM1014: offset = OFFSET_M3_AMMO;
  132.                 case CSW_USP,CSW_UMP45,CSW_MAC10: offset = OFFSET_USP_AMMO;
  133.                 case CSW_FIVESEVEN,CSW_P90: offset = OFFSET_FIVESEVEN_AMMO;
  134.                 case CSW_DEAGLE: offset = OFFSET_DEAGLE_AMMO;
  135.                 case CSW_P228: offset = OFFSET_P228_AMMO;
  136.                 case CSW_GLOCK18,CSW_MP5NAVY,CSW_TMP,CSW_ELITE: offset = OFFSET_GLOCK_AMMO;
  137.                 case CSW_FLASHBANG: offset = OFFSET_FLASH_AMMO;
  138.                 case CSW_HEGRENADE: offset = OFFSET_HE_AMMO;
  139.                 case CSW_SMOKEGRENADE: offset = OFFSET_SMOKE_AMMO;
  140.                 case CSW_C4: offset = OFFSET_C4_AMMO;

  141.                 default:
  142.                 {
  143.                         new invalidMsg[20 + 7];
  144.                         formatex(invalidMsg,20 + 6,"Invalid weapon id %d",weapon);
  145.                         set_fail_state(invalidMsg);
  146.                        
  147.                         return 0;
  148.                 }
  149.         }
  150.        
  151.         set_pdata_int(index,offset,amount);
  152.        
  153.         return 1;
  154. }

  155. stock fm_get_user_bpammo(index, weapon)
  156. {
  157.         new offset;
  158.        
  159.         switch(weapon)
  160.         {
  161.                 case CSW_AWP: offset = OFFSET_AWM_AMMO;
  162.                 case CSW_SCOUT,CSW_AK47,CSW_G3SG1: offset = OFFSET_SCOUT_AMMO;
  163.                 case CSW_M249: offset = OFFSET_PARA_AMMO;
  164.                 case CSW_M4A1,CSW_FAMAS,CSW_AUG,CSW_SG550,CSW_GALI,CSW_SG552: offset = OFFSET_FAMAS_AMMO;
  165.                 case CSW_M3,CSW_XM1014: offset = OFFSET_M3_AMMO;
  166.                 case CSW_USP,CSW_UMP45,CSW_MAC10: offset = OFFSET_USP_AMMO;
  167.                 case CSW_FIVESEVEN,CSW_P90: offset = OFFSET_FIVESEVEN_AMMO;
  168.                 case CSW_DEAGLE: offset = OFFSET_DEAGLE_AMMO;
  169.                 case CSW_P228: offset = OFFSET_P228_AMMO;
  170.                 case CSW_GLOCK18,CSW_MP5NAVY,CSW_TMP,CSW_ELITE: offset = OFFSET_GLOCK_AMMO;
  171.                 case CSW_FLASHBANG: offset = OFFSET_FLASH_AMMO;
  172.                 case CSW_HEGRENADE: offset = OFFSET_HE_AMMO;
  173.                 case CSW_SMOKEGRENADE: offset = OFFSET_SMOKE_AMMO;
  174.                 case CSW_C4: offset = OFFSET_C4_AMMO;
  175.                 default:
  176.                 {
  177.                         new invalidMsg[20 + 7];
  178.                         formatex(invalidMsg,20 + 6,"Invalid weapon id %d",weapon);
  179.                         set_fail_state(invalidMsg);
  180.                        
  181.                         return 0;
  182.                 }
  183.         }
  184.        
  185.         return get_pdata_int(index,offset);
  186.        
  187. }
复制代码
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
自恋无罪,装逼万岁。

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
3735
精华
1
声望
5900 点
金币
2148 Mold
被赞许
47 次
注册时间
2009-12-20

优秀版主奖 Modchina灌水王 星界财团 可爱小猫

发表于 2010-6-21 21:52:29 |显示全部楼层
哈哈~刚发帖3分钟就被我抢了SF~
看起来不错的插件
至于你信不信,我反正信了

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
2249
精华
0
声望
6052 点
金币
257 Mold
被赞许
0 次
注册时间
2010-6-14

Modchina灌水王 可爱小猫

发表于 2010-6-21 21:57:23 |显示全部楼层
这个插件看起来好像很好使

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
1528
精华
0
声望
5167 点
金币
938 Mold
被赞许
20 次
注册时间
2010-4-9

可爱小猫

发表于 2010-6-21 21:58:38 |显示全部楼层
楼上的,我是来求助,不是来分享的
自恋无罪,装逼万岁。

使用道具 举报

Rank: 3Rank: 3

帖子
830
精华
0
声望
469 点
金币
38 Mold
被赞许
0 次
注册时间
2010-2-13

黑暗使者 图界之神

发表于 2010-6-21 22:00:33 |显示全部楼层
不懂插件........等待高手解答.......

使用道具 举报

Rank: 5Rank: 5

帖子
990
精华
0
声望
1243 点
金币
119 Mold
被赞许
7 次
注册时间
2009-7-27
发表于 2010-6-21 22:02:15 |显示全部楼层
这插件谁改的,插件本来是大江的,既然还在AUTHOR(作者)上面写自己名字,太不要face了。

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
3735
精华
1
声望
5900 点
金币
2148 Mold
被赞许
47 次
注册时间
2009-12-20

优秀版主奖 Modchina灌水王 星界财团 可爱小猫

发表于 2010-6-21 22:27:57 |显示全部楼层
LS注意,是LZ原创,捡了武器不丢原武器,别乱说
至于你信不信,我反正信了

使用道具 举报

Rank: 5Rank: 5

帖子
990
精华
0
声望
1243 点
金币
119 Mold
被赞许
7 次
注册时间
2009-7-27
发表于 2010-6-21 23:24:34 |显示全部楼层
LS的可能要先看这个帖子,我下载的他的插件照样捡了不掉武器
http://www.modchina.com/viewthread.php?tid=37398&highlight=
http://www.modchina.com/thread-37114-1-1.html

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
1528
精华
0
声望
5167 点
金币
938 Mold
被赞许
20 次
注册时间
2010-4-9

可爱小猫

发表于 2010-6-22 09:45:50 |显示全部楼层
回复 6# SuperMonster


    是源码叫我写自己的名字,我就写了

使用道具 举报

Rank: 10Rank: 10Rank: 10

帖子
1528
精华
0
声望
5167 点
金币
938 Mold
被赞许
20 次
注册时间
2010-4-9

可爱小猫

发表于 2010-6-22 09:47:09 |显示全部楼层
回复 8# SuperMonster


    我就是下载他的,怎么才能让他掉武器

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

回顶部