Code:
public OnAbilityCommand(client,ability,bool:pressed)
{
if(War3_GetRace(client)==thisRaceID && ability==0 && pressed && IsPlayerAlive(client))
{
new skill_level=War3_GetSkillLevel(client,thisRaceID,SKILL_HP);
if(skill_level>0)
{
if(War3_SkillNotInCooldown(client,thisRaceID,SKILL_HP,true)&&!Silenced(client))
{
for (new i=1;i<=MaxClients;i++)
{
if(ValidPlayer(i,true)&&IsPlayerAlive(i))
{
if(i>0 && !W3HasImmunity(i,Immunity_Ultimates))
{
if(!Silenced(client))
{
bHealth[i]=true;
CreateTimer(HealthDuration[skill_level],healthoff,i);
}
}
}
}
}
}
}
}
public Action:healthoff(Handle:timer, any:client)
{
bHealth1[client]=false;
}
public OnGameFrame()
{
for(new i=0;i<=MaxClients;i++)
{
if(ValidPlayer(i,true)&&War3_GetRace(i)==thisRaceID)
{
for(new y=0;y<=MaxClients;y++)
{
if(ValidPlayer(y,true)&&GetClientTeam(y)==GetClientTeam(i))
{
new old_health=GetClientHealth(y);
if(bHealth[y]==true)
{
SetEntityHealth(y,400);
}
if(bHealth1[y]==false)
{
SetEntityHealth(y,old_health);
}
}
}
}
}
}
- Вот такой маразм вышел у меня после многих попыток {
if(War3_GetRace(client)==thisRaceID && ability==0 && pressed && IsPlayerAlive(client))
{
new skill_level=War3_GetSkillLevel(client,thisRaceID,SKILL_HP);
if(skill_level>0)
{
if(War3_SkillNotInCooldown(client,thisRaceID,SKILL_HP,true)&&!Silenced(client))
{
for (new i=1;i<=MaxClients;i++)
{
if(ValidPlayer(i,true)&&IsPlayerAlive(i))
{
if(i>0 && !W3HasImmunity(i,Immunity_Ultimates))
{
if(!Silenced(client))
{
bHealth[i]=true;
CreateTimer(HealthDuration[skill_level],healthoff,i);
}
}
}
}
}
}
}
}
public Action:healthoff(Handle:timer, any:client)
{
bHealth1[client]=false;
}
public OnGameFrame()
{
for(new i=0;i<=MaxClients;i++)
{
if(ValidPlayer(i,true)&&War3_GetRace(i)==thisRaceID)
{
for(new y=0;y<=MaxClients;y++)
{
if(ValidPlayer(y,true)&&GetClientTeam(y)==GetClientTeam(i))
{
new old_health=GetClientHealth(y);
if(bHealth[y]==true)
{
SetEntityHealth(y,400);
}
if(bHealth1[y]==false)
{
SetEntityHealth(y,old_health);
}
}
}
}
}
}






Logged



