Can someone write me a duel trigger plz

Astal

New Member
Reaction score
1
I have one but it bugs when the game has more than 1v1 and its a 4v4 map. People get stuck, sometimes 2 duel ect... i tried having people help me fix it but its not working. I Would really appreciate where someone could write me a trigger to randomly pick 1 player from each team to duel and play the rest on a viewing area until the duel is over. If anyone thinks they can fix my code lemme know ill post it. Or the map.

I would really appreciate the help.
 

Happy

Well-Known Member
Reaction score
71
first of all read the rules....

then if you have a trigger post it...im sure we can fix it...
 

Astal

New Member
Reaction score
1
ok, im also having a problem with creeps not spawning after level 8, ill post that too.

I did the dialog way so someone picks since my random way got bugged badly I didnt see any duel bugs last test but i know if a unit is dead and a player picks it to duel it bugs. I think i can fix that on my own.

Trigger:
  • First Duel Timer
    • Events
      • Time - Elapsed game time is 30.00 seconds
    • Conditions
    • Actions
      • Countdown Timer - Destroy DuelTWindow
      • Countdown Timer - Start DuelTimer as a One-shot timer that will expire in 300.00 seconds
      • Countdown Timer - Create a timer window for DuelTimer with title Duel Starts In:
      • Set DuelTWindow = (Last created timer window)


Trigger:
  • X Men Duel Dialog Window
    • Events
      • Time - DuelTimer expires
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 1 (Red) slot status) Equal to Is playing
        • Then - Actions
          • Dialog - Clear DuelDialog[1]
          • Dialog - Change the title of DuelDialog[1] to Pick Who Duels
          • Dialog - Create a dialog button for DuelDialog[1] labelled Red
          • Set DuelDialogButtons[1] = (Last created dialog Button)
          • Dialog - Create a dialog button for DuelDialog[1] labelled Blue
          • Set DuelDialogButtons[2] = (Last created dialog Button)
          • Dialog - Create a dialog button for DuelDialog[1] labelled Teal
          • Set DuelDialogButtons[3] = (Last created dialog Button)
          • Dialog - Create a dialog button for DuelDialog[1] labelled Purple
          • Set DuelDialogButtons[4] = (Last created dialog Button)
          • Dialog - Show DuelDialog[1] for Player 1 (Red)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Player 2 (Blue) slot status) Equal to Is playing
            • Then - Actions
              • Dialog - Clear DuelDialog[1]
              • Dialog - Change the title of DuelDialog[1] to Pick Who Duels
              • Dialog - Create a dialog button for DuelDialog[1] labelled Blue
              • Set DuelDialogButtons[2] = (Last created dialog Button)
              • Dialog - Create a dialog button for DuelDialog[1] labelled Teal
              • Set DuelDialogButtons[3] = (Last created dialog Button)
              • Dialog - Create a dialog button for DuelDialog[1] labelled Purple
              • Set DuelDialogButtons[4] = (Last created dialog Button)
              • Dialog - Show DuelDialog[1] for Player 2 (Blue)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Player 3 (Teal) slot status) Equal to Is playing
                • Then - Actions
                  • Dialog - Clear DuelDialog[1]
                  • Dialog - Change the title of DuelDialog[1] to Pick Who Duels
                  • Dialog - Create a dialog button for DuelDialog[1] labelled Teal
                  • Set DuelDialogButtons[3] = (Last created dialog Button)
                  • Dialog - Create a dialog button for DuelDialog[1] labelled Purple
                  • Set DuelDialogButtons[4] = (Last created dialog Button)
                  • Dialog - Show DuelDialog[1] for Player 3 (Teal)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Player 4 (Purple) slot status) Equal to Is playing
                    • Then - Actions
                      • Dialog - Clear DuelDialog[1]
                      • Dialog - Change the title of DuelDialog[1] to Pick Who Duels
                      • Dialog - Create a dialog button for DuelDialog[1] labelled Purple
                      • Set DuelDialogButtons[4] = (Last created dialog Button)
                      • Dialog - Show DuelDialog[1] for Player 4 (Purple)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Player 1 (Red) slot status) Equal to Has left the game
                          • (Player 2 (Blue) slot status) Equal to Has left the game
                          • (Player 3 (Teal) slot status) Equal to Has left the game
                          • (Player 4 (Purple) slot status) Equal to Has left the game
                        • Then - Actions
                          • Game - Victory Player 5 (Yellow) (Show dialogs, Show scores)
                          • Game - Victory Player 6 (Orange) (Show dialogs, Show scores)
                          • Game - Victory Player 7 (Green) (Show dialogs, Show scores)
                          • Game - Victory Player 8 (Pink) (Show dialogs, Show scores)
                        • Else - Actions
                          • Do nothing


Trigger:
  • X Men Duel Choices
    • Events
      • Dialog - A dialog button is clicked for DuelDialog[1]
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Clicked dialog button) Equal to DuelDialogButtons[1]
          • (Player 1 (Red) slot status) Equal to Is playing
        • Then - Actions
          • Game - Display to (All players) the text: Red Has Been Chosen...
          • Unit - Reset ability cooldowns for Hero[1]
          • Unit - Set mana of Hero[1] to 100.00%
          • Unit - Set life of Hero[1] to 100.00%
          • Unit - Move Hero[1] instantly to (Center of Duel Spawn 1 <gen>)
          • Set DuelUnit[1] = Hero[1]
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Clicked dialog button) Equal to DuelDialogButtons[2]
              • (Player 2 (Blue) slot status) Equal to Is playing
            • Then - Actions
              • Game - Display to (All players) the text: Blue Has Been Chose...
              • Unit - Reset ability cooldowns for Hero[2]
              • Unit - Set mana of Hero[2] to 100.00%
              • Unit - Set life of Hero[2] to 100.00%
              • Unit - Move Hero[2] instantly to (Center of Duel Spawn 1 <gen>)
              • Set DuelUnit[1] = Hero[2]
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Clicked dialog button) Equal to DuelDialogButtons[3]
                  • (Player 3 (Teal) slot status) Equal to Is playing
                • Then - Actions
                  • Game - Display to (All players) the text: Teal Has Been Chose...
                  • Unit - Reset ability cooldowns for Hero[3]
                  • Unit - Set mana of Hero[3] to 100.00%
                  • Unit - Set life of Hero[3] to 100.00%
                  • Unit - Move Hero[3] instantly to (Center of Duel Spawn 1 <gen>)
                  • Set DuelUnit[1] = Hero[3]
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Clicked dialog button) Equal to DuelDialogButtons[4]
                      • (Player 4 (Purple) slot status) Equal to Is playing
                    • Then - Actions
                      • Game - Display to (All players) the text: Purple Has Been Cho...
                      • Unit - Reset ability cooldowns for Hero[4]
                      • Unit - Set mana of Hero[4] to 100.00%
                      • Unit - Set life of Hero[4] to 100.00%
                      • Unit - Move Hero[4] instantly to (Center of Duel Spawn 1 <gen>)
                      • Set DuelUnit[1] = Hero[4]
                    • Else - Actions
                      • Game - Display to (All players matching ((Triggering player) Equal to (Triggering player))) the text: Please Choose A Pla...
                      • Dialog - Clear DuelDialog[1]
                      • Dialog - Change the title of DuelDialog[1] to Pick Who Duels
                      • Dialog - Create a dialog button for DuelDialog[1] labelled Red
                      • Set DuelDialogButtons[1] = (Last created dialog Button)
                      • Dialog - Create a dialog button for DuelDialog[1] labelled Blue
                      • Set DuelDialogButtons[2] = (Last created dialog Button)
                      • Dialog - Create a dialog button for DuelDialog[1] labelled Teal
                      • Set DuelDialogButtons[3] = (Last created dialog Button)
                      • Dialog - Create a dialog button for DuelDialog[1] labelled Purple
                      • Set DuelDialogButtons[4] = (Last created dialog Button)
                      • Dialog - Show DuelDialog[1] for (Triggering player)


Trigger:
  • Brotherhood Duel Dialog Window
    • Events
      • Time - DuelTimer expires
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 5 (Yellow) slot status) Equal to Is playing
        • Then - Actions
          • Dialog - Clear DuelDialog[2]
          • Dialog - Change the title of DuelDialog[2] to Pick Who Duels
          • Dialog - Create a dialog button for DuelDialog[2] labelled Yellow
          • Set DuelDialogButtons[5] = (Last created dialog Button)
          • Dialog - Create a dialog button for DuelDialog[2] labelled Orange
          • Set DuelDialogButtons[6] = (Last created dialog Button)
          • Dialog - Create a dialog button for DuelDialog[2] labelled Green
          • Set DuelDialogButtons[7] = (Last created dialog Button)
          • Dialog - Create a dialog button for DuelDialog[2] labelled Pink
          • Set DuelDialogButtons[8] = (Last created dialog Button)
          • Dialog - Show DuelDialog[2] for Player 5 (Yellow)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Player 6 (Orange) slot status) Equal to Is playing
            • Then - Actions
              • Dialog - Clear DuelDialog[2]
              • Dialog - Change the title of DuelDialog[2] to Pick Who Duels
              • Dialog - Create a dialog button for DuelDialog[2] labelled Orange
              • Set DuelDialogButtons[6] = (Last created dialog Button)
              • Dialog - Create a dialog button for DuelDialog[2] labelled Green
              • Set DuelDialogButtons[7] = (Last created dialog Button)
              • Dialog - Create a dialog button for DuelDialog[2] labelled Pink
              • Set DuelDialogButtons[8] = (Last created dialog Button)
              • Dialog - Show DuelDialog[2] for Player 6 (Orange)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Player 7 (Green) slot status) Equal to Is playing
                • Then - Actions
                  • Dialog - Clear DuelDialog[2]
                  • Dialog - Change the title of DuelDialog[2] to Pick Who Duels
                  • Dialog - Create a dialog button for DuelDialog[2] labelled Green
                  • Set DuelDialogButtons[7] = (Last created dialog Button)
                  • Dialog - Create a dialog button for DuelDialog[2] labelled Pink
                  • Set DuelDialogButtons[8] = (Last created dialog Button)
                  • Dialog - Show DuelDialog[2] for Player 7 (Green)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Player 8 (Pink) slot status) Equal to Is playing
                    • Then - Actions
                      • Dialog - Clear DuelDialog[2]
                      • Dialog - Change the title of DuelDialog[2] to Pick Who Duels
                      • Dialog - Create a dialog button for DuelDialog[2] labelled Pink
                      • Set DuelDialogButtons[8] = (Last created dialog Button)
                      • Dialog - Show DuelDialog[2] for Player 8 (Pink)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Player 5 (Yellow) slot status) Equal to Has left the game
                          • (Player 6 (Orange) slot status) Equal to Has left the game
                          • (Player 7 (Green) slot status) Equal to Has left the game
                          • (Player 8 (Pink) slot status) Equal to Has left the game
                        • Then - Actions
                          • Game - Victory Player 1 (Red) (Show dialogs, Show scores)
                          • Game - Victory Player 2 (Blue) (Show dialogs, Show scores)
                          • Game - Victory Player 3 (Teal) (Show dialogs, Show scores)
                          • Game - Victory Player 4 (Purple) (Show dialogs, Show scores)
                        • Else - Actions
                          • Do nothing


Trigger:
  • Brotherhood Duel Choices
    • Events
      • Dialog - A dialog button is clicked for DuelDialog[2]
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Clicked dialog button) Equal to DuelDialogButtons[5]
          • (Player 5 (Yellow) slot status) Equal to Is playing
        • Then - Actions
          • Game - Display to (All players) the text: Yellow Has Chosen H...
          • Unit - Reset ability cooldowns for Hero[5]
          • Unit - Set mana of Hero[5] to 100.00%
          • Unit - Set life of Hero[5] to 100.00%
          • Unit - Move Hero[5] instantly to (Center of Duel Spawn 2 <gen>)
          • Set DuelUnit[2] = Hero[5]
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Clicked dialog button) Equal to DuelDialogButtons[6]
              • (Player 6 (Orange) slot status) Equal to Is playing
            • Then - Actions
              • Game - Display to (All players) the text: Yellow Has Chosen O...
              • Unit - Reset ability cooldowns for Hero[6]
              • Unit - Set mana of Hero[6] to 100.00%
              • Unit - Set life of Hero[6] to 100.00%
              • Unit - Move Hero[6] instantly to (Center of Duel Spawn 2 <gen>)
              • Set DuelUnit[2] = Hero[6]
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Clicked dialog button) Equal to DuelDialogButtons[7]
                  • (Player 7 (Green) slot status) Equal to Is playing
                • Then - Actions
                  • Game - Display to (All players) the text: Yellow Has Chosen G...
                  • Unit - Reset ability cooldowns for Hero[7]
                  • Unit - Set mana of Hero[7] to 100.00%
                  • Unit - Set life of Hero[7] to 100.00%
                  • Unit - Move Hero[7] instantly to (Center of Duel Spawn 2 <gen>)
                  • Set DuelUnit[2] = Hero[7]
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Clicked dialog button) Equal to DuelDialogButtons[8]
                      • (Player 8 (Pink) slot status) Equal to Is playing
                    • Then - Actions
                      • Game - Display to (All players) the text: Yellow Has Chosen P...
                      • Unit - Reset ability cooldowns for Hero[8]
                      • Unit - Set mana of Hero[8] to 100.00%
                      • Unit - Set life of Hero[8] to 100.00%
                      • Unit - Move Hero[8] instantly to (Center of Duel Spawn 2 <gen>)
                      • Set DuelUnit[2] = Hero[8]
                    • Else - Actions
                      • Game - Display to (All players matching ((Triggering player) Equal to (Triggering player))) the text: Please Choose A Pla...
                      • Dialog - Clear DuelDialog[2]
                      • Dialog - Change the title of DuelDialog[2] to Pick Who Duels
                      • Dialog - Create a dialog button for DuelDialog[2] labelled Yellow
                      • Set DuelDialogButtons[5] = (Last created dialog Button)
                      • Dialog - Create a dialog button for DuelDialog[2] labelled Orange
                      • Set DuelDialogButtons[6] = (Last created dialog Button)
                      • Dialog - Create a dialog button for DuelDialog[2] labelled Green
                      • Set DuelDialogButtons[7] = (Last created dialog Button)
                      • Dialog - Create a dialog button for DuelDialog[2] labelled Pink
                      • Set DuelDialogButtons[8] = (Last created dialog Button)
                      • Dialog - Show DuelDialog[2] for (Triggering player)


Trigger:
  • Dueling Unit Is Killed
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Duel Area <gen> contains (Dying unit)) Equal to True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • (Dying unit) Equal to Hero[1]
              • (Dying unit) Equal to Hero[2]
              • (Dying unit) Equal to Hero[3]
              • (Dying unit) Equal to Hero[4]
        • Then - Actions
          • Quest - Display to (All players) the Quest Update message: ((Name of (Owner of (Killing unit))) + is victorious!)
          • Player - Add 200 to (Owner of (Killing unit)) Current gold
          • Player - Add 1 to (Owner of (Killing unit)) Current lumber
          • Wait 2.00 game-time seconds
          • Unit - Reset ability cooldowns for (Killing unit)
          • Unit - Set mana of (Killing unit) to 100.00%
          • Unit - Set life of (Killing unit) to 100.00%
          • Unit - Move (Killing unit) instantly to (Center of Force2 Base <gen>)
          • -------- Start New Timer --------
          • Wait 10.00 game-time seconds
          • Countdown Timer - Destroy DuelTWindow
          • Countdown Timer - Start DuelTimer as a One-shot timer that will expire in 300.00 seconds
          • Countdown Timer - Create a timer window for DuelTimer with title Duel Starts In:
          • Set DuelTWindow = (Last created timer window)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • (Dying unit) Equal to Hero[5]
                  • (Dying unit) Equal to Hero[6]
                  • (Dying unit) Equal to Hero[7]
                  • (Dying unit) Equal to Hero[8]
            • Then - Actions
              • Quest - Display to (All players) the Quest Update message: ((Name of (Owner of (Killing unit))) + is victorious!)
              • Player - Add 200 to (Owner of (Killing unit)) Current gold
              • Player - Add 1 to (Owner of (Killing unit)) Current lumber
              • Wait 2.00 game-time seconds
              • Unit - Reset ability cooldowns for (Killing unit)
              • Unit - Set mana of (Killing unit) to 100.00%
              • Unit - Set life of (Killing unit) to 100.00%
              • Unit - Move (Killing unit) instantly to (Center of Force1 Base <gen>)
              • -------- Start New Timer --------
              • Wait 10.00 game-time seconds
              • Countdown Timer - Destroy DuelTWindow
              • Countdown Timer - Start DuelTimer as a One-shot timer that will expire in 300.00 seconds
              • Countdown Timer - Create a timer window for DuelTimer with title Duel Starts In:
              • Set DuelTWindow = (Last created timer window)
            • Else - Actions
              • Do nothing


Creeps triggers here

