Advertisement
Guest User

1

a guest
Apr 2nd, 2020
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.96 KB | None | 0 0
  1. -- Программа для тестирования игроков на пост стажёра.
  2. -- Команды: -teststart - запустить тестирование.
  3. --          -plus - пометить, что тестируемый верно ответил на вопрос.
  4. --          -minus - пометить, что тестируемый не верно ответил на вопрос.
  5. --          -repeat - повторить текущий вопрос.
  6. --          -reset - сбросить тестирование
  7. -- Задает вопросы в локальный чат.
  8. --
  9. -- Автор:      Mireille
  10. -- [VK]:        vk.com/m1reille
  11. -- [OSU!]:      osu.ppy.sh/users/12793748
  12. -- [Steam]:     steamcommunity.com/id/1Un1verse
  13. -- [DISCORD]:   Mireille#7750
  14. -- Подключение компонентов.
  15. local iComponent = require("component");
  16. local eEvent = require("event");
  17. -- Подключение чат-бокса и установка его имени.
  18. local iChatBox = iComponent.chat_box;
  19. iChatBox.setName("§fG§7");
  20. -- Настройка цветов для окраски чата.
  21. local szNameBot = "❽ §8[§4Тест§8] OiL: ";
  22. -- Прочие переменные.
  23. local iQuestion = 1;
  24. local iScoreGood = 0;
  25. local iScoreBad = 0;
  26. local iSleep = 5;
  27. -- Массив с игроками, которые могут управлять программой.
  28. local ADMINSLIST =
  29. {
  30.     "aceman129",
  31.     "Ksena",
  32.     "Alexhotice",
  33.     "Fedry79",
  34. };
  35. -- Массив с вопросами.
  36. local QUESTIONLIST =
  37. {
  38.     {"1", "§aKrEE Тупорылый идиот, убил меня и ресы не отдает!!! Дебил!1!"},
  39.     {"2", "§aПродам удачу 3 за 5 эмеральдов! В ЛС!"},
  40.     {"3", "§aЗавтра вайп! Инфа сотка! Только мне в лс тех сказал!11"},
  41.     {"4", "§aНе понимаю за что бан, почему вы такие не компетентные?"},
  42.     {"5", "§aКто согласен ставьте + в глобальный чат."},
  43.     {"6", "§aСнимите мут с KaxaNet, он же никого не оскорбил!"},
  44.     {"7", "§aСервак полная фигня, дико лагает, парашный проект!1"},
  45.     {"8", "§aASDSAMKDKAJSHDASIHDAHSDHASHGDUASGHDUAHSIDHBIASHDIAHIDAIDIA"},
  46.     {"9", "§aЕб@ный пи3дец я в ах** с вас!1"},
  47.     {"10", "§aСССР"},
  48.     {"11", "§aВыключите дождь уже!! Надоел он!!!!!!!!!"},
  49.     {"12", "§aВсем привет!!!!!!!!!"},
  50.     {"13", "§aУзнал бы где ты живешь, я бы зарезал тебя нафиг"},
  51.     {"14", "§aЗаходите на мой варп - /warp top!!!"},
  52.     {"15", "§aНа моем варпе /warp top можно купить разной фигни!!!"},
  53.     {"16", "§aМой /warp top самый лучший, а варп /warp cool, полная херня!1"},
  54.     {"17", "§aАдмины GalaxyCraft самые лучшие и хорошие!!!"},
  55. };
  56. function Question()
  57.     if iQuestion > #QUESTIONLIST then
  58.         iChatBox.say(szNameBot .. "§aТестирование завершено.");
  59.         Reset();
  60.         return false;
  61.     end
  62.     if iQuestion == 15 then
  63.         iScoreGood = iScoreGood + 1;
  64.         iQuestion = iQuestion + 1;
  65.     end
  66.     if iQuestion == 14 then
  67.         iChatBox.say(szNameBot .. QUESTIONLIST[iQuestion][2]);
  68.         os.sleep(iSleep);
  69.         iQuestion = iQuestion + 1;
  70.         iChatBox.say(szNameBot .. QUESTIONLIST[iQuestion][2]);
  71.         return false;
  72.     end
  73.     iChatBox.say(szNameBot .. QUESTIONLIST[iQuestion][2]);
  74.     iQuestion = iQuestion + 1;
  75. end
  76. function VotePlus()
  77.     if iQuestion - 1 > #QUESTIONLIST then
  78.         return false;
  79.     end
  80.     iScoreGood = iScoreGood + 1;
  81.     SendStatistics();
  82. end
  83. function VoteMinus()
  84.     if iQuestion - 1 > #QUESTIONLIST then
  85.         return false;
  86.     end
  87.     iScoreBad = iScoreBad + 1;
  88.     SendStatistics();
  89. end
  90. function Reset()
  91.     iQuestion = 1;
  92.     iScoreGood = 0;
  93.     iScoreBad = 0;
  94.     iChatBox.say(szNameBot .. "§aТестирование сброшено.");
  95. end
  96. function SendStatistics()
  97.     local iStat = 100 * iScoreGood;
  98.     local iResult = iStat / (iQuestion - 1);
  99.  
  100.     iChatBox.say(szNameBot .. "§aПравильных: §6" .. iScoreGood .. "§a. Не правильных: §4" .. iScoreBad);
  101.     iChatBox.say(szNameBot .. "§aОбщий процент ответа: §6" .. string.sub(iResult, 1, 4) .. "%");
  102.  
  103.     os.sleep(iSleep);
  104.  
  105.     Question();
  106. end
  107. function Repeat(iQuestion)
  108.     iChatBox.say(szNameBot .. QUESTIONLIST[iQuestion - 1][2]);
  109. end
  110. while true do
  111.     local _, _, szNamePlayer, szMessage = eEvent.pull("chat_message");
  112.     if szMessage ~= nil and szNamePlayer ~= nil then
  113.         if string.sub(szMessage, 1, 1) ~= "!" then
  114.             if string.sub(szMessage, 1, 10) == "-teststart" then
  115.                 for i = 1, #ADMINSLIST do
  116.                     if ADMINSLIST[i] == szNamePlayer then
  117.                         Question();
  118.                     end
  119.                 end
  120.             elseif string.sub(szMessage, 1, 5) == "-plus" then
  121.                 for i = 1, #ADMINSLIST do
  122.                     if ADMINSLIST[i] == szNamePlayer then
  123.                         VotePlus();
  124.                     end
  125.                 end
  126.             elseif string.sub(szMessage, 1, 6) == "-minus" then
  127.                 for i = 1, #ADMINSLIST do
  128.                     if ADMINSLIST[i] == szNamePlayer then
  129.                         VoteMinus();
  130.                     end
  131.                 end
  132.             elseif string.sub(szMessage, 1, 6) == "-reset" then
  133.                 for i = 1, #ADMINSLIST do
  134.                     if ADMINSLIST[i] == szNamePlayer then
  135.                         Reset();
  136.                     end
  137.                 end
  138.             elseif string.sub(szMessage, 1, 7) == "-repeat" then
  139.                 for i = 1, #ADMINSLIST do
  140.                     if ADMINSLIST[i] == szNamePlayer then
  141.                         Repeat(iQuestion);
  142.                     end
  143.                 end
  144.             end
  145.         end
  146.     end
  147. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement