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


Фотография

[1.7.10] ComputerCraft [1.74]


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

#1821 Lexor

Lexor

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

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

Написал 17.03.2013 - 10:45

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

Функция нужна ведь черепахе-шахтеру? Тогда она оснащена киркой и ничего напряжного :) У меня это реализовано так:
Скрытый текст
З.Ы. coordinate()- функция определения текущих координат по GPS

#1822 Storm Whisper

Storm Whisper

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

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

Написал 17.03.2013 - 10:49

Да, обленился я совсем. Вместо того, чтобы придумать, как организовать ту или иную фичу, я придумываю причину, почему её нельзя организовать...

#1823 adami

adami

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

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

Написал 18.03.2013 - 10:11

вчера разбирался с одной интересной программой по копанию карьера, и там нашел очень интересные строчки по автоматическому запуску программы после перезапуска сервера. (P.S. сама программа написана на "галактическом" языке... долго разбирался для чего нужны те или иные функции все было написанно в виде function a() local b=0... по этому могу ошибится в значении той или иной строчке)

Да это-то самая простая часть перезапускающей программы. Самое интересное - как записать текущее состояние, а потом из него восстановиться. Я вот так программу, копающую шахту, так и не смог до конца отладить - периодически сбивается на один блок. А вот туннели более или менее стабильно копает.

#1824 Aquilo

Aquilo

    Тонущий в песках душ

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

Написал 18.03.2013 - 11:06

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

Истинная гармония лежит между Абсолютной гармонией и Абсолютным хаосом

#1825 KaMaPuK

KaMaPuK

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

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

Написал 18.03.2013 - 11:10

adami, как сохраняю текущее состояние я: не знаю на сколько быстро луа пробегает код, по этому у меня есть 2 состояния: состояние черепашки и состояние карьера. в состояние черепашки записываются 4 параметра dx,dy,dz,da(3 координаты и угол) в состояние карьера - 8(длина, ширина, глубина, начальная высота, состояние карьера и 3 координаты обозначающие самое крайнее положение карьера... само движение происходит так: сначала черепашка проверяет есть ли блок там, куда она движется, если есть - ломает их, пока они не перестанут появляться(на случай если будет падать гравий) если блока не было, проверяем есть ли моб, если есть, проверяем еще раз(при каждой проверке черепашка бьет этого настырного моба). если ничего из предыдущих событий не произошло, пытаемся втянуть все валяющее на земле(пришлось добавить такую возможность после появления потребности в кварце хукрафта). дальше мы изменяем координату перемещения черепашки, сохраняем в фаил новое состояние черепашки и двигаем черепашку(когда делал наоборот, бывали лаги с потерей положения черепашки). если же движение не удалось, откатываем положение черепашки(долго бился со скорпионами и пауками, но так и не смог их одолеть... черепашка не хочет идти и при этом не бьет моба, если на клетке впереди есть нога от него, но нету тела) сохранение карьера же меняется в 3х случаях: при инициализации карьера, при упирании в бедрок и при изменении состояния. когда же идет восстановление данных, мы проверяем если состояние черепашки было копает, значит самое крайнее положение карьера, надо взять из положения черепашки, во всех других состояниях - это положение берется из положенных строчек кода

Может кто скинуть свою программу для рубки мечем? (основное требование перезапуск при заходе в игру, без сбора лута.) и у кого нибуль есть прога автозачарователь, с перемещением и автозапуском (на любой стадии перемещения, без сбора лута и без атаки)

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

#1826 Lexor

Lexor

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

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

Написал 18.03.2013 - 12:23

При использовании "локальных" координат (без GPS) и их сохранении в файл возможны сбои. Ведь сохранение текущих координат происходит обычно после того, как факт перемещения подтвердится, а луа ждет пока черепаха завершит процесс перемещения и только после этого переходит к следующей строчке. Т.е по факту если выйти из игры когда черепаха только начала движение, то после захода в игру черепаха движение завершит, но координата не изменится. Проверял на практике шанс сбоя подобной системы координат при перезаходе в игру во время движения черепахи весьма высок. Поэтому буду использовать своих черепах только с GPS, предварительно увеличив радиус беспроводного модема в конфиге. А программу ув. KaMaPuK лучше чуть изменить для повышения скорости атаки черепахи, чтобы она не проверяла весь инвентарь после каждого удара:
Скрытый текст
Для автоматической загрузки проще всего обозвать программу "startup"

#1827 KaMaPuK

KaMaPuK

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

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

Написал 18.03.2013 - 13:36

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

#1828 Lexor

Lexor

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

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

Написал 18.03.2013 - 14:26

потому я сначала сохраняю новые координаты а потом иду на новую клетку...

Интересная идея, я так не пробовал. А как проверяешь наличие моба впереди, просто атакой? Ведь наверняка есть и не подводные черепахи?

у твоей черепашке есть один недостаток: в первый слот может попасть например лук....

Да, про нестакаемые предметы я что-то не подумал.. Просто у меня они ифритов мочат, проблемы такой не возникало. Тогда так:
Скрытый текст


#1829 Storm Whisper

Storm Whisper

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

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

Написал 18.03.2013 - 14:41

Совет небольшой: те предметы, которые юзает черепаха, например факелы, топливо, нужно класть в последние слоты. И вот, например, из 16 слотов мы используем два последних (15 и 16). Тогда мы можем постоянно проверять 14-й слот на наличие предметов. Если он НЕ пустой, скидываем барахло из 1-14 слотов. Таким образом мы никогда не перепутаем предметы.Если я правильно понял, о чём вы.

#1830 KaMaPuK

KaMaPuK

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

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

Написал 18.03.2013 - 16:00

потому я сначала сохраняю новые координаты а потом иду на новую клетку...

Интересная идея, я так не пробовал. А как проверяешь наличие моба впереди, просто атакой? Ведь наверняка есть и не подводные черепахи?

даже подводным черепашкам надо ставить проверку на мобов... а особенно если стоит мо кричерс... да. проверяю атакой, просто у меня все шаги идут в виде циклов с предусловием(while turtle.suck(); while turtle.attack() и т.д.)... по этому я их и обзываю проверки=) а это сделано на случай если гравий решит обсыпаться или наглый троль будет пытаться бить мои черепашки(особенно люблю наглых синих троллей)...

Совет небольшой: те предметы, которые юзает черепаха, например факелы, топливо, нужно класть в последние слоты. И вот, например, из 16 слотов мы используем два последних (15 и 16). Тогда мы можем постоянно проверять 14-й слот на наличие предметов. Если он НЕ пустой, скидываем барахло из 1-14 слотов. Таким образом мы никогда не перепутаем предметы. Если я правильно понял, о чём вы.

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

#1831 Lexor

Lexor

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

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

Написал 18.03.2013 - 16:16

Совет небольшой: те предметы, которые юзает черепаха, например факелы, топливо, нужно класть в последние слоты. И вот, например, из 16 слотов мы используем два последних (15 и 16). Тогда мы можем постоянно проверять 14-й слот на наличие предметов. Если он НЕ пустой, скидываем барахло из 1-14 слотов. Таким образом мы никогда не перепутаем предметы. Если я правильно понял, о чём вы.

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

даже подводным черепашкам надо ставить проверку на мобов... а особенно если стоит мо кричерс... да. проверяю атакой, просто у меня все шаги идут в виде циклов с предусловием(while turtle.suck(); while turtle.attack() и т.д.)... по этому я их и обзываю проверки=) а это сделано на случай если гравий решит обсыпаться или наглый троль будет пытаться бить мои черепашки(особенно люблю наглых синих троллей)...

"Мо кричерс" не ставил, хоть и было желание, но слышал, что потом ванильных мобов найти не просто, а лут с них мне очень нужен.. Сейчас вроде бы закончил отладку своего шахтера который копает отверстия в земле в виде особого узора так, что количество коббла/дирта/гравия в среднем в 4 раза меньше, но добывает абсолютно все полезные ископаемые. А если учесть, что дыры после себя он засыпает тем же добытым кобблом, то получается высокий КПД и практически полное отсутствие мусорной породы. Есть конечно и минусы.. Коббла не хватает на все пустоты и там могут потом ворчать мобы, да и фиг с ними ))

#1832 KaMaPuK

KaMaPuK

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

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

Написал 18.03.2013 - 17:07

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

#1833 Aquilo

Aquilo

    Тонущий в песках душ

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

Написал 18.03.2013 - 23:27

можно попробывать как нибудь так:

Скрытый текст

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

Эм вопрос, а что это делает?
Скрытый текст

Это выкидывание дропа? То есть просто стоящая на месте черепашка дроп поднимает?


И еще вопрос про черепашку зачарователя, ей нужен стол зачарования (в мире), а шкафы?
Если нужен со шкафами, то нужна помощь с выкидишем:
Скрытый текст

Плюс туда нужно добавить сохранение координат в файл.

Если шкафы не нужны, все проще, но всеравно есть вопросы:
Скрытый текст

И что означает сторона в xp = peripheral.wrap("right") Сторона с которой находиться стол зачарования?
Истинная гармония лежит между Абсолютной гармонией и Абсолютным хаосом

#1834 Lexor

Lexor

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

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

Написал 19.03.2013 - 02:28

Эм вопрос, а что это делает?

Скрытый текст

Это выкидывание дропа? То есть просто стоящая на месте черепашка дроп поднимает?

Да, эта функция выбрасывает дроп вперед перед черепахой. Черепаха не подбирает лут, если ей не сказать, но при убийстве мобов весь лут с них идет сразу черепахе, не выпадая.