Trigger:
  • Revive Creeps Init
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set RespawnRegions[1] = Creep Spawn 1 <gen>
      • Set RespawnRegions[2] = Creep Spawn 2 <gen>
      • Set RespawnRegions[3] = Creep Spawn 3 <gen>
      • Set RespawnRegions[4] = Creep Spawn 4 <gen>
      • Set RespawnRegions[5] = Creep Spawn 5 <gen>
      • Set RespawnRegions[6] = Creep Spawn 6 <gen>
      • Set RespawnRegions[7] = Creep Spawn 7 <gen>
      • Set RespawnRegions[8] = Creep Spawn 8 <gen>
      • Set RespawnRegions[9] = Creep Spawn 9 <gen>
      • Set RespawnRegions[10] = Creep Spawn 10 <gen>
      • Set RespawnRegions[11] = Creep Spawn 11 <gen>
      • Set RespawnRegions[12] = Creep Spawn 12 <gen>
      • Set RespawnRegions[13] = Creep Spawn 13 <gen>
      • Set RespawnRegions[14] = Creep Spawn 14 <gen>
      • Set RespawnRegions[15] = Creep Spawn 15 <gen>
      • Set RespawnRegions[16] = Creep Spawn 16 <gen>
      • Set RespawnRegions[17] = Creep Spawn 17 <gen>
      • Set RespawnRegions[18] = Creep Spawn 18 <gen>
      • Set RespawnRegionsCount = 18
      • Set tmpInteger = 0
      • For each (Integer A) from 1 to RespawnRegionsCount, do (Actions)
        • Loop - Actions
          • Unit Group - Pick every unit in (Units in RespawnRegions[(Integer A)] owned by Neutral Hostile) and do (Actions)
            • Loop - Actions
              • Unit - Set the custom value of (Picked unit) to (Integer A)
              • Set tmpInteger = (tmpInteger + 1)


Trigger:
  • Revive Creeps
    • Events
      • Unit - A unit owned by Neutral Hostile Dies
    • Conditions
      • (Custom value of (Dying unit)) Greater than 0
    • Actions
      • Wait CreepRespawnTime seconds
      • Unit - Create 1 (Random level CreepLevel creep unit-type) for Neutral Hostile at (Random point in RespawnRegions[(Custom value of (Dying unit))]) facing Default building facing degrees
      • Unit - Set the custom value of (Last created unit) to (Custom value of (Dying unit))


Trigger:
  • Level Up Creeps Normal
    • Events
      • Time - Every 240.00 seconds of game time
    • Conditions
      • CreepLevel Less than or equal to 8
    • Actions
      • Set CreepLevel = (CreepLevel + 1)


Trigger:
  • Level Up Creeps Fast
    • Events
      • Time - Every 120.00 seconds of game time
    • Conditions
      • CreepLevel Less than or equal to 8
    • Actions
      • Set CreepLevel = (CreepLevel + 1)
 

Astal

New Member
Reaction score
1
Your Unit Groups and Points leak to fix that:
http://www.thehelper.net/forums/showthread.php?t=27219&highlight=leaks

the duel trigger is long still reading through

ok ill read that topic.

your talking about the creeps unit groups and points right

K hows this look?


Trigger:
  • Revive Creeps
    • Events
      • Unit - A unit owned by Neutral Hostile Dies
    • Conditions
      • (Custom value of (Dying unit)) Greater than 0
    • Actions
      • Wait CreepRespawnTime seconds
      • Set TempPoint = (Random point in RespawnRegions[(Custom value of (Dying unit))])
      • Unit - Create 1 (Random level CreepLevel creep unit-type) for Neutral Hostile at TempPoint facing Default building facing degrees
      • Unit - Set the custom value of (Last created unit) to (Custom value of (Dying unit))
      • Custom script: call RemoveLocation (udg_TempPoint)


I assume i have to do that for anytime i create somthing like when a player chooses a hero
 

SaintMorose

New Member
Reaction score
26
ok ill read that topic.

your talking about the creeps unit groups and points right

K hows this look?


Trigger:
  • Revive Creeps
    • Events
      • Unit - A unit owned by Neutral Hostile Dies
    • Conditions
      • (Custom value of (Dying unit)) Greater than 0
    • Actions
      • Wait CreepRespawnTime seconds
      • Set TempPoint = (Random point in RespawnRegions[(Custom value of (Dying unit))])
      • Unit - Create 1 (Random level CreepLevel creep unit-type) for Neutral Hostile at TempPoint facing Default building facing degrees
      • Unit - Set the custom value of (Last created unit) to (Custom value of (Dying unit))
      • Custom script: call RemoveLocation (udg_TempPoint)


I assume i have to do that for anytime i create somthing like when a player chooses a hero

Trigger is cleaner. The duel trigger I assume the first player on each team chooses one member of the team to duel and then that player is sent to the arena?
 

Astal

New Member
Reaction score
1
Trigger is cleaner. The duel trigger I assume the first player on each team chooses one member of the team to duel and then that player is sent to the arena?

Yeah if the first player leaves then the 2nd player chooses ect.... It might not be bugged after all ive been testing with no problems atm.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top