Other available versions. Ordered by newest to oldest versions:
Just so you know, we don't know the file format for every file. If it's just a bunch of random characters, it's probably a .zip or .jar.
# Created by Creaous on 3/01/2021
# Last edited by Creaous on 17/01/2021 at 12:00 AM
# DO NOT RE-EDIT THE CODE AND RE-UPLOAD, IT WILL BE TAKEN DOWN.
# This code is not for commerical use, do not sell, only use.
# Tasks finished:
# Everyone apart from Diverting Power and Reactor.
# !!! NEED FIXING: Fix Wiring (ELECTRICAL) !!!
# DISCLAIMER: This is a BETA build meaning stuff in this build is NOT FINAL.
# This Skript is still in its early ages and bugs may occur, please use the github issues page or DM me on SpigotMC.
# https://github.com/Creaous/Among-Us-Skript
options:
# ---------------
# GENERAL CONFIG:
# ---------------
# The world the game will take place in.
World: amongus
# ----------
# COOLDOWNS:
# ----------
# -- SABOTAGES: --
# Sabotage Cooldown for Lights.
SabotageCooldown_Lights: 30
# Sabotage Cooldown for O2.
SabotageCooldown_O2: 30
# Sabotage Cooldown for Comms.
SabotageCooldown_Comms: 30
# -- OTHERS: --
# The cooldown for the emergency meeting in seconds.
EmergencyMeetingCooldown: 60 # 60 good
# Emergency meeting time.
EmergencyMeeting: 60 # 60 good
# The vote timers time (same as emergency meeting).
VoteTimer: 60 # 60 good
# The cooldown for the kills (imposter) in seconds.
KillCooldown: 35 # 35 good
# -----------------------
# MORE ADVANCED FEATURES:
# -----------------------
# The default permission set.
Perm: amongus
# The hoster permission.
HostPerm: amongus.hoster
# ------------
# DO NOT EDIT:
# ------------
# The version of the plugin.
Version: 1.0.0-BETA
# The type (Premium or Open-Source)
Type: Open-Source
# CREDITS:
# All credits marked with (J) mean Java Account, all ones marked with (B) mean Xbox Account.
#
# Mostly all if not all of the code is done/made by: Creaous_ (J).
# Original map made by: spadFour (https://www.planetminecraft.com/project/among-us-map-recreation-the-skeld/).
# Edited map made by: Creaous_ (J), RiptideDragon15 (J) and Gamerguy8282 (B).
# Game testers: ibxki1865 (B), Gamerguy8282 (B) and RiptideDragon15 (J).
# Some code was some samples, from my skripts and other peoples skripts.
#
# Original game made by: Innersloth Studios - Thanks for making it :)
# PLUGINS CREDITS:
# CCTV Plugin - Timdecoole123 - https://www.spigotmc.org/resources/security-camera-plugin-cctv-1-12-1-16-2.60310/
# Tablisknu - TIatoani - https://forums.skunity.com/resources/tablisknu.727/
# Skript - Njol (SkriptLang fork) - https://github.com/SkriptLang/Skript/releases/latest
# SkQuery - RealGatt (LimeGlass fork) - https://www.spigotmc.org/resources/skquery-1-9-1-16.36631/
# ProtocolLib - dmulloy2 and aadnk - https://www.spigotmc.org/resources/protocollib.1997/
# -----------------------------------------------------------------------------------------------
# THE ACTUAL CODE IS BELOW (PLEASE READ THE WARNING THAT IS SHOWN BELOW):
# NOTE: Only edit if you know what you are doing, you will not receive any support with this.
# If you have the premium support version, you will not receive support using a modified version.
# -----------------------------------------------------------------------------------------------
# Variables:
# {AmongUs::Game::Started} - Boolean Value - If the game has been started or not "true" or "false".
# {AmongUs::Game::Tasks::*} - List Value - The list of tasks that is used to be given out randomly.
# {AmongUs::EmergencyMeeting::OnCooldown} - True or False - If the emergency meeting is on cooldown.
# {AmongUs::EmergencyMeeting::Time} - Numerical Value - The time until the emergency is not on cooldown.
# {AmongUs::Game::EmergencyMeeting::Seats::*} - List Value - The defintions for the emergency meeting seats.
# {AmongUs::Game::Info::Tasks::PLAYER::*} - List Value - The list of tasks the player has to complete.
# {AmongUs::Game::Info::Tasks::Finished::PLAYER} - Numerical Value - The amount of tasks the player finished.
# {AmongUs::Game::Info::Job::PLAYER} - Text Value - The type of job the player has ("crewmate" or "imposter").
# {AmongUs::Game::Imposters::*} - List Value - The players name of which are imposters.
# {AmongUs::Game::AllowedToTalk} - Boolean Value - If the players are allowed to talk.
# {AmongUs::Game::Voting} - Boolean Value - If the players are allowed to vote on someone else.
# Todo List:
# f=Finished hf=Half Finished mf=Mostly Finished
# - Add Tasks [F] (apart from diver power and reactor)
# - Add Vent System [F]
# - Add Start System [F]
# - Imposter System [F]
# - Emergency Meeting and Report Body System [F]
# - Sabotage System [F] (apart from reactor)
# - Voting System [F]
# - Ejection System [F]
# - Winning System [F]
# COMMANDS:
command /info:
trigger:
send "%{AmongUs::Game::Tasks::*}%"
command /start:
permission: {@HostPerm}
permission message: &cYou are lacking the permission node: &6{@HostPerm}&c, please contact the server administrator.
trigger:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# Use the start game function with the player as the argument.
startGame(player)
else:
send "%{AmongUs::SecurityCheck::ishallnotsteal::MessageAdmin}%"
command /end:
permission: {@HostPerm}
permission message: &cYou are lacking the permission node: &6{@HostPerm}&c, please contact the server administrator.
trigger:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# Use the end game function with the player as the argument.
endGame(player)
else:
send "%{AmongUs::SecurityCheck::ishallnotsteal::MessageAdmin}%"
command /sabotage [<text>]:
trigger:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
if {AmongUs::Game::Imposters::*} contains player:
# If the 1st argument is "lights".
if argument 1 is "lights":
# Set the block at a location to air (the redstone block).
set block at location(109, 38, 352, "{@World}" parsed as world) to air
# Use the sabotage function with the argument as "lights".
sabotage(player, "lights")
# Else if the 1st argument is "comms".
else if argument 1 is "comms":
# Use the sabotage function with the argument as "comms".
sabotage(player, "comms")
# Else if the 1st argument is "o2".
else if argument 1 is "o2":
# Use the sabotage function with the argument as "o2".
sabotage(player, "o2")
# Else if the 1st argument is not set.
else if argument 1 is not set:
# Open chest with 3 rows and named "Sabotage" in dark red.
open chest with 3 rows named "&4&lSabotage" to player
# Wait 3 ticks to avoid not opening.
wait 3 ticks
# Format the 11th slot with a redstone lamp named "Lights" in light red to sabotage lights.
format slot 11 of player with redstone lamp named "&cLights" to close then run [make player execute command "/sabotage lights"]
# Format the 13th slot with a nametag named "Comms" in light blue to sabotage comms.
format slot 13 of player with nametag named "&9Comms" to close then run [make player execute command "/sabotage comms"]
# Format the 15th slot with a water bottle named "O2" in gold to sabotage O2.
format slot 15 of player with water bottle named "&6O2" to close then run [make player execute command "/sabotage o2"]
command /whoami [<text>]:
trigger:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# If the 1st argument isn't set.
if argument 1 is not set:
# Say the players name.
send "&6%player's name%"
# Say what job the player has ("imposter" or "cremwate").
send "&eJob: &6%{AmongUs::Game::Info::Job::%player%}%"
# Say what tasks the player has.
send "&eTasks: &6%{AmongUs::Game::Info::Tasks::%player%::*}%"
# Say how many finished tasks the player has.
send "&eYour finished tasks: &6%{AmongUs::Game::Info::Tasks::Finished::%player%}%"
# Say how many remaining tasks the player has.
send "&eRemaining tasks: &6%size of {AmongUs::Game::Info::Tasks::%player%::*}%"
else:
# Say what tasks the player has.
send "&eTasks: &6%{AmongUs::Game::Info::Tasks::%player%::*}%"
else:
send "%{AmongUs::SecurityCheck::ishallnotsteal::Failed::MessageAdmin}%"
# EVENTS:
on join:
# If the player is in the "amongus" world.
if player's world is "{@World}":
# If the player's job is "crewmate".
if {AmongUs::Game::Info::Job::%player%} is "crewmate":
# Remove the player from the crewmates team.
remove player from {AmongUs::Game::Crewmates::*}
# Set the player's gamemode to spectator mode.
set player's gamemode to spectator
# Else if the player's job is "imposter":
else if {AmongUs::Game::Info::Job::%player%} is "imposter":
# Remove the player from the imposters team.
remove player from {AmongUs::Game::Imposters::*}
# Set the player's gamemode to spectator mode.
set player's gamemode to spectator
on quit:
# If the player is in the "amongus" world.
if player's world is "{@World}":
# If the player's job is "crewmate".
if {AmongUs::Game::Info::Job::%player%} is "crewmate":
# Remove the player from the crewmates team.
remove player from {AmongUs::Game::Crewmates::*}
# Set the player's gamemode to spectator mode.
set player's gamemode to spectator
# Else if the player's job is "imposter":
else if {AmongUs::Game::Info::Job::%player%} is "imposter":
# Remove the player from the imposters team.
remove player from {AmongUs::Game::Imposters::*}
# Set the player's gamemode to spectator mode.
set player's gamemode to spectator
every 30 seconds:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# If the game has started:
if {AmongUs::Game::Started} is true:
# Loop all players.
loop all players:
# If loop player is in the world.
if loop-player's world is "{@World}":
# If the players job is "crewmate".
if {AmongUs::Game::Info::Job::%loop-player%} is "crewmate":
# Make the player execute the whoami (mini) command.
make loop-player execute command "/whoami mini"
on chat:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# If the player is in the correct world.
if player's world is "{@World}":
# If the game's allowed to talk is true.
if {AmongUs::Game::AllowedToTalk} is true:
# Loop all players.
loop all players:
# If the loop-player is in the correct world.
if loop-player's world is "{@World}":
# If the message is the loop-player.
if message is "%loop-player%":
# If the difference between the vote timer and now is less than 10 seconds.
if difference between {AmongUs::Game::VoteTimer} and now is less than {@VoteTimer} seconds:
# If the player's voted isn't set.
if {AmongUs::Game::Voted::%player's uuid%} is not set:
# Cancel the event.
cancel event
# Set the player's voted to now.
set {AmongUs::Game::Voted::%player's uuid%} to now
# Add 1 to the arg-player's vote list.
add 1 to {AmongUs::Game::VoteList::%message%}
# Say that your vote has been counted.
send "&aYour vote towards &6%message% &ahas been counted!"
broadcast "&6%player% &evoted!" in world("{@World}")
else:
# Say you have already voted.
send "&cYou have already voted."
else if message is "skip":
# If the difference between the vote timer and now is less than 10 seconds.
if difference between {AmongUs::Game::VoteTimer} and now is less than {@VoteTimer} seconds:
# If the player's voted isn't set.
if {AmongUs::Game::Voted::%player's uuid%} is not set:
# Cancel the event.
cancel event
# Set the player's voted to now.
set {AmongUs::Game::Voted::%player's uuid%} to now
# Add 1 to the arg-player's vote list.
add 1 to {AmongUs::Game::VoteList::%message%}
# Say that your vote has been counted.
send "&aYou have skipped voting!"
broadcast "&6%player% &evoted!" in world("{@World}")
else:
# Say you have already voted.
send "&cYou have already voted."
else:
# Cancel the event.
cancel event
# Say that they are not allowed to speak apart during reporting bodies and emergency meetings.
send "&cYou are not allowed to speak. Only during reporting bodies and emergency meetings."
on right-click:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# If the player is in the correct world.
if player's world is "{@World}":
# If the block is a iron trapdoor.
if block is iron trapdoor:
# If the player's job is "imposter".
if {AmongUs::Game::Info::Job::%player%} is "imposter":
# Teleport the player above the iron trapdoor.
teleport the player above the block
else:
# Say that they aren't the imposter.
send "&c&lYou are not an imposter!"
# If the block is a stone button.
if block is stone button:
# Use the callMeeting function with "emergencyMeeting" as the argument.
callMeeting(player, "emergencyMeeting")
on sneak toggle:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# if the player is in the correct world.
if player's world is "{@World}":
# If the player is sneaking.
if player is sneaking:
# If the block under the player is an iron trapdoor.
if block under player is iron trapdoor:
# If the player's job is "imposter".
if {AmongUs::Game::Info::Job::%player%} is "imposter":
# Teleport the player 2 metres under themselves.
teleport player to location 2 meters under the player
# Say vented.
send "&7&lVented!"
else:
# Say that they aren't the imposter.
send "&c&lYou are not an imposter!"
on sign change:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# If line 1 of the sign is "[Among Us]".
if line 1 is "[Among Us]":
# If line 1 of the sign is "[Task]".
if line 2 is "[Task]":
# Send a message in lime green saying placed sign.
send "&aPlaced sign!"
# Set the first line to "[Among Us]" in red.
set line 1 of block to "&c[Among Us]"
# Set the second line to "[Task]" in lime green.
set line 2 of block to "&a[Task]"
# Set the third line to the third line but in yellow.
set line 3 of block to "&e%line 3%"
on damage:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
if attacker's world is "{@World}":
# If the difference between the vote timer and now is less than 10 seconds.
if difference between {AmongUs::Game::VoteTimer} and now is more than {@VoteTimer} seconds:
# Cancel the event.
cancel event
# Send you are not an imposter to the attacker.
send "&c&lYou are not allowed to kill during meetings or reporting bodies!" to attacker
else:
# If the games imposter list contains the attackers name.
if {AmongUs::Game::Imposters::*} contains "%attacker%":
increase damage by 1000%
# Set the Kill Cooldown Cooldown to true.
set {AmongUs::Game::KillCooldown::%attacker%::OnCooldown} to true
# Set the Kill Cooldown Time to the KillCooldown variable.
set {AmongUs::Game::KillCooldown::%attacker%::Time} to {@KillCooldown}
else:
# Cancel the event.
cancel event
# Send you are not an imposter to the attacker.
send "&c&lYou are not an imposter!" to attacker
on death of player:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# If the player's world is the correct world.
if player's world is "{@World}":
# Set the player's death message to nothing.
set death message to ""
on right-click:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# If the player's world is the correct world.
if player's world is "{@World}":
# If the block is a sign.
if block is sign:
# Engines:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eLower Engine":
DoTask(player, "Lower Engine")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eUpper Engine":
DoTask(player, "Upper Engine")
# Cafeteria:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eCafeteria: Empty":
DoTask(player, "Cafeteria: Empty")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eCafeteria: Upload":
DoTask(player, "Cafeteria: Upload")
# Weapons:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eWeapons: Clear":
DoTask(player, "Weapons: Clear")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eWeapons: Upload":
DoTask(player, "Weapons: Upload")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eWeapons: Divert":
DoTask(player, "Weapons: Divert")
# O2:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eO2: Empty Chute":
DoTask(player, "O2: Empty chute")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eO2: Upload":
DoTask(player, "O2: Upload")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eO2: Clean filter":
DoTask(player, "O2: Clean filter")
# Navigation:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eNav: Chart":
DoTask(player, "Nav: Chart")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eNav: Upload":
DoTask(player, "Nav: Upload")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eNav: Divert":
DoTask(player, "Nav: Divert")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eNav: Stabilize":
DoTask(player, "Nav: Stabilize")
# Shields:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eShields: Divert":
DoTask(player, "Shields: Divert")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eShields: Prime":
DoTask(player, "Shields: Prime")
# Communications:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eComms: Divert":
DoTask(player, "Comms: Divert")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eComms: Upload":
DoTask(player, "Comms: Upload")
# Storage:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eStorage: Fuel":
DoTask(player, "Storage: Fuel")
# Admin:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eAdmin: Swipe Card":
DoTask(player, "Admin: Swipe Card")
# Electrical:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eElectric: Calibrate":
DoTask(player, "Electric: Calibrate")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eElectric: Fix":
DoTask(player, "Electric: Fix")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eElectric: Upload":
DoTask(player, "Electric: Upload")
# Reactor:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eReactor: Start":
DoTask(player, "Reactor: Start")
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eReactor: Unlock":
DoTask(player, "Reactor: Unlock")
# Security:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eSecurity: Divert":
DoTask(player, "Security: Divert")
# Medbay:
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eMedbay: Scan":
DoTask(player, "Medbay: Scan")
# Death
if line 1 is "&c[Among Us]":
if line 2 is "&a[Death]":
callMeeting(player, "reportBody")
break the block
# Fix Lights
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eFix Lights":
if block at location(109, 38, 352, "{@World}" parsed as world) is air:
DoTask(player, "S: Fix Lights")
else:
send "&cLights aren't out yet."
# Fix Comms
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eFix Comms":
if block at location(149, 34, 376, "{@World}" parsed as world) is iron block:
DoTask(player, "S: Comms")
else:
send "&cComms aren't out yet."
# Fix O2
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eFix O2: 1":
if {AmongUs::Game::Sabotage::O2} is true:
if {AmongUs::Game::Sabotage::O2::Finished} is 0 or 1:
DoTask(player, "S: Fix O2: 1")
else:
send "&cO2 isn't out yet."
if line 1 is "&c[Among Us]":
if line 2 is "&a[Task]":
if line 3 is "&eFix O2: 2":
if {AmongUs::Game::Sabotage::O2} is true:
if {AmongUs::Game::Sabotage::O2::Finished} is 0 or 1:
DoTask(player, "S: Fix O2: 2")
else:
send "&cO2 isn't out yet."
on death of player:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# If the player's in the correct world.
if player's world is "{@World}":
# Set the block at the victim's location to a OAK sign.
set block at victim's location to oak sign
# Set the first line to [Among Us] in red text.
set 1st line of block at victim to "&c[Among Us]"
# Set the first line to [Death] in lime green text.
set 2nd line of block at victim to "&a[Death]"
# Set the first line to the victim's in yellow text.
set 3rd line of block at victim to "&e%victim%"
# Set the {_players::*} to every player in the world.
set {_players::*} to all players in world("{@World}")
# Set {_playerscount} to the size of the {_players::*} variable.
set {_playerscount} to size of {_players::*}
# If the game started is true.
if {AmongUs::Game::Started} is true:
# If the player's job is "imposter".
if {AmongUs::Game::Info::Job::%player%} is "imposter":
# Remove the player from the imposters list.
remove player from {AmongUs::Game::Imposters::*}
# Else if the player's job is "cremwate".
else if {AmongUs::Game::Info::Job::%player%} is "crewmate":
# Remove the player from the cremwates list.
remove player from {AmongUs::Game::Crewmates::*}
# If the players count is less than 3.
if {_playerscount} is less than 3:
# Set the game started to false.
set {AmongUs::Game::Started} to false
# Force the player to respawn.
force player to respawn
# Set the player's gamemode to spectator.
set player's gamemode to spectator
# Teleport the player to the emergency meeting table location in the world.
teleport the player to location(110, 34, 288, "{@World}" parsed as world)
# Say that they died in red text.
send "&c&lYou died!"
every 1 second:
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# If the Emergency Meeting Cooldown is true.
if {AmongUs::EmergencyMeeting::OnCooldown} is true:
# If the Emergency Meeting Time is 0.
if {AmongUs::EmergencyMeeting::Time} is 0:
# Delete the Emergency Meeting Time.
delete {AmongUs::EmergencyMeeting::Time}
# Set the Emergency Meeting Cooldown to false.
set {AmongUs::EmergencyMeeting::OnCooldown} to false
# Set the allowed to talk variable to false.
set {AmongUs::Game::AllowedToTalk} to false
else:
# Remove 1 from the Emergency Meeting Time.
remove 1 from {AmongUs::EmergencyMeeting::Time}
loop all players:
# If the Kill Cooldown is true.
if {AmongUs::Game::KillCooldown::%loop-player%::OnCooldown} is true:
# If the Kill Cooldown Time is 0.
if {AmongUs::Game::KillCooldown::%loop-player%::Time} is 0:
# Delete the Kill Cooldown Time.
delete {AmongUs::Game::KillCooldown::%loop-player%::Time}
# Set the Kill Cooldown Cooldown to false.
set {AmongUs::Game::KillCooldown::%loop-player%::OnCooldown} to false
else:
# Remove 1 from the Kill Cooldown Time.
remove 1 from {AmongUs::Game::KillCooldown::%loop-player%::Time}
# If the Sabotage Lights Cooldown is true.
if {AmongUs::SabotageCooldown_Lights::OnCooldown} is true:
# If the Sabotage Lights Time is 0.
if {AmongUs::SabotageCooldown_Lights::Time} is 0:
# Delete the Sabotage Lights Time.
delete {AmongUs::SabotageCooldown_Lights::Time}
# Set the Sabotage Lights Cooldown to false.
set {AmongUs::SabotageCooldown_Lights::OnCooldown} to false
else:
# Remove 1 from the Sabotage Lights Time.
remove 1 from {AmongUs::SabotageCooldown_Lights::Time}
# If the Sabotage O2 Cooldown is true.
if {AmongUs::SabotageCooldown_O2::OnCooldown} is true:
# If the Sabotage O2 Time is 0.
if {AmongUs::SabotageCooldown_O2::Time} is 0:
# Delete the Sabotage O2 Time.
delete {AmongUs::SabotageCooldown_O2::Time}
# Set the Sabotage O2 Cooldown to false.
set {AmongUs::SabotageCooldown_O2::OnCooldown} to false
else:
# Remove 1 from the Sabotage O2 Time.
remove 1 from {AmongUs::SabotageCooldown_O2::Time}
# If the Sabotage Comms Cooldown is true.
if {AmongUs::SabotageCooldown_Comms::OnCooldown} is true:
# If the Sabotage Comms Time is 0.
if {AmongUs::SabotageCooldown_Comms::Time} is 0:
# Delete the Sabotage Comms Time.
delete {AmongUs::SabotageCooldown_Comms::Time}
# Set the Sabotage Comms Cooldown to false.
set {AmongUs::SabotageCooldown_Comms::OnCooldown} to false
else:
# Remove 1 from the Sabotage Comms Time.
remove 1 from {AmongUs::SabotageCooldown_Comms::Time}
# If the difference between the vote timer and now is less than 10 seconds.
if difference between {AmongUs::Game::VoteTimer} and now is more than {@VoteTimer} seconds:
# Clear the vote timer.
clear {AmongUs::Game::VoteTimer}
# Delete everyone's voted.
delete {AmongUs::Game::Voted::*}
# Set "{_sorted::*}" to a storted list of the votes.
set {_sorted::*} to sorted {AmongUs::Game::VoteList::*}
# Set "{_top}" to the last element out of the sorted votes.
set {_top} to last element out of {_sorted::*}
# If {_top} isn't set .
if {_top} is not set:
# Broadcast that none voted in the right world.
broadcast "&eNone voted!" in world("{@World}")
# Do nothing else.
stop
# Loop the vote list.
loop {AmongUs::Game::VoteList::*}:
# If loop-value is {_top}.
loop-value is {_top}
# If {_p} is set.
if {_p} is set:
# Broadcast that there was a tie in the right world.
broadcast "&eTie!" in world("{@World}")
# Do nothing else
stop
# Set {_p} to the loop-index.
set {_p} to loop-index
# Broadcast that the {_p} is getting ejected and had {_top} votes in the right world.
broadcast "&eEjecting &6%{_p}%&e, they had &6%{_top}% &evotes!" in world("{@World}")
# Eject the player using the function.
ejectPlayer({_p} parsed as player) # IMPLEMENT LATER
# Delete all of the Emergency Meeting seats.
delete {AmongUs::Game::EmergencyMeeting::Seats::*}
# All of the seats location for emergency meetings (& reporting bodies).
add location(120, 34, 388, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(120, 34, 389, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(120, 34, 387, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(119, 34, 391, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(118, 34, 391, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(117, 34, 391, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(116, 34, 389, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(116, 34, 388, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(116, 34, 387, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(117, 34, 386, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(118, 34, 386, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(119, 34, 386, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
# !!! I STOPPED COMMENTING HERE !!!
# !!! I STOPPED COMMENTING HERE !!!
# !!! I STOPPED COMMENTING HERE !!!
every 2 seconds:
if {AmongUs::Game::Started} is true:
set {_players::*} to all players in world("{@World}")
set {_playerscount} to size of {_players::*}
if {_playerscount} is less than 1: # !!! CHANGE TO 3 !!!
set {AmongUs::Game::Started} to false
winGame("imposters")
if size of {AmongUs::Game::Imposters::*} is less than 1:
winGame("crewmates")
if size of {AmongUs::Game::Crewmates::*} is less than 1: # !!! CHANGE TO 2 !!!
winGame("imposters")
on script load:
send "&8--------------------------------------------------------------" to console
send "&c&lAmong Us &eby &6Creaous_ &erunning &6{@Version} &e:)" to console
# Use the reset everything function.
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is true:
wait 1 second
send "%{AmongUs::SecurityCheck::ishallnotsteal::MessageConsole}%" to console
else:
resetEverything()
on inventory click:
if inventory name of player's current inventory is "&0Fuel":
if clicked slot is 13:
close player's inventory
finishTask(player, "Storage: Fuel")
if inventory name of player's current inventory is "&0Chart Course":
cancel event
if name of clicked slot is "&b4":
if {AmongUs::Game::TEMP::%player%::Tasks::NavChart} is higher than 2:
close player's inventory
finishTask(player, "Nav: Chart")
delete {AmongUs::Game::TEMP::%player%::Tasks::NavChart}
else if name of clicked slot is "&43":
add 1 to {AmongUs::Game::TEMP::%player%::Tasks::NavChart}
send "&aAdded 3 (click me in order from bottom to top)!"
else if name of clicked slot is "&c2":
add 1 to {AmongUs::Game::TEMP::%player%::Tasks::NavChart}
send "&aAdded 2 (click me in order from bottom to top)!"
else if name of clicked slot is "&a1":
add 1 to {AmongUs::Game::TEMP::%player%::Tasks::NavChart}
send "&aAdded 1 (click me in order from bottom to top)!"
if inventory name of player's current inventory is "&0Fix wiring (click the glass panes)":
cancel event
#set slot 28 of {_p}'s current inventory to a white stained glass pane named "&b&lBlue Wire" with lore "Click me to connect."
if {AmongUs::Game::TEMP::%player%::Tasks::Wiring} is higher than 2:
close player's inventory
send "&a&lConnected all wires!"
finishTask(player, "Electric: Fix")
delete {AmongUs::Game::TEMP::%player%::Tasks::Wiring}
else:
if name of clicked slot is "&c&lRed Wire":
add 1 to {AmongUs::Game::TEMP::%player%::Tasks::Wiring}
set slot 0 of player's current inventory to red stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 1 of player's current inventory to red stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 2 of player's current inventory to red stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 3 of player's current inventory to red stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 4 of player's current inventory to red stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 5 of player's current inventory to red stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 6 of player's current inventory to red stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 7 of player's current inventory to red stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 8 of player's current inventory to red stained glass pane named "&aConnected" with lore "&eConnected to wire!"
send "&c&lConnected red wire!"
else if name of clicked slot is "&e&lYellow Wire":
add 1 to {AmongUs::Game::TEMP::%player%::Tasks::Wiring}
set slot 9 of player's current inventory to yellow stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 10 of player's current inventory to yellow stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 11 of player's current inventory to yellow stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 12 of player's current inventory to yellow stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 13 of player's current inventory to yellow stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 14 of player's current inventory to yellow stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 15 of player's current inventory to yellow stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 16 of player's current inventory to yellow stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 17 of player's current inventory to yellow stained glass pane named "&aConnected" with lore "&eConnected to wire!"
send "&e&lConnected yellow wire!"
else if name of clicked slot is "&d&lPink Wire":
add 1 to {AmongUs::Game::TEMP::%player%::Tasks::Wiring}
set slot 18 of player's current inventory to pink stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 19 of player's current inventory to pink stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 20 of player's current inventory to pink stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 21 of player's current inventory to pink stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 22 of player's current inventory to pink stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 23 of player's current inventory to pink stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 24 of player's current inventory to pink stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 25 of player's current inventory to pink stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 26 of player's current inventory to pink stained glass pane named "&aConnected" with lore "&eConnected to wire!"
send "&d&lConnected pink wire!"
else if name of clicked slot is "&b&lBlue Wire":
add 1 to {AmongUs::Game::TEMP::%player%::Tasks::Wiring}
set slot 27 of player's current inventory to blue stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 28 of player's current inventory to blue stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 29 of player's current inventory to blue stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 30 of player's current inventory to blue stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 31 of player's current inventory to blue stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 32 of player's current inventory to blue stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 33 of player's current inventory to blue stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 34 of player's current inventory to blue stained glass pane named "&aConnected" with lore "&eConnected to wire!"
set slot 35 of player's current inventory to blue stained glass pane named "&aConnected" with lore "&eConnected to wire!"
send "&b&lConnected blue wire!"
# FUNCTIONS:
function winGame(t: text):
if {_t} is "crewmates":
broadcast "&aCrewmates win!" in world("{@World}")
set gamemode of all players to survival
set {_loc} to location(122, 6, 496, "{@World}" parsed as world)
set yaw of {_loc} to -269
set pitch of {_loc} to 4
teleport all players in world("{@World}") to {_loc}
# Run the resetEverything function.
resetEverything()
# Loop all players.
loop all players:
# If the loop player is in the world.
if loop-player's world is "{@World}":
# Set the nametag back to normal.
set loop-player's nametag to loop-player's name
reveal loop-player from all players
# Do it again just in case.
reveal all players from all players in world("{@World}")
wait 3 second
reveal all players from all players in world("{@World}")
# Set the game started to true
set {AmongUs::Game::Started} to false
else if {_t} is "imposters":
broadcast "&cImposters win!" in world("{@World}")
set gamemode of all players to survival
set {_loc} to location(122, 6, 496, "{@World}" parsed as world)
set yaw of {_loc} to -269
set pitch of {_loc} to 4
teleport all players in world("{@World}") to {_loc}
# Loop all players.
loop all players:
# If the loop player is in the world.
if loop-player's world is "{@World}":
# Set the nametag back to normal.
set loop-player's nametag to loop-player's name
reveal loop-player from all players
# Do it again just in case.
reveal all players from all players in world("{@World}")
wait 3 second
reveal all players from all players in world("{@World}")
# Set the game started to true
set {AmongUs::Game::Started} to false
# Run the resetEverything function.
resetEverything()
# Set the game started to true
set {AmongUs::Game::Started} to false
function ejectPlayer(p: player):
send "&eGoodbye!" to {_p}
hide all players from all players in world("{@World}")
reveal {_p} from all players in world("{@World}")
set {_loc} to location(116, 35, 356, "{@World}" parsed as world)
set yaw of {_loc} to -180
set pitch of {_loc} to 1
teleport all players in world("{@World}") to {_loc}
set {_loc2} to location(116, 33, 352, "{@World}" parsed as world)
set yaw of {_loc2} to 1
set pitch of {_loc2} to 5
teleport {_p} to {_loc2}
wait 3 second
set block at location(113, 35, 351, "{@World}" parsed as world) to air
wait 2 second
set block at location(113, 35, 351, "{@World}" parsed as world) to redstone block
wait 3 second
reveal all players from all players in world("{@World}")
loop all players:
# Set {_players::*} to all of the players.
set {_players::*} to all players in world("{@World}")
# Set {_playerscount} to the amount of players.
set {_playerscount} to size of {_players::*}
# Loop for how many players are on the server.
loop {_playerscount} times:
# set {_var} to a random emergency meeting seat.
set {_var} to random element out of {AmongUs::Game::EmergencyMeeting::Seats::*}
# Set {_var2} to a random player in the world.
set {_var2} to random element out of {_players::*}
# Remove {_var} from the emergency meeting seats.
remove {_var} from {AmongUs::Game::EmergencyMeeting::Seats::*}
# Remove {_var2} from the players list.
remove {_var2} from {_players::*}
# Teleport the player to the emergency meeting seat.
teleport {_var2} to {_var}
# Do it again just in case.
reveal all players from all players in world("{@World}")
wait 3 second
reveal all players from all players in world("{@World}")
function callMeeting(p: player, t: text):
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
# If the 2nd argument is "emergencyMeeting".
if {_t} is "emergencyMeeting":
# If the Emergency Meeting Cooldown is true.
if {AmongUs::EmergencyMeeting::OnCooldown} is true:
# Send a message saying that it is on cooldown and how long it has left.
send "&eEmergency meeting is currently on cooldown for &6%{AmongUs::EmergencyMeeting::Time}% &esecond(s)." to {_p}
else:
loop all players:
if loop-player's world is "{@World}":
set {AmongUs::Game::Voted::%loop-player%} to false
delete {AmongUs::Game::Votes::%loop-player%::*}
# Set the Emergency Meeting Cooldown to true.
set {AmongUs::EmergencyMeeting::OnCooldown} to true
# Set the Emergency Meeting Time to the EmergencyMeetingCooldown variable.
set {AmongUs::EmergencyMeeting::Time} to {@EmergencyMeetingCooldown}
# Broadcast to the entire world that the player called an emergency meeting.
broadcast "&6%{_p}% &ehas called an emergency meeting!" in world("{@World}")
broadcast "&eTo vote on someone, just type their name in chat or type &cskip &eto skip the vote."
# Loop all people on server.
loop all players:
# If the player is in the Among Us world.
if loop-player's world is "{@World}":
# Set {_players::*} to all of the players.
set {_players::*} to all players in world("{@World}")
# Set {_playerscount} to the amount of players.
set {_playerscount} to size of {_players::*}
# Loop for how many players are on the server.
loop {_playerscount} times:
# set {_var} to a random emergency meeting seat.
set {_var} to random element out of {AmongUs::Game::EmergencyMeeting::Seats::*}
# Set {_var2} to a random player in the world.
set {_var2} to random element out of {_players::*}
# Remove {_var} from the emergency meeting seats.
remove {_var} from {AmongUs::Game::EmergencyMeeting::Seats::*}
# Remove {_var2} from the players list.
remove {_var2} from {_players::*}
# Teleport the player to the emergency meeting seat.
teleport {_var2} to {_var}
# Set the allowed to talk variable to true.
set {AmongUs::Game::AllowedToTalk} to true
set {AmongUs::Game::VoteTimer} to now
clear {AmongUs::Game::Vote::*}
clear {AmongUs::Game::VoteList::*}
wait {@EmergencyMeeting} seconds
set {AmongUs::Game::AllowedToTalk} to false
# Delete everyone's voted.
delete {AmongUs::Game::Voted::*}
else if {_t} is "reportBody":
loop all players:
if loop-player's world is "{@World}":
set {AmongUs::Game::Voted::%loop-player%} to false
delete {AmongUs::Game::Votes::%loop-player%::*}
# Broadcast to the entire world that the player reported a body.
broadcast "&6%{_p}% &ehas reported a body!" in world("{@World}")
broadcast "&eTo vote on someone, just type their name in chat."
# Loop all people on server.
loop all players:
# If the player is in the Among Us world.
if loop-player's world is "{@World}":
# Set {_players::*} to all of the players.
set {_players::*} to all players in world("{@World}")
# Set {_playerscount} to the amount of players.
set {_playerscount} to size of {_players::*}
# Loop for how many players are on the server.
loop {_playerscount} times:
# set {_var} to a random emergency meeting seat.
set {_var} to random element out of {AmongUs::Game::EmergencyMeeting::Seats::*}
# Set {_var2} to a random player in the world.
set {_var2} to random element out of {_players::*}
# Remove {_var} from the emergency meeting seats.
remove {_var} from {AmongUs::Game::EmergencyMeeting::Seats::*}
# Remove {_var2} from the players list.
remove {_var2} from {_players::*}
# Teleport the player to the emergency meeting seat.
teleport {_var2} to {_var}
# Set the allowed to talk variable to true.
set {AmongUs::Game::AllowedToTalk} to true
set {AmongUs::Game::VoteTimer} to now
clear {AmongUs::Game::Vote::*}
clear {AmongUs::Game::VoteList::*}
wait {@EmergencyMeeting} seconds
set {AmongUs::Game::AllowedToTalk} to false
# Delete everyone's voted.
delete {AmongUs::Game::Voted::*}
function freezePlayer(p: player):
set {AmongUs::Game::Freezed::%{_p}%} to true
set {_x} to x coord of {_p}
set {_z} to z coord of {_p}
set {_y} to y coord of {_p}
while {_p} is online:
if {AmongUs::Game::Freezed::%{_p}%} is set:
if x coord of {_p} is not {_x}:
teleport {_p} to location({_x}, {_y}, {_z}, world of {_p})
if z coord of {_p} is not {_z}:
teleport {_p} to location({_x}, {_y}, {_z}, world of {_p})
if y coord of {_p} is not {_y}:
teleport {_p} to location({_x}, {_y}, {_z}, world of {_p})
wait 3 tick
else:
stop
function DoTask(p: player, job: text):
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
if {_job} is "S: Fix Lights":
freezePlayer({_p})
# Send a lime green message saying repairing.
send "&aRepairing..." to {_p}
# Wait 2 seconds.
wait 5 seconds
finishTask({_p}, "%{_job}%")
set block at location(109, 38, 352, "{@World}" parsed as world) to redstone block
# Send a lime green message saying repaired.
send "&aRepaired!" to {_p}
else if {_job} is "S: Comms":
freezePlayer({_p})
# Send a lime green message saying repairing.
send "&aRepairing..." to {_p}
# Wait 2 seconds.
wait 5 seconds
finishTask({_p}, "%{_job}%")
set block at location(149, 34, 376, "{@World}" parsed as world) to air
set block at location(149, 35, 376, "{@World}" parsed as world) to air
set block at location(149, 36, 376, "{@World}" parsed as world) to air
set block at location(149, 34, 375, "{@World}" parsed as world) to air
set block at location(149, 35, 375, "{@World}" parsed as world) to air
set block at location(149, 36, 375, "{@World}" parsed as world) to air
set block at location(149, 34, 374, "{@World}" parsed as world) to air
set block at location(149, 35, 374, "{@World}" parsed as world) to air
set block at location(149, 36, 374, "{@World}" parsed as world) to air
# Send a lime green message saying repaired.
send "&aRepaired!" to {_p}
else if {_job} is "S: Fix O2: 1":
freezePlayer({_p})
# Send a lime green message saying repairing.
send "&aRepairing..." to {_p}
# Wait 2 seconds.
wait 5 seconds
finishTask({_p}, "%{_job}%")
# Send a lime green message saying repaired.
send "&aRepaired!" to {_p}
add 1 to {AmongUs::Game::Sabotage::O2::Finished}
if {AmongUs::Game::Sabotage::O2::Finished} is 2:
set {AmongUs::Game::Sabotage::O2::Finished} to 0
set {AmongUs::Game::Sabotage::O2} to false
else if {_job} is "S: Fix O2: 2":
freezePlayer({_p})
# Send a lime green message saying repairing.
send "&aRepairing..." to {_p}
# Wait 2 seconds.
wait 5 seconds
finishTask({_p}, "%{_job}%")
# Send a lime green message saying repaired.
send "&aRepaired!" to {_p}
add 1 to {AmongUs::Game::Sabotage::O2::Finished}
if {AmongUs::Game::Sabotage::O2::Finished} is 2:
set {AmongUs::Game::Sabotage::O2::Finished} to 0
set {AmongUs::Game::Sabotage::O2} to false
else if {AmongUs::Game::Info::Tasks::%{_p}%::*} contains {_job}:
if {_job} is "Medbay: Scan":
freezePlayer({_p})
open chest with 3 rows named "&0SCAN-MO-TRON-2000" to {_p}
wait 1 second
format slot 10 of {_p} with paper named "&7NAME: &e%{_p}%" to be unstealable
wait 1 second
format slot 12 of {_p} with wool named "&7PING: &e%{_p}'s ping%" to be unstealable
wait 1 second
format slot 14 of {_p} with beacon named "&7HEIGHT: &e3' 6""" to be unstealable
wait 1 second
format slot 16 of {_p} with anvil named "&7WEIGHT: &e92lb" to be unstealable
wait 2 seconds
close {_p}'s inventory
finishTask({_p}, "%{_job}%")
else if {_job} is "Storage: Fuel":
freezePlayer({_p})
open chest with 3 rows named "&0Fuel" to {_p}
wait 3 ticks
set slot 13 of {_p}'s current inventory to a lava bucket named "&4&lFuel" with lore "Click me to restore fuel."
else if {_job} is "Electric: Upload":
freezePlayer({_p})
send "&a&lUploading Data..." to {_p}
wait 5 seconds
send "&a&lUploaded Data!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "Cafeteria: Upload":
freezePlayer({_p})
send "&a&lUploading Data..." to {_p}
wait 5 seconds
send "&a&lUploaded Data!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "Admin: Swipe Card":
chance of 10%:
send "&aSuccess!" to {_p}
finishTask({_p}, "Admin: Swipe Card")
close {_p}'s inventory
else:
send "&cFailure!" to {_p}
else if {_job} is "Comms: Upload":
freezePlayer({_p})
send "&a&lUploading Data..." to {_p}
wait 5 seconds
send "&a&lUploaded Data!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "Comms: Divert":
freezePlayer({_p})
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# Send a lime green message saying repairing.
send "&aRepairing..." to {_p}
# Wait 2 seconds.
wait 2 seconds
finishTask({_p}, "%{_job}%")
# Send a lime green message saying repaired.
send "&aRepaired!" to {_p}
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# IMPLEMENT LATER.
else if {_job} is "Electric: Upload":
freezePlayer({_p})
send "&a&lUploading Data..." to {_p}
wait 5 seconds
send "&a&lUploaded Data!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "Cafeteria: Empty":
freezePlayer({_p})
send "&a&lThrowing out garbage." to {_p}
wait 2 seconds
send "&a&lThrew out the garbage!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "Electric: Fix":
freezePlayer({_p})
open chest with 4 rows named "&0Fix wiring (click the glass panes)" to {_p}
wait 3 ticks
set slot 0 of {_p}'s current inventory to red stained glass named "&c&lRed Wire" with lore "Click me to connect!"
format slot 19 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 2 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 3 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 4 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 5 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 6 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 7 of {_p} with white stained glass pane named "&f" to be unstealable
set slot 8 of {_p}'s current inventory to red stained glass named "&c&lRed Wire" with lore "Click me to connect!"
set slot 9 of {_p}'s current inventory to yellow stained glass named "&e&lYellow Wire" with lore "Click me to connect!"
format slot 10 of {_p} with white stained glass pane named "&f" to be unstealable # HERE
format slot 11 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 12 of {_p} with white stained glass pane named "&f" to be unstealable # HERE
format slot 13 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 14 of {_p} with white stained glass pane named "&f" to be unstealable # HERE
format slot 15 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 16 of {_p} with white stained glass pane named "&f" to be unstealable # HERE
set slot 17 of {_p}'s current inventory to yellow stained glass named "&e&lYellow Wire" with lore "Click me to connect!"
set slot 18 of {_p}'s current inventory to pink stained glass named "&d&lPink Wire" with lore "Click me to connect!"
format slot 19 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 20 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 21 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 22 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 23 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 24 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 25 of {_p} with white stained glass pane named "&f" to be unstealable
set slot 26 of {_p}'s current inventory to pink stained glass named "&d&lPink Wire" with lore "Click me to connect!"
set slot 27 of {_p}'s current inventory to blue stained glass pane named "&b&lBlue Wire" with lore "Click me to connect!"
format slot 28 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 29 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 30 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 31 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 32 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 33 of {_p} with white stained glass pane named "&f" to be unstealable
format slot 34 of {_p} with white stained glass pane named "&f" to be unstealable
set slot 35 of {_p}'s current inventory to blue stained glass pane named "&b&lBlue Wire" with lore "Click me to connect!"
finishTask({_p}, "%{_job}%")
else if {_job} is "Electric: Calibrate":
freezePlayer({_p})
send "&e&lCalibrating Yellow..." to {_p}
wait 5 seconds
send "&e&lCalibrated Yellow!" to {_p}
wait 1 second
send "&9&lCalibrating Blue..." to {_p}
wait 5 seconds
send "&9&lCalibrated Blue!" to {_p}
wait 1 second
send "&b&lCalibrating Aqua..." to {_p}
wait 5 seconds
send "&b&lCalibrated Aqua!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "Upper Engine":
freezePlayer({_p})
# Send a lime green message saying repairing.
send "&aAligining.." to {_p}
# Wait 2 seconds.
wait 2 seconds
finishTask({_p}, "%{_job}%")
# Send a lime green message saying repaired.
send "&aAligined!" to {_p}
else if {_job} is "Lower Engine":
freezePlayer({_p})
# Send a lime green message saying repairing.
send "&aAligining.." to {_p}
# Wait 2 seconds.
wait 2 seconds
finishTask({_p}, "%{_job}%")
# Send a lime green message saying repaired.
send "&aAligined!" to {_p}
else if {_job} is "Nav: Chart":
freezePlayer({_p})
open chest with 6 rows named "&0Chart Course" to {_p}
set slot 34 of {_p}'s current inventory to iron block named "&b4" with lore "Click me in order of bottom to top!"
set slot 15 of {_p}'s current inventory to iron block named "&43" with lore "Click me in order of bottom to top!"
set slot 21 of {_p}'s current inventory to iron block named "&c2" with lore "Click me in order of bottom to top!"
set slot 37 of {_p}'s current inventory to iron block named "&a1" with lore "Click me in order of bottom to top!"
else if {_job} is "Nav: Upload":
freezePlayer({_p})
send "&a&lUploading Data..." to {_p}
wait 5 seconds
send "&a&lUploaded Data!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "Nav: Divert":
freezePlayer({_p})
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# Send a lime green message saying repairing.
send "&aRepairing..." to {_p}
# Wait 2 seconds.
wait 2 seconds
finishTask({_p}, "%{_job}%")
# Send a lime green message saying repaired.
send "&aRepaired!" to {_p}
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# IMPLEMENT LATER.
else if {_job} is "Nav: Stabilize":
freezePlayer({_p})
# Send a lime green message saying repairing.
send "&aStabilizing.." to {_p}
# Wait 2 seconds.
wait 2 seconds
finishTask({_p}, "%{_job}%")
# Send a lime green message saying repaired.
send "&aStabilized!" to {_p}
else if {_job} is "O2: Empty chute":
freezePlayer({_p})
send "&a&lEmptying chute." to {_p}
wait 2 seconds
send "&a&lEmptied chute!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "O2: Upload":
freezePlayer({_p})
send "&a&lUploading Data..." to {_p}
wait 5 seconds
send "&a&lUploaded Data!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "O2: Clean filter":
freezePlayer({_p})
send "&a&lCleaning..." to {_p}
wait 5 seconds
send "&a&lCleaned!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "Security: Divert":
freezePlayer({_p})
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# Send a lime green message saying repairing.
send "&aRepairing..." to {_p}
# Wait 2 seconds.
wait 2 seconds
finishTask({_p}, "%{_job}%")
# Send a lime green message saying repaired.
send "&aRepaired!" to {_p}
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# IMPLEMENT LATER.
else if {_job} is "Shields: Prime":
freezePlayer({_p})
send "&a&lPriming..." to {_p}
wait 5 seconds
send "&a&lPrimed!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "Shields: Divert":
freezePlayer({_p})
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# Send a lime green message saying repairing.
send "&aRepairing..." to {_p}
# Wait 2 seconds.
wait 2 seconds
finishTask({_p}, "%{_job}%")
# Send a lime green message saying repaired.
send "&aRepaired!" to {_p}
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# IMPLEMENT LATER.
else if {_job} is "Weapons: Divert":
freezePlayer({_p})
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# Send a lime green message saying repairing.
send "&aRepairing..." to {_p}
# Wait 2 seconds.
wait 2 seconds
finishTask({_p}, "%{_job}%")
# Send a lime green message saying repaired.
send "&aRepaired!" to {_p}
# IMPLEMENT LATER.
# IMPLEMENT LATER.
# IMPLEMENT LATER.
else if {_job} is "Weapons: Clear":
freezePlayer({_p})
send "&a&lClearing asteroids..." to {_p}
wait 5 seconds
send "&a&lCleared asteroids!" to {_p}
finishTask({_p}, "%{_job}%")
else if {_job} is "Weapons: Upload":
freezePlayer({_p})
send "&a&lUploading Data..." to {_p}
wait 5 seconds
send "&a&lUploaded Data!" to {_p}
finishTask({_p}, "%{_job}%")
else:
freezePlayer({_p})
# Send a lime green message saying repairing.
send "&aRepairing..." to {_p}
# Wait 2 seconds.
wait 2 seconds
finishTask({_p}, "%{_job}%")
# Send a lime green message saying repaired.
send "&aRepaired!" to {_p}
function finishTask(p: player, t: text):
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
delete {AmongUs::Game::Freezed::%{_p}%}
remove "%{_t}%" from {AmongUs::Game::Info::Tasks::%{_p}%::*}
remove "%{_t}%" from {AmongUs::Game::Tasks::*}
send title "&eCompleted Task!" with subtitle "&6%{_t}%" to {_p} for 5 seconds
set {_slot} to "%size of {AmongUs::Game::Info::Tasks::%{_p}%::*}%" parsed as number
if {_t} contains "S: ":
stop
else:
# Add 1 to the players finished tasks.
add 1 to {AmongUs::Game::Info::Tasks::Finished::%{_p}%}
if {_slot} is 0:
# Send a message in gold saying they have finished all their tasks.
send "%NL%&6You have finished all your tasks!%NL%" to {_p}
# Broadcast as message in gold saying the player has finished all their tasks.
broadcast "&6%{_p}% &ehas finished all their tasks!" in world("{@World}")
if {AmongUs::Game::Started} is true:
if size of {AmongUs::Game::Tasks::*} is 0:
winGame("crewmates")
function sabotage(p: player, t: text):
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
if {_t} is "lights":
if {AmongUs::SabotageCooldown_Lights::OnCooldown} is true:
# Send a message saying that it is on cooldown and how long it has left.
send "&eSabotaging lights is currently on cooldown for &6%{AmongUs::SabotageCooldown_Lights::Time}% &esecond(s)." to {_p}
else:
# Set the Sabotage Cooldown Lights Cooldown to true.
set {AmongUs::SabotageCooldown_Lights::OnCooldown} to true
# Set the Sabotage Cooldown Lights Time to the SabotageCooldown_Lights variable.
set {AmongUs::SabotageCooldown_Lights::Time} to {@SabotageCooldown_Lights}
set {AmongUs::Game::Sabotage::O2} to true
send "&cYou have sabotaged the lights." to {_p}
broadcast "&cFix lights!" in world("{@World}")
else if {_t} is "o2":
if {AmongUs::SabotageCooldown_O2::OnCooldown} is true:
# Send a message saying that it is on cooldown and how long it has left.
send "&eSabotaging O2 is currently on cooldown for &6%{AmongUs::SabotageCooldown_O2::Time}% &esecond(s)." to {_p}
else:
# Set the Sabotage Cooldown Lights Cooldown to true.
set {AmongUs::SabotageCooldown_O2::OnCooldown} to true
# Set the Sabotage Cooldown Lights Time to the SabotageCooldown_Lights variable.
set {AmongUs::SabotageCooldown_O2::Time} to {@SabotageCooldown_O2}
set {AmongUs::Game::Sabotage::O2} to true
send "&cYou have sabotaged the O2." to {_p}
broadcast "&cFix O2!" in world("{@World}")
else if {_t} is "comms":
if {AmongUs::SabotageCooldown_Comms::OnCooldown} is true:
# Send a message saying that it is on cooldown and how long it has left.
send "&eSabotaging comms is currently on cooldown for &6%{AmongUs::SabotageCooldown_Comms::Time}% &esecond(s)." to {_p}
else:
# Set the Sabotage Cooldown Lights Cooldown to true.
set {AmongUs::SabotageCooldown_Comms::OnCooldown} to true
# Set the Sabotage Cooldown Lights Time to the SabotageCooldown_Lights variable.
set {AmongUs::SabotageCooldown_Comms::Time} to {@SabotageCooldown_Comms}
set block at location(149, 34, 376, "{@World}" parsed as world) to iron block
set block at location(149, 35, 376, "{@World}" parsed as world) to iron block
set block at location(149, 36, 376, "{@World}" parsed as world) to iron block
set block at location(149, 34, 375, "{@World}" parsed as world) to iron block
set block at location(149, 35, 375, "{@World}" parsed as world) to iron block
set block at location(149, 36, 375, "{@World}" parsed as world) to iron block
set block at location(149, 34, 374, "{@World}" parsed as world) to iron block
set block at location(149, 35, 374, "{@World}" parsed as world) to iron block
set block at location(149, 36, 374, "{@World}" parsed as world) to iron block
send "&cYou have sabotaged the comms." to {_p}
broadcast "&cFix comms!" in world("{@World}")
function startGame(p: player):
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
if {AmongUs::Game::Started} is false:
broadcast "&6%{_p}% &ehas started the game!%nl%" in world("{@World}")
wait 1 second
broadcast "&6Starting in %nl%&e5 second(s)" in world("{@World}")
wait 1 second
broadcast "&e4 second(s)" in world("{@World}")
wait 1 second
broadcast "&e3 second(s)" in world("{@World}")
wait 1 second
broadcast "&e2 second(s)" in world("{@World}")
wait 1 second
broadcast "&e1 second(s)" in world("{@World}")
wait 1 second
# Loop all players.
loop all players:
# If the loop player is in the world.
if loop-player's world is "{@World}":
# Set loop players nametag to blank.
set loop-player's nametag to ""
# Set {_players::*} to all of the players.
set {_players::*} to all players in world("{@World}")
# Set {_playerscount} to the amount of players.
set {_playerscount} to size of {_players::*}
# Loop for how many players are on the server.
loop {_playerscount} times:
# set {_var} to a random emergency meeting seat.
set {_var} to random element out of {AmongUs::Game::EmergencyMeeting::Seats::*}
# Set {_var2} to a random player in the world.
set {_var2} to random element out of {_players::*}
# Remove {_var} from the emergency meeting seats.
remove {_var} from {AmongUs::Game::EmergencyMeeting::Seats::*}
# Remove {_var2} from the players list.
remove {_var2} from {_players::*}
# Teleport the player to the emergency meeting seat.
teleport {_var2} to {_var}
if number of all players is greater than 7:
loop 2 times:
add a random element out of all players to {AmongUs::Game::Imposters::*}
else:
set {AmongUs::Game::Imposters::*} to a random element out of all players
loop all players:
if {AmongUs::Game::Imposters::*} contains "%Loop-player%":
send "&6%{AmongUs::Game::Imposters::*}% &eare &c&limposters!%nl%&7(note: others can't see this message)" to loop-player
set {AmongUs::Game::Info::Job::%loop-player%} to "imposter"
set loop-player's gamemode to survival
else:
send "&a&lYou are a crewmate!" to loop-player
set {AmongUs::Game::Info::Job::%loop-player%} to "crewmate"
add loop-player to {AmongUs::Game::Crewmates::*}
set loop-player's gamemode to survival
loop 4 times:
set {_var} to random element out of {AmongUs::Game::Tasks::*}
add {_var} to {AmongUs::Game::Info::Tasks::%loop-player%::*}
remove {_var} from {AmongUs::Game::Tasks::*}
delete {AmongUs::Game::Tasks::*}
loop all players:
if loop-player's world is "{@World}":
# Add all real tasks to the Tasks variable.
add {AmongUs::Game::Info::Tasks::%loop-player%::*} to {AmongUs::Game::Tasks::*}
# Set the game started to true.
set {AmongUs::Game::Started} to true
# Set the allowed to talk variable to false.
set {AmongUs::Game::AllowedToTalk} to false
else:
# Say to the host that the game already loefstarted.
send "&6The game has already started" to {_p}
function endGame(p: player):
if {AmongUs::SecurityCheck::ishallnotsteal::Failed} is false:
if {AmongUs::Game::Started} is true:
broadcast "&6%{_p}% &ehas ended the game!" in world("{@World}")
# Loop all players.
loop all players:
# If the loop player is in the world.
if loop-player's world is "{@World}":
# Set the nametag back to normal.
set loop-player's nametag to loop-player's name
# Set the game started to true
set {AmongUs::Game::Started} to false
# Run the resetEverything function.
resetEverything()
else:
# Say to the host that no game has started.
send "&6No game has started yet." to {_p}
function resetEverything():
# Delete the Emergency Meeting Time.
delete {AmongUs::EmergencyMeeting::Time}
# Delete the Emergency Meeting Cooldown.
delete {AmongUs::EmergencyMeeting::OnCooldown}
# Set the game started to false.
set {AmongUs::Game::Started} to false
# Delete everyone's game info.
delete {AmongUs::Game::Info::*}
# Delete all of the tasks.
delete {AmongUs::Game::Tasks::*}
# Delete the current imposters.
delete {AmongUs::Game::Imposters::*}
# Delete the current crewmates.
delete {AmongUs::Game::Crewmates::*}
# Delete all of the Emergency Meeting seats.
delete {AmongUs::Game::EmergencyMeeting::Seats::*}
# Delete all frozen players.
delete {AmongUs::Game::Freezed::*}
# Set O2 sabotaged finished counter to 0.
set {AmongUs::Game::Sabotage::O2::Finished} to 0
# Set O2 sabotaged to false.
set {AmongUs::Game::Sabotage::O2} to false
delete {AmongUs::Game::Voted::*}
delete {AmongUs::Game::VoteList::*}
# Set allowed to talk in chat varible to true.
set {AmongUs::Game::AllowedToTalk} to true
# Add all real tasks to the Tasks variable.
add "Lower Engine" to {AmongUs::Game::Tasks::*}
add "Upper Engine" to {AmongUs::Game::Tasks::*}
add "Cafeteria: Empty" to {AmongUs::Game::Tasks::*}
add "Cafeteria: Upload" to {AmongUs::Game::Tasks::*}
add "Weapons: Clear" to {AmongUs::Game::Tasks::*}
add "Weapons: Upload" to {AmongUs::Game::Tasks::*}
add "Weapons: Divert" to {AmongUs::Game::Tasks::*}
add "O2: Empty Chute" to {AmongUs::Game::Tasks::*}
add "O2: Upload" to {AmongUs::Game::Tasks::*}
add "O2: Clean filter" to {AmongUs::Game::Tasks::*}
add "Nav: Chart" to {AmongUs::Game::Tasks::*}
add "Nav: Upload" to {AmongUs::Game::Tasks::*}
add "Nav: Divert" to {AmongUs::Game::Tasks::*}
add "Nav: Stabilize" to {AmongUs::Game::Tasks::*}
add "Shields: Divert" to {AmongUs::Game::Tasks::*}
add "Shields: Prime" to {AmongUs::Game::Tasks::*}
add "Comms: Divert" to {AmongUs::Game::Tasks::*}
add "Comms: Upload" to {AmongUs::Game::Tasks::*}
add "Storage: Fuel" to {AmongUs::Game::Tasks::*}
add "Admin: Swipe Card" to {AmongUs::Game::Tasks::*}
add "Electric: Calibrate" to {AmongUs::Game::Tasks::*}
add "Electric: Fix" to {AmongUs::Game::Tasks::*}
add "Electric: Upload" to {AmongUs::Game::Tasks::*}
add "Reactor: Start" to {AmongUs::Game::Tasks::*}
add "Reactor: Unlock" to {AmongUs::Game::Tasks::*}
add "Security: Divert" to {AmongUs::Game::Tasks::*}
add "Medbay: Scan" to {AmongUs::Game::Tasks::*}
# Add all locations for emergency meeting seats to the Seats variable.
add location(120, 34, 388, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(120, 34, 389, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(120, 34, 387, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(119, 34, 391, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(118, 34, 391, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(117, 34, 391, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(116, 34, 389, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(116, 34, 388, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(116, 34, 387, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(117, 34, 386, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(118, 34, 386, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
add location(119, 34, 386, "{@World}" parsed as world) to {AmongUs::Game::EmergencyMeeting::Seats::*}
on script load:
# I shall not steal ;)
if name of script is not "AmongUs":
# Gibberish to confuse YOU from removing the security checks failure.
# NO malware or virus is included in this, please do not take this down.
set {_i} to {_a}
set {_s} to {_b}
set {_h} to {_c}
set {_a} to {_h}
set {_l} to {_a}
set {_l} to {_a}
set {_n} to "not"
set {_o} to {_n}
set {_t} to {_e}
set {_s} to {_i}
set {_t} to {_e}
set {_e} to {_n}
set {_a} to {_n}
set {_l} to {_a}
set {_b} to "steal"
set {_q} to {_l}
set {_r} to {_q}
set {_e} to {_r}
set {_u} to {_t}
set {_a} to "%{_a}%"
set {_p} to "%{_b}%"
set {_p} to "%{_n}%"
set {_v} to "ishall"
set {_g} to {_v}
# Before YOU delete this line, just think for a moment. What about if YOU were developing free Skripts?
# Would YOU want people removing YOUR code and re-uploading it? I don't think so. Please do not steal.
# "ishallnotsteal" is the keyphrase. Failing all of the security checks. Thanks for downloading.
send "&6Congratulations, all security checks failed! &e%{_g}%%{_a}%%{_b}%" to console
send "&cPlease contact support, here: &[email protected]" to console
set {AmongUs::SecurityCheck::ishallnotsteal::Failed} to true
set {AmongUs::SecurityCheck::ishallnotsteal::MessageConsole} to "&eHmmm, it seems like you are using a modified copy, please discard the copy immediately. I thought you said ""I shall not steal""?"
set {AmongUs::SecurityCheck::ishallnotsteal::MessageAdmin} to "&cIt seems like the owner of this server is using a modified copy of the Among Us skript, please tell them to discard the copy immediately."
else:
# Say that YOU have passed all of the security checks :)
send "&6Congratulations, all security checks passed!" to console
set {AmongUs::SecurityCheck::ishallnotsteal::Failed} to false
# THE END OF THE LOADING BANNER
send "&8--------------------------------------------------------------" to console
# Please do not steal me!
# Please do not steal me!
# Please do not steal me!
# Please do not steal me!
# Please do not steal me!
# Please do not steal me!