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

Как посмотреть опыт робота?

Вопрос

Этот вопрос был задан в чате:

Как посмотреть опыт робота? Так и не понял, апи никакого не нашёл. Нельзя получается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

Робот может накапливать опыт при установленном Апгрейде опыта.

Как посмотреть опыт робота?

component.experience.level()

но бонусы по дефолту она там мизерные дает. нет в ней смысла. Только слот занимает. Попробуй робота просто поставить на коблогенератор, и пусть сутками маслает. Вроде на них игроки прокачивали своих роботов.

Высокоуровневый робот может хранить больше энергии (5000 на уровень в дефолтном конфиге). Для робота-шахтёра это очень полезно.

Прокачать робота можно скармливая ему зачарованные предметы, которые наловил робот рыболов (метод component.experience.consume()).

Небольшая програмка, которая показывет уровень робота и может потреблять зачарованные предметы для увеличения уровня:
 exp.lua (как refuel.lua для генератора).

local component = require("component")
local robot = require("robot")
local shell = require("shell")

local args = shell.parse(...)

local function printUsage()
  print("Usages:")
  print("exp")
  print("  Gets the current level.")
  print("exp <slot>")
  print("  Tries to consume an enchanted item to add")
  print("  expierence to the upgrade")
  print("  from the specified slot.")
  print("exp all")
  print("  from all slots.")
end

if component.isAvailable("experience") then
  local e = component.experience
  if #args == 0 then
    print("Level: "..e.level())
  elseif tonumber(args[1]) ~= nil then
    local slot = tonumber(args[1])
    robot.select(slot)
    io.write("Experience from slot "..slot.."... ")
    local success, msg = e.consume()
    if success then
      print("success.")
    else
      print("failed: "..msg)
    end
    robot.select(1)
  elseif string.lower(args[1]) == "all" then
    io.write("Experience from all slots... ")
    for i = 1, 16 do
      robot.select(i)
      e.consume()
    end
    robot.select(1)
    print("done.")
  else
    printUsage()
  end
else
  print("This program requires the experience upgrade to be installed.")
end
Изменено пользователем vx13

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@@vx13 спасибо, отличный гайд. Как раз вчера вопрос был в чате.

 

P.S.

Оказывается, что 

  • robot.level(): number

Получает текущий уровень робота. Дробная часть обозначает текущий прогресс до следующего уровня. Например, если это число 1.5, робот имеет уровень 1, и на 50% достиг второго уровня.

Внимание: начиная с версии 1.3 функция устарела. Используйте component.experience.level(), поскольку робот получает очки опыта, только при наличии апгрейда на опыт. (с) вики

 

Ради интереса проверил механику этого агрейда - выяснилось, что роботу до попки, что копать. Хоть руду, хоть коблу. Опыт прибавляется на вскидку одинаково. На кобле даже еще быстрее кач идет, так как робот ее просто банально быстрее ломает. Но самый быстрый кач - на саженце. И инструменты не нужны  :)

Но профит от этой прокачки очень сомнительный, как в плане затраты энергии и времени и пользы от прокачанного робота, так и затраты ресурсов сервера. 
 

За 1 минуту робот на саженце качнулся на ~0.07-0.08 

local component = require("component")
local robot = require("robot")
local exp = component.experience

while true do
  print(exp.level())
  robot.place()
  robot.swing()
  os.sleep(0.1)
end

 

 

8YwaWE6.png

 




А вот топор с зачаркой на 5й уровень остроты дал сразу ~1.15 уровня. Так что наверно есть смысл вкачивать кусты опыта тинкерса и чарить деревянные инструменты, и уже их кормить роботу. Ну и очень хороший и бесплатный вариант, как предложил vx13 - кормить роботу зачаренный рыболовный лут-улов.

 

 

lq1UPbJ.png

 

snLpBjn.png

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


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