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

Doob

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

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

  • Посещение

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

    141

Все публикации пользователя Doob

  1. Ну... Тогда зазову игроков в один приват, без подприватов тяжко, но с адекватными людьми можно территорию разделить, чтобы всем всего хватало и жить спокойно. Будет осиное гнездо посреди улья. Было дело, пилил такое на одном сервере с компутеркрафтом.
  2. Так и бегали, как марафонцы, вместо того, чтобы копать и крафтить. Поселился я рядом с игроками на робике, чтобы по-соседски грузить чанки, но игроки слиняли и я остался один... и чтобы добраться до спавна уходил один игровой день, добраться до других игроков - еще около дня и это по скоростной дороге. Когда нормально заработали варпы и хомки, стало проще, но в магазин я заманил всего двух игроков (ну да, тогда уже все разошлись), был вариант - загнать робота с чатбоксом в загруженный на спавне чанк, но это все-таки дико. А от описания варпов толку <0, т. к. список смотрят еденицы, да и то, приходится орать в чат, чтобы до всех дошло. Не знаю, как в парижах и москвах, но в майне большинство игроков магазины не ищут, если есть что возле спавна - ходят толпами, а чуть подальше - тишь да гладь, раз в месяц заносит только какого-нибудь рандома. Игроки как газ - заполняют весь доступный объем, а потом страдают и говорят, что в одиночке веселей. Можно не впадать в крайности, и сделать схему посложнее, например: нижний этаж - спавн с переходами к приватам, а верхний - соты. Не понимаю, в чем проблема с приватами, если игрок может заприватить два смежных, то кто ему запретит приват растянуть на 30-40 блоков? Надежней приватить соту через комблок, обслуживать, кстати, тоже - не надо подстраиваться под игроков, чтобы не снести что-то важное. ПС если лень админить рабочий серв, то надо как-то это автоматизировать.
  3. Не удобная линейка. Я бы разместил все компактней, чтобы бегать меньше и чанки соседям грузить. Если есть варпы, то дороги не нужны, на спавне ввести номер соты или просто тыкнуть на схеме пальцем и тп туда. Так можно приваты лепить один к другому, без зазоров и дорог. К тому-же, для торговли это совсем не юзерфрендли, т. к. конечному пользователю надо все и сразу, а не бегать искать нужный отдел. Например, если в названии варпа есть слово 'shop', то туда приходит один из 10 игроков, а если магазин стоит лицом к спавну, то туда заходит каждый.
  4. Если игрок заберет из зарядника инструмент, программа упадет. Поэтому, надо проверять наличие инструмента в слоте или забирать из зарядника. local component = require('component') local computer = require('computer') local i_c = component.inventory_controller local robot = component.robot local i_size = 1 -- количество слотов у зарядника, чтобы не путать с другими блоками local function charge() local st = nil for d = 1, 4 do -- найти сторону с зарядником if i_c.getInventorySize(3) and i_c.getInventorySize(3) == i_size then -- проверить размер инвентаря while not st do if robot.durability() ~= 1 then -- если не заряжен i_c.equip() robot.drop(3) -- скинуть в зарядник os.sleep(10) -- подождать robot.suck(3) i_c.equip() -- взять из зарядника else -- иначе st = true -- остановить цикл end end break end robot.turn(true) end end Если вынуть инструмент, то робот будет и дальше пытаться его достать, пока не получит полностью заряженным.
  5. Вообще, хранить деньги, в виде предметов в игре - не разумно. Дюпы есть на всех серверах, чем больше модов, тем больше дюпов. Например: игрок задонатил пять червонцев, купил на них игровые монетки, нашел дюп, надюпал. В итоге - сервер откатывается, банятся все донатеры, убирается донат и сервер умирает (либо все чинится/запрещается, дюпающие механизмы продаются за донат). Но это я просто придираюсь, превращение цифр в предметы и обратно, займет с десяток строк, надо только пример БД, чтобы знать, как к ней обращаться.
  6. Я делал обменник через дебагу подобным образом. Гивал какие-то предметы со служебной информацией в NBT. Проблема в том, что нет возможности работать с инвентарем напрямую, а делать все через чат не интересно. Если деньги печатать в виде каких-то предметов, то любой дюп предметов, можно использовать для дюпа денег. А вот используя скорборды, можно привязать к валюте и БД сайта (или управлять скриптом сайта напрямую), привязать игровые события, другие системы.
  7. local component = require("component") local event = require("event") local robot = component.robot local function move(side) if not robot.detect(side) and not robot.move(side) then move(side) end end local CMD = { w = function() move(3) end, a = function() robot.turn(false) move(3) end, s = function() robot.move(2) end, d = function() robot.turn(true) move(3) end, e = function() move(1) end, q = function() move(0) end } while true do local e = {event.pull('chat_message')} if e[4]:sub(1,1) == '#' then for i = 2, #e[4] do local index = e[4]:sub(i,i) if CMD[index] then CMD[index]() end end end end А вот версия для ЕЕPROM: local robot = component.proxy(component.list('robot')()) local function move(side) if not robot.detect(side) and not robot.move(side) then move(side) end end local CMD = { w = function() move(3) end, a = function() robot.turn(false) move(3) end, s = function() robot.move(2) end, d = function() robot.turn(true) move(3) end, e = function() move(1) end, q = function() move(0) end } while true do local e = {computer.pullSignal()} if e[1] == 'chat_message' and e[4]:sub(1,1) == '#' then for i = 2, #e[4] do local index = e[4]:sub(i,i) if CMD[index] then CMD[index]() end end end end
  8. Ыщо одна подсказка - расшифрованная часть второго текста: HERCULIS
  9. В качестве ключа используется название эвристического подхода в программировании.
  10. a еще лучше назначить каждой иконке координаты и значение в таблице, чтобы не путаться
  11. Я сильно перемудрил с первым заданием, т. к. остальные слишком простые, текст взял короткий, поэтому сложно найти закономерности. Хотя, погуглив алгоритмы криптоанализа, можно составить утилиты, которые все делают сами. Кстати, тексты на латыни. KMMKXPMLZUIYDOGWYQFXYLWBAISSPWMBHZIGIXTQGEWQDAVIPTCDJQTAHAVZKMWIIZPVVPHBDBSIRTBUHZZCWWMIESVTCZXGFGDCYMQW QNTUTVDAUQOWSVSWMMIMLSWQNWSIVTBMHETRLAZBVSVHZOAEIIGCXQVIXWMODVREVCKXOMGXDUIXRVLZBQQYQFIFGIJIXDZVXQUNMZJT VRVWNXLXYFDAHSGUHZDMWTYXTXPIZAPDDZXQIQXQGXREPIGMQSQBVMIMJPDZXQWIZXZNXWYIFLDMVZIKMYXLZFHAOCVEXKIETBZGHBXC UEWXOACITTXUPTWYQGMOBSIISMMDLQQXBGPQKEQMIBHGEXAMGIKEUZVALTIMMGCKLEQBPUSYIKMFRSIOQINMWGEWCYBEISLUZURVIFLG TPCIVXVZWEGNUEXULASWOCLXZTOMCXVMIIGTHVIMMEIEUIFMOIUKYMIQEVFPHZZBQIEXZMTQLRUMPUQSHHKAWMSEUMXZLRIFAUEIIIQD DAXQQHZMXEEIWWMMPJMXBMQMKOOMIQWEPUMERIESDVDURWGTXUAPLSOQOQXQIMZUMEVCXXDLRWTKWFTVMAHVJVHKSAWOUIIRHUXIOMHN AUJZVNWIXWQWYEMBAEECR
  12. Лол, зачем мне вся фурнитура? Ты ведь сам понял, что за формат. Я глянул контейнер, нашел расхождение в CRC, причина в одном символе 6F AE A3 B1, создал контейнер с таким же наполнением, получил - 6F AE A3 B0. А дальше своим ходом.
  13. Раньше, для большего удобства делали так: AUDVX WHNKQ CXZOF BJOLR XTWOI SPCHV OCPXV BOUCX RZPQG THUYB VCJIT EQBPU VIBTO UCXRM XVJUL PPXLG D Но вообще, это одна строка и скрытого смысла в разбиении нет. AUDVXWHNKQCXZOFBJOLRXTWOISPCHVOCPXVBOUCXRZPQGTHUYBVCJITEQBPUVIBTOUCXRMXVJULPPXLGD
  14. https://www.diffchecker.com/zRcXb3mC FD37 7A58 5A00 0001 6922 DE36 0200 2101 0000 0000 3727 97D6 0100 0C44 4145 4453 494E 494F 594B 414B 0000 0000 6FAE A3B0 0001 210D 75DC A8D2 9042 990D 0100 0000 0001 595A
  15. Достаточно заменить один символ.
  16. Рекомендую к прочтению книгу по истории криптографии 'The Codebreakers'
  17. На самом деле, все честно. Но надо быть немного в теме.
  18. Предлагаю вашему вниманию, не очень сложный хакерквест, из небольшой цепи заданий. Решение каждой задачи, открывает подсказку к следующей. Первый, решивший все задачи, найдет неактивированный ваучер на 1500 UU, Первая задача: AUDVXWHNK QCXZOFBJO LRXTWOISP CHVOCPXVB OUCXRZPQG THUYBVCJI TEQBPUVIB TOUCXRMXV JULPPXLGD
  19. Надо извлечь redstone-карту, т. к. прога использует ее вместо блока.
  20. Кстати, да, я заметил, что мониторы отваливаются только на роботах (не сложно ребутать раз в 5 минут) Запустить редстоун без ванили можно кучей способов, но меня интересует, почему прога не работает, можно скрин всего компа?
  21. Если все по-отдельности работает, а вместе не хочет, даже не знаю, что и думать.
  22. А если запустить redstone up 15, лампа горит?
  23. Вполне может быть, можно проверить, ловит ли чатбокс сообщения от плагина - запустить на компе dmesg и сказать что-нибудь в чат.
  24. Изображение с экрана пропадает, потому-что на него подается сигнал, об этом даже сказано в ачивке при крафте монитора. Лучше отделить монитор или редстоун I/O кабелем от других блоков. Если проблема с определением стороны, то можно подать сигнал на все. local wlist = {['Lockry'] = true} local sleep = 10 local side = 1 local status local component = require('component') local computer = require('computer') local redstone = component.redstone local chat_box = component.chat_box local signal = computer.pullSignal local function switch(value) for side = 0, 5 do redstone.setOutput(side, value) end end function computer.pullSignal(...) local e = {signal(...)} if status and status+sleep*72 <= os.time() then switch(0) status = nil end if e[1] == 'chat_message' and wlist[e[3]] then if e[4] == 'startmob' then status = os.time() switch(15) end end return table.unpack(e) end
×
×
  • Создать...