Osker Lee 发表于 2008-2-14 18:29:54

新版火箭筒插件(bazooka_Slot5.amxx)出现的问题

今天我在AMXX网上又找到了一个火箭筒插件(bazooka_Slot5.amxx),虽然购买火箭筒后也是按数字"5"来切换的,但比之前的bazooka_1.3d.amxx好用多了,并且解决了bazooka_1.3d.amxx存在的两个BUG:

1. 解决了有火箭筒的玩家埋C4时没有手部动作的BUG.

2. 解决了有火箭筒的玩家死亡后不仅会掉出火箭筒,而且还会掉出C4的BUG.

不过,今天测试bazooka_Slot5.amxx时却依然发现了两个问题:

1. 玩家即使手上已经有一个火箭筒了,但是居然还能捡起其他玩家掉在地上的火箭筒.

2. 我们知道,当玩家切换到bazooka模式时,屏幕的左下角就会显示火箭筒相关的弹药量信息,当切换到别的武器时,这些信息就不会显示了.但这个bazooka_Slot5.amxx有点奇怪,不论你是处在bazooka模式,还是切换到别的武器,屏幕左下角的信息居然都是一直持续显示着的,不会因为玩家更换武器而消失不见.(参见游戏截图)

zwfgdlc 发表于 2008-2-14 20:40:36

回复: 新版火箭筒插件(bazooka_Slot5.amxx)出现的问题

第一个问题,估计跟之前那个火箭筒插件一样,当两个实体接触时,缺少判断.
第二个问题,估计是注册"CurWeapon"事件触发的函数里,处理过程有些问题.

自己学着改吧,毕竟学到了才是自己的.

点通粉丝 发表于 2008-2-15 22:51:31

回复: 新版火箭筒插件(bazooka_Slot5.amxx)出现的问题

http://www.dt-club.net/forum/thread/90/37924.htm

:burn: :burn: :burn: :burn: :burn: :burn:


Osker Lee..大大我用了你插件为什么不是我在图片看到的效果??
你可不可改一个发上来呢.先行谢过:em33:

Osker Lee 发表于 2008-2-16 15:04:45

回复: 新版火箭筒插件(bazooka_Slot5.amxx)出现的问题

因为之前的火箭筒(Bazooka)不存在这两个问题,所以我参照着去修改bazooka_slot5.sma:

1. 对于第一个问题,我把bazooka_slot5.sma里的第949行代码:
if (equal(ClassName1, "rpglancher")) {
改成了下面的样子:
if (equal(ClassName1, "rpglancher")) {
if(Has_Bazooka)
return PLUGIN_CONTINUE
测试后发现结果就变成这样了:所有的玩家,包括有火箭筒的和没火箭筒的,都不能再捡起掉在地上的火箭筒了!(但我们的目的其实只是想限制有火箭筒的玩家而已.)并且控制台也会出现大量的debug信息:
L 09/25/2007 - 19:25:21: Displaying debug trace (plugin "bazooka.amxx")
L 09/25/2007 - 19:25:21: Run time error 4: index out of bounds
L 09/25/2007 - 19:25:21: bazooka.sma: fn_touch(line 950)
L 09/25/2007 - 19:25:21: Displaying debug trace (plugin "bazooka.amxx")
L 09/25/2007 - 19:25:21: Run time error 4: index out of bounds
L 09/25/2007 - 19:25:21: bazooka.sma: fn_touch (line 950)
L 09/25/2007 - 19:25:21: Displaying debug trace (plugin "bazooka.amxx")
L 09/25/2007 - 19:25:21: Run time error 4: index out of bounds
L 09/25/2007 - 19:25:21: bazooka.sma: fn_touch (line 950)
L 09/25/2007 - 19:25:21: Displaying debug trace (plugin "bazooka.amxx")
L 09/25/2007 - 19:25:21: Run time error 4: index out of bounds
L 09/25/2007 - 19:25:21: bazooka.sma: fn_touch (line 950)
2. 对于第二个问题,我对比了两个火箭筒插件源代码里的"public Event_CurWeapon (id)"函数,发现bazooka_slot5.sma里缺少了下面的代码:
ammo_hud(id, 0)
return PLUGIN_HANDLED
}
if(Has_Bazooka && Bazooka_Active)
Bazooka_Active = false
return PLUGIN_CONTINUE
}
不过奇怪的是我添加进去后还是无法解决问题.(下面是bazooka.sma的源代码.)

zwfgdlc 发表于 2008-2-16 22:21:21

回复: 新版火箭筒插件(bazooka_Slot5.amxx)出现的问题

修改了下,不知道行不行,自己试下.

csersnake 发表于 2008-2-17 10:39:12

回复: 新版火箭筒插件(bazooka_Slot5.amxx)出现的问题

这个版本解决了原来的那个“如果当前回合结束时发射的火箭没有爆炸,该玩家将无法再发射任何火箭”的bug了吗

Osker Lee 发表于 2008-2-17 12:22:44

回复: 新版火箭筒插件(bazooka_Slot5.amxx)出现的问题

zwfgdlc楼主,我测试过了,还是不行.玩家购买火箭筒后看到的只是手上多了一个C4而已,火箭筒却不见了踪影,但玩家把C4扔出时,却附带有火箭筒.另外,不管玩家有没有购买火箭筒,ammo_hud的信息居然都不显示了.控制台有以下的debug信息:
L 02/17/2008 - 12:08:51: To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 02/17/2008 - 12:09:23: Plugin called message_begin with an invalid message id (0).
L 02/17/2008 - 12:09:23: Displaying debug trace (plugin "bazooka_slot5.amxx")
L 02/17/2008 - 12:09:23: Run time error 10: native error (native "message_begin")
L 02/17/2008 - 12:09:23: bazooka_slot5.sma::Event_CurWeapon (line 1632)
L 02/17/2008 - 12:09:23: bazooka_slot5.sma::drop_rpglancher (line 1198)
L 02/17/2008 - 12:09:23: bazooka_slot5.sma::cmd_WeaponDrop (line 1730)
L 02/17/2008 - 12:09:32: Plugin called message_begin with an invalid message id (0).
L 02/17/2008 - 12:09:32: Displaying debug trace (plugin "bazooka_slot5.amxx")
L 02/17/2008 - 12:09:32: Run time error 10: native error (native "message_begin")
L 02/17/2008 - 12:09:32: bazooka_slot5.sma::Event_CurWeapon (line 1632)
L 02/17/2008 - 12:09:32: bazooka_slot5.sma::drop_rpglancher (line 1198)
L 02/17/2008 - 12:09:32: bazooka_slot5.sma::cmd_WeaponDrop (line 1730)

zwfgdlc 发表于 2008-2-17 14:42:42

回复: 新版火箭筒插件(bazooka_Slot5.amxx)出现的问题

你最好用1.6来试,原插件本来就是用在1.6版本上的.

Osker Lee 发表于 2008-2-17 16:14:05

回复: 新版火箭筒插件(bazooka_Slot5.amxx)出现的问题

测试了,其实问题一样的!(参见游戏截图)
L 02/17/2008 - 16:05:29: Displaying debug trace (plugin "bazooka_slot5.amxx")
L 02/17/2008 - 16:05:29: Run time error 10: native error (native "message_begin")
L 02/17/2008 - 16:05:29: bazooka_slot5.sma::Event_CurWeapon (line 1632)
L 02/17/2008 - 16:05:29: bazooka_slot5.sma::drop_rpglancher (line 1198)
L 02/17/2008 - 16:05:29: bazooka_slot5.sma::cmd_WeaponDrop (line 1730)
L 02/17/2008 - 16:05:40: Plugin called message_begin with an invalid message id (0).

zwfgdlc 发表于 2008-2-17 16:44:35

回复: 新版火箭筒插件(bazooka_Slot5.amxx)出现的问题

你自己搞错了吧,我试了都没出错
页: [1] 2
查看完整版本: 新版火箭筒插件(bazooka_Slot5.amxx)出现的问题