Asummonster 592 Опубликовано: 22 мая, 2015 (изменено) Всем привет! Эту тему я создал для того, что бы Алекс снял с меня "медаль" ВОТ КОД: --[[ Случайный гивальщик айтемов из инвентаря For computercraft.ru By Asummonster ]]-- computer=require("computer") robot=require("robot") while true do robot.suck() name, _, _, _, _ = computer.pullSignal(0) if name=="inventory_changed" then robot.select(math.random(1, 16)) robot.drop(1) end end Изменено 22 мая, 2015 пользователем Asummonster Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 22 мая, 2015 computer=require("computer") robot=require("robot") while true do robot.suck() name, _, _, _, _ = computer.pullSignal(0) if name=="inventory_changed" then robot.select(1, 16) robot.drop(1) end end Как оно работает? Откуда робот берет предметы? И куда выпихивает? И что означает запись robot.select(1, 16) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asummonster Автор темы 592 Опубликовано: 22 мая, 2015 Исправил!Забыл написать math.random(1, 16)=) Берёт предметы из своего инвентаря Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 22 мая, 2015 Исправил!Забыл написать math.random(1, 16)=) Берёт предметы из своего инвентаря А где код, который ты сразу первым выложил. Мы с Димой Тоторо чуть не сдохли. Ты там вызывал функцию рекурсивно саму себя бесконечно.) И откуда берет робот предметы? Из сундука? Он же в привате стоит на спавне, например? Кто кладет предметы в сундук, воронка? Почему по одному кидает, слоты же нужны новые всегда. Обмен идет слот на слот, а сколько там, это уже лотерея. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asummonster Автор темы 592 Опубликовано: 22 мая, 2015 Первый код был неверный=)Просто если инвентарь будет пустой, то он пойдёт дальше по инвентарю(встроенному)искать предметы=) Берёт он предметы из встроенного инвентаря(Апгрейд-инвентарь), в сундук ничего не кладёт.Придумал это-Крутой,как гивалка игрокам.К примеру простой игрок кинул железко,другой кинул яблочко,третий кинул кусочек золота и т.д.(В начале я забиваю инвентарь чем-то), а потом игрокам что-то рандомное(из того,что кинули они,или другие игроки) им выпадает.Это не игровой автомат=)Это просто обмен ресурсами через робота. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
FellHead 14 Опубликовано: 22 мая, 2015 "Первый игрок кинул булыгу, второй - землю, третий - песок" - так правдивее А как же sleeptime? пару секунд сна не помешают между циклами Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asummonster Автор темы 592 Опубликовано: 22 мая, 2015 "Первый игрок кинул булыгу, второй - землю, третий - песок" - так правдивее А как же sleeptime? пару секунд сна не помешают между циклами Была большая версия,с защитой от не интересных предметов,но Алекс её удалил... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 23 мая, 2015 Была большая версия,с защитой от не интересных предметов,но Алекс её удалил... А ты сделай такую же, но маленькую и оптимизированную=) Сейчас цикл, который ты гоняешь без конца, не имеет смысла практически. Нужно переделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Lgmrszd 390 Опубликовано: 23 мая, 2015 Можно перед роботом нажимную плиту деревянную поставить, а в робота вставить красную плату. Тогда можно не гонять прогу в бесконечном цикле, а ожидать сигнал реда - плита ведь предметами активируется, а для защиты от наступания игроком достаточно поставить блок над нажимной плитой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах