lovehuai 发表于 2009-11-20 03:15:36

血量/护甲恢复{死亡服用}

参考国外的一个插件然后改了下加了权限跟判断是否bot#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
new max_hp=100 //最大HP
new max_armor=100 //最大护甲
new set_hp=5 //每次恢复HP
new set_armor=5 //每次恢复护甲

public plugin_init()
{
register_plugin("Hp & Armor","1.1","天下第一小贱人")

register_cvar("amx_regenhp_time","1")
register_cvar("amx_regenap_time","1")

set_task(get_cvar_float("amx_regenhp_time"),"SetHp")
set_task(get_cvar_float("amx_regenap_time"),"SetArmor")
}

public SetHp()
{
for(new i=0;i<=32;i++)
{
if(is_user_connected(i) && is_user_alive(i) && !is_user_bot(i)){ //如果已连接 并且没挂掉 也不是Bot
if (get_user_flags(i) & ADMIN_LEVEL_A) { //有ADMIN_LEVEL_A权限{标记:m}
if(get_user_health(i)<max_hp) { //如果HP小于最大HP
new num=get_user_health(i) + set_hp //当前HP+增加HP
if(num>max_hp){//如果相加值大于最大HP就直接更改为最大HP
set_user_health(i,max_hp)
}
else {
set_user_health(i,get_user_health(i) + set_hp) //当前HP+增加HP
}
}
}
}
}
set_task(get_cvar_float("amx_regenhp_time"),"SetHp") //设置任务以循环
return PLUGIN_HANDLED
}

public SetArmor()
{
for(new i=0;i<=32;i++)
{
if(is_user_connected(i) && is_user_alive(i) && !is_user_bot(i)){
if (get_user_flags(i) & ADMIN_LEVEL_A) {
if(get_user_armor(i)<max_armor && 1) {
new num=get_user_armor(i) + set_armor
if(num>max_armor) {
cs_set_user_armor(i,max_armor,CS_ARMOR_VESTHELM)
}
else {
cs_set_user_armor(i,get_user_armor(i) + set_armor,CS_ARMOR_VESTHELM)
}
}
}
}
}
set_task(get_cvar_float("amx_regenap_time"),"SetArmor")
return PLUGIN_HANDLED
}

wsg900 发表于 2010-1-1 14:18:30

还是功能少点的好

tw_8825252 发表于 2010-2-2 04:07:25

這插件穩定嗎會不會容易造成當機?
页: [1]
查看完整版本: 血量/护甲恢复{死亡服用}