搜索
查看: 5427|回复: 14

关于"cs_reset_user_model"的问题

[复制链接]
发表于 2008-2-13 21:54:22 | 显示全部楼层 |阅读模式 来自 广西梧州
我的服务器用到了玩家随机更换服装插件(change_skin.amxx),其中有vip,alien4和goomba等模型的服装.我们知道,vip是CS里自带的模型,死亡后模型是可以正常倒地的,而像alien4这样的怪物模型死亡后却会出现尸体无法倒地的问题.

因此,我增加了下面的一段代码:
[php]public eDeathMsg()
{
new victim=read_data(2);
if(is_user_connected(victim))
cs_reset_user_model(victim);
}
public client_death(killer, victim, wpnindex, hitplace, TK)
{
if(wpnindex == CSW_C4 && is_user_connected(victim))
cs_reset_user_model(victim);
} [/php]
其实目的就是让玩家死亡后恢复其原来的模型,那么怪物的模型就可以正常地倒地了.不过,我想把这段代码的功能改变一下:

1. 当插件检测到玩家被换上vip服装后,因为vip模型死亡后是可以正常倒地的,因此玩家死亡后就不用执行恢复原来模型的指令(cs_reset_user_model),就让他以vip的模型倒地好了.

2. 如果插件检测到玩家被换上了alien4怪物模型的服装,那么玩家死亡后就执行恢复原来模型的指令(cs_reset_user_model),这样一来玩家死亡后就可以正常地倒地了.
发表于 2008-2-13 22:20:52 | 显示全部楼层 来自 广东惠州

回复: 关于"cs_reset_user_model"的问题

先用cs_get_user_model()函数获取到死亡玩家的模型,判断模型是alien4就执行cs_reset_user_model()
回复

使用道具 举报

 楼主| 发表于 2008-2-13 22:36:45 | 显示全部楼层 来自 广西梧州

回复: 关于"cs_reset_user_model"的问题

就是说以"cs_get_user_model(vip)"或"cs_get_user_model(alien4)"的形式来检测玩家的模型吗?
回复

使用道具 举报

发表于 2008-2-13 22:55:44 | 显示全部楼层 来自 广东惠州

回复: 关于"cs_reset_user_model"的问题

  1. public eDeathMsg()
  2. {
  3. new victim=read_data(2);
  4. new model[32]
  5. cs_get_user_model(victim,model,31)
  6. if(is_user_connected(victim)&&equal(model,"alien4"))
  7.   cs_reset_user_model(victim);
  8. }
  9. 不知道行不行,不行就把equal(model,"alien4")改成contain(model,"alien4")!=-1
复制代码
回复

使用道具 举报

 楼主| 发表于 2008-2-14 14:06:01 | 显示全部楼层 来自 广西梧州

回复: 关于"cs_reset_user_model"的问题

public eDeathMsg()
{
new victim=read_data(2);
new model[32]
cs_get_user_model(victim,model,31)
if(is_user_connected(victim)&&equal(model,"alien4"))
  cs_reset_user_model(victim);
}
这样完全可以解决问题! Thanks again!
回复

使用道具 举报

 楼主| 发表于 2008-2-14 15:34:20 | 显示全部楼层 来自 广西梧州

回复: 关于"cs_reset_user_model"的问题

不知道怎么回事,我把源代码改好后运行插件,发现控制台有debug信息了:
L 02/14/2008 - 15:20:18: [AMXX] Displaying debug trace (plugin "change_skin.amxx")
L 02/14/2008 - 15:20:18: [AMXX] Run time error 4: index out of bounds
L 02/14/2008 - 15:20:18: [AMXX] [0] change_skin.sma::changeSkin (line 88)
L 02/14/2008 - 15:20:18: [AMXX] [1] change_skin.sma::checkALl (line 70)
L 02/14/2008 - 15:20:18: [AMXX] [2] change_skin.sma::roundDelay (line 53)
(?问个题外话:) 对于change_skin这个插件,玩家换服装时,我发现是这样的:开局时,原则上每个玩家都有可能被换服装,但这种概率是随机的.比如,A玩家有可能连续几局都被换服装了,而B玩家则有可能连续几局都没被换服装,主要是看随机概率了.所以,我想问一下:当每局开始时,这个插件的哪些代码是赋予每个玩家一个换服装的概率的呢?
回复

使用道具 举报

发表于 2008-2-14 17:25:24 | 显示全部楼层 来自 广东惠州

回复: 关于"cs_reset_user_model"的问题

换服装的概率是由
  1. if( !random(2) || mode==2 )
复制代码
这行决定的,函数random()随机返回0或1两个数来决定是否给玩家换服装
你最好把修改好的sma文件传上来.
回复

使用道具 举报

 楼主| 发表于 2008-2-14 17:51:09 | 显示全部楼层 来自 广西梧州

回复: 关于"cs_reset_user_model"的问题

我只用了vip和alien4这两个模型.
new CT_MODEL[2][]={"vip","alien4"};
new T_MODEL[2][]={"vip","alien4"};
L 02/14/2008 - 15:20:18: [AMXX] Displaying debug trace (plugin "change_skin.amxx")
L 02/14/2008 - 15:20:18: [AMXX] Run time error 4: index out of bounds
L 02/14/2008 - 15:20:18: [AMXX] [0] change_skin.sma::changeSkin (line 88)
L 02/14/2008 - 15:20:18: [AMXX] [1] change_skin.sma::checkALl (line 70)
L 02/14/2008 - 15:20:18: [AMXX] [2] change_skin.sma::roundDelay (line 53)
回复

使用道具 举报

发表于 2008-2-14 18:18:52 | 显示全部楼层 来自 广东惠州

回复: 关于"cs_reset_user_model"的问题

源码似乎不对,是不是你又改过了,提示出错的代码不在日志提示的那行.
回复

使用道具 举报

 楼主| 发表于 2008-2-14 18:47:33 | 显示全部楼层 来自 广西梧州

回复: 关于"cs_reset_user_model"的问题

对不起,哦,我重新查看了一下,那些debug信息是这样的:
L 02/14/2008 - 18:39:31: [AMXX] Displaying debug trace (plugin "change_skin.amxx")
L 02/14/2008 - 18:39:31: [AMXX] Run time error 4: index out of bounds
L 02/14/2008 - 18:39:31: [AMXX] [0] change_skin.sma::changeSkin (line 82)
L 02/14/2008 - 18:39:31: [AMXX] [1] change_skin.sma::checkALl (line 62)
L 02/14/2008 - 18:39:31: [AMXX] [2] change_skin.sma::roundDelay (line 47)
对了,还有个问题就是,如果我要定义两种或者两种以上的特定模型死亡后执行"cs_reset_user_model"这个指令,是不是可以把代码改成这样:
public eDeathMsg()
{
new victim=read_data(2);
new model[32]
cs_get_user_model(victim,model,31)

if(is_user_connected(victim)&&equal(model,"A模型")&&equal(model,"B模型")&&equal(model,"C模型")......)

cs_reset_user_model(victim);
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

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

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