Поиск по сайту
Результаты поиска по тегам 'Контроллер инвентаря'.
Найдено 2 результата
-
Сделал простенькую программу, которая просто перекладывает стаки предметов из одного инвентаря в другой Код: https://pastebin.com/fnMBh5mw Краш-лог: https://prnt.sc/qg1xvd Что я делаю не так? Там на первой строчке просто таблица создается
-
Всем привет! В этой теме я расскажу о своей простой программе-сканере инвентаря на PIM из OpenPeripheralAddon! Прежде всего, вам потребуется: PIM+Адаптер(Сколько поддерживает ваш процессор, если делаете систему безопасности в доме,что бы никто в дом с оружием не входил,то лучше ставьте сервер с ComponentBus) 1 PIM стоит очень дёшево(3 обсидиана, 2 красной пыли и 2 бревна) В чём смысл этого кода?К примеру,вы такой добрый человек как Krutoy, и у вас двери на распашку, мол входи, крипер,зомби, самр и хом, мне всё равно=) Но вот вас постоянно убивают!Что вы делаете?Ставите 1 такой PIM у двери, под ним адаптер и тянете проводок к своему серверу или компу(Сделаю ещё версию на бэкграунде), вписываете в таблицу ITEMS предметы,с которыми к Вам не должны заходить, в переменную CHEST_SIDE вводите сторону света,с которой стоит сундук относительно PIM(Узнать её можно нажав F3[Переменная f{Находится под координатой z}])И всё!Все,кто принёс к вам в дом запрещённый предмет сразу его потеряет!+ вам на экран напечатается, что за вещи у него в инвентаре,и что за запрещённый предмет он пытался пронести в дом! На этом всё=) Вот сам код: --Версия AlexCC(более стабильна) local pim=require("component").pim local event=require("event") local term = require('term') --сторона света, на которой находится сундук от устройства PIM (south, west, north, east). Сундук должен стоять вплотную к PIM. local CHEST_SIDE = 'south' --предметы, которые подлежат конфискации ITEMS = {'Nano Saber', 'Diamond', 'GraviChestPlate', 'Iridium Ore'} term.clear() print('Сканер игроков включен!') function scanPlayer() while true do e, nick, uuid, adr = event.pull('player_on') term.clear() print('-------------- СКАНИРОВАНИЕ -----------') print('>>> Игрок: '..nick) for i = 1, 40 do if pim.getStackInSlot(i) then local count = pim.getStackInSlot(i).qty print("Слот "..i..': '..pim.getStackInSlot(i).display_name..' - '..count..' шт.') for j = 1, #ITEMS do if pim.getStackInSlot(i).display_name == ITEMS[j] then pim.pushItemIntoSlot(CHEST_SIDE, i) print('ЗАПРЕЩЁННЫЙ ПРЕДМЕТ ИЗЪЯТ: '..ITEMS[j]..' - '..count..' шт.') break end end end end print('--------- ПРОВЕРКА ЗАКОНЧЕНА -----------') end end scanPlayer()