sma问题

Home Home
引用 | 编辑 abc121212
2010-09-01 20:12
楼主
推文 x0
我又来啦
迷:发这样多文不闷吗
我:不= =

问题: drop_weapons(id, 1) 是用来趺落武器吗? 不是的话 那是什么呢?

献花 x0
引用 | 编辑 史来姆
2010-09-01 20:15
1楼
  
这个原本是没效的指令
你要加上一个解释这个指令的"东西"(不懂怎说= =)

献花 x0
引用 | 编辑 abc121212
2010-09-01 20:17
2楼
  
if? 表情 表情

献花 x0
引用 | 编辑 史来姆
2010-09-01 20:18
3楼
  
是stock drop_weapons(id, dropwhat)
在这下面的不太记得,要看看.....

献花 x0
引用 | 编辑 abc121212
2010-09-01 20:20
4楼
  
stock drop_weapons(id, CSW_AWP)
这样?

献花 x0
引用 | 编辑 史来姆
2010-09-01 20:23
5楼
  
我把整段给你看..
首先设定"东西"(= =)
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_weapons(id, dropwhat) // dropwhat: 1 = primary weapon , 2 = secondary weapon
{
       // Get user weapons
       static weapons[32], num, i, weaponid
       num = 0 // reset passed weapons count (bugfix)
       get_user_weapons(id, weapons, num)
       
       // Loop through them and drop primaries or secondaries
       for (i = 0; i < num; i++)
       {
              // Prevent re-indexing the array
              weaponid = weapons[i]
              
              if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
              {
                     // Get weapon name
                     static wname[32]
                     get_weaponname(weaponid, wname, charsmax(wname))
                     
                     // Drop weapon
                     engclient_cmd(id, "drop", wname)
              }
       }
}


献花 x0
引用 | 编辑 abc121212
2010-09-01 20:26
6楼
  
完全不明白= =
那个
drop_weapons(id, dropwhat) dropwhat是CSW_武器?

献花 x0
引用 | 编辑 史来姆
2010-09-01 20:29
7楼
  
一字记之曰: 复制后贴上 (谜:这不是一"字"吧......)

之后再在适当的位置写上
drop_weapons(id, 1) 此指令为丢掉持有主枪
或者
drop_weapons(id, 2) 此指令为丢掉持有副枪

可不是CSW_XXX喔,是1或者2~

献花 x0
引用 | 编辑 abc121212
2010-09-01 20:32
8楼
  
喔 明白了

献花 x0
引用 | 编辑 abc121212
2010-09-01 20:36
9楼
  
....... 还有问题 如何:

如果他有CSW_M4A1
如果他有CSW_AWP

那如何做?

献花 x0
引用 | 编辑 史来姆
2010-09-01 20:44
10楼
  
你是想弄到持有awp或者m4a1才掉下枪枝?

献花 x0
引用 | 编辑 chuchung712
2010-09-01 20:56
11楼
  
static weap_id
weap_id = get_user_weapon(id)
if (weap_id == CSW_KNIFE)
     XXX

自己换成要的武器 表情

献花 x0
引用 | 编辑 abc121212
2010-09-01 21:12
12楼
  
下面是引用 史来姆 于 2010-09-01 20:44 发表的 : 到引言文
你是想弄到持有awp或者m4a1才掉下枪枝?


恩恩

献花 x0
引用 | 编辑 史来姆
2010-09-01 21:17
13楼
  
我也不太懂......如果跟照朱聪大的话
应该是这样
if(cs_get_user_weapon(id) == CSW_M4A1) //如果持有M4A1的话
drop_weapons(id, 1) //掉下主枪(M4A1)

有错不要骂我,我只是amxx烂手 表情

献花 x0
引用 | 编辑 abc121212
2010-09-01 21:19
14楼
  
那如果多把枪的话 是不是

if(cs_get_user_weapon(id) == CSW_M4A1) //如果持有M4A1的话
if(cs_get_user_weapon(id) == CSW_AWP)
if(cs_get_user_weapon(id) == CSW_P90)
if(cs_get_user_weapon(id) == CSW_SG552)
drop_weapons(id, 1) //掉下全部枪

献花 x0
引用 | 编辑 森之千手
2010-09-01 21:21
15楼
  
if(cs_get_user_weapon(id) == CSW_M4A1 || cs_get_user_weapon(id) == CSW_AWP || cs_get_user_weapon(id) == CSW_P90 || cs_get_user_weapon(id) == CSW_SG552)

献花 x0
引用 | 编辑 chuchung712
2010-09-01 21:21
16楼
  
居然被无视了…   表情

算了
洗澡去 表情

献花 x0
引用 | 编辑 abc121212
2010-09-01 21:22
17楼
  
即是

if(cs_get_user_weapon(id) == CSW_M4A1
cs_get_user_weapon(id) == CSW_AWP
cs_get_user_weapon(id) == CSW_P90
Cs_get_user_weapon(id) == CSW_SG552)
drop_weapons(id, 1) //

是吗?

献花 x0
引用 | 编辑 史来姆
2010-09-01 21:25
18楼
  
一于采用朱聪大的方法=v=也许这样会较好(我总觉得我写错了甚么似的....)

static weap_id
weap_id = get_user_weapon(id)
if(weap_id == CSW_M4A1 || weap_id == CSW_AWP || weap_id == CSW_P90 || weap_id == CSW_SG552)
drop_weapons(id, 1)

献花 x0
引用 | 编辑 abc121212
2010-09-01 21:29
19楼
  
有错误

.......................................sma(40) : eroor055: start of function body with out function header

献花 x0
引用 | 编辑 史来姆
2010-09-01 21:30
20楼
  
你的标题啊.......

不能在任何一个空白处加上指令......
(小弟还有电脑系的东西要弄,先告退,接下来交给各位大大)

献花 x0
引用 | 编辑 abc121212
2010-09-01 21:33
21楼
  
好了 解决了 那invalid function or declaration又是什么意思

献花 x0
引用 | 编辑 首页也要封糙
2010-09-02 20:39
22楼
  
直接英翻中得到:

"无效的函数或声明" 表情
意思应该就是这样吧 表情

献花 x0
引用 | 编辑 kwokhung
2010-09-18 15:56
23楼
  
我记得很像是 表情

献花 x0
引用 | 编辑 肥猫猫
2010-09-23 04:30
24楼
  
那invalid function or declaration又是什么意思
你没有先定义 weap_id 就使用这个函数
Pawn很笨 会看不懂.
所以
public blah_weap_stuff(id)
{
new static weap_id = get_user_weapon(id,_,_);
  if(weap_id == CSW_AWP)
  {
      // blah balh
  }
  // blah blah...
}

其实不需要用到 static 这个
简单点的话也可以用成

new weap_id = get_user_weapon(id,_,_);

献花 x0
引用 | 编辑 a7811311622
2010-09-23 10:22
25楼
  
下面是引用 肥猫猫 于 2010-09-23 04:30 发表的 : 到引言文
那invalid function or declaration又是什么意思
你没有先定义 weap_id 就使用这个函数
Pawn很笨 会看不懂.
所以
public blah_weap_stuff(id)
{
new static weap_id = get_user_weapon(id,_,_);
  if(weap_id == CSW_AWP)
  {
      // blah balh
  }
  // blah blah...
}

其实不需要用到 static 这个
简单点的话也可以用成

new weap_id = get_user_weapon(id,_,_);

嘛…会出现错误「invalid function or declaration」就代表…编码用成了有署名的UTF-8了…
至于 static …意见同上…用了 new 又用 static 是意义不明的说…
话说「get_user_weapon(id,_,_)」也能写成「get_user_weapon(id)」…
表情 表情 表情

献花 x0
引用 | 编辑 freeze02468
2010-10-03 09:58
26楼
  
它的意思应该是"掉落所有武器"
就是当有人阵亡时,会掉落所有拥有的武器之类的

献花 x0
引用 | 编辑 i-c0112
2010-10-03 12:33
27楼
  
下面是引用 a7811311622 于 2010-09-23 10:22 发表的 : 到引言文
 
嘛…会出现错误「invalid function or declaration」就代表…编码用成了有署名的UTF-8了…
至于 static …意见同上…用了 new 又用 static 是意义不明的说…
话说「get_user_weapon(id,_,_)」也能写成「get_user_weapon(id)」…
表情  表情 表情

只有出现再第一行时才比较可能是这原因吧
至于 new 和 static 是完全相反的东西吧
一个是         动态记忆体配置
另一个则是 静态区域变数

献花 x0