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


Фотография

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


Лучший Ответ vx13 , 13 Июнь 2018 - 15:10

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

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

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
Перейти к сообщению


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

#1 Оффлайн   vx13

vx13
  • Пользователи
  • Сообщений: 71
  • Уровень сигнала: 39,03%
  • В игре: 335 час. 4 мин.

Награды

                                      

Отправлено 13 Июнь 2018 - 15:05

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

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



#2 Оффлайн   vx13

vx13
  • Автор темы
  • Пользователи
  • Сообщений: 71
  • Уровень сигнала: 39,03%
  • В игре: 335 час. 4 мин.

Награды

                                      

Отправлено 13 Июнь 2018 - 15:10   Лучший Ответ

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

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

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: 13 Июнь 2018 - 15:23

  • Alex, eu_tomat и ECS это нравится

#3 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 785
  • Уровень сигнала: 46,38%
  • В игре: 398 час. 9 мин.

Награды

                 

Отправлено 13 Июнь 2018 - 17:30

@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
Спойлер



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

Спойлер

  • eu_tomat, vx13 и ECS это нравится




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

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