搜索
查看: 3078|回复: 6

求助,武器判断小代码这样写是否对?(已解决)

[复制链接]
发表于 2009-10-3 19:45:03 | 显示全部楼层 |阅读模式 来自 日本
本帖最后由 cityhonghu 于 2009-10-4 11:53 编辑

要做到的是,如果玩家使用雷类就切换至刀。如果使用其他武器则丢掉该武器。
疑问:
1。engclient_cmd和client_cmd用哪个比较好呢?
2。wpn的值是否也可以表现为数值呢?比如 if(wpn == 6)
3。CSW_HEGRENADE不需要""符号吗?
代码如下。谢谢
  1. new wpn = get_user_weapon(id)
  2. switch (N) {
  3.   case 1:
  4.     [code...]
  5.   case 2:
  6.     //如果为手雷,闪光,烟幕弹,则强制换刀。
  7.     if (wpn == CSW_HEGRENADE || wpn == CSW_SMOKEGRENADE || wpn == CSW_FLASHBANG)
  8.       engclient_cmd(id, "weapon_knife")
  9.     //如果持有其他武器则丢掉该武器
  10.     else{
  11.       if (wpn != CSW_KNIFE) { //当不是刀的时候丢掉
  12.         engclient_cmd(id, "wpn") //为防止快速切换至其他武器,先切换至该武器
  13.         engclient_cmd(id, "drop") //丢掉
  14.       }
  15.     }
  16. }
复制代码
发表于 2009-10-4 00:36:06 | 显示全部楼层 来自 福建漳州
get_user_weapon(id) 返回的本来就是一个整数,像 CSW_HEGRENADE 这些是一个预定义常量,在 amxconst.inc 中定义。CSW_HEGRENADE 其实就是整数4。
像你说的,可以改成这样:
  1. new wpn = get_user_weapon(id)
  2. switch (wpn) {
  3.         case CSW_HEGRENADE, CSW_SMOKEGRENADE, CSW_FLASHBANG:
  4.                 engclient_cmd(id, "weapon_knife");//换成刀
  5.         case CSW_KNIFE:
  6.                 ; //不做任何事
  7.         default:
  8.                 client_cmd(id, "drop"); //丢掉该武器
  9. }
复制代码
回复

使用道具 举报

 楼主| 发表于 2009-10-4 04:50:53 | 显示全部楼层 来自 日本
谢谢rulzy版大,还是你写的一目了然。借用一下了。
回复

使用道具 举报

 楼主| 发表于 2009-10-4 06:01:22 | 显示全部楼层 来自 日本
借用了一下,但是编译出现错误。出现错误的行为[; //不做任何事]
// E:\HLDS27016\cstrike\addons\amxmodx\scripting\sxei_required2.sma(353) : error
036: empty statement
回复

使用道具 举报

发表于 2009-10-4 10:03:23 | 显示全部楼层 来自 福建漳州
改成
  1. new wpn = get_user_weapon(id)
  2. switch (wpn) {
  3.         case CSW_HEGRENADE, CSW_SMOKEGRENADE, CSW_FLASHBANG:
  4.                 engclient_cmd(id, "weapon_knife");//换成刀
  5.         case CSW_KNIFE:
  6.                 {} //不做任何事
  7.         default:
  8.                 client_cmd(id, "drop"); //丢掉该武器
  9. }
复制代码
忘了,sma是允许用空语句的。
回复

使用道具 举报

 楼主| 发表于 2009-10-4 11:53:36 | 显示全部楼层 来自 日本
这回可以了,谢谢版大。
回复

使用道具 举报

发表于 2010-3-14 19:52:15 | 显示全部楼层 来自 江苏苏州
回复

使用道具 举报

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

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