Перейти к содержанию
Авторизация  
Asummonster

Случайная лотерея-менялка айтемов

Рекомендуемые сообщения

Всем привет!

Эту тему я создал для того, что бы Алекс снял с меня "медаль" :smile113:

ВОТ КОД:

--[[

Случайный гивальщик айтемов из инвентаря

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

Изменено пользователем Asummonster

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

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)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Исправил!Забыл написать math.random(1, 16)=)

Берёт предметы из своего инвентаря

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Исправил!Забыл написать math.random(1, 16)=)

Берёт предметы из своего инвентаря

 

А где код, который ты сразу первым выложил. Мы с Димой Тоторо чуть не сдохли. Ты там вызывал функцию рекурсивно саму себя бесконечно.)

 

И откуда берет робот предметы? Из сундука? Он же в привате стоит на спавне, например? Кто кладет предметы в сундук, воронка? Почему по одному кидает, слоты же нужны новые всегда. Обмен идет слот на слот, а сколько там, это уже лотерея.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Первый код был неверный=)Просто если инвентарь будет пустой, то он пойдёт дальше по инвентарю(встроенному)искать предметы=)

Берёт он предметы из встроенного инвентаря(Апгрейд-инвентарь), в сундук ничего не кладёт.Придумал это-Крутой,как гивалка игрокам.К примеру простой игрок кинул железко,другой кинул яблочко,третий кинул кусочек золота и т.д.(В начале я забиваю инвентарь чем-то), а потом игрокам что-то рандомное(из того,что кинули они,или другие игроки) им выпадает.Это не игровой автомат=)Это просто обмен ресурсами через робота. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Первый игрок кинул булыгу, второй - землю, третий - песок" - так правдивее :D

 

А как же sleeptime? пару секунд сна не помешают между циклами

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
"Первый игрок кинул булыгу, второй - землю, третий - песок" - так правдивее :D

 

А как же sleeptime? пару секунд сна не помешают между циклами

Была большая версия,с защитой от не интересных предметов,но Алекс её удалил...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Была большая версия,с защитой от не интересных предметов,но Алекс её удалил...

А ты сделай такую же, но маленькую и оптимизированную=)  Сейчас цикл, который ты гоняешь без конца, не имеет смысла практически. Нужно переделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно перед роботом нажимную плиту деревянную поставить, а в робота вставить красную плату. Тогда можно не гонять прогу в бесконечном цикле, а ожидать сигнал реда - плита ведь предметами активируется, а для защиты от наступания игроком достаточно поставить блок над нажимной плитой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

×
×
  • Создать...