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


Фотография

[1.7.10] ComputerCraft [1.74]


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2863

#1781 Kellso

Kellso

    Странник

  • Пользователи
  • Сообщений: 5

Написал 11.03.2013 - 12:28

Подскажите пожалуйста!В чистой черепахе пишу 1) lua2) turtle.select(2)3) turtle.placeDown()Пишет false почему?Топливо есть, такая же фигня и на черепашке с киркой.

#1782 KaMaPuK

KaMaPuK

    Добытчик алмазов

  • Пользователи
  • Сообщений: 681
  • Откуда: СПб

Написал 11.03.2013 - 13:47

placeDown() - поставить блок из инвентаря под черепашку, возвращает true если блок установлен успешно, и false - если попытка не удалась.. попытка неудачна считается в 2х случаях: нету предмета который надо поставить и нету места под черепашкой

Черепаха копает как карьер, или они научились "видеть" на N блоков впереди себя?

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

#1783 Gromwild

Gromwild

    Странник

  • Пользователи
  • Сообщений: 65

Написал 12.03.2013 - 07:48

Сама идея клёвая...N черепашек, связь через модем, интересно бы было посмотреть код. Но есть 1 существенный недостаток, крайне малая эффективность :(. Попробую замутить автоустановку майнерного поля, там всего то 49 майнеров нужно собрать :) при размере 64*64

#1784 ga2mer

ga2mer

    Добытчик дерева

  • Пользователи
  • Сообщений: 184

Написал 12.03.2013 - 13:38

Дан выложил бетку(или пре-релиз) CC 1.51 для 1.5 http://www.computerc... ... arch-11th/ Вооооот. Изменения: . Added Wired Modems . Added Networking Cables . Changed recipe for Wireless Modems to require an enderpearl . Switched all block and item IDs to use FTB values by default . Except for labelled computers and turtles, ComputerCraft blocks no longer drop items in creative mode . The pick block function works in creative mode now works for all ComputerCraft blocks . Fixed turtles sometimes placing blocks with incorrect orientations . Fixed Wireless modems being able to send messages to themselves . TODO

#1785 KaMaPuK

KaMaPuK

    Добытчик алмазов

  • Пользователи
  • Сообщений: 681
  • Откуда: СПб

Написал 12.03.2013 - 14:25

Сама идея клёвая...N черепашек, связь через модем, интересно бы было посмотреть код. Но есть 1 существенный недостаток, крайне малая эффективность :(. Попробую замутить автоустановку майнерного поля, там всего то 49 майнеров нужно собрать :) при размере 64*64

они связаны не через модем, а через REther Upgrade... это wifi чикенбона, добавленый MiscPeripherals... дело в том что дистанция работы модема оставляет желать лучшего... а у wifi она намного больше. а черепашки именно 3 потому что: чтобы проверять наличие блока через compare() надо иметь этот блок у черепашки в инвентаре, а это уменьшение места инвентаря под хранение добытых ресурсов.. как результат - слишком часто бегать придется шахтеру к сундуку.. а 3яя черепашка нужна в момент когда2е другие выкопали чанк и пошли копать следующий.. базовые ресурсы добывает карьер из ВС, а черепашки нужны для поиска специфической продукции(сначала была мысль сделать карьер на блокбрейкерах RP с черепашкой поисковиком... но отказался от этой мысли. когда-то давно(когда о МР не знал) я собирал воду ведрами и черепашкой обычным turtle.place()... попробуй вручить черепашки омнитулс и с помощью turtle.place() снять майнер UPD: сейчас проверил, схема работает. turtle.place() с выделеным омни ключем снимает майнер(но надо вызывать turtle.place() 2а раза) только при этом майнер выбрасывается на землю... но и эту проблему можно решить через turtle.suck() - поднимает предметы находящиеся на блоке перед черепашкой
рандом он такой рандом....а если корейский так вообще забей)

#1786 Storm Whisper

Storm Whisper

    Зачарователь

  • Пользователи
  • Сообщений: 1554
  • Откуда: Убежище 13

Написал 12.03.2013 - 16:02

Хм, стоит ли пререлиз в ОП писать? Ну позже черкану перевод чейнжлога

#1787 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 12.03.2013 - 16:35

они связаны не через модем, а через REther Upgrade... это wifi чикенбона, добавленый MiscPeripherals... дело в том что дистанция работы модема оставляет желать лучшего... а у wifi она намного больше.

Для передачи используешь передачу сигнала 1/0 на заданной частоте? (если на такой-то частоте сигнал, то идет проверять вторая) Или нечто более сложное, с возможностью передачи координат? Было бы интересно узнать о возможности модуляции сложных сигналов через WRCBE.

#1788 KaMaPuK

KaMaPuK

    Добытчик алмазов

  • Пользователи
  • Сообщений: 681
  • Откуда: СПб

Написал 12.03.2013 - 17:14

ну я использую сейчас сигнал 5частот: 1 - шахтер включает анализатора 2 - анализатор включает шахтера(если ничего не нашел интересного) 3 - анализатор включает сирену(если нашел что-либо) 4 - я включаю анализатор(после сбора всего интересного, но возможно объединю с 1 частотой) 5 - шахтер запускает заполнителя а модуляция сложного сигнала осуществляется очень просто(просто долго возиться с настройками системы): сигнал передается минимум по 2м частотам: 1 - задает частоту према сигнала, 2 - передает бинарный сигнал, код приемника будет похож на это(могу где-то ошибиться, т.к. сейчас не дома):
i=0;imp= peripheral[paste][/paste]wrap("right");sig = peripheral[paste][/paste]wrap("right");imp[paste][/paste]setFreq(10);sig[paste][/paste]setFreq(11);while i<10 doif imp[paste][/paste]get() then sh=sh*10;if sig[paste][/paste]get() then sh=sh+1;else sh=sh+0;end;i=0;else i=i+1;endsleep(1);end
суть работы: когда приходит сигнал по 10 частоте, программа считывает сигнал на 11 частоте и записывает в переменную sh, после чего счетчик сбрасывается. если сигнал с 10 частоты не проходит 10 сек, програма завершается, и далее можно обрабатывать последовательность sh(например перевести из 2чного кода в 10чный)
рандом он такой рандом....а если корейский так вообще забей)

#1789 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 12.03.2013 - 17:26

Благодарю, весьма поучительно, возьму на заметку.

#1790 KaMaPuK

KaMaPuK

    Добытчик алмазов

  • Пользователи
  • Сообщений: 681
  • Откуда: СПб

Написал 12.03.2013 - 19:57

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

#1791 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 13.03.2013 - 02:08

Раз используешь WRCBE, ведь наверняка есть и "Эндерчесты курокостей"? Я не гоняю черепаху домой, разгружаю в эндерсундук, лежащий в 16м слоте. А заправляется она добываемым ею углем, которого мне и так хватает с фермы скелетов-иссушителей.
Скрытый текст


#1792 KaMaPuK

KaMaPuK

    Добытчик алмазов

  • Пользователи
  • Сообщений: 681
  • Откуда: СПб

Написал 13.03.2013 - 07:21

эндерсундук не ставил, т.к. есть тессеракты, нам их с головой хватает...
рандом он такой рандом....а если корейский так вообще забей)

#1793 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 13.03.2013 - 08:52

Щас пишу программу для довольно эффективного шахтера, который добывает в 4 раза меньше коббла, дирта и гравия с объема, но абсолютно все полезные ископаемые. Идея частично взята с офф форума компкрафта, но код пишу сам с нуля. Черепаха копает по такой схеме:
Скрытый текст
Темные квадраты - дырки в земле, которые копает черепаха, вращаясь на каждом уровне, проверяя стены на наличие ценной руды. Стороны карьера пропорционально расширяются по спирали.

