Advertisement
laivytkill

DanielSK-Gladiador 1.16.5 (Skript v2.2+)

May 17th, 2021
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.88 KB | None | 0 0
  1. # Código desenvolvido por DanielZinh#7616
  2. # LoS Skripters - EliteSK
  3.  
  4. # Permissões:
  5. # danielsk.gladiador.admin - Permissão para usar os comandos de admin
  6. # danielsk.gladiador.banned - Permissão que bloqueia irem ao gladiador
  7.  
  8. options:
  9.  
  10. # Limpar inventário se o evento for cancelado
  11. # CASO "ItensDefinidos" SEJA TRUE LIMPARÁ DE QUALQUER FORMA.
  12. LimparInventarioSeCancelado: false
  13.  
  14. # Coloque "true" se quer que os itens sejam fornecidos pelo próprio servidor
  15. # O player terá que ir de inventário vazio, o servidor dará todos os itens.
  16. # Você deverá definir os itens utilizando o comando /gladiador definiritens (com os itens no inventário).
  17. #
  18. # Caso esteja "false" o jogador deverá levar seus próprios itens.
  19. ItensDefinidos: true
  20.  
  21. # Segundos que irá esperar antes de teleportar o vencedor pro spawn (0 para desabilitar)
  22. TimeTeleport: 10 # Segundos
  23.  
  24. # Caso o player saia do gladiador de forma forçada (por comando ou por disconnect), limpar o inventário?
  25. # Observação: Só limpará caso o evento já tenha começado (CASO "ItensDefinidos" NÃO FOR TRUE, SE FOR LIMPARÁ DE QUALQUER FORMA.)
  26. #
  27. # RECOMENDADO DEIXAR TRUE CASO "ItensDefinidos" ESTEJA COMO TRUE.
  28. LimparItensAoSair: true
  29.  
  30. # Limpar inventário do Vencedor?
  31. # DEIXE COMO FALSE PARA LIMPAR SÓ CASO "ItensDefinidos" ESTIVER COMO TRUE
  32. VencedorLimparItens: false
  33.  
  34. # Recompensa (money)
  35. Recompensa: 10000
  36.  
  37. # Número mínimo necessário para iniciar o gladiador
  38. MinPlayers: 2
  39.  
  40. # Número máximo de pessoas (Coloque 0 para ilimitado)
  41. MaxPlayers: 5
  42.  
  43. # Número de avisos antes de começar
  44. Avisos: 3
  45.  
  46. # Tempo entre cada avisos
  47. AvisoTempo: 5 # Segundos
  48.  
  49.  
  50.  
  51.  
  52.  
  53. on load:
  54. send "[DanielSK] Código %script% iniciado." to console
  55. send "[DanielSK] Discord: DanielZinh##7616" to console
  56.  
  57. command /gladiador [<text>] [<player>]:
  58. aliases: glad, gladiator
  59. trigger:
  60.  
  61. if arg 1 is set:
  62. if arg 1 is "iniciar", "cancelar", "expulsar", "setspawn", "setsaida", "definiritens" or "getitens":
  63.  
  64. if player doesn't have permission "danielsk.gladiador.admin":
  65. send "&cSem permissão"
  66. else:
  67. if arg 1 is "cancelar" or "expulsar":
  68. {gladiador} is not set
  69. send "&cO gladiador não está aberto."
  70. stop
  71.  
  72. if arg 1 is "iniciar":
  73.  
  74. if {@ItensDefinidos} is true:
  75. {gladiador-itens::*} is not set
  76. send "&cVocê precisa definir os itens do gladiador usando &4/gladiador definiritens&c."
  77. stop
  78.  
  79. if {gladiador::spawn} is not set:
  80. send "&cDefina um ponto de nascimento do gladiador primeiro usando &6/gladiador setspawn&c."
  81. else if {gladiador::saida} is not set:
  82. send "&cDefina um ponto de saída do gladiador primeiro usando &6/gladiador setsaida&c."
  83. else if {gladiador} is set:
  84. send "&cO gladiador já está aberto."
  85. else:
  86.  
  87. set {_t} to ""
  88. if {@MaxPlayers} > 0:
  89. set {_t} to "/{@MaxPlayers}"
  90.  
  91. clear {gladiador::players::*}
  92. set {gladiador} to true
  93. while ({_avisos} + 0) < {@Avisos}:
  94.  
  95. if {gladiador} is not set:
  96. stop
  97.  
  98. add 1 to {_avisos}
  99. broadcast ""
  100. broadcast "&7[Gladiador] &7Gladiador iniciado. Utilize &f/gladiador participar&7."
  101. broadcast "&7[Gladiador] &7Membros no evento: &f%size of {gladiador::players::*}%%{_t}% &fplayers&7."
  102. broadcast ""
  103. wait {@AvisoTempo} seconds
  104.  
  105. if size of {gladiador::players::*} < {@MinPlayers}:
  106. broadcast ""
  107. broadcast "&c[Gladiador] &4O gladiador foi encerrado por falta"
  108. broadcast "&c[Gladiador] &4De jogadores, talvez na próxima!"
  109. broadcast ""
  110. make console execute command "gladiador cancelar %random element out of all players%"
  111. else:
  112. set {gladiador-started} to true
  113.  
  114. broadcast ""
  115. broadcast "&7[Gladiador] &7O evento &fGladiador &7iniciou!"
  116. broadcast "&7[Gladiador] &7A entrada foi fechada para novos"
  117. broadcast "&7[Gladiador] &7Participantes."
  118. broadcast ""
  119.  
  120. else if arg 1 is "cancelar":
  121.  
  122. delete {gladiador-started}
  123. teleport {gladiador::players::*} to {gladiador::saida}
  124.  
  125. if {@ItensDefinidos} is true:
  126. clear {gladiador::players::*}'s inventory
  127. else:
  128. {@LimparInventarioSeCancelado} is true
  129. clear {gladiador::players::*}'s inventory
  130.  
  131. clear {gladiador::players::*}
  132. delete {gladiador}
  133.  
  134. if arg-2 is not set:
  135. broadcast ""
  136. broadcast "&c[Gladiador] &4O gladiador foi encerrado por %player%"
  137. broadcast ""
  138.  
  139. else if arg 1 is "expulsar":
  140.  
  141. if arg 2 is not set:
  142. send "&cUse /gladiador expulsar (jogador)"
  143. else if "%{gladiador::players::*}%" doesn't contain "%arg-2%":
  144. send "&cEsse jogador não está no gladiador."
  145. else:
  146. broadcast "%{gladiador::players::*}% - %arg-2%"
  147. send "&cVocê foi removido do gladiador por &4%player%&c." to arg-2
  148. remove arg-2 from {gladiador::players::*}
  149. teleport arg-2 to {gladiador::saida}
  150. send "&cO jogador &4%arg-2% &cfoi desclassificado do evento por &4%player%&c!" to {gladiador::players::*}
  151.  
  152.  
  153. else if arg 1 is "setspawn" or "setsaida":
  154.  
  155. if arg-1 is "setspawn":
  156. set {_e} to "spawn"
  157. else:
  158. set {_e} to "saida"
  159.  
  160. if {gladiador::%{_e}%} is set:
  161. send "&cPonto de %{_e}%&c do gladiador deletado com sucesso."
  162. delete {gladiador::%{_e}%}
  163. else:
  164. send "&7Ponto de %{_e}%&7 do gladiador definido para &f%player's location%&7."
  165. set {gladiador::%{_e}%} to player's location
  166.  
  167. else if arg 1 is "definiritens":
  168.  
  169. if {@ItensDefinidos} is false:
  170. send "&cA opção &4""ItensDefinidos"" &cestá desativada!"
  171. else if player's inventory has enough space for 2304 stone:
  172. send "&cVocê precisa colocar os itens em seu inventário!"
  173. else:
  174. if {gladiador-itens::*} is set:
  175. send "&cA configuração antiga de itens foi apagada."
  176. clear {gladiador-itens::*}
  177.  
  178. loop all items in player's inventory:
  179. add loop-item to {gladiador-itens::*}
  180. send "&7Itens salvos com sucesso. Utilize &f/gladiador getitens &7para conferir."
  181. send "&7Atenção: Armaduras não são equipadas automaticamente."
  182. else if arg 1 is "getitens":
  183.  
  184. if {@ItensDefinidos} is false:
  185. send "&cA opção &4""ItensDefinidos"" &cestá desativada!"
  186. else if {gladiador-itens::*} is not set:
  187. send "&cVocê precisa definir os itens do gladiador usando &4/gladiador definiritens&c."
  188. else:
  189. give {gladiador-itens::*} to player
  190. send "&7Itens coletados com sucesso."
  191.  
  192. else if arg 1 is "participar" or "sair":
  193. if player has permission "danielsk.gladiador.banned":
  194. player doesn't have permission "*nonepermissionreset*"
  195. send "&cVocê está banido do evento &4Gladiador&c."
  196. stop
  197.  
  198. if arg 1 is "participar":
  199.  
  200. if {@ItensDefinidos} is true:
  201. player's inventory doesn't have enough space for 2304 stone
  202. send "&7Esvazie o inventário antes de ir pro gladiador!"
  203. stop
  204.  
  205. if {gladiador} is not set:
  206. send "&cO gladiador não está aberto."
  207. else if "%{gladiador::players::*}%" contains "%player%":
  208. send "&cVocê já está participando do gladiador."
  209. else if {gladiador-started} is set:
  210. send "&cO gladiador já começou."
  211. else:
  212.  
  213. if {@ItensDefinidos} is true:
  214. clear player's inventory
  215. give {gladiador-itens::*} to player
  216.  
  217. teleport player to {gladiador::spawn}
  218. add player to {gladiador::players::*}
  219. send "&f%player% &7entrou no evento." to {gladiador::players::*}
  220. else:
  221. if "%{gladiador::players::*}%" doesn't contain "%player%":
  222. send "&cVocê não está participando do gladiador."
  223. else:
  224. if {@LimparItensAoSair} is true:
  225. if {@ItensDefinidos} is true:
  226. clear player's inventory
  227. else:
  228. {gladiador-started} is set
  229. clear player's inventory
  230. teleport player to {gladiador::saida}
  231. send "&f%player% &7saiu do evento." to {gladiador::players::*}
  232. remove player from {gladiador::players::*}
  233. VerifyWinGlad()
  234. else:
  235. make player execute command "gladiador"
  236. else:
  237. send "&7Comandos utilizáveis para o &fGladiador&7:"
  238. send ""
  239. send "&f/gladiador participar &6- &7Se junta ao gladiador"
  240. send "&f/gladiador sair &6- &7Sai do gladiador"
  241. player is op
  242. send "&c/gladiador iniciar &6- &4Inicia o gladiador"
  243. send "&c/gladiador cancelar &6- &4Fecha o gladiador"
  244. send "&c/gladiador expulsar (player) &6- &4Expulsa um player"
  245. send "&c/gladiador setspawn &6- &4Seta o spawn"
  246. send "&c/gladiador setsaida &6- &4Seta a saída"
  247. {@ItensDefinidos} is true
  248. send ""
  249. send "&c/gladiador definiritens &6- &4Define os equipamentos do gladiador, precisa estar com os itens no inventário!"
  250. send "&c/gladiador getitens &6- &4Pega os equipamentos atuais para uma verificação"
  251.  
  252. on quit:
  253. "%{gladiador::players::*}%" contains "%player%"
  254. make player execute command "gladiador sair"
  255. on command:
  256. executor is not console
  257. "%{gladiador::players::*}%" contains "%player%"
  258. command label is not "gladiador", "glad", "gladiator" or "g"
  259. if player is op:
  260. wait 1 tick
  261. send "&cVocê é um administrador e pode executar comandos durante o gladiador!"
  262. stop
  263. cancel event
  264. send "&cVocê não pode digitar comandos enquanto estiver no gladiador, utilize &4/gladiador sair &cpara sair."
  265. on teleport:
  266. "%{gladiador::players::*}%" contains "%player%"
  267. {gladiador-started} is set
  268. cancel event
  269. send "&cVocê não pode se teleportar enquanto estiver no gladiador, utilize &4/gladiador sair &cpara sair."
  270. on death:
  271. victim is a player
  272. if "%{gladiador::players::*}%" contains "%victim%":
  273. force victim to respawn
  274. teleport victim to {gladiador::saida}
  275. remove victim from {gladiador::players::*}
  276. send "&cVocê perdeu o gladiador!" to victim
  277. VerifyWinGlad()
  278.  
  279. function VerifyWinGlad():
  280. if size of {gladiador::players::*} <= 1:
  281. set {_x} to "%{gladiador::players::*}%" parsed as player
  282. clear {gladiador::players::*}
  283. add {@Recompensa} to {_x}'s balance
  284. broadcast ""
  285. broadcast "&7[Gladiador] &f%{_x}% &7venceu o Gladiador!"
  286. broadcast "&7[Gladiador] &7Recompensa: &fR${@Recompensa}&7."
  287. broadcast ""
  288.  
  289. if {@VencedorLimparItens} is false:
  290. {@ItensDefinidos} is true
  291. clear {_x}'s inventory
  292. else:
  293. clear {_x}'s inventory
  294.  
  295. make console execute command "gladiador cancelar %random element out of all players%"
  296.  
  297. if {@TimeTeleport} is not 0:
  298. send "&7Você será teleportado para a saída em &f%abs({@TimeTeleport})% segundos&7." to {_x}
  299. wait "%abs({@TimeTeleport})% seconds" parsed as timespan
  300. teleport {_x} to {gladiador::saida}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement