| Blockland Forums > Modification Help |
| Regenerating Health |
| (1/1) |
| brickybob:
I have the basic layout of my Player-Type, but I want a regenerating health without the energy bar since I already made a text-based Health display. I looked at Iban's Health-Modes player he posted (under his alt IbanZ) and looking at the script it needs a stamina bar. Can someone get the regenerating Health script without the energy bar? --- Code: ---// ============================================================ // Project : IbanMod - Health Modes // File : .\Health Modes\Player_No Jet Health.cs // Author : Iban // // Editor : Codeweaver v. 1.2.2685.32755 // // Description : Everything in this package is self explanitory. // : Feel free to edit anything you want. // : Credits go to Space Guy for the original code. // : I merely made it more open-ended as to increase effeciency and allow easier modifications. // : Have fun, modders! // ============================================================ package armorDamageOverride { function Armor::damage(%this, %obj, %sourceObject, %position, %damage, %damageType) { if(%obj.getDatablock().isHealthPlayer) { %curEnergy = %obj.getEnergyLevel(); if(%damage >= %curEnergy) { %obj.setEnergyLevel(0); %damage -= %curEnergy; } else { %obj.setEnergyLevel(%curEnergy - %damage); %damage = 0; } Parent::damage(%this, %obj, %sourceObject, %position, %damage, %damageType); if(%obj.getDatablock().isShieldedPlayer && %damage < %curEnergy) { %obj.emote(shieldZapImage); } else { if(%obj.getEnergyLevel() < %obj.maxEnergy / 2) { %obj.emote(painMidImage, 1); } if(%obj.getEnergyLevel() < %obj.maxEnergy / 3) { %obj.emote(painHighImage, 1); } } } else { Parent::damage(%this, %obj, %sourceObject, %position, %damage, %damageType); } } }; ActivatePackage(armorDamageOverride); --- End code --- |
| Space Guy:
I made this for a TF2 Medic-style regeneration a while back, I don't know whether Demian already added it to his pack. The health increase is about 1 every second (the x/32 is due to it being measured in 'ticks' when the engine does physics etc. updates), increasing to 2 then 3 after five and ten seconds respectively. --- Code: ---//Medic gets regenerating health datablock PlayerData(PlayerTF2Medic : PlayerStandardArmor) { runForce = 51 * 90; runEnergyDrain = 0; minRunEnergy = 0; maxForwardSpeed = 7; maxBackwardSpeed = 4; maxSideSpeed = 6; maxForwardCrouchSpeed = 3; maxBackwardCrouchSpeed = 2; maxSideCrouchSpeed = 2; jumpForce = 9 * 90; jumpEnergyDrain = 0; minJumpEnergy = 0; jumpDelay = 3; minJetEnergy = 0; jetEnergyDrain = 0; canJet = 0; uiName = "TF2 Medic"; maxDamage = 120; }; function PlayerTF2Medic::onAdd(%this,%obj) { Parent::onAdd(%this,%obj); %obj.setRepairRate(1/32); } function PlayerTF2Medic::onDamage(%this,%obj,%delta) { Parent::onDamage(%this,%obj,%delta); if(%delta > 0) { if(isEventPending(%obj.medicRepairSched1)) cancel(%obj.medicRepairSched1); if(isEventPending(%obj.medicRepairSched2)) cancel(%obj.medicRepairSched2); %obj.setRepairRate(1/32); if(%obj.getState() !$= "Dead") { %obj.medicRepairSched1 = %obj.schedule(5000,setRepairRate,2/32); %obj.medicRepairSched2 = %obj.schedule(10000,setRepairRate,3/32); } } } --- End code --- |
| Navigation |
| Message Index |