• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Multiboard / Timer - Problems

Status
Not open for further replies.
Level 4
Joined
Oct 23, 2006
Messages
65
Information--
Both of these functions work from the same trigger, that is, when a unit dies. The multiboard will display a spree of each players kills. When a player gets a kill, his spree increases by 1, unless his spree is a dying spree, then it will be set to 1, and vice-versa for the dying player. Also, the colours (red, and green) and letters (D, and K) represent if the player is currently on a killing, or dying spree. This is the same system used in CandyWars. This works somewhat, however when another player kills me first what happens is my spree is not reset and the letter remains the same, but the colour changes appropraitely. The killing players spree does not register (it shows "N/A") however the colour does change appropriately. As for the respawn timers, they will not show for some reason.



Code:
Kill
    Events
        Unit - A unit Dies
    Conditions
    Actions
        Set Kills[(Player number of (Owner of (Killing unit)))] = (Kills[(Player number of (Owner of (Killing unit)))] + 1.00)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                SpreePlus[(Player number of (Owner of (Killing unit)))] Equal to False
            Then - Actions
                Set SpreePlus[(Player number of (Owner of (Killing unit)))] = True
                Set CurrentSpree[(Player number of (Owner of (Killing unit)))] = 1
            Else - Actions
                Set CurrentSpree[(Player number of (Owner of (Killing unit)))] = (CurrentSpree[(Player number of (Owner of (Killing unit)))] + 1)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                SpreePlus[(Player number of (Owner of (Triggering unit)))] Equal to True
            Then - Actions
                Set SpreePlus[(Player number of (Owner of (Triggering unit)))] = False
                Set CurrentSpree[(Player number of (Owner of (Triggering unit)))] = 1
            Else - Actions
                Set CurrentSpree[(Player number of (Owner of (Triggering unit)))] = (CurrentSpree[(Player number of (Owner of (Triggering unit)))] + 1)
        Multiboard - Set the color for (Last created multiboard) item in column 2, row WhatRow[(Player number of (Owner of (Triggering unit)))] to (100.00%, 0.00%, 0.00%) with 0.00% transparency
        Multiboard - Set the color for (Last created multiboard) item in column 2, row WhatRow[(Player number of (Owner of (Killing unit)))] to (0.00%, 100.00%, 0.00%) with 0.00% transparency
        Set Accuracy[(Player number of (Owner of (Killing unit)))] = (Kills[(Player number of (Owner of (Killing unit)))] / ArrowsFired[(Player number of (Owner of (Killing unit)))])
        Set Accuracy[(Player number of (Owner of (Killing unit)))] = (Accuracy[(Player number of (Owner of (Killing unit)))] x 100.00)
        Multiboard - Set the text for (Last created multiboard) item in column 3, row WhatRow[(Player number of (Owner of (Killing unit)))] to ((String(Accuracy[(Player number of (Owner of (Killing unit)))], 1, 1)) + %)
        Multiboard - Set the text for (Last created multiboard) item in column 2, row WhatRow[(Player number of (Owner of (Killing unit)))] to ((String(CurrentSpree[(Player number of (Owner of (Killing unit)))])) +  K)
        Multiboard - Set the text for (Last created multiboard) item in column 2, row WhatRow[(Player number of (Owner of (Triggering unit)))] to ((String(CurrentSpree[(Player number of (Owner of (Triggering unit)))])) +  D)
        Countdown Timer - Start Respawn[(Player number of (Owner of (Triggering unit)))] as a One-shot timer that will expire in 30.00 seconds
        Countdown Timer - Create a timer window for Respawn[(Player number of (Owner of (Triggering unit)))] with title Revival In:
        Set TimerWindow[(Player number of (Owner of (Triggering unit)))] = (Last created timer window)
        Countdown Timer - Hide TimerWindow[(Player number of (Owner of (Triggering unit)))]
        Countdown Timer - Show TimerWindow[(Player number of (Owner of (Triggering unit)))] for (Owner of (Triggering unit))

Here is one of the 12 respawn triggers

Code:
Player1
    Events
        Time - Respawn[1] expires
    Conditions
    Actions
        Unit - Create 1 Archer for Player 1 (Red) at (Center of EastStart <gen>) facing (Random real number between 0.00 and 360.00) degrees
        Countdown Timer - Destroy TimerWindow[1]
 
Status
Not open for further replies.
Top