血量/护甲恢复{死亡服用}
参考国外的一个插件然后改了下加了权限跟判断是否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
}
还是功能少点的好 這插件穩定嗎會不會容易造成當機?
页:
[1]