This commit is contained in:
Fierelier 2018-04-17 22:41:50 +02:00
parent 3cc8861f64
commit 87cab524ee

View File

@ -6,9 +6,9 @@ namespace pdHealth
{ {
public class pdHealth : Script public class pdHealth : Script
{ {
public pdHealth() public pdHealth()
{ {
if (allDamageArmor == true) { this.Tick += new EventHandler(this.doAllDamageArmorTick); }
this.Tick += new EventHandler(this.doHealthTick); this.Tick += new EventHandler(this.doHealthTick);
//this.KeyDown += new GTA.KeyEventHandler(this.keyDownHandler); //this.KeyDown += new GTA.KeyEventHandler(this.keyDownHandler);
} }
@ -40,23 +40,13 @@ namespace pdHealth
if (pl.Armor < armorVal) { timeUntilRegen = armorRegenDelay; } if (pl.Armor < armorVal) { timeUntilRegen = armorRegenDelay; }
if (pl.Health < healthVal) { timeUntilRegen = armorRegenDelay; } if (pl.Health < healthVal) { timeUntilRegen = armorRegenDelay; }
if (allDamageArmor == true) {
if (pl.Health < healthVal) {
int damageTaken = healthVal - pl.Health;
if (damageTaken < pl.Armor) {
pl.Health = pl.Health + damageTaken;
pl.Armor = pl.Armor - damageTaken;
} else {
pl.Health = pl.Health + (damageTaken - pl.Armor);
pl.Armor = 0;
}
}
}
if (timeUntilRegen > 0) { if (timeUntilRegen > 0) {
timeUntilRegen = timeUntilRegen - tickTime; timeUntilRegen = timeUntilRegen - tickTime;
if (timeUntilRegen < 0) { timeUntilRegen = 0; } if (timeUntilRegen < 0) { timeUntilRegen = 0; }
} else { }
if (timeUntilRegen == 0) {
if (pl.Armor < armorRegen) { if (pl.Armor < armorRegen) {
pl.Armor = pl.Armor + armorRegenSpeed; pl.Armor = pl.Armor + armorRegenSpeed;
if (pl.Armor > armorRegen) { pl.Armor = armorRegen; } if (pl.Armor > armorRegen) { pl.Armor = armorRegen; }
@ -65,10 +55,30 @@ namespace pdHealth
armorVal = pl.Armor; armorVal = pl.Armor;
healthVal = pl.Health; healthVal = pl.Health;
Game.DisplayText("Health:\n " +pl.Health.ToString(), 1000); Game.DisplayText("Health: " +pl.Health.ToString()+ "\nArmor: " +pl.Armor.ToString(), 1000);
Wait(tickTime); Wait(tickTime);
} }
private void doAllDamageArmorTick(object sender, EventArgs e)
{
Ped pl = Player.Character;
if (pl.isAlive == false) { return; }
if (pl.Health < healthVal) {
int damageTaken = healthVal - pl.Health;
if (damageTaken < pl.Armor) {
pl.Health = pl.Health + damageTaken;
pl.Armor = pl.Armor - damageTaken;
} else {
pl.Health = pl.Health + (damageTaken - pl.Armor);
pl.Armor = 0;
}
}
armorVal = pl.Armor;
healthVal = pl.Health;
}
//Testing //Testing
private void keyDownHandler(object sender, GTA.KeyEventArgs e) private void keyDownHandler(object sender, GTA.KeyEventArgs e)
{ {