Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
public plugin_init() {
register_plugin("Decrease HP","0.1","John Doe")
register_clcmd("amx_decreasehp","setHp",ADMIN_KICK,"<nick, #userid | ALL>")
}
public setHp(id,lvl,cid) {
if(!cmd_access(id,lvl,cid,2)) {
return PLUGIN_HANDLED
}
new arg[33]
read_argv(1,arg,32)
if(equali(arg,"ALL")) {
set_task(0.5,"remHp",0)
return PLUGIN_HANDLED
}
new player = cmd_target(id,arg,1+2)
if(!player) {
return PLUGIN_HANDLED
}
set_task(0.5,"remHp",player)
return PLUGIN_HANDLED
}
public remHp(player) {
if(player == 0) {
new players[32], num, i, stillalive;
get_players(players,num,"a");
for(i=0;i<num;i++) {
new userHp = get_user_health(players[i]);
if(userHp <= 1) {
continue;
}
stillalive = 1; // let us know to keep looping
set_user_health(players[i],userHp - 1);
}
if(stillalive == 1) {
set_task(0.5,"remHp",0);
}
}
else {
new userHp = get_user_health(player)
if(userHp == 1) {
return PLUGIN_CONTINUE
}
set_user_health(player,userHp - 1)
set_task(0.5,"remHp",player)
}
return PLUGIN_CONTINUE
}
Use ALL to do it to everyone. If everyone is either dead or everyone has 1 HP or less it will stop looping.