Advertisement
Zarikslav

Untitled

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