Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Implement Damage Display System?
#1
What if you could implement a Damage Display system?

You could type -dd (-damagadisplay) in order to activate the system in a game. I don't think the tanks uses ingame custom unit value. This system is very simple and even takes regeneration, armor and Damage reduction into the math indirectly. (that's because 1 sec periodic delay). The display system shows total Damage taken pr second.

Some players may find this annoying, so I suggest this is a non-mode and can be deactivated at any time if needed. Maybe this would be a good addition to 8.49?

Code:
Damage Display System
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Tank_Player[(Integer A)] is alive) Equal to True
                        Tank_Player[(Integer A)] Not equal to No unit
                        (Custom value of Tank_Player[(Integer A)]) Greater than (Integer((Life of Tank_Player[(Integer A)])))
                    Then - Actions
                        Set DamageDifference = ((Custom value of Tank_Player[(Integer A)]) - (Integer((Life of Tank_Player[(Integer A)]))))
                        Floating Text - Create floating text that reads (- + (String(DamageDifference))) above Tank_Player[(Integer A)] with Z offset 0.00, using font size 10.00, color (100.00%, 8.00%, 8.00%), and 0.00% transparency
                        Floating Text - Set the velocity of (Last created floating text) to 60.00 towards 270.00 degrees
                        Floating Text - Change (Last created floating text): Disable permanence
                        Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
                        Floating Text - Change the lifespan of (Last created floating text) to 1.20 seconds
                        Unit - Set the custom value of Tank_Player[(Integer A)] to (Integer((Life of Tank_Player[(Integer A)])))
                        Set DamageDifference = 0
                    Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Tank_Player[(Integer A)] is alive) Equal to True
                                Tank_Player[(Integer A)] Not equal to No unit
                                (Custom value of Tank_Player[(Integer A)]) Less than (Integer((Life of Tank_Player[(Integer A)])))
                            Then - Actions
                                Unit - Set the custom value of Tank_Player[(Integer A)] to (Integer((Life of Tank_Player[(Integer A)])))
                            Else - Actions
This is similar to my trigger used in naval battle.
Reply
#2
wow, no wonder your map lags tkf Confusedhock:
Why's the rothchild family crest and the illuminati symbol on my 1 dollar bill? Why do rich and powerful American "christian" leaders have gay sex and worship a giant 40 foot stone owl at Beach Grove every year? Why doesn't anyone care?
Reply
#3
qweqqweq Wrote:wow, no wonder your map lags tkf Confusedhock:
How so? I've done leak check and found no leaks (Although it's a crappy program which ONLY detects leaks that can be removed).

This trigger has a few non-removable GUI leaks which is impossible to remove - But Exodus can turn my suggestion into codes.
Reply
#4
any way u write it, perfect or not, it's still gonna be generating a heck of a lot of floating text every second of the game. if you're calculating with real numbers and not integers i think it uses up a lot of ram mem space. if u got 10 tank real variables each being calculated every second while they're all fighting in the same screen beign hit by the same aoe spells... i don't know man, sounds like a lot of stuff for the cpu's to do all at once.

i just don't know if that would be worth it just to see the damage taken. maybe it wouldn't be that hard for the cpu's. of course i'm not sure 'cuase i try to only use triggers like that as a last resort.
Why's the rothchild family crest and the illuminati symbol on my 1 dollar bill? Why do rich and powerful American "christian" leaders have gay sex and worship a giant 40 foot stone owl at Beach Grove every year? Why doesn't anyone care?
Reply
#5
TKF Wrote:What if you could implement a Damage Display system?

You could type -dd (-damagadisplay) in order to activate the system in a game. I don't think the tanks uses ingame custom unit value. This system is very simple and even takes regeneration, armor and Damage reduction into the math indirectly. (that's because 1 sec periodic delay). The display system shows total Damage taken pr second.

Some players may find this annoying, so I suggest this is a non-mode and can be deactivated at any time if needed. Maybe this would be a good addition to 8.49?

Code:
Damage Display System
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Tank_Player[(Integer A)] is alive) Equal to True
                        Tank_Player[(Integer A)] Not equal to No unit
                        (Custom value of Tank_Player[(Integer A)]) Greater than (Integer((Life of Tank_Player[(Integer A)])))
                    Then - Actions
                        Set DamageDifference = ((Custom value of Tank_Player[(Integer A)]) - (Integer((Life of Tank_Player[(Integer A)]))))
                        Floating Text - Create floating text that reads (- + (String(DamageDifference))) above Tank_Player[(Integer A)] with Z offset 0.00, using font size 10.00, color (100.00%, 8.00%, 8.00%), and 0.00% transparency
                        Floating Text - Set the velocity of (Last created floating text) to 60.00 towards 270.00 degrees
                        Floating Text - Change (Last created floating text): Disable permanence
                        Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
                        Floating Text - Change the lifespan of (Last created floating text) to 1.20 seconds
                        Unit - Set the custom value of Tank_Player[(Integer A)] to (Integer((Life of Tank_Player[(Integer A)])))
                        Set DamageDifference = 0
                    Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Tank_Player[(Integer A)] is alive) Equal to True
                                Tank_Player[(Integer A)] Not equal to No unit
                                (Custom value of Tank_Player[(Integer A)]) Less than (Integer((Life of Tank_Player[(Integer A)])))
                            Then - Actions
                                Unit - Set the custom value of Tank_Player[(Integer A)] to (Integer((Life of Tank_Player[(Integer A)])))
                            Else - Actions
This is similar to my trigger used in naval battle.

hmmm, very interesting. it's a cool trigger, i definately like it. Big Grin

but why is it 12 tanks players and not 10? "For each (Integer A) from 1 to 12, do (Actions)" who's driving those last 2 tanks anyways?

"(Custom value of Tank_Player[(Integer A)]) Greater than (Integer((Life of Tank_Player[(Integer A)])))" this variable array is a real number, i'm thinking u should change it to an integer variable and do the conversion from real to int when assigning it's value. that should use up less precious ram memory if i'm not mistaken. am i wrong?

i've only used floating text one time when i was checking how aquisition range affects creeps but are u sure that u need all these? " Floating Text - Set the velocity of (Last created floating text) to 60.00 towards 270.00 degrees
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
Floating Text - Change the lifespan of (Last created floating text) to 1.20 seconds" i'm too lazy to test it. i'm just wondering if u need to use 5 actions for creating the text.

if...
"(Custom value of Tank_Player[(Integer A)]) Greater than (Integer((Life of Tank_Player[(Integer A)])))"
"(Custom value of Tank_Player[(Integer A)]) Less than (Integer((Life of Tank_Player[(Integer A)])))"
why not just delete both of those? and then u could just delete all of this too:
"Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Tank_Player[(Integer A)] is alive) Equal to True
Tank_Player[(Integer A)] Not equal to No unit
(Custom value of Tank_Player[(Integer A)]) Less than (Integer((Life of Tank_Player[(Integer A)])))
Then - Actions
Unit - Set the custom value of Tank_Player[(Integer A)] to (Integer((Life of Tank_Player[(Integer A)])))
Else - Actions"
then it would just show gain and minus instead.


my roomate, perplexed is gonna love u btw, he was going to write a trigger that let the player who took the most damage over a certain time interval get a bonus for being the best tanker in his hero arena map. but it looks like you've done it for him. Big Grin
Why's the rothchild family crest and the illuminati symbol on my 1 dollar bill? Why do rich and powerful American "christian" leaders have gay sex and worship a giant 40 foot stone owl at Beach Grove every year? Why doesn't anyone care?
Reply
#6
Nice system. Dont know usefull or not.
Big minus for me, that it will be displayed for all players. And it will "conflict" with standard damage like mines, eploder and other.

it will not use alot of cpu usage.
I would store it in Variable(real) not in a Custom Value.
And Displaing it every 2 seconds(contion) better, for 1second (lifespan).
Reply
#7
LuckyD0g Wrote:Big minus for me, that it will be displayed for all players. And it will "conflict" with standard damage like mines, eploder and other.
If it would conflict with explosion damages, that explosion system could substract the unit value/variable equal to damage done to prevent damage systems overlapping. Displaying to all players cause minimal sync problems, and there's no fog in BT, so I don't see that as a problem.

LuckyD0g Wrote:it will not use alot of cpu usage.
I would store it in Variable(real) not in a Custom Value.
And Displaing it every 2 seconds(contion) better, for 1second (lifespan).
Time can be adjusted.

So you want the damage with decimals? No I don't think so. Using Integer with whole numbers is better since it shows whole numbers, instead of lot of confusing decimals. However using the custom unit value is better to use if possible, but I don't know if it's laggs more than a variable.
Reply
#8
LuckyD0g Wrote:Big minus for me, that it will be displayed for all players.
Never mind, I mean you could diplay it to why wants it:

If (damagadisplay[(Integer B)] Equal to True) then do(Floating Text - Show (Last created floating text) for (Player group((Player((Integer B)))))) else do (Floating Text - Hide (Last created floating text) for (Player group((Player((Integer B))))))


TKF Wrote:So you want the damage with decimals? No I don't think so. Using Integer with whole numbers is better since it shows whole numbers, instead of lot of confusing decimals. However using the custom unit value is better to use if possible, but I don't know if it's laggs more than a variable.

Damage(integrer), HP(real)
For each (Integer A) from 1 to 1, do (Actions)
Loop - Actions
Set Hp[(Integer A)] = (Random real number between 10.01 and 100.99)
Game - Display to (All players) for 30.00 seconds the text: (String(Hp[(Integer A)]))
Set Damage = (Integer(Hp[(Integer A)]))
Game - Display to (All players) for 30.00 seconds the text: (String(Damage))

Gues what it will show in the second Display Integrer or Real.
The answer is Integrer.
Reply
#9
tkf u have no idea what you're doing.
Why's the rothchild family crest and the illuminati symbol on my 1 dollar bill? Why do rich and powerful American "christian" leaders have gay sex and worship a giant 40 foot stone owl at Beach Grove every year? Why doesn't anyone care?
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Changes in existing ranking-system BtankNoob 5 4,647 2014-04-13, 02:31:10
Last Post: BtankNoob
  Additional ranking system BtankNoob 12 11,368 2014-02-19, 09:57:40
Last Post: Flygplan
  Watch replay and tell me kick system isn't useless griffin1987 4 5,188 2013-08-23, 03:04:52
Last Post: Prog
  Disable the kick system in qualify Sassspect 1 3,152 2012-07-03, 15:42:47
Last Post: El_Polacco
  Add visible Damage Display Text 24/7? AeroniumX 7 6,120 2012-05-03, 18:51:02
Last Post: Akolyt0r



Users browsing this thread: 1 Guest(s)