И еще вопрос про черепашку зачарователя, ей нужен стол зачарования (в мире), а шкафы?

Стол зачарователя нужен используется как периферийное устройство черепахи (т.е нужно скрафтить черепаху со столом слева или справа) необходим аддон =ttp://www.computercraft.info/forums2/index.php?/topic/4587-cc15mc147-miscperipherals-31/]miscperipherals. Шкафы не нужны.
Что касается кода:
В программе куча ошибок, работать не будет даже близко
Апи turtle посмотреть можно --комментарии пишутся так[paste][/paste]xp = peripheral[paste][/paste]wrap("back") --интегрированную периферию на черепахе сзади не установишь, всего два слота: слева и справа[paste][/paste]turtle[paste][/paste]dropRight(1) --нет такой команды[paste][/paste] Да и вообще "drop" в переводе с английского - выбросить, что черепаха и делает, выкидывая (выкладывая в сундук, если таковой есть) количество (1) из выбранного слота в заданном направлении (вперед, верх или вниз)if (turtle[paste][/paste]getFuelLevol < 1000) -- не верно[paste][/paste] Верно будет так: if turtle[paste][/paste]getFuelLevel() < 1000 then [paste][/paste][paste][/paste][paste][/paste]бла бла бла[paste][/paste][paste][/paste][paste][/paste] end Да и не нужно черепахе топливо для зачарования, если она не будет ездить(что обычно и не нужно)

И что означает сторона в xp = peripheral.wrap("right") Сторона с которой находиться стол зачарования?

Да, но стол не будет работать если ты его просто поставишь рядом. Нужно скрафтить черепаху со столом справа или слева от нее.

#1835 Aquilo

Aquilo

    Тонущий в песках душ

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

Написал 19.03.2013 - 07:24

Да, эта функция выбрасывает дроп вперед перед черепахой. Черепаха не подбирает лут, если ей не сказать, но при убийстве мобов весь лут с них идет сразу черепахе, не выпадая.

А если багажник черепахи занят?

Стол зачарователя нужен используется как периферийное устройство черепахи (т.е нужно скрафтить черепаху со столом слева или справа) необходим аддон =ttp://www.computercraft.info/forums2/index.php?/topic/4587-cc15mc147-miscperipherals-31/]miscperipherals.

Это я знаю, просто думал что черепашка должна подходить к реальному столу зачарования...

Шкафы не нужны.

Как и сам стол (в мире, в виде блока)

Что касается кода: В программе куча ошибок, работать не будет даже близко

Знаю.

Апи turtle посмотреть можно Скрытый текст

Хотя как вариант можно использовать манагер из РП, для поддержания полустека книг в черепашке...
Истинная гармония лежит между Абсолютной гармонией и Абсолютным хаосом

#1836 Lexor

Lexor

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

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

Написал 19.03.2013 - 07:53

А если багажник черепахи занят?

Лут будет просто выпадать с мобов.

Кстати черепашка может зачаровать сразу 50 уровнем?

На практике не пробовал что произойдет, но теоретически не может, т.к макс. уровень для зачарования 30.

Про код, тогда остался один вопрос: Как вынимать из сундука? (апи курить буду вечером)

turtle[paste][/paste]suck(количество)turtle[paste][/paste]suckUp(количество)turtle[paste][/paste]suckDown(количество)
По коду такие комментарии:
Скрытый текст
Можно просто хранить в черепахе 15 стаков книг, а для зачарования перемещать по одной книжке в 1й слот, используя turtle.transferTo(slot, quantity)

#1837 Aquilo

Aquilo

    Тонущий в песках душ

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

Написал 19.03.2013 - 08:06

Лут будет просто выпадать с мобов.

Тогда попробую сыкономить пару тактов забив черепашек коблом По коду
Скрытый текст
Собственно сундук с источником книг снизу. Источник опыта сверху (если черепашка будет в ровень с полом, нормально?), сбоку или сзади. Сундук для результата спереди.
Истинная гармония лежит между Абсолютной гармонией и Абсолютным хаосом

#1838 Lexor

Lexor

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

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

Написал 19.03.2013 - 11:43

transferTo - исходя из названия - переместить в... Следовательно наоборот:turtle.select(1)turtle.transferTo(16, 1)

#1839 Aquilo

Aquilo

    Тонущий в песках душ

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

Написал 19.03.2013 - 11:59

transferTo - исходя из названия - переместить в... Следовательно наоборот: turtle.select(1) turtle.transferTo(16, 1)

Спасибо, неверно перевел описание. Дома опробую
Скрытый текст

Истинная гармония лежит между Абсолютной гармонией и Абсолютным хаосом

#1840 Lexor

Lexor

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

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

Написал 19.03.2013 - 17:28

После первого цикла останется выделенным последний слот, в него черепаха и положит книгу из сундука. Потом "трансфер" добавит туда еще одну, зачарование не удастся.


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

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