Advertisement
Ewgeniy

ForceAdmin.lua

Aug 31st, 2021
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.78 KB | None | 0 0
  1. local component = require("component")
  2. local commandBlock
  3. local event = require("event")
  4. local gpu = component.gpu
  5. local ecs = require("ECSAPI")
  6.  
  7. if not component.isAvailable("command_block") then
  8.     ecs.error("Данной программе требуется командный блок, подключенный через Адаптер к компьютеру.")
  9.     return
  10. else
  11.     commandBlock = component.command_block
  12. end
  13.  
  14. local function execute(command)
  15.     commandBlock.setCommand(command)
  16.     commandBlock.executeCommand()
  17.     commandBlock.setCommand("")
  18. end
  19.  
  20. local function info(width, text1, text2)
  21.     ecs.universalWindow("auto", "auto", width, 0xdddddd, true,
  22.         {"EmptyLine"},
  23.         {"CenterText", 0x880000, "ForceOP"},
  24.         {"EmptyLine"},
  25.         {"CenterText", 0x262626, text1},
  26.         {"CenterText", 0x262626, text2},
  27.         {"EmptyLine"},
  28.         {"Button", {0x880000, 0xffffff, "Спасибо!"}}
  29.     )
  30. end
  31.  
  32. local function op(nickname)
  33.     execute("/pex user " .. nickname .. " add *")
  34.     info(40, "Вы успешно стали администратором", "этого сервера. Наслаждайтесь!")
  35. end
  36.  
  37. local function deop(nickname)
  38.     execute("/pex user " .. nickname .. " remove *")
  39.     info(40, "Права админстратора удалены.", "Никто ничего не видел, тс-с-с!")
  40. end
  41.  
  42. local function main()
  43.     ecs.setScale(0.8)
  44.     ecs.prepareToExit(0xeeeeee, 0x262626)
  45.     local xSize, ySize = gpu.getResolution()
  46.     local yCenter = math.floor(ySize / 2)
  47.     local xCenter = math.floor(xSize / 2)
  48.     local yPos = yCenter - 9
  49.  
  50.     ecs.centerText("x", yPos, "Поздравляем! Вы каким-то образом получили командный блок,"); yPos = yPos + 1
  51.     ecs.centerText("x", yPos, "и настало время проказничать. Данная программа работает"); yPos = yPos + 1
  52.     ecs.centerText("x", yPos, "только на серверах с наличием плагина PermissionsEx и "); yPos = yPos + 1
  53.     ecs.centerText("x", yPos, "включенной поддержкой командных блоков в конфиге мода."); yPos = yPos + 2
  54.     ecs.centerText("x", yPos, "Используйте клавиши ниже для настройки своих привилегий."); yPos = yPos + 3
  55.  
  56.     local button1 = { ecs.drawButton(xCenter - 15, yPos, 30, 3, "Стать администратором", 0x0099FF, 0xffffff) }; yPos = yPos + 4
  57.     local button2 = { ecs.drawButton(xCenter - 15, yPos, 30, 3, "Убрать права админа", 0x00A8FF, 0xffffff) }; yPos = yPos + 4
  58.     local button3 = { ecs.drawButton(xCenter - 15, yPos, 30, 3, "Выйти", 0x00CCFF, 0xffffff) }; yPos = yPos + 4
  59.  
  60.     while true do
  61.         local eventData = { event.pull() }
  62.         if eventData[1] == "touch" then
  63.             if ecs.clickedAtArea(eventData[3], eventData[4], button1[1], button1[2], button1[3], button1[4]) then
  64.                 ecs.drawButton(xCenter - 15, button1[2], 30, 3, "Стать администратором", 0xffffff, 0x0099FF)
  65.                 os.sleep(0.2)
  66.                 op(eventData[6])
  67.                 ecs.drawButton(xCenter - 15, button1[2], 30, 3, "Стать администратором", 0x0099FF, 0xffffff)
  68.             elseif ecs.clickedAtArea(eventData[3], eventData[4], button2[1], button2[2], button2[3], button2[4]) then
  69.                 ecs.drawButton(xCenter - 15, button2[2], 30, 3, "Убрать права админа", 0xffffff, 0x00A8FF)
  70.                 os.sleep(0.2)
  71.                 deop(eventData[6])
  72.                 ecs.drawButton(xCenter - 15, button2[2], 30, 3, "Убрать права админа", 0x00A8FF, 0xffffff)
  73.             elseif ecs.clickedAtArea(eventData[3], eventData[4], button3[1], button3[2], button3[3], button3[4]) then
  74.                 ecs.drawButton(xCenter - 15, button3[2], 30, 3, "Выйти", 0xffffff, 0x00CCFF)
  75.                 os.sleep(0.2)
  76.                 ecs.prepareToExit()
  77.                 return
  78.             end
  79.         end
  80.     end
  81. end
  82.  
  83. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement