options: prefix: &8[&aRR&8] file: plugins/Skript/Data/RussianRoulette.yml on quit: if yaml list "Queue" from file "{@file}" contains "%player%": if yaml value "GameInProgress" from file "{@file}" is false: remove "%player%" from yaml list "Queue" from file "{@file}" command /rr []: description: Play Russian Roulette! aliases: /russianroulette trigger: if arg-1 is not set: send "{@prefix} &cInvalid arguments! /rr [join;leave]" stop if arg-1 is "join": set {_queue::*} to yaml list "Queue" from file "{@file}" set {_now} to 0 loop {_queue::*}: if "%loop-value%" is "%player%": send "{@prefix} &cYou're already in the queue!" stop add 1 to {_now} if yaml value "GameInProgress" from file "{@file}" is true: send "{@prefix} &cA game is already in progress!" stop add 1 to {_now} add "%player%" to yaml list "Queue" from file "{@file}" broadcast "{@prefix} &a%player% has joined the queue! (%{_now}%/6)" if {_now} is 6: execute console command "/rr start" stop if arg-1 is "leave": set {_queue::*} to yaml list "Queue" from file "{@file}" if {_queue::*} doesn't contain "%player%": send "{@prefix} &cYou're not in the queue!" stop if yaml value "GameInProgress" from file "{@file}" is true: send "{@prefix} &cYou can't leave as the game is in progress!" stop set {_remain} to -1 loop {_queue::*}: add 1 to {_remain} remove "%player%" from yaml list "Queue" from file "{@file}" broadcast "{@prefix} &c%player% has left the queue! (%{_remain}%/6)" stop if arg-1 is "check": if yaml value "GameInProgress" from file "{@file}" is true: send "{@prefix} &cA game is already in progress!" stop set {_queue::*} to yaml list "Queue" from file "{@file}" set {_queue} to 0 loop {_queue::*}: add 1 to {_queue} send "{@prefix} &aThere are %{_queue}%/6 players in the queue!" to player stop if executor is console: if arg-1 is "start": set {_queue::*} to yaml list "Queue" from file "{@file}" set yaml value "GameInProgress" from file "{@file}" to true broadcast "{@prefix} &aA game has started! An announcement will be made when it is over!" loop {_queue::*}: make loop-value parsed as player execute command "/spawn" broadcast "&cFirst player will be killed in Russian Roulette in 30 seconds!" wait 30 seconds set {_dead} to a random element out of {_queue::*} remove "%{_dead}%" from {_queue::*} set {_dead} to {_dead} parsed as an offlineplayer kill {_dead} remove "%{_dead}%" from yaml list "Queue" from file "{@file}" broadcast "&a%{_dead}% &cwas killed in Russian Roulette! Next kill in 15 seconds!" wait 15 seconds set {_dead} to a random element out of {_queue::*} remove "%{_dead}%" from {_queue::*} set {_dead} to {_dead} parsed as an offlineplayer kill {_dead} remove "%{_dead}%" from yaml list "Queue" from file "{@file}" broadcast "&a%{_dead}% &cwas killed in Russian Roulette! Next kill in 15 seconds!" wait 15 seconds set {_dead} to a random element out of {_queue::*} remove "%{_dead}%" from {_queue::*} set {_dead} to {_dead} parsed as an offlineplayer kill {_dead} remove "%{_dead}%" from yaml list "Queue" from file "{@file}" broadcast "&a%{_dead}% &cwas killed in Russian Roulette! Next kill in 15 seconds!" wait 15 seconds set {_dead} to a random element out of {_queue::*} remove "%{_dead}%" from {_queue::*} set {_dead} to {_dead} parsed as an offlineplayer kill {_dead} remove "%{_dead}%" from yaml list "Queue" from file "{@file}" broadcast "&a%{_dead}% &cwas killed in Russian Roulette! Next kill in 15 seconds!" wait 15 seconds set {_dead} to a random element out of {_queue::*} remove "%{_dead}%" from {_queue::*} set {_dead} to {_dead} parsed as an offlineplayer kill {_dead} remove "%{_dead}%" from yaml list "Queue" from file "{@file}" broadcast "&a%{_dead}% &cwas killed in Russian Roulette! Next kill in 15 seconds!" set {_winner} to a random element out of {_queue::*} set {_winner} to {_winner} parsed as an offlineplayer remove "%{_winner}%" from yaml list "Queue" from file "{@file}" broadcast "{@prefix} &aThe game has ended! %{_winner}% was victorious!" set yaml value "GameInProgress" from file "{@file}" to false chance of 25%: add 32 dirt to {_winner}'s inventory add 500 to {_winner}'s account chance of 10%: execute console command "/lp user %{_winner}% parents add supporter" chance of 25%: execute console command "/giveworker %{_winner}% sand 15" chance of 25%: execute console command "/giveworker %{_winner}% cobble 15" chance of 10%: execute console command "/giveworker %{_winner}% wood 15" chance of 5%: execute console command "/giveworker %{_winner}% ore 90" else: send "{@prefix} &cInvalid arguments! /rr [join;leave]" stop else: send "{@prefix} &cInvalid arguments! /rr [join;leave]" stop