补给箱丢武器指令教学

Home Home
引用 | 编辑 弑血
2010-01-23 21:00
楼主
推文 x3
今天我要教大家的是补给箱武器丢掉指令,也就是设定补给箱捡取后,会把手上的武器丢弃,捡取补给箱内的武器指令。

我先打上武器丢弃指令;

drop_primary_weapons(id)  //丢弃主要武器指令
drop_secondary_weapons(id)  //丢弃小枪武器指令
drop_current_weapon(id)  //丢弃手上拿的枪指令

以上红色的那三行是武器的丢弃指令。

请大家在dtgift_weapons的sma档里加入以下的指令:

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|
 (1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|
 (1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
                                                                                                                        
stock drop_primary_weapons(id)                                       
{                                                                    
 // Get user weapons
 static weapons[32], num, i, weaponid
 num = 0 // reset passed weapons count (bugfix)
 get_user_weapons(id, weapons, num)
 
 for (i = 0; i < num; i++)
 {
  weaponid = weapons
  
  if ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)
  {
   static wname[32]
   get_weaponname(weaponid, wname, sizeof wname - 1)
   engclient_cmd(id, "drop", wname)
  }
 }
}

stock drop_current_weapon(id) 
{
 static weapon_id, clip, ammo
 weapon_id = get_user_weapon(id, clip, ammo)
 
 if (((1<<weapon_id) & PRIMARY_WEAPONS_BIT_SUM) || ((1<<weapon_id) & SECONDARY_WEAPONS_BIT_SUM))
 {
  static weapon_name[32]
  get_weaponname(weapon_id, weapon_name, sizeof weapon_name - 1)
  engclient_cmd(id, "drop", weapon_name)
 }
}


stock drop_secondary_weapons(id)
{
 // Get user weapons
 static weapons[32], num, i, weaponid
 num = 0 // reset passed weapons count (bugfix)
 get_user_weapons(id, weapons, num)
 
 for (i = 0; i < num; i++)
 {
  weaponid = weapons
  
  if ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)
  {
   static wname[32]
   get_weaponname(weaponid, wname, sizeof wname - 1)
   engclient_cmd(id, "drop", wname)
  }
 }
}



我先示范输入指令:

public get_sg552( id){

        drop_primary_weapons(id) ←这个是主枪丢弃指令
        give_item( id, "weapon_sg552");  
        give_item( id, "ammo_556nato");
        give_item( id, "ammo_556nato");
        give_item( id, "ammo_556nato");


上方的红色代表是主武器丢弃指令:

public get_de( id){

       drop_secondary_weapons(id)  ←这个是小枪丢弃指令
       give_item( id, "weapon_deagle");
       give_item( id, "ammo_50ae");
       give_item( id, "ammo_50ae");
       give_item( id, "ammo_50ae");
       give_item( id, "ammo_50ae");


这个红色代表是小枪丢弃指令。

记得要把指令排在补给箱,武器前面别乱排,要不然捡到后会乱丢

要打指令前,记得要分清楚主枪小枪。

重点:您的回覆或是推荐是我发教学的动力来源表情

献花 x1
引用 | 编辑 66976697
2010-01-23 21:22
1楼
  
我没有dtgift_weapons@@
和物错

献花 x0
引用 | 编辑 夜魂
2010-01-23 21:23
2楼
  
不错 又是个好教学
还有续集妈??

献花 x0
引用 | 编辑 弑血
2010-01-23 21:26
3楼
  
没有dtgift_weapons档的SMA,就没办法改补给箱的指令。 表情

献花 x0
引用 | 编辑 supermanhugo
2010-01-23 22:20
4楼
  
下面是引用 s8720419 于 2010-01-23 21:26 发表的 : 到引言文
没有dtgift_weapons档的SMA,就没办法改补给箱的指令。 表情

自己写一个就好了表情

献花 x0
引用 | 编辑 chapecs
2010-01-24 08:02
5楼
  
有可以设定补给箱的武器教学妈 表情

献花 x0
引用 | 编辑 弑血
2010-01-24 12:08
6楼
  
有呀~如果你要的话 可以跟我说,我在发教学

献花 x0
引用 | 编辑 chapecs
2010-01-25 06:24
7楼
  
下面是引用 s8720419 于 2010-01-24 12:08 发表的 : 到引言文
有呀~如果你要的话 可以跟我说,我在发教学

我要~~~

建议你付上补给箱的载点
这样之后进来的新人才不会ˋ看说觉得
这是甚么东西 看不懂这样表情

献花 x0
引用 | 编辑 a7811311622
2010-01-25 09:19
8楼
  
我怎么觉得内容好像以前我在提问区回答的答案…
不过至少这内容放教学区总比放提问区好多了…也不太可能有人跑到提问区找教学…

献花 x0
引用 | 编辑 弑血
2010-01-25 16:41
9楼
  
我不会放载点,我还是个新手,只是还在研究怎改写插件。

我只发教学,至于载点在(插件区) 就找的到了。 表情

献花 x0
引用 | 编辑 M1665978
2010-02-13 11:07
10楼
  
呵呵加油

献花 x0
引用 | 编辑 092124895
2010-03-12 20:46
11楼
  
回文了

献花 x0
引用 | 编辑 calove00
2010-03-13 22:44
12楼
  
楼主你不如用SMA排好位置....

这样可以清析一点 表情

献花 x0
引用 | 编辑 dennis888
2010-03-19 08:24
13楼
  
多谢你的分享,不过我见到你set 子弹量要
    drop_secondary_weapons(id)
    give_item( id, "weapon_deagle");
    give_item( id, "ammo_50ae");
    give_item( id, "ammo_50ae");
    give_item( id, "ammo_50ae");
    give_item( id, "ammo_50ae");

可以
#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#include <zp_presents2>
#include <cstrike>

打左#include <cstrike> 呢个指令
你可以
    drop_secondary_weapons(id)
    give_item( id, "weapon_deagle");
    cs_set_user_bpammo(id, CSW_DEAGLE, 70);
70 就系子弹量数目
希望帮到你 (好似有人讲过)

在此声明,我唔系抄人

献花 x0
引用 | 编辑 andyhui
2010-03-21 16:12
14楼
  
好像很漂亮

献花 x0
引用 | 编辑 andyhui
2010-03-21 16:13
15楼
  
上面打错,是好复杂

献花 x0
引用 | 编辑 皇帝企鹅
2010-07-19 16:29
16楼
  
我拿到补给箱武器就换掉啦

献花 x0
引用 | 编辑 弑血
2010-07-19 22:04
17楼
  
请看文 表情
这是丢武器教学 表情

献花 x0
引用 | 编辑 IGLA_VIP
2011-08-08 14:25
18楼
  
我不明白是什么呢?

献花 x0
引用 | 编辑 S3xTy
2020-12-20 08:02
19楼
  
回 覆 锁 定 :

  此回覆已被锁定,只有『管理员及回覆者』看的到 !!!



献花 x0