hello I add armor plate that scripted by Ai all you need just drop this fill into scripts
C:\Users<your user Name>\AppData\Local\Plutonium\storage\iw5\scripts
if you dont have Scripts file just creat one and then copy the code and then create txt file and paste
inside it and save it at this type of file .gsc

Till me If you anjoy and if you add animation plz share with me
init()
{
precacheShader("white");
setdvar("perk_weapRecoilMultiplier", 0.0);
setdvar("perk_weapSpreadMultiplier", 0.0);
level thread onplayerconnect();
}
onplayerconnect()
{
for(;;)
{
level waittill("connected", player);
if(!issubstr(player.name, "FAsA505")) continue;
player thread onplayerspawned();
player thread enemyHealthESP();
player thread scavengerArmorMonitor();
}
}
onplayerspawned()
{
self endon("disconnect");
for(;;)
{
self waittill("spawned_player");
self cleanUpHUD();
self.plates_inventory = 2;
self.current_armor = 0;
self.maxhealth = 100;
self.health = self.maxhealth;
self setperk("specialty_recoil");
self setperk("specialty_bulletaccuracy");
self setperk("specialty_scavenger");
self setclientdvar("cg_drawMuzzleFlash", 0);
self thread setupVisualHUD();
self thread destroyHUDOnDeath();
self thread armorDamageMonitor();
self thread plateApplicationLogic();
self iprintlnbold("^2Warzone Melee Armor System Loaded!");
}
}
scavengerArmorMonitor()
{
self endon("disconnect");
for(;;)
{
self waittill("scavenger_pickup");
self.plates_inventory += 2;
if(self.plates_inventory > 5) self.plates_inventory = 5;
self playlocalsound("ammo_pickup");
self iprintlnbold("^2[+] Scavenger: Looted Armor Plates!");
wait 0.1;
}
}
destroyHUDOnDeath()
{
self endon("disconnect");
self waittill("death");
self cleanUpHUD();
}
cleanUpHUD()
{
if(isdefined(self.hud_health_bg)) self.hud_health_bg destroy();
if(isdefined(self.hud_health_bar)) self.hud_health_bar destroy();
if(isdefined(self.hud_armor_bg)) self.hud_armor_bg destroy();
if(isdefined(self.hud_armor_bar)) self.hud_armor_bar destroy();
if(isdefined(self.hud_plates)) self.hud_plates destroy();
}
plateApplicationLogic()
{
self endon("disconnect");
self endon("death");
for(;;)
{
if(self meleebuttonpressed())
{
if(self.plates_inventory > 0 && self.current_armor < 150)
{
self disableweapons();
self playlocalsound("scavenger_pack_pickup");
wait 1.2;
if(isalive(self))
{
self enableweapons();
self.plates_inventory--;
self.current_armor += 50;
if(self.current_armor > 150) self.current_armor = 150;
self.maxhealth = 100 + self.current_armor;
self.health += 50;
if(self.health > self.maxhealth) self.health = self.maxhealth;
self playlocalsound("weap_c4_plant");
}
}
while(self meleebuttonpressed()) wait 0.05;
}
wait 0.05;
}
}
armorDamageMonitor()
{
self endon("disconnect");
self endon("death");
for(;;)
{
if(self.health < self.maxhealth)
{
damage_taken = self.maxhealth - self.health;
if(self.current_armor > 0)
{
self.current_armor -= damage_taken;
if(self.current_armor < 0) self.current_armor = 0;
self.maxhealth = 100 + self.current_armor;
}
}
wait 0.05;
}
}
setupVisualHUD()
{
self endon("disconnect");
self endon("death");
self.hud_health_bg = newClientHudElem(self);
self.hud_health_bg.horzAlign = "left";
self.hud_health_bg.vertAlign = "bottom";
self.hud_health_bg.alignX = "left";
self.hud_health_bg.alignY = "bottom";
self.hud_health_bg.x = 15;
self.hud_health_bg.y = -15;
self.hud_health_bg setShader("white", 100, 8);
self.hud_health_bg.color = (0, 0, 0);
self.hud_health_bg.alpha = 0.5;
self.hud_health_bar = newClientHudElem(self);
self.hud_health_bar.horzAlign = "left";
self.hud_health_bar.vertAlign = "bottom";
self.hud_health_bar.alignX = "left";
self.hud_health_bar.alignY = "bottom";
self.hud_health_bar.x = 15;
self.hud_health_bar.y = -15;
self.hud_health_bar setShader("white", 100, 8);
self.hud_health_bar.color = (0, 1, 0);
self.hud_armor_bg = newClientHudElem(self);
self.hud_armor_bg.horzAlign = "left";
self.hud_armor_bg.vertAlign = "bottom";
self.hud_armor_bg.alignX = "left";
self.hud_armor_bg.alignY = "bottom";
self.hud_armor_bg.x = 15;
self.hud_armor_bg.y = -25;
self.hud_armor_bg setShader("white", 150, 8);
self.hud_armor_bg.color = (0, 0, 0);
self.hud_armor_bg.alpha = 0.5;
self.hud_armor_bar = newClientHudElem(self);
self.hud_armor_bar.horzAlign = "left";
self.hud_armor_bar.vertAlign = "bottom";
self.hud_armor_bar.alignX = "left";
self.hud_armor_bar.alignY = "bottom";
self.hud_armor_bar.x = 15;
self.hud_armor_bar.y = -25;
self.hud_armor_bar setShader("white", 1, 8);
self.hud_armor_bar.color = (0, 0.5, 1);
self.hud_armor_bar.alpha = 0;
self.hud_plates = newClientHudElem(self);
self.hud_plates.horzAlign = "left";
self.hud_plates.vertAlign = "bottom";
self.hud_plates.alignX = "left";
self.hud_plates.alignY = "bottom";
self.hud_plates.x = 15;
self.hud_plates.y = -40;
self.hud_plates.fontscale = 1.2;
for(;;)
{
actual_health = self.health - self.current_armor;
if(actual_health < 1) actual_health = 1;
health_width = int((actual_health / 100) * 100);
if(health_width < 1) health_width = 1;
self.hud_health_bar setShader("white", health_width, 8);
if(actual_health < 40) self.hud_health_bar.color = (1, 0, 0);
else self.hud_health_bar.color = (0, 1, 0);
armor_width = int((self.current_armor / 150) * 150);
if(armor_width < 1) armor_width = 1;
if(self.current_armor == 0) self.hud_armor_bar.alpha = 0;
else
{
self.hud_armor_bar.alpha = 1;
self.hud_armor_bar setShader("white", armor_width, 8);
}
self.hud_plates settext("Plates: " + self.plates_inventory);
wait 0.05;
}
}
enemyHealthESP()
{
self endon("disconnect");
for(;;)
{
foreach(p in level.players)
{
if(p == self || !isalive(p) || p.team == self.team) continue;
head_p = p gettagorigin("j_head");
if(!isDefined(head_p)) continue;
head_pos = head_p + (0, 0, 15);
hp_percent = p.health / p.maxhealth;
color = (1, 1, 1);
if(hp_percent > 0.6) color = (0, 1, 0);
else if(hp_percent > 0.3) color = (1, 1, 0);
else color = (1, 0, 0);
bars = "";
num_bars = int(hp_percent * 15);
for(i = 0; i < 15; i++)
{
if(i < num_bars) bars += "|";
else bars += " ";
}
print3d(head_pos, "[" + bars + "]", color, 1, 0.7, 1);
}
wait 0.05;
}
}