MOD中国同盟社

 找回密码
 
查看: 1398|回复: 9

简单修改人类没血才被感染 [复制链接]

Rank: 1

帖子
1294
精华
1
7917
848
10

热心会员奖 Modchina元老 黑暗使者

打开源码
搜索  if (get_pcvar_num(cvar_humanarmor))

看到

static Float:armor
pev(victim, pev_armorvalue, armor)

修改为

static Float:armor
pev(victim, pev_health, armor)

往下看
会看到
if (armor > 100)
{
set_pev(victim, pev_armorvalue, floatmax(0.0, armor - damage))
return HAM_SUPERCEDE;
}

修改为
if (armor >= 1)
{
set_pev(victim, pev_health, floatmax(0.0, armor - damage))
return HAM_SUPERCEDE;
}
else
if(armor <= 0)
{
zombieme(victim, attacker, 0, 0, 1)
}

然后把下面的zombieme(victim, attacker, 0, 0, 1) 给删掉就可以了
这样就可以人类血量到0才被感染了
记得要开启那个人类护甲到0才被感染的选项

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

帖子
1261
精华
4
7607
991
13
没血?楼主考虑过最后一个人吗?如果最后一个人挂了。。是不是也变成僵尸- -!!

= =会不会导致回合无法结束

Rank: 1

帖子
1093
精华
0
4196
605
1
会不会是真的啊,这么简单!

Rank: 1

帖子
1294
精华
1
7917
848
10

热心会员奖 Modchina元老 黑暗使者

lmvfwsp 发表于 2011-2-26 08:49 static/image/common/back.gif
没血?楼主考虑过最后一个人吗?如果最后一个人挂了。。是不是也变成僵尸- -!!

= =会不会导致回合无法结 ...

不用考虑,ZP是自动检测是否为最后人类
最后人类用刀子砍死
我自己试过了

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

帖子
247
精华
0
1053
129
2
这个的确很简单的说..不过是一种新颖的感染方法..支持!

Administrator

荻野埃及

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

帖子
605
精华
0
8563
1495
19
回复 543658883 的帖子

这是四年前小鸡快跑用的方法

Rank: 3Rank: 3Rank: 3

帖子
418
精华
0
450
45
0
有了有了,收藏玩玩!

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

帖子
107
精华
0
630
130
-1
很好的东东啊!!!!!!!!

Rank: 3Rank: 3Rank: 3

帖子
182
精华
0
477
51
0
那不就很悶....一个人类100血,10个人类1000血,砍死屍了....

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

帖子
1463
精华
0
1314
67
15
...这个是ZP4.3还是别的ZP适用的...
ZP4.3的代码里面是
                // Get victim armor
                static Float:armor
                pev(victim, pev_armorvalue, armor)
               
                // Block the attack if he has some
                if (armor > 0.0)
                {
                        emit_sound(victim, CHAN_BODY, sound_armorhit, 1.0, ATTN_NORM, 0, PITCH_NORM)
                        set_pev(victim, pev_armorvalue, floatmax(0.0, armor - damage))
                        return HAM_SUPERCEDE;
                }
        }
       
        // Infection allowed
        zombieme(victim, attacker, 0, 0, 1) // turn into zombie
        return HAM_SUPERCEDE;
}
回顶部