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

Fingercomp

Гуру
  • Публикации

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

  • Посещение

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

    283

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


  1. Как я понимаю, библиотека стоит на синхронных сокетах, лучше сделай на асинхронных, функция receive все портит своим бесконечным ожиданием.

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

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

    А ты думаешь, Рид так не пробовал? Он рассказывал на сервере уже, что вызов этой функции блокирует комп. Хоть она в потоке запущена, хоть нет. Тем более, что запустить receive(), если не подключён к мосту, не получится, смотри код внимательнее. Ивенты не присылаются от данных с сокета, а самому повесить пушер не получится, так как чтение, как уже сказал, блокирует напрочь комп.


  2. Строка. Вот тебе кодик, очень простой:

     

    function subTheText(text) 
    	texttoreturn={}
    	noExit=true
    	while noExit do
    		startTEXT, stopTEXT=string.find(text, "CSTART") 
    		startC, stopC=string.find(text, "CSTOP") 
    		if startTEXT~=nil and stopTEXT~=nil and startC~=nil and stopC~=nil then
    			if string.sub(text, stopTEXT, stopC)~="" then
    				table.insert(texttoreturn, string.sub(text, stopTEXT+1, stopC-#"CSTOP"))
    			end
    			text=string.sub(text, stopC, #text)
    		else
    			noExit=false
    		end
    	end
    	return texttoreturn
    end
    

     

     

    То есть ты в компе-камере между цветами вставляешь CSTART и CSTOP. То есть "CSTART0x000000CSTOPCSTART0xff0000CSTOPCSTART0x00ff00CSTOPCSTART0x0000ffCSTOP" вернёт {0x000000, 0xff0000, 0x00ff00, 0x0000ff}

    Мало того, что цвета огромное кол-во байт занимают, а ты ещё 11 штук приляпал. Внимательно читай: "с-ж-а-т-и-е".


  3. А зачем тогда они поставили мод? А я знаю зачем: они думают, что на проекте никто не будет строить лагодром. Да и AE с парой авто-рецептов несильно нагрузит сервер.

    Извиняюсь, но ты вообще о чём думаешь???

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

    • Нравится 1

  4. Вы слышали о такой штуке под названием "На Вики инфа по версии 1.8"? Нет? Тогда знайте — всё уже сделано давным-давно за вас.

    Ловите линк, вот вам нормальная формула для расчётов, математики.

    http://minecraft.gamepedia.com/index.php?title=Experience&oldid=587105

     

    VF7HNG2.png

     

     

     

    P. S. А ещё на Вику постить собрались :facepalm:

    • Нравится 1

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

    Мне саженцев и так хватает)


  6. Огромное спасибо ivan52945!

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


  7. Программа сделана под одиночку, общение с сервером не надёжное.

    Захочу поставить на сервере, мне быстро кто - нибудь с планшета испортит всё.

    А чего ты хотел от человека, который буквально три дня назад СС ищучать вообще начал?


  8. Ель говорю, кури. 2х2. )

     

    А излишки древесины в древесный уголь, и в энергию.

    Решено уже, буду белую иву сажать. А энергии у меня и так вагоны.

    Никто же не хочет ставить нормальные провода RF на ИТ, так что только биомассой топить)


  9. Кури ель, 2х2. 

    Древесины и саженцев - море.

    Вот чего мне не надо — так это древесины) Саженец 4х4 джунглей выдаёт 1-5 саплингов (не хватает на поддержание), 4х4 дуб — 3-5 (такая же беда), берёза — 2-4 (маловато будет), дуб — 2-5 (в самый раз и с яблоками).

     

    А вообще — на первой агрерке выпала White Willow, понравилась неимоверно своей скоростью роста и кол-вом саплингом. Биомассы в 4 раза больше даёт и выводится легко (относительно).


  10. : Column
    | но не Collum!
    Поставь функции в [inline] теги, поправь форматирование.
     



    А по поводу либы — надо будет затестить как-нибудь. Но мне проще хранить данные в памяти программы или на харде :P

  11. Вот еще аналог ExpChest, есть портативный и обычный эндер сундук ( обычный ), портативный и обычный эндер сундук ( для опыта), портативный эндер сундук (универсальный ).

    Это как вариант.

    99.9%, что будет конфликтовать с плагином BetterEnderChest на ИТ.


  12. xD

    Дружно пожелаем Монстрику удачи в столь нелёгком испытании для него и всех) Если же задача будет для него не по зубам — BADроком, всегда есть фоллбэк, который подсказал уважаемый @Fiender:

     

     


    Можно использовать liquidxp от имибиса.

  13. В чем именно беда? Если робот едет над саженцем и бонмилит, его может пожрать выросшее дерево?

    И если он внутри ствола едет, его тоже умирающее или соседнее вновь возросшее дерево пожирает тоже листвой новой?

     

    И какой сорт деревьев это именно делает?

    Я тестил на дубах, но, вероятно, все деревья так делают. Как всем известно, блоки иметь дробные координаты не умеют. А роботы передвигаются. Как? В момент передвижения, робот заменяется на некую сущность, которая выглядит так же, но функционал никакой не несёт. Если кто-то замечал — робота в процессе передвижения сломать невозможно, только во время пребывания "настоящим", то есть, стоячим. Потому мои предположения, что происходит это тогда, когда саженец вырастает после проверки внутри мода, есть ли блок впереди робота. Робот превращается в эту самую сущность, передвигается в блок, после завершения движения же пытается превратиться в нормального робота, но это у него не получается, и он исчезает. Кстати, опять-таки, как мне кажется, происходит это при загрузке чанков. НО я не уверен в этом всём, повторяюсь, это всего лишь мои предположения.

     

    P. S. В сингле такого не было, но я особо не тестил...


  14. А разве treecapitator распространяется на роботов? Если да, я удивлен. А если нет, то роботу все равно придется подняться, чтобы срубить дерево полностью, и тогда он рискует быть поглощенным листвой соседнего дерева, и весь наш эффективный алгоритм посадки идет коту под хвост.

    Распространяется, естественно, иначе бы в алгоритме было сказано о поднимании т. д. :)


  15. ivan52945, тут, как я понял, в другом дело. Имеющийся алгоритм уже не предусматривает нахождения робота над саженцем. Тут, скорее всего, листва его убила. Или я не знаю.

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

     

    робот выходит на старт между саженцами(растояние один блок)

    проверяет (детект или сравнение на ваш вкус) есть ли брёвна слева  и справа (он на 1 блок выше саженцев)

    если да, то срубает, едет вперёд (у тебя пила так что можно и вниз), ставит саплинг и назад

    Если модифицировать этот алгоритм для нахождения робота на уровне саженцов, как у меня, и сравнивать блоки слева и справа с образцом — дубовым бревном, то, вероятно, проблем не будет... Сегодня опробую на новом роботе на сервере)


  16. лучше саженцы в  слот 16 ложи(а то могут закончиться и на это место могут пойти брёвна)

    Не в этом дело, конечно, но всё же. Робот сначала пытается класть предметы в активный слот, затем по-порядку, как в сундуке. Так что не спасёт это.


  17. Здравствуйте, уважаемые форумчане! В процессе создания на сервере InfoTech собственной энергостанции RF на биотопливе, появилась необходимость фермы дерева. Так как мультифермы из Форестри здесь отключены, в срочном порядке спаял роботика, вручил ему электропилу и написал простенький алгоритмик для добычи дерева:


    Робот находится в одном блоке за фермой, в правом нижнем её углу:

     

    XXXX|
    XXXX|
    XXXX|
    ---⌷+
    

    X — саженцы, |, -, + — граница фермы, а — робот.


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


    На таком алгоритме бы всё и закончилось, если бы не одно "но". Спасибо, Майнкрафт: если саженец вырастает и робот находится в месте, где должен быть блок древесины, последний заменяет роботика полностью и безвозвратно. Естественно, меня такой поворот опечалил бы безразмерно, потому на смену этому алгоритму пришёл новый, куда менее эффективный:


    Робот находится в той же позиции, что и в прошлый раз, но "обход" фермы совершается иначе. Робот идёт вперёд на уровне фермы, срубая перед ним саженцы и деревья (мы избавляемся от прорастания в робота), затем возвращается через robot.back(), ставя перед собой саженцы. Дойдя до начала ряда, он выходит за границу, ставит саженец и поворачивает налево, проходит блок и снова поворачивается лицом к ферме, затем повторяется описанное. Возвращается так же, как и в прошлом алгоритме.


    Долго обдумав, я решил, что это полностью безопасный алгоритм, записал на робота, запустил и вышел из игры.
     
    Вернулся я сегодня на сервер на том же месте, где и вышел, поворачиваюсь к ферме, смотрю — робот пропал! Но паниковать рано. Твёрдой рукой ввожу секретное заклинание: /co l a:block u:Fingercomp.robot t:24h r:20, смотрю — 22 часа назад робот ставит саженец, затем перестаёт, что логично, так как ЧЛ в нём не было (ну, не накопил на него тугрей, бывает), а я вышел из игры. Но! 1.03 часа назад... Робот оживает!.. и ставит саженец. Один, второй, третий... Третий. Дальше лог молчит.
    Вчера был поставлен сенсор на месте фермы, в котором крутятся игроки, которые были на ферме (ну, мало ли что, угонят там, например :)), бегу туда, ввожу edit /var/log/players/players.log, смотрю — один я был замечен на ферме. Немного поразмыслив, мысль появилась: эй, так ведь 1.03 часа назад был же рестарт!..
     
    Ох уж эти Котлы с ненавистью к роботам. Что конкретно случилось — мне понять не дано, но робот исчез бесследно... А ферма нужна позарез, питать машинки биогазовыми движками на воде и лаве — не вариант совершенно. Поэтому создаю тему здесь, дабы опытные лесоводы могли дать совет, как же обустроить ферму дерева на роботах.

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