Перейти к содержимому

davial

Пользователи
  • Публикации

    263
  • Зарегистрирован

  • Посещение

  • Победитель дней

    5

Сообщения, опубликованные пользователем davial


  1. Кто-то поставил это на входную дверь, постоянно вырубается, глючит, я посмотрел, не стал разбираться где ошибки - написал свою.

    В общем, мой простой скрипт превращает pim в нажимную плиту - если на нее наступает игрок из белого списка, она посылает сигнал редстоуна на поршневую дверь (обычные двери требуют механизма обновления блока), если на нее наступает любой другой игрок, она забирает его вещи. С другой стороны стоит обычная нажимная плита,, которая пропускает всех подряд.

    Конфиг простой: первая строка - белый список, вторая - направление на контейнер, третья - направление на обычную нажимную плиту, которая находится с внутренней стороны для redstone I/O

     

    У меня скрипт запускается в autorun.lua - os.execute('smart_pplate >> log')

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

     

     

     

    9mfiejD.png

    local wList = {'Player1', 'Player2'} -- белый список игроков
    local chest = 'DOWN' -- направление на контейнер для лута
    local pplate = 5 -- направление на нажимную плиту
    local log = 1 -- вести запись лога
    local event = require('event')
    local component = require('component')
    local redstone = component.redstone
    local pim = component.pim
    local item = nil
    
    local function check(name)
      for i = 1, #wList do
        if wList[i] == name then
          return true
        end
      end
      return false
    end
    
    local function open()
      for side = 0, 5 do
        redstone.setOutput(side, 15)
      end
      os.sleep(2)
      for side = 0, 5 do
        redstone.setOutput(side, 0)
      end
      os.sleep(2)
    end
    
    print('Умная нажимная плита включена.')
    
    while 1 do
      local e = {event.pull()}
      if e[1] == 'player_on' then
        if check(e[2]) then
          print(e[2] .. ' прошел через дверь.')
          open()
        else
          io.write('\n\n' .. os.date() .. '  ' .. e[2])
          for j = 1, pim.getInventorySize() do
            item = pim.getStackInSlot(j)
            if log == 1 and item ~= nil then
              io.write('\n  ' .. item.qty .. '  ' .. item.display_name)
            end
            pim.pushItem(chest, j)
          end
          io.write('----------------------')
          print('\n' .. e[2] .. ' был обезврежен.')
        end
      elseif e[1] == 'redstone_changed' and e[3] == pplate then
        open()
      end
      e = nil
    end
    

     

     

    Один вчера уже наступил. :giggle:  Спрашивал в чате : "Что это за кнопка такая ? " Я даже слетал, глянул - где она там у тебя стоит. Посоветовал товарищу к тебе обращаться.


  2. 200.gif

     

    А что должна будет делать программа? Передвигать встроенный в OC курсор?Создавать свой курсор, параллельно со встроенным?

     

    Наверное :giggle:

    velosiped_letayushhij.jpg

    • Нравится 1

  3.     while r.detect () == true do  == while r.detect() do

    Спасибо. Когда набрасывал текст, этого не знал.

    В связи с этим, возникли несколько вопросов :

    1. Где глянуть остальные примеры, замены стандартного написания - на новое ?

    2. Кроме эстетического удовольствия, такой формат, ещё как-то влияет на программу ? ( Ускорение работы ? Уменьшение ошибок ? )


  4. Если, не брезгуешь, то можешь посмотреть - как у меня робо-экскаватор копает.

    http://pastebin.com/VwiUAGFg

     

    П.С. Только там принцип другой - снимается шар "грунта" высотой 3 блока. А размер можно, теоретически - задать любой.


  5. Программа на 20 строчек ? Тогда добавь туда 21-ю : находится ли вызывающий полицию игрок в своём привате или не далее определённого заданного расстояния от своего привата. Это избавит от бегающих с кроватью по миру игроков.

     

    П.С. И что такое "Пиксельмон" ? :blink:


  6. Забавный и довольно редкий случай. Обычно в майне все дюпается со страшной силой, но никак не пропадает :)

    Это, видно, разрабы дримса перемудрили с "хардом". Так играть, когда айтемы улетают в никуда из печки, действительно сложно. :giggle:

    Надо, видимо, в очередной раз вызывать мисс Марпл для поиска пропавших вещей.

     

    П.С. А что за автосортировщик такой? Что это за мод или это плагин типа мэджик-честа?

    Зато честно всё. Раз есть дюп, то должна быть и "пропажа" :D


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

    ...

    Я еще застал в школе преподавание алгоритмического языка по Ершову. Со своими "пока" "нц" и "кц".

    Не ты один учил алгоритмический язык :P  А потом, когда увидел первые строки Паскаля, то понял - что достаточно свой алгоритм перевести на "аглицкий" и  не забыть о "точке с запятой" :D

     

    З.Ы. И вообще https://ru.wikipedia.org/wiki/%D0%94%D0%A0%D0%90%D0%9A%D0%9E%D0%9D -_-

    • Нравится 1

  8. Можно вместо очистки инвентаря просто КБ-шкой спалить игрока молнией)  Но это не повод не юзать роботов. Это, по сути, самая интересная фича мода.

    Правильно. Робот нужен для того, чтобы собрать после "этого события" выпавшие ресурсы. :giggle: Админам они тоже нужны. :D


  9.  

    Шутишь?

    ---

    Ме-та-та-бли-бли-бли-цы - уж-жасное название. Еще ужаснее конструкции вида:

     

     

     

    Прочитал, теперь заикаюсь.

     

    Материал хорош, и грамотен, но та-та-та-блицы с ме-ме-ме-та-методами нужно подавать проще и другими словами.

     

    Оно вроде как и .. ты прав ... но ... из песни слов не выкинешь. Чем думаешь заменить валийское  metatable.Каким словом из русского языка? Чтобы звучало - просто, понятно и правильно.


  10. а если на сервере нет или запрещены чанклоадеры, как быть? ...

    Попробуй заменить в 1164 строке, в c.chunkloader.setActive(true) значение true на false. Должно проскочить, проверку наличия чанклоадера. (когда его не будет)

    Но напишет : " Чанклоадер не обнаружен, возможны проблемы и ошибки. Принудительная остановка программы. ", если чанклоадер - будет установлен.


  11. Да, думал. Как NEO сказал, уже слегка пожали изображения. С 73 кБ до 19.

    Я возможно добавлю ужатие блоков одинаковых байтов. Это позволит избавиться от орд нулей, которые зополоняют каждый сейв :)

    Правда в худшем раскладе размер возрастет. Но надеюсь никому не нужно будет создавать голограмму "губка" с шагом в один воксель.

    Для "губки" тоже есть свои алгоритмы сжатия. Комплексная программа, походу сначала определяет : какие куски файла - каким способом кодировать. Потом - сжимает.


  12. Попробовал второй раз, на том же месте.(карьер 64х64х44) Пройдено : 1400 , Добыто : 39 (из них : руды 7, остальное - хлам из старой шахты).

    Сейчас пробую карьер 32х32х44. И опять произведу второй запуск. :)  Интересно - что на .тот раз ? :D  Отпишусь.


  13. Проблема состоит в том что когда меня выкидывает с сервера, вот что происходит когда я пытаюсь зайти обратно:

    Logging in...

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

    И приходиться заново запускать клиент, а загружается он у меня долговато..

    Как с этим бороться?

    Сколько выделено памяти на игру ?

    Конфигурация компа ? Системы ? Версия Джавы ?


  14. Как-то все стороной обходят вариант ответа "нисколько", а ведь дробное количество информации - абсурдно.

     

    Правильно - абсурд.

    Но числовое значение, дробного количества информации, это уже - информация. :P


  15. Как же всё в последнее время усложнили :facepalm:

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

    Интерпретация - перевод слов-команд одного языка в слова-команды другого.

    Компиляция - сборка(сшивание) "перевода" в рабочую программу.

     

    А то что уже сейчас накрутили, так это не к нам :smile44:

     

    И к слову : в Луа проводится и интерпретация, и компиляция.

     

    Мимомпролетал.

     

    P.S. Вы ещё подеритесь, горячие финские парни. :sarcasm:

    • Нравится 1

  16. Если ее позиционируешь как Программы для начинающих - то программка очень даже хорошая. Хотя, видимо, требует оптимизации. Как то он вроде попой катается медленнее, чем ехал бы мордочкой вперед, наверно.

     

    То, что он утыкается и не умеет сносить препятствия, тоже минус. Ну и писать111112222221111111121112121212 вручную никто не будет, видимо.Для человека это очень неудобно. Нужен редактор (2-х цветный, или более), посмотри, к примеру реализацию у Тоторо в Редакторе голограмм или старый добрый пейнт в компьютеркрафт, он там как раз такие картинки-файлики сохранял в циферках.

     

    Ну и если принт подложки не обязателен, если пишем только буквы, например, то не трать время на его очистку. Лучше сделай оговорку, что нужен Ангел-апдейд для робота, чтобы он мог блоки в воздухе лепить, если ты, конечно, камень печатал в шерстяном тексте именно для этого.

    Можно даже, старый, добрый метод знакогенератора использовать. Это если только текст писать.


  17. Лёха, наврал ты бедному человеку. В СС есть print, в ОС есть print, но write из CС это io.write в OC

    Хочу увидеть вручную раскрашенный ТИТАН Алекса, или банк-теллер Тоторо :D

    А ты возьми - и сам раскрась. :giggle:

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