Stawlie0

Untitled

Oct 12th, 2023
926
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.52 KB | None | 0 0
  1. require("package").loaded["doublebuffer"] = nil
  2. require("package").loaded["control"] = nil
  3. require("package").loaded["casino"] = nil
  4. require("package").loaded["sgui"] = nil
  5.  
  6. local controlLib = require("control")
  7. local charSpace = ' '
  8.  
  9. local component = require("component")
  10. local unicode = require("unicode")
  11. local Casino = require("casino")
  12. local gui = require("sgui")
  13.  
  14. local gpu = component.gpu
  15. local radar = component.radar
  16. local chatbox = component.chat_box
  17.  
  18. chatbox.setName("§6BAZAR CASINO§7§o")
  19. chatbox.say("§aМодули успешно загружены")
  20.  
  21. local width, height = gpu.getResolution()
  22.  
  23. gpu.setResolution(112,50)
  24.  
  25. local win = {}
  26. --Резервируем места
  27. local function reservWin()
  28.     local x = 12 -- начальная Координата x
  29.     local y = 3  -- начальная координата y
  30.     for i = 1, 63 do
  31.         local id = controlLib.createLabel{
  32.             x = x;
  33.             y = y;
  34.             text = ""
  35.         }
  36.         table.insert(win, id)
  37.         x = x + 36
  38.         if x > 108 then
  39.             x = 12
  40.             y = y+2
  41.         end
  42.     end
  43.     local id = controlLib.createLabel{
  44.         x = 46;
  45.         y = y;
  46.         text = ""
  47.     }
  48.     table.insert(win, id)
  49. end
  50.  
  51. reservWin()
  52.  
  53. local function ClearWin()
  54.     for i = 1, 64 do
  55.         controlLib.updateControl(win[i], {
  56.             text = ""
  57.         })
  58.     end
  59. end
  60.  
  61. local myCasino = Casino:new()
  62.  
  63. myCasino:addItem("&aЖемчуг эндера", "minecraft:ender_pearl", 4, 0.8)
  64. myCasino:addItem("&aСингулярность", "Singularity", 1, 0.8)
  65. myCasino:addItem("&aАпатит", "forestry:apatite", 64, 0.8)
  66. myCasino:addItem("&aКорпус ячейки", "ME Storage Housing", 1, 0.8)
  67. myCasino:addItem("&aУл. Электросхема", "Advanced Circuit", 1, 0.8)
  68. myCasino:addItem("&aЭлектросхема", "Electronic Circuit", 1, 0.8)
  69. myCasino:addItem("&aОбсидиан", "minecraft:obsidian", 32, 0.8)
  70. myCasino:addItem("&aИзумруд", "minecraft:emerald", 16, 0.8)
  71. myCasino:addItem("&aАккумулятор", "contenttweaker:modelbatre", 1, 0.8)
  72.  
  73. myCasino:addItem("&aВычислительный процессор", "Calculation Processor", 2, 0.8)
  74. myCasino:addItem("&aЛогический процессор", "Logic Processor", 2, 0.8)
  75. myCasino:addItem("&aСпекулятивный процессор", "Speculative Processor", 2, 0.8)
  76. myCasino:addItem("&aМассивный процессор", "Massively Parallel Processor", 2, 0.8)
  77. myCasino:addItem("&aИридиевый процессор", "Iridium Processor", 2, 0.8)
  78. myCasino:addItem("&aИнженерный процессор", "Engineering Processor", 2, 0.8)
  79. myCasino:addItem("&aУран 238", "Uranium 238", 1, 0.8)
  80. myCasino:addItem("&aЧасть саннариума", "Sunnarium Part", 1, 0.8)
  81. myCasino:addItem("&aПасека", "forestry:apiary", 1, 0.8)
  82.  
  83. myCasino:addItem("&eТрансформатор", "Transformer Upgrade", 1, 0.4)
  84. myCasino:addItem("&eУскоритель", "Overclocker Upgrade", 1, 0.4)
  85. myCasino:addItem("&eСветокамень", "minecraft:glowstone", 8, 0.4)
  86. myCasino:addItem("&eМатерия", "UU-Matter", 8, 0.4)
  87. myCasino:addItem("&eИридий", "Iridium Ore", 1, 0.4)
  88. myCasino:addItem("&eМаточное молочко", "Royal Jelly", 8, 0.4)
  89. myCasino:addItem("&eУрановая руда", "Uranium Ore", 16, 0.4)
  90. myCasino:addItem("&eРезонирующий набор", "thermalfoundation:upgrade", 2, 0.4)
  91. myCasino:addItem("&eПанель 2-го уровня", "compactsolars:compact_solar_block", 1, 0.4)
  92.  
  93. myCasino:addItem("&bПлутоний", "Plutonium", 4, 0.3)
  94. myCasino:addItem("&bПромышленная пасека", "gendustry:industrial_apiary", 1, 0.3)
  95. myCasino:addItem("&bБлок Угля", "minecraft:coal_block", 64, 0.3)
  96. myCasino:addItem("&bКиноварь", "Cinnabar", 64, 0.3)
  97. myCasino:addItem("&bАметист", "contenttweaker:amethyst", 4, 0.3)
  98. myCasino:addItem("&bЯйцо дракона", "minecraft:dragon_egg", 1, 0.3)
  99. myCasino:addItem("&bБлок Платины", "thermalfoundation:storage", 32, 0.3)
  100. myCasino:addItem("&bБлок Изумрудов", "minecraft:emerald_block", 64, 0.3)
  101. myCasino:addItem("&bПанель 3-го уровня", "compactsolars:compact_solar_block", 1, 0.3)
  102.  
  103. myCasino:addItem("&dЭнергетическая капля", "Energy Drop", 16, 0.2)
  104. myCasino:addItem("&dСовершенная материя", "ic2stuff:pf_matter", 2, 0.2)
  105. myCasino:addItem("&dПлутоний", "Plutonium", 8, 0.2)
  106. myCasino:addItem("&dНано нагрудник", "gravisuite:advancednanochestplate", 1, 0.2)
  107. myCasino:addItem("&dПыль Синерии", "tllod:material", 8, 0.2)
  108. myCasino:addItem("&dУлучшение Производство", "Production Upgrade", 4, 0.2)
  109. myCasino:addItem("&dМаточное молочко", "Royal Jelly", 32, 0.2)
  110. myCasino:addItem("&dРезонирующий набор", "thermalfoundation:upgrade", 16, 0.2)
  111. myCasino:addItem("&dПанель 5-го уровня", "advanced_solar_panels:machines", 1, 0.2)
  112.  
  113. myCasino:addItem("&9Панель 6-го уровня", "Ultimate Hybrid Solar Panel", 1, 0.15)
  114. myCasino:addItem("&9Панель 7-го уровня", "Hybrid Solar Panel", 1, 0.15)
  115. myCasino:addItem("&9Топор виверны", "draconicevolution:wyvern_axe", 1, 0.15)
  116. myCasino:addItem("&9Кирка Виверны", "draconicevolution:wyvern_pick", 1, 0.15)
  117. myCasino:addItem("&9Виверновый нагрудник", "draconicevolution:wyvern_chest", 1, 0.15)
  118. myCasino:addItem("&9Виверновые поножи", "draconicevolution:wyvern_legs", 1, 0.15)
  119. myCasino:addItem("&9Виверновые болитинки", "draconicevolution:wyvern_boots", 1, 0.15)
  120. myCasino:addItem("&9Виверновый шлем", "draconicevolution:wyvern_helm", 1, 0.15)
  121. myCasino:addItem("&9Сердце дракона", "draconicevolution:dragon_heart", 1, 0.15)
  122.  
  123. myCasino:addItem("&6Поножи дракона", "draconicevolution:draconic_legs", 1, 0.05)
  124. myCasino:addItem("&6Шлем дракона", "draconicevolution:draconic_helm", 1, 0.05)
  125. myCasino:addItem("&6Панель 8-го уровня", "Quantum Solar Panel", 1, 0.05)
  126. myCasino:addItem("&6Ботинки дракона", "draconicevolution:draconic_boots", 1, 0.05)
  127. myCasino:addItem("&6Контейнер для кибер-пчел III", "contenttweaker:bees_container_t3", 1, 0.05)
  128. myCasino:addItem("&6Пробужденное ядро", "draconicevolution:awakened_core", 1, 0.05)
  129. myCasino:addItem("&6Звезда ада", "minecraft:nether_star", 32, 0.05)
  130. myCasino:addItem("&6Кирка дракона", "draconicevolution:draconic_pick", 1, 0.05)
  131.  
  132. myCasino:addItem("&cКвантовый генератор", "advanced_solar_panels:machines", 1, 0.01)
  133. myCasino:addItem("&cНагрудник дракона", "draconicevolution:draconic_chest", 1, 0.01)
  134. myCasino:addItem("&cКвантовая кирка", "apex:quantum_pickaxe", 1, 0.01)
  135. myCasino:addItem("&cКибернетическая пасека", "modularmachinery:cybernetic_apiary_controller", 1, 0.01)
  136. myCasino:search_transposers()
  137. myCasino:get_list()
  138.  
  139. controlLib.drawAll()
  140. myCasino:displayItems()
  141. while true do
  142.     local money = myCasino:SearchMoney()
  143.     local rewardsList = {}
  144.     local itemCounts = {} -- Добавленная таблица для суммирования предметов
  145.  
  146.     if money then
  147.         myCasino:sendMoney(money)
  148.         chatbox.say("§6Баланс пополнен на §a$" .. money)
  149.         for i = 1, 64 do
  150.             controlLib.updateControl(win[i], {
  151.                 text = string.rep(" ", 36),
  152.             })
  153.         end
  154.         controlLib.drawAll()
  155.        
  156.         for i = 1, money do
  157.             local reward = myCasino:roll()
  158.             local displayName = string.gsub(reward.name, "&", "§", 1)
  159.             chatbox.say("address " .. reward.address)
  160.             chatbox.say("slot " .. reward.slot)
  161.             chatbox.say("count " .. reward.count)
  162.             component.proxy(reward.address).transferItem(0, 1, reward.count, reward.slot, 1)
  163.            
  164.             local secondChar = string.sub(reward.name, 2, 2)
  165.             local modifiedString = string.sub(reward.name, 3)
  166.            
  167.             if reward and reward.name and reward.count then
  168.                 -- Суммируем количество одинаковых предметов и сохраняем шанс
  169.                 if itemCounts[displayName] then
  170.                     itemCounts[displayName].count = itemCounts[displayName].count + reward.count
  171.                 else
  172.                     itemCounts[displayName] = {count = reward.count, chance = reward.chance}
  173.                 end
  174.             end
  175.             controlLib.updateControl(win[i], {
  176.                 text = modifiedString,
  177.                 foreColor = gui.colors[secondChar],
  178.             })
  179.             controlLib.drawAll()
  180.             os.sleep(0.5)
  181.         end
  182.  
  183.         -- Создаем список для отсортированных результатов
  184.         for name, data in pairs(itemCounts) do
  185.             table.insert(rewardsList, {name = name, count = data.count, chance = data.chance})
  186.         end
  187.        
  188.         table.sort(rewardsList, function(a, b) return a.chance < b.chance end)
  189.        
  190.         local results = {}
  191.         for _, item in ipairs(rewardsList) do
  192.             table.insert(results, item.name .. ": " .. item.count .. "x")
  193.         end
  194.         local resultString = "\n" .. table.concat(results, "\n")
  195.  
  196.         chatbox.say(resultString)        
  197.     end
  198. end
  199.  
  200.  
Advertisement
Add Comment
Please, Sign In to add comment