jailsystem.txt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. event.load("custom_command");
  2. event.load("player_logout");
  3. list.new(jailed);
  4. ironbars = read.item("minecraft:iron_bars", 1, 0, "§r");
  5. jailmenu = inv.new("222222222", "§8Gefängnis");
  6. inv.setItem(jailmenu, 0, ironbars);
  7. inv.setItem(jailmenu, 1, ironbars);
  8. inv.setItem(jailmenu, 2, ironbars);
  9. inv.setItem(jailmenu, 3, ironbars);
  10. inv.setItem(jailmenu, 4, ironbars);
  11. inv.setItem(jailmenu, 5, ironbars);
  12. inv.setItem(jailmenu, 6, ironbars);
  13. inv.setItem(jailmenu, 7, ironbars);
  14. inv.setItem(jailmenu, 8, ironbars);
  15. msg("dev", "§bJailsystem §rwurde geladen");
  16. @wait
  17. wait();
  18. igoto(event);
  19. goto("wait");
  20. @loop
  21. size = list.getSize(jailed);
  22. for(i = 0; i <= size - 1; i++) {
  23. pname = list.getIndex(jailed, i);
  24. invopen(pname);
  25. }
  26. if(size > 0) {
  27. sgoto(10, "loop");
  28. }
  29. goto("wait");
  30. @player_logout
  31. list.remove(jailed, player_name);
  32. goto("wait");
  33. @custom_command
  34. size = list.getSize(args, 0);
  35. if(!perm.has(player, "jail")) {
  36. goto("wait");
  37. }
  38. if(command == "jail") {
  39. if(size != 1) {
  40. msg(player, "§5/jail <name>");
  41. } else {
  42. pname = list.getIndex(args, 0);
  43. if(!isregistered(pname)) {
  44. player.speak(player, "§5Jail", "§rDieser Spieler war noch nie online");
  45. goto("wait");
  46. }
  47. if(isjailed(pname)) {
  48. player.speak(player, "§5Jail", "§rDieser Spieler ist bereits gejailt");
  49. goto("wait");
  50. }
  51. if(player_name == pname) {
  52. player.speak(player, "§5Jail", "§rSich selbst zu jailen ist keine gute Idee");
  53. goto("wait");
  54. }
  55. if(!isonline(pname)) {
  56. player.speak(player, "§5Jail", "§rDieser Spieler ist nicht online");
  57. goto("wait");
  58. }
  59. p = read.player(pname);
  60. if(perm.has(p, "jail")) {
  61. player.speak(player, "§5Jail", "§rDieser Spieler darf nicht gejailt werden");
  62. goto("wait");
  63. }
  64. list.add(jailed, pname);
  65. player.speak(player, "§5Jail", pname, " wurde gejailt");
  66. invopen(pname);
  67. sgoto(1, "loop");
  68. }
  69. goto("wait");
  70. }
  71. if(command == "unjail") {
  72. if(size != 1) {
  73. msg(player, "§5 /unjail <name> §rJail aufheben");
  74. } else {
  75. pname = list.getIndex(args, 0);
  76. if(!isregistered(pname)) {
  77. player.speak(player, "§5Jail", "§rDieser Spieler war noch nie online");
  78. goto("wait");
  79. }
  80. if(!isjailed(pname)) {
  81. player.speak(player, "§5Jail", "§rDieser Spieler ist nicht gejailt");
  82. goto("wait");
  83. }
  84. list.remove(jailed, pname);
  85. player.speak(player, "§5Jail", "§rDer Spieler wurde aus dem Gefängnis befreit");
  86. goto("wait");
  87. }
  88. }
  89. goto("wait");
  90. function invopen(player_name) {
  91. if(isonline(player_name)) {
  92. inv.open($jailmenu, read.player(player_name));
  93. }
  94. return;
  95. }
  96. function isregistered(player_name) {
  97. if(player.getUuid(player_name) != null) {
  98. return true;
  99. }
  100. return false;
  101. }
  102. function isjailed(player_name) {
  103. if(list.contains($jailed, player_name)) {
  104. return true;
  105. }
  106. return false;
  107. }
  108. function isonline(player_name) {
  109. if(read.player(player_name) == null) {
  110. return false;
  111. }
  112. return true;
  113. }