Actual hide and seek
This code is over 6 months old. The code may have expired and might no longer function.
settings
{
main
{
Description: "Hide tiny seek"
Mode Name: "Hide n seek tiny"
}
lobby
{
Allow Players Who Are In Queue: Yes
Map Rotation: After A Game
Match Voice Chat: Enabled
Max Team 1 Players: 10
Max Team 2 Players: 2
Return To Lobby: Never
Swap Teams After Match: No
}
modes
{
Assault
{
Capture Speed Modifier: 10%
}
disabled Capture the Flag
{
Flag Carrier Abilities: All
Flag Pickup Time: 5.0
Flag Score Respawn Time: 20.0
}
Control
{
Capture Speed Modifier: 10%
Scoring Speed Modifier: 10%
}
Escort
{
Payload Speed Modifier: 10%
disabled maps
{
Shambali Monastery 0
}
}
Hybrid
{
Capture Speed Modifier: 10%
Payload Speed Modifier: 10%
}
General
{
Game Mode Start: Immediately
Hero Limit: Off
Respawn Time Scalar: 0%
}
}
heroes
{
Team 1
{
Damage Received: 500%
Healing Dealt: 10%
Healing Received: 10%
Health: 10%
D.Va
{
Spawn Without Mech: On
Ultimate Ability Self-Destruct: Off
}
Sombra
{
Hack: Off
Stealth: Off
Translocator: Off
}
}
Team 2
{
Damage Dealt: 500%
D.Va
{
Ultimate Ability Self-Destruct: Off
}
Sombra
{
Hack: Off
Stealth Cooldown Time: 0%
Translocator: Off
Ultimate Ability EMP: Off
}
}
General
{
Ability Cooldown Time: 50%
Ammunition Clip Size Scalar: 250%
Ultimate Ability: Off
Ana
{
Biotic Grenade: Off
}
Ashe
{
Dynamite: Off
Ultimate Ability B.O.B.: Off
}
Cassidy
{
Ultimate Ability Deadeye: Off
}
Doomfist
{
Ultimate Ability Meteor Strike: Off
}
Hanzo
{
Sonic Arrow: Off
Ultimate Ability Dragonstrike: Off
}
Junkrat
{
Ultimate Ability RIP-Tire: Off
}
Mei
{
Ultimate Ability Blizzard: Off
}
Moira
{
Biotic Orb: Off
Secondary Fire: Off
Ultimate Ability Coalescence: Off
}
Pharah
{
Ultimate Ability Barrage: Off
}
Reaper
{
Ultimate Ability Death Blossom: Off
}
Reinhardt
{
Ultimate Ability Earthshatter: Off
}
Roadhog
{
Ultimate Ability Whole Hog: Off
}
Sigma
{
Ultimate Ability Gravitic Flux: Off
}
Soldier: 76
{
Ultimate Ability Tactical Visor: Off
}
Symmetra
{
Sentry Turret: Off
}
Torbjörn
{
Deploy Turret: Off
}
Tracer
{
Ultimate Ability Pulse Bomb: Off
}
Widowmaker
{
Ultimate Ability Infra-Sight: Off
}
Winston
{
Ammunition Clip Size Scalar: 25%
Jump Pack Acceleration Scalar: 125%
Jump Pack Cooldown Time: 0%
Primary Fire: Off
}
Wrecking Ball
{
Ultimate Ability Minefield: Off
}
Zarya
{
Ultimate Ability Graviton Surge: Off
}
Zenyatta
{
Orb of Discord: Off
}
disabled heroes
{
Junker Queen
Kiriko
Ramattra
Sojourn
Sombra
}
}
}
}
rule("시작")
{
event
{
Ongoing - Global;
}
actions
{
Disable Inspector Recording;
Global.N[0] = Workshop Setting Real(Custom String("기본설정(setting)"), Custom String("숨는 사람 최소 크기(minimum scale of hider)"), 1, 0.100,
10, 3);
Global.N[1] = Workshop Setting Real(Custom String("기본설정(setting)"), Custom String("숨는 사람 최대 크기(maximum scale of hider)"), 1, 0.100,
10, 4);
Set Match Time(5 + Workshop Setting Integer(Custom String("기본설정(setting)"), Custom String("스킨선택시간(Time to choose skin)"), 20, 0,
100, 5));
Global.C = Workshop Setting Integer(Custom String("기본설정(setting)"), Custom String("숨는 시간(Time to hide)"), 80, 30, 300, 6);
Global.I = Workshop Setting Combo(Custom String("기본설정(setting)"), Custom String("모드"), 0, Array(Custom String(
"숨바꼭질(hide and seek)"), Custom String("술래잡기(hider can move)"), Custom String("어둠의 술래잡기(in dark)")), 0);
For Global Variable(U, 0, 2, 1);
Global.Q = 1;
Global.S = 0;
While(Absolute Value(Global.N[Global.U] - 10 ^ Global.S) > 0.010);
Global.Q /= 2;
Global.S += Global.Q * (Global.N[Global.U] > 10 ^ Global.S ? 1 : -1);
End;
Global.N[Global.U] = Global.S;
End;
Global.S = Workshop Setting Integer(Custom String("기본설정(setting)"), Custom String("처치시 추가시간(time added to seek when kill)"), 20, 0,
100, 8);
Global.U = Custom String("");
Global.V = Workshop Setting Integer(Custom String("어둠의 술래잡기(in dark)"), Custom String("술래 시야(sight of seeker)"), 15, 1, 100, 20);
Disable Built-In Game Mode Completion;
Call Subroutine(Sub2);
Global.L = Custom String("{0}{1}", Global.H[0], Global.I ? Global.U : Global.H[30]);
Create HUD Text(All Players(All Teams), Custom String(" {0} ", Global.H[22]), Custom String("\r\n\r\n"), Null, Top, -1, Color(
Orange), Color(White), Color(White), Visible To, Default Visibility);
Global.Q = Last Text ID;
Wait Until(!Is Assembling Heroes, 99999);
Pause Match Time;
Wait Until(Global.B, 99999);
Create HUD Text(Filtered Array(All Dead Players(All Teams), Current Array Element.O), Custom String("{0}: {1}",
Input Binding String(Button(Crouch)), Global.H[26]), Null, Null, Left, 0, Color(White), Color(White), Color(White),
Visible To and String, Visible Never);
Create HUD Text(Filtered Array(All Dead Players(All Teams), !Current Array Element.O), Custom String("{0}: {1}",
Input Binding String(Button(Crouch)), Global.H[25]), Null, Null, Left, 0, Color(White), Color(White), Color(White),
Visible To and String, Visible Never);
Destroy HUD Text(Global.Q);
Create HUD Text(All Players(Team 2), Custom String(" {0} {1}:{2} ", Global.K, Round To Integer(Match Time / 60, Down),
Custom String("{0}{1}", Round To Integer(Match Time % 60 / 10, Down) ? Custom String("") : 0, Round To Integer(Match Time % 60,
Down))), Custom String("\r\n\r\n"), Null, Top, 0, Color(Green), Color(White), Color(White), Visible To and String,
Default Visibility);
Create HUD Text(All Players(Team 1), Custom String(" {0} {1}:{2} ", Global.L, Round To Integer(Match Time / 60, Down),
Custom String("{0}{1}", Round To Integer(Match Time % 60 / 10, Down) ? Custom String("") : 0, Round To Integer(Match Time % 60,
Down))), Custom String("\r\n\r\n"), Null, Top, 0, Color(Green), Color(White), Color(White), Visible To and String,
Default Visibility);
Global.K = Global.H[1];
Wait(0.250, Ignore Condition);
Unpause Match Time;
Set Match Time(0);
Wait(0.250, Ignore Condition);
Set Match Time(Global.C + 1);
Wait(0, Ignore Condition);
Big Message(All Players(Team 1), Custom String("{2}{0}{1}", Round To Integer(Global.C, To Nearest), Custom String("{0}{1}",
Global.H[2], Global.I ? Global.U : Global.H[30]), Global.H[6] == Custom String("start!") ? Custom String("after ")
: Custom String("")));
Wait(Global.C - 10, Ignore Condition);
Create HUD Text(Remove From Array(All Players(All Teams), Host Player), Null, Null, Global.H[3], Right, 0, Color(White), Color(
White), Color(White), Visible To and String, Default Visibility);
Big Message(All Players(All Teams), Custom String("{0}{1}", Global.H[4], Global.I ? Global.U : Global.H[30]));
Wait(10, Ignore Condition);
Big Message(All Players(All Teams), Global.H[5]);
Global.K = Global.H[6];
Global.L = Global.H[7];
Disable Built-In Game Mode Respawning(All Players(Team 1));
Global.A = Append To Array(All Players(Team 2), Filtered Array(All Players(Team 1), Has Spawned(Current Array Element)));
Global.A.L = True;
Global.P = True;
Set Match Time(Workshop Setting Integer(Custom String("기본설정(setting)"), Custom String("찾는 시간(time to seek)"), 180, 30, 600, 7));
Create HUD Text(All Players(Team 1), Global.H[17], Null, Null, Right, 20, Color(Aqua), Color(White), Color(White), Visible To,
Default Visibility);
Create HUD Text(All Players(All Teams), Null, Custom String(" "), Null, Right, 21, Color(White), Color(White), Color(White),
Visible To, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Null, Custom String(" "), Right, 34, Color(White), Color(White), Color(White),
Visible To, Default Visibility);
Create HUD Text(Global.E, Global.H[27], Null, Null, Right, 35, Color(Yellow), Color(White), Color(White), Visible To and String,
Default Visibility);
Create HUD Text(All Players(All Teams), Null, Custom String(" "), Null, Right, 36, Color(White), Color(White), Color(White),
Visible To, Default Visibility);
Wait(1, Ignore Condition);
Global.R = True;
If(Global.I == 2);
For Global Variable(R, 0, 100, 1);
Create Effect(Local Player, Sphere, Color(Black), Eye Position(Local Player), Local Player.U, Visible To Position and Radius);
End;
Create HUD Text(All Players(Team 1), Global.H[31], Null, Null, Top, -10, Color(Orange), Color(White), Color(White),
Visible To and String, Default Visibility);
End;
}
}
rule("언어(language)")
{
event
{
Subroutine;
Sub2;
}
actions
{
If(Custom String("{0}", Hero(Genji)) == Custom String("겐지"));
Global.H = Array(Custom String("숨으세요!"), Custom String("당신은 술래입니다. 기다리세요!"), Custom String("초 후 술래가 찾으러갑니다."), Custom String(
"제작: 깨꾸\r\n코드: 5005S"), Custom String("10초 남았습니다."), Custom String("시작!"), Custom String("찾으세요!"), Custom String("승리까지 남은 시간"),
Custom String("초 증가"), Custom String("보는 플레이어 변경"), Custom String("카메라 회전"), Custom String("1인칭"), Custom String("3인칭"),
Custom String("일어나기"), Custom String("눕기"), Custom String("내 크기"), Custom String("배"), Custom String("숨기 점수"), Custom String(
"술래"), Custom String("님이 가장 잘 숨었습니다!"), Custom String("게임이 이미 시작되었습니다. 기다려주세요."), Custom String("빠른 이동"), Custom String(
"술래가 영웅을 선택하면 시작됩니다."), Custom String("순간이동"), Custom String("남은 시간 "), Custom String("술래 희망"), Custom String("술래 희망 취소"),
Custom String("술래 희망 목록"), Custom String("술래를 희망하지 않습니다."), Custom String("술래를 희망합니다."), Custom String(
" 시간이 다 되면 움직일 수 없습니다."), Custom String("움직이지 않으면 데미지를 입습니다."));
Else;
Global.H = Array(Custom String("Hide!"), Custom String("You are a seeker. Wait!"), Custom String(
" seconds, the seeker goes to find it."), Custom String("youtube'kaeku'"), Custom String("10 seconds left."), Custom String(
"start!"), Custom String("Find it!"), Custom String("Time left to victory"), Custom String(
"seconds added from remaining time!"), Custom String("Change the player to see"), Custom String("Rotate the camera"),
Custom String("1st person"), Custom String("3rd person"), Custom String("stand"), Custom String("Lying down"), Custom String(
"my scale"), Custom String("times"), Custom String("hide score"), Custom String("seeker"), Custom String("is the best hider!"),
Custom String("The game has already started. Please wait."), Custom String("fast"), Custom String(
"It starts when the seeker chooses a hero."), Custom String("teleport"), Custom String(""), Custom String(
"Hope to be a seeker"), Custom String("Cancel hope to be a seeker"), Custom String("List of player hopeing to be a seeker"),
Custom String("I don't want to be a seeker"), Custom String("I want to be a seeker"), Custom String(
"When the time runs out, you can't move!"), Custom String("If you don't move, you take damage."));
End;
}
}
rule("숨는사람 설정")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Has Spawned(Event Player) == True;
}
actions
{
Abort If(Global.P);
Disable Game Mode HUD(Event Player);
Disable Game Mode In-World UI(Event Player);
Disable Messages(Event Player);
Start Forcing Player Outlines(Event Player, All Players(All Teams), False, Color(White), Default);
Disable Nameplates(Event Player, All Players(All Teams));
Event Player.B = Event Player;
Create HUD Text(Event Player, Custom String("{0}{1}{2}", Global.P && !Global.I ? Custom String("{0}: {2}{1}", Custom String(
"{0} {1}", Input Binding String(Button(Primary Fire)), Input Binding String(Button(Secondary Fire))), Team Of(Event Player.B)
== Team 2 ? Global.U : Custom String("\r\n"), Custom String("{0}{1}", Global.H[9], Custom String("\r\n{0}: {1}",
Input Binding String(Button(Crouch)), Global.H[Event Player.O ? 26 : 25]))) : (Has Status(Event Player, Knocked Down)
? Global.U : Custom String("{0}: {1}\r\n", Input Binding String(Button(Interact)), Global.H[21])), Global.I != 2 && Team Of(
Event Player.B) == Team 1 ? Custom String("{0}: {1}", Input Binding String(Button(Reload)), Has Status(Event Player,
Knocked Down) || Event Player != Event Player.B ? Global.H[10] : Global.H[Event Player.C ? 11 : 12]) : Global.U,
Event Player == Event Player.B ? Custom String("{2}{0}: {1}", Input Binding String(Button(Ultimate)), Global.H[Has Status(
Event Player, Knocked Down) ? 13 : 14], Global.I == 2 ? Global.U : Custom String("\r\n")) : Global.U), Null, Null, Left, -1,
Color(White), Color(White), Color(White), String, Default Visibility);
Event Player.E = Last Text ID;
Disallow Button(Event Player, Button(Reload));
Event Player.A = -1;
Start Accelerating(Event Player, Up, 40, (Is Button Held(Event Player, Button(Jump)) && !Has Status(Event Player, Knocked Down))
* 4, To World, Direction Rate and Max Speed);
Event Player.I = 10 ^ Random Real(Global.N[0], Global.N[1]);
If(Event Player.I != 1);
Wait(1, Ignore Condition);
Small Message(Event Player, Custom String("{0}: {1}{2}", Global.H[15], Event Player.I, Global.H[16]));
Skip If(Event Player.I < 1.500, 3);
Wait Until(!Is In Spawn Room(Event Player), 99999);
Wait(5, Ignore Condition);
Small Message(Event Player, Custom String("{0}: {1}{2}", Global.H[15], Event Player.I, Global.H[16]));
Start Scaling Player(Event Player, Event Player.I, False);
Start Modifying Hero Voice Lines(Event Player, (1.400 - Event Player.I * 0.500) / 0.900, False);
End;
Wait Until(Event Player.L, 99999);
If(Global.I != 2);
Create Icon(Global.P && !Event Player.M ? All Players(Team 1) : False, Event Player, Arrow: Down, Visible To and Position, Color(
Green), False);
Event Player.F = Last Created Entity;
Create In-World Text(Event Player.M ? All Players(Team 1) : False, Custom String("{0}{1}", Hero Icon String(Hero Of(Event Player)),
Event Player), Event Player, 2, Do Not Clip, Visible To Position and String, Color(Green), Default Visibility);
Event Player.H = Last Text ID;
End;
Create HUD Text(Event Player, Custom String(" {0}{1} | {2} ", Event Player.B.S, Event Player.B, Team Of(Event Player.B)
== Team 2 ? Global.H[18] : Custom String("{0}: {1}", Global.H[17], Round To Integer(Event Player.B.J, Down))), Custom String(
"\r\n\r\n"), Null, Top, 1, Color(Aqua), Color(White), Color(White), String, Default Visibility);
Event Player.D = Last Text ID;
Create HUD Text(All Players(Team 1), Null, Null, Custom String("{2}{0} {1}", Event Player, Round To Integer(Event Player.J, Down),
Event Player.S), Right, 22 + Index Of Array Value(Sorted Array(All Players(Team 1), -1 * Current Array Element.J),
Event Player), Color(White), Color(White), Is Alive(Event Player) ? Color(Blue) : Color(Gray),
Visible To Sort Order String and Color, Default Visibility);
Start Forcing Player Outlines(Event Player, All Players(All Teams), False, Color(White), Default);
Disable Nameplates(Event Player, All Players(All Teams));
If(!Global.I);
If(Hero Of(Event Player) == Hero(Wrecking Ball));
Set Move Speed(Event Player, 0);
Else;
Set Status(Event Player, Null, Rooted, 9999);
Disallow Button(Event Player, Button(Ability 1));
End;
Disallow Button(Event Player, Button(Primary Fire));
Disallow Button(Event Player, Button(Secondary Fire));
Disallow Button(Event Player, Button(Ability 2));
Disallow Button(Event Player, Button(Ultimate));
Disallow Button(Event Player, Button(Crouch));
Disallow Button(Event Player, Button(Melee));
End;
Stop Accelerating(Event Player);
Call Subroutine(Sub4);
Event Player.S = Custom String("{0}{1}", Event Player.I == 1 ? Global.U : Custom String("×{0} ", Event Player.I), Hero Icon String(
Hero Of(Event Player)));
Event Player.U = Workshop Setting Integer(Custom String("어둠의 술래잡기(in dark)"), Custom String("숨는 사람 시야(sight of hider)"), 3, 1, 100,
21);
Set Healing Received(Event Player, 100 * (Max Health(Event Player) / 200));
Set Healing Dealt(Event Player, 0);
}
}
rule("술래 설정")
{
event
{
Ongoing - Each Player;
Team 2;
All;
}
conditions
{
Has Spawned(Event Player) == True;
}
actions
{
If(Global.P);
Set Status(Event Player, Null, Rooted, 9999);
Disable Built-In Game Mode Respawning(Event Player);
Enable Death Spectate All Players(Event Player);
Enable Death Spectate Target HUD(Event Player);
Wait(1, Ignore Condition);
Big Message(Event Player, Global.H[20]);
Wait(2, Ignore Condition);
Kill(Event Player, Null);
Else;
Disable Game Mode HUD(Event Player);
Disable Game Mode In-World UI(Event Player);
Disable Messages(Event Player);
Global.B = True;
Set Damage Received(Event Player, 0);
Set Status(Event Player, Null, Unkillable, 9999);
Set Status(Event Player, Null, Rooted, 9999);
Start Camera(Event Player, Spawn Points(Team 2) + 30 * Direction Towards(Spawn Points(Team 1), Spawn Points(Team 2)) + Vector(0,
40, 0), Spawn Points(Team 2) + 31 * Direction Towards(Spawn Points(Team 1), Spawn Points(Team 2)) + Vector(0, 39.500, 0), 0);
Wait Until(Event Player.L, 99999);
Create HUD Text(Event Player, Custom String("{0}: {1}\r\n{2}", Input Binding String(Button(Crouch)),
Global.H[Event Player.O ? 26 : 25], Custom String("{0}: {1}{2}", Input Binding String(Button(Interact)), Global.H[21],
Is On Ground(Event Player) ? Custom String("\r\n{0}: {1}", Input Binding String(Button(Ultimate)), Global.H[23])
: Custom String(""))), Null, Null, Left, 0, Color(White), Color(White), Color(White), String, Default Visibility);
Start Accelerating(Event Player, Up, 40, Is Button Held(Event Player, Button(Jump)) * 4, To World, Direction Rate and Max Speed);
Stop Forcing Player Position(Event Player);
Clear Status(Event Player, Rooted);
Stop Camera(Event Player);
Event Player.S = Hero Icon String(Hero Of(Event Player));
Event Player.U = Global.V;
If(Global.I == 2);
Start Forcing Player Outlines(Event Player, All Players(Team 1), False, Color(White), Default);
Disable Nameplates(Event Player, All Players(Team 1));
End;
End;
}
}
rule("빠른 이동")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Button(Interact)) == True;
}
actions
{
Abort If(Global.P && !Global.I && Team Of(Event Player) == Team 1);
Set Move Speed(Event Player, 200);
Wait Until(!Is Button Held(Event Player, Button(Interact)), 99999);
Set Move Speed(Event Player, 100);
}
}
rule("눕기")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Is Button Held(Event Player, Button(Ultimate)) == True;
Has Status(Event Player, Phased Out) == False;
Event Player.B == Event Player;
Is Alive(Event Player) == True;
}
actions
{
If(Has Status(Event Player, Knocked Down));
Clear Status(Event Player, Knocked Down);
If(Global.I != 2);
Call Subroutine(Sub0);
End;
Else;
If(Global.I != 2);
Call Subroutine(Sub4);
Event Player.G = Event Player.K;
Start Camera(Event Player, Ray Cast Hit Position(Position Of(Event Player), Position Of(Event Player) + Direction From Angles(
Event Player.G, -30) * Max(Event Player.I, 1) * 4, All Players(All Teams), Event Player, True), Position Of(Event Player), 20);
End;
Set Status(Event Player, Null, Knocked Down, 9999);
End;
Wait(1, Ignore Condition);
}
}
rule("최적각도")
{
event
{
Subroutine;
Sub4;
}
actions
{
Event Player.K[11] = 0;
Event Player.K = Mapped Array(Event Player.K, Distance Between(Position Of(Event Player), Ray Cast Hit Position(Position Of(
Event Player), Position Of(Event Player) + Max(1, Event Player.I) * 4 * Direction From Angles(30 * Current Array Index, -30),
Null, Null, False)));
While(Absolute Value(Count Of(Remove From Array(Event Player.K, Last Of(Sorted Array(Event Player.K, Current Array Element))))
- 5.500) < 5.500);
Event Player.K = Mapped Array(Event Player.K, Event Player.K[(Current Array Index + 11)
% 12] + Current Array Element + Event Player.K[(Current Array Index + 1) % 12]);
End;
Event Player.K = 30 * Index Of Array Value(Event Player.K, Last Of(Sorted Array(Event Player.K, Current Array Element)));
}
}
rule("회전")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Is Button Held(Event Player, Button(Reload)) == True;
Global.I != 2;
}
actions
{
Chase Player Variable At Rate(Event Player, G, 10000, 150, None);
Wait Until(!Is Button Held(Event Player, Button(Reload)), 99999);
Stop Chasing Player Variable(Event Player, G);
}
}
rule("3인칭")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Is Button Held(Event Player, Button(Reload)) == True;
Event Player == Event Player.B;
Has Status(Event Player, Knocked Down) == False;
Is Alive(Event Player) == True;
Global.I != 2;
}
actions
{
Event Player.C = !Event Player.C;
Call Subroutine(Sub0);
}
}
rule("3인칭서브")
{
event
{
Subroutine;
Sub0;
}
actions
{
If(Event Player.C);
Start Camera(Event Player, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) - Direction From Angles(
Horizontal Facing Angle Of(Event Player), Vertical Facing Angle Of(Event Player) + 20) * Event Player.I * 4, Null, Null,
False), Eye Position(Event Player) + Vector(0, 0.300 * Event Player.I, 0), 25);
Else;
Stop Camera(Event Player);
End;
}
}
rule("술래부활")
{
event
{
Player Died;
Team 2;
All;
}
conditions
{
(Global.P && !Event Player.L) == False;
}
actions
{
Respawn(Event Player);
}
}
rule("순간이동")
{
event
{
Ongoing - Each Player;
Team 2;
All;
}
conditions
{
Is Button Held(Event Player, Button(Ultimate)) == True;
Global.P == True;
Is On Ground(Event Player) == True;
}
actions
{
Teleport(Event Player, Nearest Walkable Position(World Vector Of(Vector(0, 0, 5), Event Player, Rotation And Translation)));
Play Effect(All Players(All Teams), Good Pickup Effect, Color(Blue), Event Player, 1);
Play Effect(All Players(All Teams), Buff Impact Sound, Color(White), Event Player, 50);
Wait(3, Ignore Condition);
}
}
rule("다른사람보기")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
(Is Button Held(Event Player, Button(Primary Fire)) || Is Button Held(Event Player, Button(Secondary Fire))) == True;
Event Player.L == True;
Global.I == False;
}
actions
{
If(Is Button Held(Event Player, Button(Secondary Fire)));
Event Player.A += 1;
If(Event Player.A >= Count Of(Global.A));
Event Player.A = 0;
End;
Else;
Event Player.A -= 1;
If(Event Player.A < 0);
Event Player.A = Count Of(Global.A) - 1;
End;
End;
Event Player.B = Global.A[Event Player.A];
Event Player.G = Event Player.B.K;
Stop Camera(Event Player);
If(Event Player != Event Player.B);
If(!Event Player.N);
Event Player.N = True;
Start Facing(Event Player, Facing Direction Of(Event Player), 100, To World, None);
End;
If(Team Of(Event Player.B) == Team 2);
Start Camera(Event Player, Ray Cast Hit Position(Eye Position(Event Player.B), Eye Position(Event Player.B) - Facing Direction Of(
Event Player.B) * 4, Null, Null, False), Eye Position(Event Player.B), 20);
Else;
Start Camera(Event Player, Ray Cast Hit Position(Position Of(Event Player.B), Position Of(Event Player.B) + Direction From Angles(
Event Player.G, -30) * Max(Event Player.B.I, 1) * 4, Null, Null, True), Event Player.B, 20);
End;
Else;
Stop Facing(Event Player);
Event Player.N = False;
If(Has Status(Event Player, Knocked Down));
Start Camera(Event Player, Ray Cast Hit Position(Position Of(Event Player), Position Of(Event Player) + Direction From Angles(
Event Player.G, -30) * Max(Event Player.I, 1) * 4, Null, Null, True), Position Of(Event Player), 20);
Else;
Call Subroutine(Sub0);
End;
End;
}
}
rule("자동점프제거")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global.R == True;
Speed Of(Event Player) < 0.100;
Is Button Held(Event Player, Button(Jump)) == False;
Is On Ground(Event Player) == False;
Global.I == False;
}
actions
{
Wait(1, Abort When False);
Set Gravity(Event Player, 0);
Start Forcing Player Position(Event Player, Position Of(Event Player), False);
}
}
rule("숨기점수")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.L == True;
Is True For Any(All Living Players(Team 2), Is In Line of Sight(Current Array Element, Event Player, Barriers Do Not Block LOS))
== True;
Distance Between(Event Player, Closest Player To(Event Player, Team 2)) > 2 * Event Player.I;
}
actions
{
Event Player.M = True;
Event Player.J += 2.500 * Event Player.I ^ 2 / Distance Between(Event Player, Closest Player To(Event Player, Team 2));
Wait(0.250, Ignore Condition);
Loop If Condition Is True;
Event Player.M = False;
}
}
rule("음성대사")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Event Player.L == True;
Is Communicating Any Voice line(Event Player) == True;
Distance Between(Event Player, Closest Player To(Event Player, Team 2)) < 20;
}
actions
{
Event Player.J += Event Player.I ^ 2 * 50;
Wait(10, Ignore Condition);
}
}
rule("술래희망")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Button(Crouch)) == True;
Global.P == True;
Global.J == False;
}
actions
{
Event Player.O = 100000 * !Event Player.O;
If(Event Player.O);
Create HUD Text(All Players(All Teams), Null, Null, Event Player, Right, 40 + Global.M, Color(White), Color(White), Color(White),
Visible To, Default Visibility);
Event Player.P = Last Text ID;
Else;
Destroy HUD Text(Event Player.P);
End;
Play Effect(Event Player, Good Explosion, Color(White), Event Player.B, 20);
Small Message(Event Player, Global.H[28 + Event Player.O / 100000]);
Global.E = Filtered Array(All Players(All Teams), Current Array Element.O) == True;
Global.M += 1;
Wait(1, Ignore Condition);
}
}
rule("중도참여")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Has Spawned(Event Player) == True;
Global.P == True;
Is In Spawn Room(Event Player) == True;
}
actions
{
Set Status(Event Player, Null, Rooted, 9999);
Wait(1, Ignore Condition);
Big Message(Event Player, Global.H[20]);
Wait(2, Ignore Condition);
Disable Built-In Game Mode Respawning(Event Player);
Enable Death Spectate All Players(Event Player);
Kill(Event Player, Null);
Wait(3, Ignore Condition);
Loop If(Is Alive(Event Player));
Disable Game Mode HUD(Event Player);
}
}
rule("때리면 죽이기")
{
event
{
Player Took Damage;
Team 1;
All;
}
conditions
{
Event Player != Attacker;
Global.P == True;
}
actions
{
Kill(Event Player, Attacker);
Wait(0.016, Ignore Condition);
Wait(Is Alive(Event Player), Ignore Condition);
Kill(Event Player, Attacker);
Set Match Time(Match Time + Global.S);
Play Effect(All Players(All Teams), Buff Explosion Sound, Color(White), Event Player, 50);
Wait(1, Ignore Condition);
}
}
rule("사망")
{
event
{
Player Died;
Team 1;
All;
}
conditions
{
Event Player.L == True;
}
actions
{
Stop Camera(Event Player);
Modify Global Variable(A, Remove From Array By Value, Event Player);
Event Player.L = False;
Allow Button(Event Player, Button(Primary Fire));
Allow Button(Event Player, Button(Secondary Fire));
Wait(0.250, Ignore Condition);
Destroy HUD Text(Event Player.D);
Destroy HUD Text(Event Player.E);
Destroy Icon(Event Player.F);
Destroy In-World Text(Event Player.H);
Enable Death Spectate All Players(Event Player);
Call Subroutine(Sub3);
Small Message(All Players(All Teams), Custom String("{0}{1}{2}", Global.H[24], Global.S, Global.H[8]));
}
}
rule("나간플레이어제거")
{
event
{
Player Left Match;
All;
All;
}
conditions
{
Global.P == True;
}
actions
{
Global.E = Filtered Array(All Players(All Teams), Current Array Element.O) == True;
If(Number Of Living Players(Team 2));
Modify Global Variable(A, Remove From Array By Value, Event Player);
Call Subroutine(Sub3);
Else;
Declare Team Victory(Team 1);
Call Subroutine(Sub1);
End;
}
}
rule("시간초과")
{
event
{
Ongoing - Global;
}
conditions
{
Match Time == False;
Global.P == True;
}
actions
{
Global.F = Remove From Array(Sorted Array(Global.A, Current Array Element.J), All Players(Team 2));
Create In-World Text(All Players(All Teams), Custom String("{0}{1}", Hero Icon String(Hero Of(Global.D)), Global.D), Global.D, 2,
Do Not Clip, Visible To Position and String, Color(Green), Default Visibility);
Destroy All Icons;
Start Camera(All Players(All Teams), Ray Cast Hit Position(Position Of(Global.D), Position Of(Global.D) + Direction From Angles(
Global.D.K, -30) * Max(Global.D.I, 1) * 4, Null, Null, True), Global.D, 20);
For Global Variable(G, 0, Count Of(Global.F), 1);
Global.D = Global.F[Global.G];
Wait(1, Ignore Condition);
End;
Big Message(All Players(All Teams), Custom String("{0} {1}", Global.D, Global.H[19]));
Wait(3, Ignore Condition);
Declare Team Victory(Team 1);
Call Subroutine(Sub1);
}
}
rule("술래승리")
{
event
{
Subroutine;
Sub3;
}
actions
{
If(!Remove From Array(Global.A, All Players(Team 2)) && Global.P);
Declare Team Victory(Team 2);
Call Subroutine(Sub1);
End;
}
}
rule("종료후")
{
event
{
Subroutine;
Sub1;
}
actions
{
Wait(3, Ignore Condition);
If(Workshop Setting Toggle(Custom String("기본설정(setting)"), Custom String("자동 술래 교체(auto-replace seeker)"), True, 1));
Global.T = True;
Global.Q = All Players(Team 2);
Global.F = Sorted Array(All Players(All Teams), -1 * (Current Array Element.J + Current Array Element.O + 10000 * Array Contains(
Remove From Array(Global.A, All Players(Team 2)), Current Array Element)));
Skip If(Array Contains(Array Slice(Global.F, 0, Number Of Players(All Teams) > 7 ? 2 : 1), First Of(Global.Q)), 1);
Move Player to Team(First Of(Global.Q), Team 1, -1);
Skip If(Array Contains(Global.Q, First Of(Global.F)), 1);
Move Player to Team(First Of(Global.F), Team 2, -1);
Skip If(Array Contains(Array Slice(Global.F, 0, Number Of Players(All Teams) > 7 ? 2 : 1), Global.Q[1]), 1);
Move Player to Team(Global.Q[1], Team 1, -1);
If(Number Of Players(All Teams) > 7 && !Array Contains(Global.Q, Global.F[1]));
Move Player to Team(Global.F[1], Team 2, -1);
End;
Wait(0.500, Ignore Condition);
End;
If(Workshop Setting Toggle(Custom String("기본설정(setting)"), Custom String("자동 재시작(auto-restart)"), True, 2));
Restart Match;
Else;
Return to Lobby;
End;
}
}
rule("팀변경중 입장불가")
{
event
{
Player Joined Match;
Team 2;
All;
}
conditions
{
Global.T == True;
Array Contains(Global.F, Event Player) == False;
}
actions
{
Move Player to Team(Event Player, Team 1, -1);
}
}
rule("어둠에서 안움직이면 데미지")
{
event
{
Ongoing - Each Player;
Team 1;
All;
}
conditions
{
Global.I == 2;
Global.P == True;
Speed Of(Event Player) < 1;
}
actions
{
Damage(Event Player, Null, Max Health(Event Player) / 100 * Workshop Setting Real(Custom String("어둠의 술래잡기(in dark)"),
Custom String("숨는 사람 정지 데미지"), 2, 0, 10, 22));
Wait(1, Restart When True);
Loop If Condition Is True;
}
}