Return to post
settings
{
main
{
Description: "Piano by venus#12217 || v1.1 || Reload: Swap hero, Interact: Show/hide tip menu, Ultimate/Ability 2: Cycle through piano tips || Please don't interrupt other players when they're playing piano!"
}
lobby
{
Match Voice Chat: Enabled
Max Spectators: 6
Return To Lobby: Never
}
modes
{
Deathmatch
{
enabled maps
{
Paris
}
}
General
{
Game Mode Start: Immediately
Hero Limit: Off
Respawn Time Scalar: 0%
Spawn Health Packs: Enabled
}
}
heroes
{
General
{
No Ammunition Requirement: On
Ultimate Ability: Off
Ana
{
Biotic Grenade: Off
Sleep Dart: Off
}
Ashe
{
Coach Gun: Off
Dynamite: Off
}
Bastion
{
Reconfigure: Off
Self-Repair: Off
}
Brigitte
{
Barrier Shield: Off
Primary Fire: Off
Shield Bash: Off
Whip Shot: Off
}
D.Va
{
Boosters: Off
Defense Matrix: Off
Micro Missiles: Off
Spawn Without Mech: On
}
Doomfist
{
Rising Uppercut: Off
Rocket Punch: Off
Seismic Slam: Off
}
Echo
{
Focusing Beam: Off
Sticky Bombs: Off
}
Genji
{
Deflect: Off
Primary Fire: Off
Swift Strike: Off
}
Hanzo
{
Sonic Arrow: Off
Storm Arrows: Off
}
Junkrat
{
Concussion Mine: Off
Primary Fire: Off
Steel Trap: Off
}
Lúcio
{
Soundwave: Off
}
McCree
{
Flashbang: Off
Secondary Fire: Off
}
Mei
{
Cryo-Freeze: Off
Ice Wall: Off
Secondary Fire: Off
}
Mercy
{
Guardian Angel: Off
Resurrect: Off
}
Moira
{
Biotic Orb: Off
}
Orisa
{
Fortify: Off
Halt!: Off
Protective Barrier: Off
}
Pharah
{
Concussive Blast: Off
Primary Fire: Off
}
Reinhardt
{
Barrier Field: Off
Charge: Off
Fire Strike: Off
Primary Fire: Off
}
Roadhog
{
Chain Hook: Off
}
Sigma
{
Accretion: Off
Experimental Barrier: Off
Kinetic Grasp: Off
}
Soldier: 76
{
Biotic Field: Off
Helix Rockets: Off
}
Sombra
{
Hack: Off
}
Symmetra
{
Secondary Fire: Off
Sentry Turret: Off
Teleporter: Off
}
Torbjörn
{
Deploy Turret: Off
Weapons Enabled: Rivet Gun Only
}
Tracer
{
Blink: Off
Recall: Off
}
Widowmaker
{
Grappling Hook: Off
Venom Mine: Off
}
Winston
{
Barrier Projector: Off
Jump Pack: Off
Primary Fire: Off
}
Wrecking Ball
{
Adaptive Shield: Off
Grappling Claw: Off
Piledriver: Off
}
Zarya
{
Particle Barrier: Off
Projected Barrier: Off
Secondary Fire: Off
}
enabled heroes
{
D.Va
Genji
Mei
Mercy
Soldier: 76
Symmetra
Zarya
}
}
}
}
variables
{
global:
0: Positions
1: NofTips
2: PianoPos
player:
0: Visi
1: Visi2
}
rule("Piano by venus#12217 || Do not remove credits!")
{
event
{
Ongoing - Global;
}
actions
{
Create HUD Text(All Players(All Teams), Null, Custom String("Piano by venus#12217"), Null, Right, -11, Color(White), Color(White),
Color(White), Visible To and String, Default Visibility);
}
}
rule("Disable gamemode completions")
{
event
{
Ongoing - Global;
}
actions
{
Disable Built-In Game Mode Completion;
Disable Built-In Game Mode Announcer;
Disable Built-In Game Mode Music;
}
}
rule("Match time")
{
event
{
Ongoing - Global;
}
conditions
{
Is Game In Progress == True;
}
actions
{
Set Match Time(3599);
}
}
disabled rule("Teleport")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Teleport(Event Player, World Vector Of(Vector(0, 1, 5), Event Player, Rotation And Translation));
}
}
disabled rule("Coordinates")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Create HUD Text(All Players(All Teams), Null, Null, Position Of(Event Player), Right, 0, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
}
}
rule("Shorten assembling time")
{
event
{
Ongoing - Global;
}
conditions
{
Is Assembling Heroes == True;
}
actions
{
Set Match Time(3);
}
}
rule("Initiating")
{
event
{
Ongoing - Global;
}
actions
{
Global.Positions[0] = Vector(-34.780, 11.990, 31.360);
Global.Positions[1] = Vector(-83.660, 13, -96.600);
Create Effect(All Players(All Teams), Ring, Color(Orange), Global.Positions[0], 1.500, Visible To Position and Radius);
Create Effect(All Players(All Teams), Ring, Color(Orange), Global.Positions[1], 1.500, Visible To Position and Radius);
Create Effect(All Players(All Teams), Light Shaft, Color(Orange), Global.Positions[0], 1.500, Visible To Position and Radius);
Create Effect(All Players(All Teams), Light Shaft, Color(Orange), Global.Positions[1], 1.500, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), Custom String("Jump to teleport!"), Global.Positions[0] + Vector(0, 1.500, 0), 2,
Clip Against Surfaces, Visible To Position and String, Color(Orange), Default Visibility);
Create In-World Text(All Players(All Teams), Custom String("Jump to teleport!"), Global.Positions[1] + Vector(0, 1.500, 0), 2,
Clip Against Surfaces, Visible To Position and String, Color(Orange), Default Visibility);
Global.NofTips = 4;
Global.PianoPos[0] = Vector(-84.800, 13.510, -107.320);
Global.PianoPos[1] = Vector(-40.660, 12.500, 33.320);
Global.D = Vector(-91.128, 14.298, -106.659);
}
}
rule("Using teleporter")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Spawned(Event Player) == True;
Is True For Any(Global.Positions, Distance Between(Current Array Element, Event Player) <= 1.500) == True;
Is Button Held(Event Player, Button(Jump)) == True;
}
actions
{
If(Distance Between(Global.Positions[0], Event Player) <= 1.500);
disabled Wait(1, Abort When False);
Teleport(Event Player, Global.Positions[1]);
Wait(0.250, Ignore Condition);
Abort;
Else;
disabled Wait(1, Abort When False);
Teleport(Event Player, Global.Positions[0]);
Wait(0.250, Ignore Condition);
Abort;
End;
}
}
rule("Initiate players")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Game In Progress == True;
}
actions
{
Set Status(Event Player, Null, Phased Out, 9999);
Event Player.Visi = 0;
Create HUD Text(Event Player, Hero Icon String(Hero Of(Event Player)), Custom String("Hold Reload to change hero!"), Custom String(
"Enjoy your piano session!"), Left, 0, Color(Orange), Color(Orange), Color(White), Visible To and String, Default Visibility);
Create HUD Text(Event Player.Visi2, Custom String("near"), Null, Null, Top, -11, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
Create In-World Text(All Players(All Teams), Custom String("{0} {1}", Hero Icon String(Hero Of(Event Player)), Event Player),
Event Player, 1.500, Clip Against Surfaces, Visible To Position and String, Color(White), Default Visibility);
}
}
rule("Create hud for each player")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Spawned(Event Player) == True;
}
actions
{
Create HUD Text(Event Player, Null, Custom String(" Please don't interrupt other players!"),
Event Player.Visi == 0 ? Custom String("Hold Interact to show help menu") : Custom String("Hold Interact to close help menu"),
Top, -10, Color(White), Color(White), Color(Orange), Visible To and String, Default Visibility);
}
}
rule("Create hud")
{
event
{
Ongoing - Global;
}
actions
{
disabled Create HUD Text(Filtered Array(All Players(All Teams), Current Array Element.Visi == 0), Null, Custom String(
" Please don't interrupt other players!"), Custom String("Hold Interact to show help menu"), Top, -10, Color(White),
Color(White), Color(Orange), Visible To and String, Default Visibility);
disabled Create HUD Text(Filtered Array(All Players(All Teams), Current Array Element.Visi >= 1), Null, Custom String(
" Please don't interrupt other players!"), Custom String("Hold Interact to close help menu"), Top, -10, Color(White),
Color(White), Color(Orange), Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String(
" \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r"),
Top, -1, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String(" "), Top, -9, Color(White), Color(White), Color(Orange),
Visible To and String, Default Visibility);
Create HUD Text(Filtered Array(All Players(All Teams), Current Array Element.Visi >= 1), Null, Null, String("{0} {1} {2}",
Icon String(Arrow: Left), Custom String(" Use [Q] and [E] to cycle through piano tips! "), Icon String(Arrow: Right)), Top,
-8, Color(White), Color(White), Color(Orange), Visible To and String, Default Visibility);
Create HUD Text(Filtered Array(All Players(All Teams), Current Array Element.Visi == 1), Null, Null, Custom String(
"canon in d\r\nA-F#-G-A-F#-G-A-A-B-C#-D-E-F#-G-F#-D-E-F#\r\nF#-G-A-B-A-G-A-D-C#-D-B-D-C#-B-A-G-A-G-F#\r\nG-A-D-C#-D-B-D-C#"),
Top, -7, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Create HUD Text(Filtered Array(All Players(All Teams), Current Array Element.Visi == 2), Null, Null, Custom String(
"christmas carol\r\nD-G-G-A-G-F#-E-E-E-A-A-B-A-G-F#-D-D\r\nB-B-C-B-A-G-E-D-D-E-A-F#-G\r\nD-G-G-G-F#-F#-G-F#-E-D\r\nA-B-A-G-D'-D-D-D-E-A-F"),
Top, -7, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
Create HUD Text(Filtered Array(All Players(All Teams), Current Array Element.Visi == 3), Null, Null, Custom String(
"happy birthday\r\nG-G-A-G-C-B-G-G-A-G-D-C\r\nG-G-G-E-C-B-A-F-F-E-C-D-C"), Top, -7, Color(White), Color(White), Color(White),
Visible To and String, Default Visibility);
Create HUD Text(Filtered Array(All Players(All Teams), Current Array Element.Visi == 4), Null, Null, Custom String(
"fur elise\r\nE-D#-E-D#-E-B-D-C-A-C-E-A-B-E-G#-B-C\r\nE-E-D#-E-D#-E-B-D-C-A-C-E-A-B-E-C-B-A"), Top, -7, Color(White), Color(
White), Color(White), Visible To and String, Default Visibility);
}
}
rule("Hold F")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Spawned(Event Player) == True;
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
If(Event Player.Visi == 0);
Wait(1, Abort When False);
Event Player.Visi = 1;
Else;
Wait(1, Abort When False);
Event Player.Visi = 0;
End;
}
}
rule("Press E")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Game In Progress == True;
Has Spawned(Event Player) == True;
Is Button Held(Event Player, Button(Ability 2)) == True;
Event Player.Visi != 0;
}
actions
{
If(Event Player.Visi != Global.NofTips);
Event Player.Visi += 1;
Wait(0.250, Ignore Condition);
Else;
Event Player.Visi = 1;
Wait(0.250, Ignore Condition);
End;
}
}
rule("Press Q")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Game In Progress == True;
Has Spawned(Event Player) == True;
Is Button Held(Event Player, Button(Ultimate)) == True;
Event Player.Visi != 0;
}
actions
{
If(Event Player.Visi != 1);
Event Player.Visi -= 1;
Wait(0.250, Ignore Condition);
Else;
Event Player.Visi = Global.NofTips;
Wait(0.250, Ignore Condition);
}
}
rule("Hold R")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Game In Progress == True;
Has Spawned(Event Player) == True;
Is Button Held(Event Player, Button(Reload)) == True;
}
actions
{
Wait(1, Abort When False);
disabled Start Forcing Player To Be Hero(Event Player, Random Value In Array(All Heroes));
disabled Wait(0.250, Ignore Condition);
disabled Stop Forcing Player To Be Hero(Event Player);
Set Player Allowed Heroes(Event Player, Remove From Array(All Heroes, Hero Of(Event Player)));
Wait(0.500, Ignore Condition);
Reset Player Hero Availability(Event Player);
}
}
rule("Set invisible if more than 1 player is using piano 1")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Distance Between(Global.PianoPos[0], Event Player) <= 1.500;
Count Of(Filtered Array(All Players(All Teams), Distance Between(Global.PianoPos[0], Current Array Element) <= 1.500)) > 1;
}
actions
{
Set Invisible(Event Player, All);
}
}
rule("Set invisible if more than 1 player is using piano 2")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Distance Between(Global.PianoPos[1], Event Player) <= 1.500;
Count Of(Filtered Array(All Players(All Teams), Distance Between(Global.PianoPos[1], Current Array Element) <= 1.500)) > 1;
}
actions
{
Set Invisible(Event Player, All);
}
}
rule("Reset invisible if only 1 player is using piano 1")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Distance Between(Global.PianoPos[0], Event Player) <= 1.500;
Count Of(Filtered Array(All Players(All Teams), Distance Between(Global.PianoPos[0], Current Array Element) <= 1.500)) <= 1;
}
actions
{
Set Invisible(Event Player, None);
}
}
rule("Reset invisible if only 1 player is using piano 2")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Distance Between(Global.PianoPos[1], Event Player) <= 1.500;
Count Of(Filtered Array(All Players(All Teams), Distance Between(Global.PianoPos[1], Current Array Element) <= 1.500)) <= 1;
}
actions
{
Set Invisible(Event Player, None);
}
}
rule("Reset invisible")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
disabled Is True For All(Global.PianoPos, Distance Between(Current Array Element, Event Player) > 1.500) == True;
Is True For Any(Global.PianoPos, Distance Between(Current Array Element, Event Player) <= 1.500) == False;
}
actions
{
Set Invisible(Event Player, None);
}
}
rule("Spawn to piano")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Spawned(Event Player) == True;
Is Alive(Event Player) == True;
}
actions
{
Teleport(Event Player, Global.D);
}
}
disabled rule("Bot")
{
event
{
Ongoing - Global;
}
conditions
{
Is Game In Progress == True;
}
actions
{
Create Dummy Bot(Hero(Ana), All Teams, -1, Nearest Walkable Position(Vector(0, 0, 0)), Vector(0, 0, 0));
}
}
disabled rule("Teleport bot")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Dummy Bot(Event Player) == True;
Has Spawned(Event Player) == True;
Is Button Held(Host Player, Button(Ultimate)) == True;
}
actions
{
disabled If(Distance Between(Global.PianoPos[0], Event Player) < Distance Between(Global.PianoPos[1], Event Player));
disabled Teleport(Event Player, Nearest Walkable Position(Global.PianoPos[1]));
disabled Else;
Teleport(Event Player, Nearest Walkable Position(Global.PianoPos[0]));
disabled End;
}
}
disabled rule("Is near piano")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is True For Any(Global.PianoPos, Distance Between(Current Array Element, Event Player) <= 1.500) == True;
}
actions
{
Event Player.Visi2 = Event Player;
}
}
disabled rule("Is not near piano")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is True For Any(Global.PianoPos, Distance Between(Current Array Element, Event Player) <= 1.500) == False;
}
actions
{
Event Player.Visi2 = Null;
}
}