Osker Lee 发表于 2007-7-21 22:25:09

Super Hero的精锐狙击兵(sh_sniper.sma)编译出错

最近从Super Hero的官方网找到了另外的两个超级英雄,绿箭手(sh_greenarrow)和精锐狙击兵(sh_sniper),其中绿箭手可以在Amxmodx1.76d下编译成功,但精锐狙击兵在编译时却出现了错误提示:

/sh_sniper.sma<160> : warning 213: tag mismatch

好像是源代码的第160行出错了(红色部分的代码):

new velocity
get_user_velocity(id, velocity)
if ( velocity < -10 || velocity > 10 ) return PLUGIN_HANDLED

请高手帮忙修改一下,谢谢!

Ryu2877 发表于 2007-7-22 13:38:49

回复: Super Hero的精锐狙击兵(sh_sniper.sma)编译出错

new Float:velocity
get_user_velocity(id, velocity)
if ( velocity < -10.0 || velocity > 10.0 ) return PLUGIN_HANDLED

不要学别人所谓的“改”(自欺欺人的抄袭行为),多学“编”。。。



Osker Lee 发表于 2007-7-22 15:57:01

回复: Super Hero的精锐狙击兵(sh_sniper.sma)编译出错

*(^_^)* 插件可以成功编译了!Ryu2877大哥,谢谢你!

不过服务器开启了这个英雄后,控制台会一直出现误差报告:

L 07/22/2007 - 15:40:44: Displaying debug trace (plugin "sh_sniper.amxx")
L 07/22/2007 - 15:40:44: Run time error 4: index out of bounds
L 07/22/2007 - 15:40:44: sh_sniper.sma::find_closest_enemy (line 326)
L 07/22/2007 - 15:40:44: Displaying debug trace (plugin "sh_sniper.amxx")
L 07/22/2007 - 15:40:44: Run time error 4: index out of bounds
L 07/22/2007 - 15:40:44: sh_sniper.sma::find_closest_ally (line 411)

好像是源代码的第326和第411行出了问题,Ryu2877大哥,还得麻烦你帮忙诊断一下......

Ryu2877 发表于 2007-7-23 08:00:56

回复: Super Hero的精锐狙击兵(sh_sniper.sma)编译出错

源码比较凌乱,只看了出错那几行,初步建议改动这里:

第32行:
new locationOfAlly,locationOfEnemy=0

改为:

new locationOfAlly2],locationOfEnemy2]=0

由于没时间仔细看源码的逻辑过程,请你自己改动后试试。

Osker Lee 发表于 2007-7-23 16:57:52

回复: Super Hero的精锐狙击兵(sh_sniper.sma)编译出错

呵呵,问题解决了!再次感谢Ryu2877大哥!:byebye:
页: [1]
查看完整版本: Super Hero的精锐狙击兵(sh_sniper.sma)编译出错