#1794 KaMaPuK

KaMaPuK

    Добытчик алмазов

  • Пользователи
  • Сообщений: 681
  • Откуда: СПб

Написал 13.03.2013 - 12:39

а черепашки научились возвращать id блоков?
рандом он такой рандом....а если корейский так вообще забей)

#1795 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 13.03.2013 - 13:48

Не слышал о таком. У меня в первые 3 слота положены камень, земля, гравий, если "компаре" всех их равно false, то значит это ресурс нужный, черепаха его копает. Можно конечно в ущерб свободного инвентаря добавить мрамор, но у меня черепаха копает ниже его уровня.

#1796 adami

adami

    Добытчик угля

  • Пользователи
  • Сообщений: 318
  • Ник в Minecraft:
    _adami_

Написал 13.03.2013 - 15:30

В miscperipherals есть отдельный блок interactive sorter.

#1797 KaMaPuK

KaMaPuK

    Добытчик алмазов

  • Пользователи
  • Сообщений: 681
  • Откуда: СПб

Написал 14.03.2013 - 07:08

так он же работает с добытыми блоками, к тому же черепашка не может иметь его как модуль... UPD проверил я код по передаче сложного сигнала, и нашел ошибку. частота присвается не переменной, а модему. по этому нету смысла делать 2 переменные на 2 волны... а код приема изменится на:
i=0;imp= peripheral[paste][/paste]wrap("right");while i<10 doimp[paste][/paste]setFreq(10);if imp[paste][/paste]get() thensh=sh*10;imp[paste][/paste]setFreq(11);if imp[paste][/paste]get() then sh=sh+1;else sh=sh+0;end;i=0;else i=i+1;endsleep(1);end
UPD: сегодня наконец переписал с нуля программу карьера... если кому интересно выступить тестером, проверьте поведение черепашки с этим кодом:
Скрытый текст
при запуске задается 2 параметра: сторона квадрата и начальная глубина с которой черепашка начнет копать пример: miningturtle 16 20 говорит черепашке, что карьер необходимо делать на 20 блоков ниже уровня установки карьера, длина карьера - 16 блоков. если надо карьер сделать от того места где он стоит, 2ой параметр задаем как 0. отличие от встроенного карьера на данный момент: + собирает весь лут, валяющийся на земле, + выбирается начальная высота работы, - не реализована система слежения за уровнем топлива(если черепашка останется без него, она встанет, и будет ждать пока ее не наполнят)(реализую завтра/послезавтра) - нету счетчика глубины/предметов если найдутся баги/глюки/зависания/предложения, просьба отписаться тут/в личку, т.к. сейчас мало времени уходит на игру и не остается времени проверить стабильность работы системы(все набираю в блокноте)
рандом он такой рандом....а если корейский так вообще забей)

#1798 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 14.03.2013 - 13:07

Хочу сохранять координаты в массив в формате строки. Строку то создать легко:
x=110y=120z=130cord=x[paste][/paste][paste][/paste]" "[paste][/paste][paste][/paste]y[paste][/paste][paste][/paste]" "[paste][/paste][paste][/paste]z
Подскажите пожалуйста как строку разобрать обратно на координаты. Явно что-то с tonumber, но вот как выбрать нужное значение из строчки к сожалению не знаю.

#1799 KaMaPuK

KaMaPuK

    Добытчик алмазов

  • Пользователи
  • Сообщений: 681
  • Откуда: СПб

Написал 14.03.2013 - 15:43

можно попробывать string.sub (s, i, j)она возвращает подстроку строки s, которая начинается с символа с индексом i и продолжается до символа с индексом jвызывается например так:x=tonumber(string.sub (cord, 1, 3))но такой способ подойдет если длина символа известна
рандом он такой рандом....а если корейский так вообще забей)

#1800 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 14.03.2013 - 15:47

Благодарю, именно это мне и нужно было, а все координаты буду задавать 4х значным числом.


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных