#======================================================================================================================# # SquidGames - Skript # # Created by MCLaraTeam # # # # Terms and Conditions # # This add-on cannot be refunded. # # You are not allowed to redistribute, resell this on any website, modify or decompile it. # # If you need any type of support, you can request it at: # # MCLarateam.com/forum # # MCLarateam.com/discord # #======================================================================================================================# #---------------------------------------------------------------# # C O R E # #---------------------------------------------------------------# # # \\ OPTIONS // # options: Version: 1.5 FileConfig: plugins/SquidGames/config.yml FileLanguageEnglish: plugins/SquidGames/languages/english.yml FileArenas: plugins/SquidGames/arenas.yml Prefix: &7[&f&lSquid&6&lGamesPlus&7] # # \\ LOADING SKRIPT // # on load: send "&f&l█ ▄██ ▐█▀▀▀▀▀▀▀▀▀█▄ ▄██ " to console send "&f&l█ ▄█▀▀█ ▐█ ▐█ ▄█ ▀█ " to console send "&f&l█ ▄█▀ ▀█ ▐█ ▄█ ▄█ ▀█ " to console send "&f&l█ ▄█ ▀█ ▐█▄▄▄▄▄▄▄▄█▀▀ ▄█ ▀█ " to console send "&f&l█ ▄█ ▀█▄ ▐█ ▀█▄ ▄█ ▀█▄ " to console send "&f&l█ ▄█ ▀█▄ ▐█ ▀█▄ ▄█▀ ▀█▄ " to console send "&f&l█▄▄▄▄▄▄▄▄▄▄ ▄█ ▀█▄ ▐█ ▀█▄ ▄█▀ █▄" to console send "" to console send "{@Prefix} &2Enabling SquidGames version &6{@Version}&2." to console send "{@Prefix} &2Loading config." to console CoreLoadConfig() send "{@Prefix} &2Loading languages." to console CoreLoadLanguages() send "{@Prefix} &2Loading arenas." to console CoreLoadArenas() send "{@Prefix} &2Loaded successfully." to console stop # # \\ SQUIDGAMES FUNCTION CORE CONFIG // # function CoreLoadConfig(): load yaml "{@FileConfig}" as "{@FileConfig}" yaml "{@FileConfig}" is empty: send "{@Prefix} Configuration file not found, generating file." to console if yaml "ServerMode" from "{@FileConfig}" doesn't exist: set yaml value "ServerMode" from "{@FileConfig}" to "MULTIARENA" if yaml "Language" from "{@FileConfig}" doesn't exist: set yaml value "Language" from "{@FileConfig}" to "ENGLISH" save yaml "{@FileConfig}" set {CoreServerMode} to yaml value "ServerMode" from "{@FileConfig}" set {CoreLanguage} to yaml value "Language" from "{@FileConfig}" set {CoreMainLobby} to yaml value "MainLobby" from "{@FileConfig}" # # \\ SQUIDGAMES FUNCTION CORE LENGUAGES // # function CoreLoadLanguages(): load yaml "{@FileLanguageEnglish}" as "{@FileLanguageEnglish}" yaml "{@FileLanguageEnglish}" is empty: send "{@Prefix} Language english file not found, generating file." to console if yaml "NoPermission" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "NoPermission" from "{@FileLanguageEnglish}" to "&cYou don't have sufficient permissions to do this. Required permission:" if yaml "WriteArena" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "WriteArena" from "{@FileLanguageEnglish}" to "&cPlease write the name of an arena." if yaml "NumberNotSet" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "NumberNotSet" from "{@FileLanguageEnglish}" to "&cPlease write one number." if yaml "SettingSetupItemMainLobby" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "SettingSetupItemMainLobby" from "{@FileLanguageEnglish}" to "&6Set the mainlobby" if yaml "SettingMainLobby" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "SettingMainLobby" from "{@FileLanguageEnglish}" to "&aMain lobby has been set on" if yaml "ArenaCreated" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaCreated" from "{@FileLanguageEnglish}" to "&awas been created successfully." if yaml "ArenaRemove" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaRemove" from "{@FileLanguageEnglish}" to "&chas been removed successfully." if yaml "ArenaAlreadyExist" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaAlreadyExist" from "{@FileLanguageEnglish}" to "&cit already exists." if yaml "ArenaDoesNotExist" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaDoesNotExist" from "{@FileLanguageEnglish}" to "&carena does not exist." if yaml "ArenaSetupItemWaitingLobby" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaSetupItemWaitingLobby" from "{@FileLanguageEnglish}" to "&6Set the arena waiting lobby" if yaml "ArenaSettingMinPlayers" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaSettingMinPlayers" from "{@FileLanguageEnglish}" to "&aArena minplayers has been set to" if yaml "ArenaSettingMaxPlayers" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaSettingMaxPlayers" from "{@FileLanguageEnglish}" to "&aArena maxplayers has been set to" if yaml "ArenaSettingWaitingLobby" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaSettingWaitingLobby" from "{@FileLanguageEnglish}" to "&aArena waiting lobby has been set on" if yaml "ArenaSettingGameGreenAndRedLightTime" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaSettingGameGreenAndRedLightTime" from "{@FileLanguageEnglish}" to "&aGreen and red light time has been set to" if yaml "ArenaSettingGameGreenAndRedLightSpawn" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaSettingGameGreenAndRedLightSpawn" from "{@FileLanguageEnglish}" to "&aGreen and red light spawn has been set on" if yaml "ArenaSettingGameSquidGameTime" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaSettingGameSquidGameTime" from "{@FileLanguageEnglish}" to "&aSquid game time has been set to" if yaml "ArenaSettingGameSquidGameSpawn" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaSettingGameSquidGameSpawn" from "{@FileLanguageEnglish}" to "&aSquid game spawn has been set on" if yaml "ArenaEnabled" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaEnabled" from "{@FileLanguageEnglish}" to "&ahas been enabled successfully." if yaml "ArenaEnabledAlready" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaEnabledAlready" from "{@FileLanguageEnglish}" to "&cis already activated." if yaml "ArenaDisabled" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaDisabled" from "{@FileLanguageEnglish}" to "&chas been disabled successfully." if yaml "ArenaDisabledAlready" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaDisabledAlready" from "{@FileLanguageEnglish}" to "&cis already desactivated." if yaml "ListCreateArena" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ListCreateArena" from "{@FileLanguageEnglish}" to "&cYou must to create, config and enabled an arena first." if yaml "ListNoArenas" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ListNoArenas" from "{@FileLanguageEnglish}" to "&cAt this time there are no games available." if yaml "ListArenaWaiting" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ListArenaWaiting" from "{@FileLanguageEnglish}" to "&aWaiting" if yaml "ListArenaStarting" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ListArenaStarting" from "{@FileLanguageEnglish}" to "&6Starting" if yaml "ListArenaInGame" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ListArenaInGame" from "{@FileLanguageEnglish}" to "&cStarted" if yaml "JoinAlreadyInGame" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "JoinAlreadyInGame" from "{@FileLanguageEnglish}" to "&cYou are already in a game." if yaml "JoinArenaStarted" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "JoinArenaStarted" from "{@FileLanguageEnglish}" to "&cYou can't join this game because it has already started." if yaml "JoinArenaFull" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "JoinArenaFull" from "{@FileLanguageEnglish}" to "&cThe game is currently full. " if yaml "LeaveLeftGame" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "LeaveLeftGame" from "{@FileLanguageEnglish}" to "&7has left the game." if yaml "LeaveNeedArena" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "LeaveNeedArena" from "{@FileLanguageEnglish}" to "&cYou need to be in an arena to do this." if yaml "ArenaWaitingToStartPlayerJoin" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaWaitingToStartPlayerJoin" from "{@FileLanguageEnglish}" to "&7has joined the game." if yaml "ArenaWaitingToStartPlayerRequiredToStart" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaWaitingToStartPlayerRequiredToStart" from "{@FileLanguageEnglish}" to "&7players required to start the game." if yaml "ArenaWaitingToStartGameWillStartIn" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "ArenaWaitingToStartGameWillStartIn" from "{@FileLanguageEnglish}" to "&7The game will start in" if yaml "Seconds" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "Seconds" from "{@FileLanguageEnglish}" to "&7seconds" if yaml "Player" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "Player" from "{@FileLanguageEnglish}" to "&7Player" if yaml "PlayerPassNextRoud" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "PlayerPassNextRoud" from "{@FileLanguageEnglish}" to "&7pass to the next round." if yaml "PlayerHasEliminated" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "PlayerHasEliminated" from "{@FileLanguageEnglish}" to "&7has been eliminated." if yaml "PlayerEliminatedTitle" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "PlayerEliminatedTitle" from "{@FileLanguageEnglish}" to "&c&lEliminated" if yaml "PlayerEliminatedSubTitle" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "PlayerEliminatedSubTitle" from "{@FileLanguageEnglish}" to "&7You has been eliminated." if yaml "PlayersEliminated" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "PlayersEliminated" from "{@FileLanguageEnglish}" to "&7All players have been eliminated." if yaml "PlayerWinner" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "PlayerWinner" from "{@FileLanguageEnglish}" to "&7There is a winner of the squidgame." if yaml "GameGreenAndRedLightInfo1" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameGreenAndRedLightInfo1" from "{@FileLanguageEnglish}" to "&7The first game is called &6green and red light&7." if yaml "GameGreenAndRedLightInfo2" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameGreenAndRedLightInfo2" from "{@FileLanguageEnglish}" to "&7To win you must cross the finish line." if yaml "GameGreenAndRedLightInfo3" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameGreenAndRedLightInfo3" from "{@FileLanguageEnglish}" to "&7You can only move when the doll says &aGreen light&7." if yaml "GameGreenAndRedLightInfo4" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameGreenAndRedLightInfo4" from "{@FileLanguageEnglish}" to "&7If you move in &cRed Light&7, you will be eliminated." if yaml "GameGreenAndRedLightInfo5" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameGreenAndRedLightInfo5" from "{@FileLanguageEnglish}" to "&7Let's start the game." if yaml "GameSquidGameInfo1" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameSquidGameInfo1" from "{@FileLanguageEnglish}" to "&7The first game is called &6squid game&7." if yaml "GameSquidGameInfo2" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameSquidGameInfo2" from "{@FileLanguageEnglish}" to "&7To win you must push the players from the yellow line." if yaml "GameSquidGameInfo3" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameSquidGameInfo3" from "{@FileLanguageEnglish}" to "&7Be careful they are not going to push you." if yaml "GameSquidGameInfo4" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameSquidGameInfo4" from "{@FileLanguageEnglish}" to "&7The last player standing wins the game." if yaml "GameSquidGameInfo5" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameSquidGameInfo5" from "{@FileLanguageEnglish}" to "&7Let's start the game." if yaml "GameGreenAndRedLightDollGreenLight" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameGreenAndRedLightDollGreenLight" from "{@FileLanguageEnglish}" to "&7The doll say &agreen light&7." if yaml "GameGreenAndRedLightDollRedLight" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameGreenAndRedLightDollRedLight" from "{@FileLanguageEnglish}" to "&7The doll say &cred light &7and &fturn around&7." if yaml "GameGreenAndRedLightDollAnalyzingPlayers" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameGreenAndRedLightDollAnalyzingPlayers" from "{@FileLanguageEnglish}" to "&7Analyzing players... don't move" if yaml "GameGreenAndRedLightDollTurnAround" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameGreenAndRedLightDollTurnAround" from "{@FileLanguageEnglish}" to "&7The doll &fturn around&7." if yaml "GameLimitTime" from "{@FileLanguageEnglish}" doesn't exist: set yaml value "GameLimitTime" from "{@FileLanguageEnglish}" to "&7The limit game time has been end." save yaml "{@FileLanguageEnglish}" if {CoreLanguage} is "ENGLISH": set {MessageNoPermission} to yaml value "NoPermission" from "{@FileLanguageEnglish}" set {MessageWriteArena} to yaml value "WriteArena" from "{@FileLanguageEnglish}" set {MessageNumberNotSet} to yaml value "NumberNotSet" from "{@FileLanguageEnglish}" set {MessageSettingMainLobby} to yaml value "SettingMainLobby" from "{@FileLanguageEnglish}" set {MessageArenaCreated} to yaml value "ArenaCreated" from "{@FileLanguageEnglish}" set {MessageArenaRemoved} to yaml value "ArenaRemove" from "{@FileLanguageEnglish}" set {MessageArenaAlreadyExist} to yaml value "ArenaAlreadyExist" from "{@FileLanguageEnglish}" set {MessageArenaDoesNotExist} to yaml value "ArenaDoesNotExist" from "{@FileLanguageEnglish}" set {MessageArenaSettingMinPlayers} to yaml value "ArenaSettingMinPlayers" from "{@FileLanguageEnglish}" set {MessageArenaSettingMaxPlayers} to yaml value "ArenaSettingMaxPlayers" from "{@FileLanguageEnglish}" set {MessageArenaSettingWaitingLobby} to yaml value "ArenaSettingWaitingLobby" from "{@FileLanguageEnglish}" set {MessageArenaSettingGameGreenAndRedLightTime} to yaml value "ArenaSettingGameGreenAndRedLightTime" from "{@FileLanguageEnglish}" set {MessageArenaSettingGameGreenAndRedLightSpawn} to yaml value "ArenaSettingGameGreenAndRedLightSpawn" from "{@FileLanguageEnglish}" set {MessageArenaSettingGameSquidGameTime} to yaml value "ArenaSettingGameSquidGameTime" from "{@FileLanguageEnglish}" set {MessageArenaSettingGameSquidGameSpawn} to yaml value "ArenaSettingGameSquidGameSpawn" from "{@FileLanguageEnglish}" set {MessageArenaEnabled} to yaml value "ArenaEnabled" from "{@FileLanguageEnglish}" set {MessageArenaEnabledAlready} to yaml value "ArenaEnabledAlready" from "{@FileLanguageEnglish}" set {MessageArenaDisabled} to yaml value "ArenaDisabled" from "{@FileLanguageEnglish}" set {MessageArenaDisabledAlready} to yaml value "ArenaDisabledAlready" from "{@FileLanguageEnglish}" set {MessageListCreateArena} to yaml value "ListCreateArena" from "{@FileLanguageEnglish}" set {MessageListNoArenas} to yaml value "ListNoArenas" from "{@FileLanguageEnglish}" set {MessageListArenaWaiting} to yaml value "ListArenaWaiting" from "{@FileLanguageEnglish}" set {MessageListArenaStarting} to yaml value "ListArenaStarting" from "{@FileLanguageEnglish}" set {MessageListArenaInGame} to yaml value "ListArenaInGame" from "{@FileLanguageEnglish}" set {MessageJoinAlreadyInGame} to yaml value "JoinAlreadyInGame" from "{@FileLanguageEnglish}" set {MessageJoinArenaStarted} to yaml value "JoinArenaStarted" from "{@FileLanguageEnglish}" set {MessageJoinArenaFull} to yaml value "JoinArenaFull" from "{@FileLanguageEnglish}" set {MessageLeaveLeftGame} to yaml value "LeaveLeftGame" from "{@FileLanguageEnglish}" set {MessageLeaveNeedArena} to yaml value "LeaveNeedArena" from "{@FileLanguageEnglish}" set {MessageArenaWaitingToStartPlayerJoin} to yaml value "ArenaWaitingToStartPlayerJoin" from "{@FileLanguageEnglish}" set {MessageArenaWaitingToStartPlayerRequiredToStart} to yaml value "ArenaWaitingToStartPlayerRequiredToStart" from "{@FileLanguageEnglish}" set {MessageArenaWaitingToStartGameWillStartIn} to yaml value "ArenaWaitingToStartGameWillStartIn" from "{@FileLanguageEnglish}" set {MessageSeconds} to yaml value "Seconds" from "{@FileLanguageEnglish}" set {MessagePlayer} to yaml value "Player" from "{@FileLanguageEnglish}" set {MessagePlayerPassNextRoud} to yaml value "PlayerPassNextRoud" from "{@FileLanguageEnglish}" set {MessagePlayerHasEliminated} to yaml value "PlayerHasEliminated" from "{@FileLanguageEnglish}" set {MessagePlayerEliminatedTitle} to yaml value "PlayerEliminatedTitle" from "{@FileLanguageEnglish}" set {MessagePlayerEliminatedSubTitle} to yaml value "PlayerEliminatedSubTitle" from "{@FileLanguageEnglish}" set {MessagePlayersEliminated} to yaml value "PlayersEliminated" from "{@FileLanguageEnglish}" set {MessagePlayerWinner} to yaml value "PlayerWinner" from "{@FileLanguageEnglish}" set {MessageGameGreenAndRedLightInfo1} to yaml value "GameGreenAndRedLightInfo1" from "{@FileLanguageEnglish}" set {MessageGameGreenAndRedLightInfo2} to yaml value "GameGreenAndRedLightInfo2" from "{@FileLanguageEnglish}" set {MessageGameGreenAndRedLightInfo3} to yaml value "GameGreenAndRedLightInfo3" from "{@FileLanguageEnglish}" set {MessageGameGreenAndRedLightInfo4} to yaml value "GameGreenAndRedLightInfo4" from "{@FileLanguageEnglish}" set {MessageGameGreenAndRedLightInfo5} to yaml value "GameGreenAndRedLightInfo5" from "{@FileLanguageEnglish}" set {MessageGameGreenAndRedLightDollGreenLight} to yaml value "GameGreenAndRedLightDollGreenLight" from "{@FileLanguageEnglish}" set {MessageGameGreenAndRedLightDollRedLight} to yaml value "GameGreenAndRedLightDollRedLight" from "{@FileLanguageEnglish}" set {MessageGameGreenAndRedLightDollAnalyzingPlayers} to yaml value "GameGreenAndRedLightDollAnalyzingPlayers" from "{@FileLanguageEnglish}" set {MessageGameGreenAndRedLightDollTurnAround} to yaml value "GameGreenAndRedLightDollTurnAround" from "{@FileLanguageEnglish}" set {MessageGameSquidGameInfo1} to yaml value "GameSquidGameInfo1" from "{@FileLanguageEnglish}" set {MessageGameSquidGameInfo2} to yaml value "GameSquidGameInfo2" from "{@FileLanguageEnglish}" set {MessageGameSquidGameInfo3} to yaml value "GameSquidGameInfo3" from "{@FileLanguageEnglish}" set {MessageGameSquidGameInfo4} to yaml value "GameSquidGameInfo4" from "{@FileLanguageEnglish}" set {MessageGameSquidGameInfo5} to yaml value "GameSquidGameInfo5" from "{@FileLanguageEnglish}" set {MessageGameLimitTime} to yaml value "GameLimitTime" from "{@FileLanguageEnglish}" # # \\ SQUIDGAMES FUNCTION ARENAS // # function CoreLoadArenas(): load yaml "{@FileArenas}" as "{@FileArenas}" yaml "{@FileArenas}" is empty: send "{@Prefix} Arenas not found." to console delete {SquidGames::Arena::*} delete {SquidGames::Player::*} loop yaml nodes with keys "" from "{@FileArenas}": if yaml value "%loop-value%.State" from "{@FileArenas}" is "ENABLED": add loop-value to {SquidGames::Arena::*} set {SquidGames::Arena::%loop-value%::Status} to "WAITING" delete {SquidGames::Arena::%loop-value%::GamePhase} set {SquidGames::Arena::%loop-value%::NumberPlayers} to 0 set {SquidGames::Arena::%loop-value%::NumberPlayersDeaths} to 0 delete {SquidGames::Arena::%loop-value%::NumberPlayersDeaths} delete {SquidGames::Arena::%loop-value%::NumberPlayersSurvivors} CoreCheckArenas(loop-value) # # \\ SQUIDGAMES FUNCTION ARENAS // # function CoreCheckArenas(a: text): set {SquidGames::Arena::%{_a}%::MinPlayers} to yaml value "%{_a}%.MinPlayers" from "{@FileArenas}" set {SquidGames::Arena::%{_a}%::MaxPlayers} to yaml value "%{_a}%.MaxPlayers" from "{@FileArenas}" set {SquidGames::Arena::%{_a}%::WaitingLobby} to yaml value "%{_a}%.WaitingLobby" from "{@FileArenas}" set {SquidGames::Arena::%{_a}%::GreenAndRedLightTime} to yaml value "%{_a}%.Games.GreenAndRedLight.Time" from "{@FileArenas}" set {SquidGames::Arena::%{_a}%::GreenAndRedLightSpawn} to yaml value "%{_a}%.Games.GreenAndRedLight.Spawn" from "{@FileArenas}" set {SquidGames::Arena::%{_a}%::SquidGameTime} to yaml value "%{_a}%.Games.SquidGame.Time" from "{@FileArenas}" set {SquidGames::Arena::%{_a}%::SquidGameSpawn} to yaml value "%{_a}%.Games.SquidGame.Spawn" from "{@FileArenas}" #---------------------------------------------------------------# # C O M M A N D S # #---------------------------------------------------------------# # # \\ SQUIDGAMES COMMAND SQUIDGAMES // # command /squidgames [] [] [] [] [] []: trigger: if arg 1 is not set: if player has permission "squidgame.admin": message " &lSquid&6&lGames " message "&6/squidgames &asetting" message "&6/squidgames &aarena &ccreate &f[arena]" message "&6/squidgames &aarena &cremove &f[arena]" message "&6/squidgames &aarena &csetting &f[arena" message "&6/squidgames &aarena &cenable &f[arena]" message "&6/squidgames &aarena &cdisable &f[arena]" if player has permission "squidgames.player": if player has permission "squidgame.admin": message "&6/squidgames &alist" message "&6/squidgames &ajoin &f[arena]" message "&6/squidgames &aleave" else: message " &lSquid&6&lGames " message "&6/squidgames &alist" message "&6/squidgames &ajoin &f[arena]" message "&6/squidgames &aleave" else: message "{@Prefix} %{MessageNoPermission}% &6squidgames.player" # # \\ SQUIDGAMES COMMAND SQUIDGAMES ARENA // # if arg 1 is "setting": if player has permission "squidgame.admin": if arg 2 is "mainlobby": if arg 2 is "mainlobby": set yaml value "MainLobby" from "{@FileConfig}" to location of player save yaml "{@FileConfig}" message "{@Prefix} %{MessageSettingMainLobby}% &6%location of player%" CoreLoadConfig() else: message " &lSquid&6&lGames " message "&6/squidgames &asetting &cmainlobby" else: message "%{MessageNoPermission}% &6squidgames.admin" if arg 1 is "arena": if player has permission "squidgame.admin": if arg 2 is "create" or "remove" or "setting" or "enable" or "disable": if arg 2 is "create": if arg 3 is set: if yaml value "%arg 3%.State" from "{@FileArenas}" is not set: set yaml value "%arg 3%.State" from "{@FileArenas}" to "DISABLED" set yaml value "%arg 3%.MinPlayers" from "{@FileArenas}" to 2 set yaml value "%arg 3%.MaxPlayers" from "{@FileArenas}" to 16 set yaml value "%arg 3%.Games.GreenAndRedLight.Time" from "{@FileArenas}" to 100 save yaml "{@FileArenas}" message "{@Prefix} &6%arg 3% %{MessageArenaCreated}%" CoreCheckArenas(arg 3) else: message "{@Prefix} &6%arg 3% %{MessageArenaAlreadyExist}%" else: message "{@Prefix} %{MessageWriteArena}%" if arg 2 is "remove": if arg 3 is set: if yaml value "%arg 3%.State" from "{@FileArenas}" is set: delete yaml value arg 3 from "{@FileArenas}" save yaml "{@FileArenas}" message "{@Prefix} &6%arg 3% %{MessageArenaRemoved}%" CoreCheckArenas(arg 3) else: message "{@Prefix} &6%arg 3% %{MessageArenaDoesNotExist}%" else: message "{@Prefix} %{MessageWriteArena}%" if arg 2 is "setting": if arg 3 is set: if yaml value "%arg 3%.State" from "{@FileArenas}" is set: if arg 4 isn't set: message " &lSquid&6&lGames " message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2waitinglobby" message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2greenandredlight" message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2squidgame" message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2minplayers [number]" message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2maxplayers [number]" else: if arg 4 is "minplayers" or "maxplayers" or "waitinglobby" or "greenandredlight" or "squidgame": if arg 4 is "minplayers": if arg 5 is set: set yaml value "%arg 3%.MinPlayers" from "{@FileArenas}" to arg 5 parsed as int save yaml "{@FileArenas}" message "{@Prefix} %{MessageArenaSettingMinPlayers}% &6%arg 5%" CoreCheckArenas(arg 3) else: message "{@Prefix} %{MessageNumberNotSet}%" if arg 4 is "maxplayers": if arg 5 is set: set yaml value "%arg 3%.MaxPlayers" from "{@FileArenas}" to arg 5 parsed as int save yaml "{@FileArenas}" message "{@Prefix} %{MessageArenaSettingMaxPlayers}% &6%arg 5%" CoreCheckArenas(arg 3) else: message "{@Prefix} %{MessageNumberNotSet}%" if arg 4 is "waitinglobby": set yaml value "%arg 3%.WaitingLobby" from "{@FileArenas}" to location of player save yaml "{@FileArenas}" message "{@Prefix} %{MessageArenaSettingWaitingLobby}% &6%location of player%" CoreCheckArenas(arg 3) if arg 4 is "greenandredlight": if arg 5 is "time" or "spawn": if arg 5 is "time": if arg 6 is set: set yaml value "%arg 3%.Games.GreenAndRedLight.Time" from "{@FileArenas}" to arg 6 parsed as int save yaml "{@FileArenas}" message "{@Prefix} %{MessageArenaSettingGameGreenAndRedLightTime}% &6%arg 6%" CoreCheckArenas(arg 3) else: message "{@Prefix} %{MessageNumberNotSet}%" if arg 5 is "spawn": set yaml value "%arg 3%.Games.GreenAndRedLight.Spawn" from "{@FileArenas}" to location of player save yaml "{@FileArenas}" message "{@Prefix} %{MessageArenaSettingGameGreenAndRedLightSpawn}% &6%location of player%" CoreCheckArenas(arg 3) else: message " &lSquid&6&lGames " message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2greenandredlight time [number]" message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2greenandredlight spawn" if arg 4 is "squidgame": if arg 5 is "time" or "spawn": if arg 6 is set: set yaml value "%arg 3%.Games.SquidGame.Time" from "{@FileArenas}" to arg 6 parsed as int save yaml "{@FileArenas}" message "{@Prefix} %{MessageArenaSettingGameSquidGameTime}% &6%arg 6%" CoreCheckArenas(arg 3) else: message "{@Prefix} %{MessageNumberNotSet}%" if arg 5 is "spawn": set yaml value "%arg 3%.Games.SquidGame.Spawn" from "{@FileArenas}" to location of player save yaml "{@FileArenas}" message "{@Prefix} %{MessageArenaSettingGameSquidGameSpawn}% &6%location of player%" CoreCheckArenas(arg 3) else: message " &lSquid&6&lGames&a&lPlus " message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2squidgame time [number]" message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2squidgame spawn" else: message " &lSquid&6&lGames " message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2waitinglobby" message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2greenandredlight" message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2squidgame" message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2minplayers [number]" message "{@Prefix} &6/squidgames &aarena &csetting &f[arena] &2maxplayers [number]" else: message "{@Prefix} &6%arg 3% %{MessageArenaDoesNotExist}%" else: message "{@Prefix} %{MessageWriteArena}%" if arg 2 is "enable": if arg 3 is set: if yaml value "%arg 3%.State" from "{@FileArenas}" is set: if yaml value "%arg 3%.State" from "{@FileArenas}" is "DISABLED": set yaml value "%arg 3%.State" from "{@FileArenas}" to "ENABLED" save yaml "{@FileArenas}" add arg 3 to {SquidGames::Arena::*} CoreCheckArenas(arg 3) message "{@Prefix} &6%arg 3% %{MessageArenaEnabled}%" else: message "{@Prefix} &6%arg 3% %{MessageArenaEnabledAlready}%" else: message "{@Prefix} &6%arg 3% %{MessageArenaDoesNotExist}%" else: message "{@Prefix} %{MessageWriteArena}%" if arg 2 is "disable": if arg 3 is set: if yaml value "%arg 3%.State" from "{@FileArenas}" is set: if yaml value "%arg 3%.State" from "{@FileArenas}" is "ENABLED": set yaml value "%arg 3%.State" from "{@FileArenas}" to "DISABLED" save yaml "{@FileArenas}" remove arg 3 from {SquidGames::Arena::*} remove "MinPlayers" from {SquidGames::Arena::%arg 3%::*} remove "MaxPlayers" from {SquidGames::Arena::%arg 3%::*} remove "WaitingLobby" from {SquidGames::Arena::%arg 3%::*} remove "GreenAndRedLightTime" from {SquidGames::Arena::%arg 3%::*} remove "GreenAndRedLightSpawn" from {SquidGames::Arena::%arg 3%::*} remove "NumberPlayers" from {SquidGames::Arena::%arg 3%::*} message "{@Prefix} &6%arg 3% %{MessageArenaDisabled}%" else: message "{@Prefix} &6%arg 3% %{MessageArenaDisabledAlready}%" else: message "{@Prefix} &6%arg 3% %{MessageArenaDoesNotExist}%" else: message "{@Prefix} %{MessageWriteArena}%" else: message " &lSquid&6&lGames " message "&6/squidgames &aarena &ccreate &f[arena]" message "&6/squidgames &aarena &cremove &f[arena]" message "&6/squidgames &aarena &csetting &f[arena" message "&6/squidgames &aarena &cenable &f[arena]" message "&6/squidgames &aarena &cdisable &f[arena]" else: message "%{MessageNoPermission}% &6squidgames.admin" # # \\ SQUIDGAMES COMMAND SQUIDGAMES LIST // # if arg 1 is "list": if player has permission "squidgames.player": size of {SquidGames::Arena::*} = 0: if player has permission "squidgame.admin": message "{@Prefix} %{MessageListCreateArena}%" else: message "{@Prefix} %{MessageListNoArenas}%" size of {SquidGames::Arena::*} > 0: message " &6&lLIST " loop {SquidGames::Arena::*}: if {SquidGames::Arena::%loop-value%::Status} is "WAITING": message "&f%loop-value% &7- %{MessageListArenaWaiting}% &7- &7(&6%{SquidGames::Arena::%loop-value%::NumberPlayers}%&7/&6%{SquidGames::Arena::%loop-value%::MaxPlayers}%&7)" if {SquidGames::Arena::%loop-value%::Status} is "STARTING": message "&f%loop-value% &7- %{MessageListArenaStarting}% &7- &7(&6%{SquidGames::Arena::%loop-value%::NumberPlayers}%&7/&6%{SquidGames::Arena::%loop-value%::MaxPlayers}%&7)" if {SquidGames::Arena::%loop-value%::Status} is "INGAME": message "&f%loop-value% &7- %{MessageListArenaInGame}% &7- &7(&6%{SquidGames::Arena::%loop-value%::NumberPlayers}%&7/&6%{SquidGames::Arena::%loop-value%::MaxPlayers}%&7)" else: message "%{MessageNoPermission}% &6squidgames.player" # # \\ SQUIDGAMES COMMAND SQUIDGAMES JOIN // # if arg 1 is "join": if player has permission "squidgames.player": if arg 2 is set: if {SquidGames::Arena::*} contains arg-2: if {SquidGames::Player::%player%::state} is "INGAME": message "{@Prefix} %{MessageJoinAlreadyInGame}%" else: if {SquidGames::Arena::%arg 2%::Status} is set: if {SquidGames::Arena::%arg 2%::Status} is "INGAME": message "{@Prefix} %{MessageJoinArenaStarted}%" if {SquidGames::Arena::%arg 2%::Status} is "WAITING" or "STARTING": if {SquidGames::Arena::%arg 2%::NumberPlayers} is greater than or equal to {SquidGames::Arena::%arg 2%::MaxPlayers}: message "{@Prefix} %{MessageJoinArenaFull}%" else: PlayerJoinArena(arg 2, player) ArenaWaitingToStart(arg 2, player) else: message "{@Prefix} &6%arg 2% %{MessageArenaDoesNotExist}%" else: message "{@Prefix} %{MessageWriteArena}%" else: message "%{MessageNoPermission}% &6squidgames.player" # # # \\ SQUIDGAMES COMMAND SQUIDGAMES LEAVE // # if arg-1 is "leave": if {SquidGames::Player::%player%::State} is "INGAME": teleport player to {CoreMainLobby} PlayerExitArena(player) message "{@Prefix} &f%player% %{MessageLeaveLeftGame}%" to {SquidGames::Arena::%{SquidGames::Player::%player%.Arena}%::Players::*} else: message "{@Prefix} %{MessageLeaveNeedArena}%" #---------------------------------------------------------------# # F U N C T I O N S # #---------------------------------------------------------------# # # # \\ SQUIDGAMES FUNCTION PLAYER JOIN ARENA // # function PlayerJoinArena(a: text, p: player): clear {_p}'s inventory set {_p}'s flight mode to false reveal {_p} to players set {SquidGames::Player::%{_p}%::State} to "INGAME" set {SquidGames::Player::%{_p}%::Arena} to {_a} add {_p} to {SquidGames::Arena::%{_a}%::Players::*} add 1 to {SquidGames::Arena::%{_a}%::NumberPlayers} # # # \\ SQUIDGAMES FUNCTION PLAY EXIT ARENA // # function PlayerExitArena(p: player): loop {SquidGames::Arena::*}: if {SquidGames::Arena::%loop-value-1%::Players::*} contains {_p}: if {SquidGames::Player::%{_p}%::State} is "ALIVE": add 1 to {SquidGames::Arena::%loop-value%::NumberPlayersDeaths} if {SquidGames::Player::%{_p}%::State} is "SURVIVOR": add 1 to {SquidGames::Arena::%loop-value%::NumberPlayersDeaths} set {_p}'s flight mode to false reveal {_p} to players delete {SquidGames::Player::%{_p}%} delete {SquidGames::Player::%{_p}%::*} remove {_p} from {SquidGames::Arena::%loop-value%::Players::*} remove 1 from {SquidGames::Arena::%loop-value%::NumberPlayers} # # # \\ SQUIDGAMES FUNCTION ARENA WAITING TO START // # function ArenaWaitingToStart(a: text, p: player): teleport {_p} to {SquidGames::Arena::%{_a}%::WaitingLobby} message "{@Prefix} &f%{_p}% %{MessageArenaWaitingToStartPlayerJoin}% (&6%{SquidGames::Arena::%{_a}%::NumberPlayers}%&7/&6%{SquidGames::Arena::%{_a}%::MaxPlayers}%&7)." to {SquidGames::Arena::%{_a}%::Players::*} if {SquidGames::Arena::%{_a}%::Status} is "WAITING": if {SquidGames::Arena::%{_a}%::NumberPlayers} is greater than or equal to {SquidGames::Arena::%{_a}%::MinPlayers}: set {SquidGames::Arena::%{_a}%::WaitingLobbyCountdownTimeActive} to true else: message "{@Prefix} &6%{SquidGames::Arena::%{_a}%::MinPlayers}% %{MessageArenaWaitingToStartPlayerRequiredToStart}%" to {_p} if {SquidGames::Arena::%{_a}%::WaitingLobbyCountdownTimeActive} is true: set {SquidGames::Arena::%{_a}%::Status} to "STARTING" set {SquidGames::Arena::%{_a}%::WaitingLobbyCountdownTimeActive} to false set {SquidGames::Arena::%{_a}%::WaitingLobbyCountdownTime} to 10 message "{@Prefix} %{MessageArenaWaitingToStartGameWillStartIn}% &630 %{MessageSeconds}%." to {SquidGames::Arena::%{_a}%::Players::*} wait 20 second loop {SquidGames::Arena::%{_a}%::WaitingLobbyCountdownTime} times: if {SquidGames::Arena::%{_a}%::NumberPlayers} is greater than or equal to {SquidGames::Arena::%{_a}%::MinPlayers}: message "{@Prefix} %{MessageArenaWaitingToStartGameWillStartIn}% &6%{SquidGames::Arena::%{_a}%::WaitingLobbyCountdownTime}% %{MessageSeconds}%." to {SquidGames::Arena::%{_a}%::Players::*} remove 1 from {SquidGames::Arena::%{_a}%::WaitingLobbyCountdownTime} wait 1 second else: set {SquidGames::Arena::%{_a}%::Status} to "WAITING" delete {WaitingLobbyCountdownTimeActive.%{_a}%} message "{@Prefix} &6%{SquidGames::Arena::%{_a}%::MinPlayers}% %{MessageArenaWaitingToStartPlayerRequiredToStart}%" to {SquidGames::Arena::%{_a}%::Players::*} stop loop if {SquidGames::Arena::%{_a}%::WaitingLobbyCountdownTime} is 0: ArenaStart({_a}) GameGreenAndRedLightStart({_a}) # # # \\ SQUIDGAMES FUNCTION START // # function ArenaStart(a: text): set {SquidGames::Arena::%{_a}%::Status} to "INGAME" delete {SquidGames::Arena::%{_a}%::GamePhase} set {SquidGames::Arena::%{_a}%::NumberPlayersDeaths} to 0 set {SquidGames::Arena::%{_a}%::NumberPlayersSurvivors} to {SquidGames::Arena::%{_a}%::NumberPlayers} loop {SquidGames::Arena::%{_a}%::Players::*}: set {SquidGames::Player::%loop-value-1%::Status} to "ALIVE" # # # \\ SQUIDGAMES FUNCTION FINISH // # function ArenaFinish(a: text): make {SquidGames::Arena::%{_a}%::Players::*} execute command "/squidgames leave" set {SquidGames::Arena::%{_a}%::Status} to "WAITING" delete {SquidGames::Arena::%{_a}%::GamePhase} set {SquidGames::Arena::%{_a}%::NumberPlayers} to 0 delete {SquidGames::Arena::%{_a}%::NumberPlayersDeaths} delete {SquidGames::Arena::%{_a}%::NumberPlayersSurvivors} # # # \\ SQUIDGAMES FUNCTION GAME GREEN AND RED LIGHT START // # function GameGreenAndRedLightStart(a: text): set {SquidGames::Arena::%{_a}%::GamePhase} to "GreenAndRedLight" set {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} to {SquidGames::Arena::%{_a}%::GreenAndRedLightTime} loop {SquidGames::Arena::%{_a}%::Players::*}: if {SquidGames::Player::%loop-value-1%::Status} is "SURVIVOR": set {SquidGames::Player::%loop-value-1%::Status} to "ALIVE" message "{@Prefix} %{MessageGameGreenAndRedLightInfo1}%" to {SquidGames::Arena::%{_a}%::Players::*} message "{@Prefix} %{MessageGameGreenAndRedLightInfo2}%" to {SquidGames::Arena::%{_a}%::Players::*} message "{@Prefix} %{MessageGameGreenAndRedLightInfo3}%" to {SquidGames::Arena::%{_a}%::Players::*} message "{@Prefix} %{MessageGameGreenAndRedLightInfo4}%" to {SquidGames::Arena::%{_a}%::Players::*} message "{@Prefix} %{MessageGameGreenAndRedLightInfo5}%" to {SquidGames::Arena::%{_a}%::Players::*} teleport {SquidGames::Arena::%{_a}%::Players::*} to {SquidGames::Arena::%{_a}%::GreenAndRedLightSpawn} loop {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} times: if {SquidGames::Arena::%{_a}%::NumberPlayers} = {SquidGames::Arena::%{_a}%::NumberPlayersDeaths}: set {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} to -1 set {SquidGames::Arena::%{_a}%::FinishCause} to "PLAYERSELIMINATED" stop loop if {SquidGames::Arena::%{_a}%::NumberPlayersSurvivors} = 1: set {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} to -1 set {SquidGames::Arena::%{_a}%::FinishCause} to "WINNER" stop loop if {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} is greater than or equal to 0: if {SquidGames::Arena::%{_a}%::Status} is "INGAME": if {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} > 0: set {SquidGames::Arena::%{_a}%::GreenAndRedLightPlaySound} to a random integer between 1 and 3 message "{@Prefix} %{MessageGameGreenAndRedLightDollGreenLight}%" to {SquidGames::Arena::%{_a}%::Players::*} if {SquidGames::Arena::%{_a}%::GreenAndRedLightPlaySound} is 1: wait 40 tick remove 2 from {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} if {SquidGames::Arena::%{_a}%::GreenAndRedLightPlaySound} is 2: wait 60 tick remove 3 from {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} if {SquidGames::Arena::%{_a}%::GreenAndRedLightPlaySound} is 3: wait 100 tick remove 5 from {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} message "{@Prefix} %{MessageGameGreenAndRedLightDollRedLight}%" to {SquidGames::Arena::%{_a}%::Players::*} wait 20 tick remove 1 from {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} message "{@Prefix} %{MessageGameGreenAndRedLightDollAnalyzingPlayers}%" to {SquidGames::Arena::%{_a}%::Players::*} loop {SquidGames::Arena::%{_a}%::Players::*}: if {SquidGames::Player::%loop-value-2%::Status} is "ALIVE": loop 2 times: set {SquidGames::Player::%loop-value-2%::GreenAndRedLightCheckMoveLocation1} to location of loop-value-2 wait 10 tick set {SquidGames::Player::%loop-value-2%::GreenAndRedLightCheckMoveLocation2} to location of loop-value-2 if {SquidGames::Player::%loop-value-2%::GreenAndRedLightCheckMoveLocation1} != {SquidGames::Player::%loop-value-2%::GreenAndRedLightCheckMoveLocation2}: if {SquidGames::Player::%loop-value-2%::Status} is "ALIVE": message "{@Prefix} %{MessagePlayer}% &f%loop-value-2% %{MessagePlayerHasEliminated}%" to {SquidGames::Arena::%{_a}%::Players::*} send title "%{MessagePlayerEliminatedTitle}%" with subtitle "%{MessagePlayerEliminatedSubTitle}%" to loop-value-2 for 3 seconds set {SquidGames::Player::%loop-value-2%::Status} to "DEATH" add 1 to {SquidGames::Arena::%{_a}%::NumberPlayersDeaths} remove 1 from {SquidGames::Arena::%{_a}%::NumberPlayersSurvivors} set loop-value-2's flight mode to true hide loop-value-2 from players remove 1 from {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} wait 40 tick message "{@Prefix} %{MessageGameGreenAndRedLightDollTurnAround}%" to {SquidGames::Arena::%{_a}%::Players::*} wait 20 tick remove 2 from {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} else: ArenaFinish({_a}) stop loop else: stop loop if {SquidGames::Arena::%{_a}%::GreenAndRedLightTimeRun} is less than 0: if {SquidGames::Arena::%{_a}%::FinishCause} is "PLAYERSELIMINATED": message "{@Prefix} %{MessagePlayersEliminated}%" to {SquidGames::Arena::%{_a}%::Players::*} ArenaFinish({_a}) stop else: if {SquidGames::Arena::%{_a}%::FinishCause} is "WINNER": message "{@Prefix} %{MessagePlayerWinner}%" to {SquidGames::Arena::%{_a}%::Players::*} ArenaFinish({_a}) stop else: message "{@Prefix} %{MessageGameLimitTime}%" to {SquidGames::Arena::%{_a}%::Players::*} loop {SquidGames::Arena::%{_a}%::Players::*}: if {SquidGames::Player::%loop-value-1%::Status} is "ALIVE": message "{@Prefix} %{MessagePlayer}% &f%loop-value-1% %{MessagePlayerHasEliminated}%" to {SquidGames::Arena::%{_a}%::Players::*} send title "%{MessagePlayerEliminatedTitle}%" with subtitle "%{MessagePlayerEliminatedSubTitle}%" to loop-value-1 for 3 seconds set {SquidGames::Player::%loop-value-1%::Status} to "DEATH" add 1 to {SquidGames::Arena::%{_a}%::NumberPlayersDeaths} remove 1 from {SquidGames::Arena::%{_a}%::NumberPlayersSurvivors} set loop-value-1's flight mode to true hide loop-value-1 from players GameSquidGame({_a}) # # # \\ SQUIDGAMES FUNCTION GAME SQUIDGAME // # function GameSquidGame(a: text): set {SquidGames::Arena::%{_a}%::GamePhase} to "SquidGame" set {SquidGames::Arena::%{_a}%::SquidGameTimeRun} to {SquidGames::Arena::%{_a}%::SquidGameTime} loop {SquidGames::Arena::%{_a}%::Players::*}: if {SquidGames::Player::%loop-value-1%::Status} is "SURVIVOR": set {SquidGames::Player::%loop-value-1%::Status} to "ALIVE" clear loop-value-1's inventory set loop-value-1's flight mode to false reveal loop-value-1 to players message "{@Prefix} %{MessageGameSquidGameInfo1}%" to {SquidGames::Arena::%{_a}%::Players::*} message "{@Prefix} %{MessageGameSquidGameInfo2}%" to {SquidGames::Arena::%{_a}%::Players::*} message "{@Prefix} %{MessageGameSquidGameInfo3}%" to {SquidGames::Arena::%{_a}%::Players::*} message "{@Prefix} %{MessageGameSquidGameInfo4}%" to {SquidGames::Arena::%{_a}%::Players::*} message "{@Prefix} %{MessageGameSquidGameInfo5}%" to {SquidGames::Arena::%{_a}%::Players::*} teleport {SquidGames::Arena::%{_a}%::Players::*} to {SquidGames::Arena::%{_a}%::SquidGameSpawn} loop {SquidGames::Arena::%{_a}%::SquidGameTimeRun} times: if {SquidGames::Arena::%{_a}%::NumberPlayers} = {SquidGames::Arena::%{_a}%::NumberPlayersDeaths}: set {SquidGames::Arena::%{_a}%::SquidGameTimeRun} to -1 set {SquidGames::Arena::%{_a}%::FinishCause} to "PLAYERSELIMINATED" stop loop if {SquidGames::Arena::%{_a}%::NumberPlayersSurvivors} = 1: set {SquidGames::Arena::%{_a}%::SquidGameTimeRun} to -1 set {SquidGames::Arena::%{_a}%::FinishCause} to "WINNER" stop loop wait 20 ticks remove 1 from {SquidGames::Arena::%{_a}%::SquidGameTimeRun} if {SquidGames::Arena::%{_a}%::SquidGameTimeRun} is 0: if {SquidGames::Arena::%{_a}%::FinishCause} is "PLAYERSELIMINATED": message "{@Prefix} %{MessagePlayersEliminated}%" to {SquidGames::Arena::%{_a}%::Players::*} ArenaFinish({_a}) stop else: if {SquidGames::Arena::%{_a}%::FinishCause} is "WINNER": message "{@Prefix} %{MessagePlayerWinner}%" to {SquidGames::Arena::%{_a}%::Players::*} ArenaFinish({_a}) stop else: message "{@Prefix} %{MessageGameLimitTime}%" to {SquidGames::Arena::%{_a}%::Players::*} loop {SquidGames::Arena::%{_a}%::Players::*}: if {SquidGames::Player::%loop-value-1%::Status} is "ALIVE": message "{@Prefix} %{MessagePlayer}% &f%loop-value-1% %{MessagePlayerHasEliminated}%" to {SquidGames::Arena::%{_a}%::Players::*} send title "%{MessagePlayerEliminatedTitle}%" with subtitle "%{MessagePlayerEliminatedSubTitle}%" to loop-value-1 for 3 seconds set {SquidGames::Player::%loop-value-1%::Status} to "DEATH" add 1 to {SquidGames::Arena::%{_a}%::NumberPlayersDeaths} remove 1 from {SquidGames::Arena::%{_a}%::NumberPlayersSurvivors} set loop-value-1's flight mode to true hide loop-value-1 from players ArenaFinish({_a}) #---------------------------------------------------------------# # E V E N T S # #---------------------------------------------------------------# # # # \\ SQUIDGAMES EVENTS PLAYER INGAME // # on join: set player's flight mode to false reveal player to players remove player from {SquidGames::Player::*} delete {SquidGames::Player::%player%::*} on break: if {SquidGames::Player::%player%::State} is "INGAME": cancel event on place: if {SquidGames::Player::%player%::State} is "INGAME": cancel event on right click: if {SquidGames::Player::%player%::State} is "INGAME": cancel event on damage: victim is a player if {SquidGames::Player::%victim%::State} is "INGAME": if {SquidGames::Arena::%{SquidGames::Player::%victim%::Arena}%::GamePhase} is "GreenAndRedLight": cancel event on walking on red concrete: if {SquidGames::Player::%player%::State} is "INGAME": if {SquidGames::Arena::%{SquidGames::Player::%player%::Arena}%::GamePhase} is "GreenAndRedLight": if {SquidGames::Player::%player%::Status} is "ALIVE": set {SquidGames::Player::%player%::Status} to "SURVIVOR" message "{@Prefix} %{MessagePlayer}% &f%player% %{MessagePlayerPassNextRoud}%" to {SquidGames::Arena::%{SquidGames::Player::%player%::Arena}%::Players::*} on walking on sand: if {SquidGames::Player::%player%::State} is "INGAME": if {SquidGames::Arena::%{SquidGames::Player::%player%::Arena}%::GamePhase} is "SquidGame": if {SquidGames::Player::%player%::Status} is "ALIVE": message "{@Prefix} %{MessagePlayer}% &f%player% %{MessagePlayerHasEliminated}%" to {SquidGames::Arena::%{SquidGames::Player::%player%::Arena}%::Players::*} send title "%{MessagePlayerEliminatedTitle}%" with subtitle "%{MessagePlayerEliminatedSubTitle}%" to player for 3 seconds set {SquidGames::Player::%player%::Status} to "DEATH" add 1 to {SquidGames::Arena::%{SquidGames::Player::%player%::Arena}%::NumberPlayersDeaths} remove 1 from {SquidGames::Arena::%{SquidGames::Player::%player%::Arena}%::NumberPlayersSurvivors} set player's flight mode to true hide player from players