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

Поиск в таблице по индексам-таблицам

Вопрос

В общем идея такая: игрок посылает запрос на крафт определенного предмета, робот ищет ингредиенты в сундуках и крафтит запрошенный предмет.

Давно бьюсь над способом размещения метаданных предмета в таблице, но что-то голова не варит.

 

Есть код, который принимает системное имя предмета и если рецепт есть в списке - находит в сундуках ингредиенты и крафтит по рецепту. http://pastebin.com/E5yZVpUA

 

Надо, чтобы в рецептах можно было указывать метаданные предмета, например вот так:

REPICES = {
  --рецепт1
  [{"NAME", "META"}] = {
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"},
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"},
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"}
  },

  --рецепт2
  [{"NAME", "META"}] = {
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"},
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"},
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"}
  }
}
1-9 {"NAME", "META"} это список ингредиентов.
[{"NAME", "META"}] - результат крафта

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


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

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

ID делаются так:

<modid>:<itemName>@<metadata>.

minecraft:wool@14

 

Очень просто делается парсер:

function splitName(name)
  return name:match("(.+)@(.+)")
end
 

Вот рецепт для примера:

recipes = {
  ["somemod:someitem@16"] = {
      {"somemod:item@1", "somemod:item@2", "somemod:item@3"},
      {"somemod:item@4", "somemod:item@5", "somemod:item@6"},
      {"somemod:item@7", "somemod:item@8", "somemod:item@9"}
    },
  ...
}

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


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

 

В общем идея такая: игрок посылает запрос на крафт определенного предмета, робот ищет ингредиенты в сундуках и крафтит запрошенный предмет.

Давно бьюсь над способом размещения метаданных предмета в таблице, но что-то голова не варит.

 

Есть код, который принимает системное имя предмета и если рецепт есть в списке - находит в сундуках ингредиенты и крафтит по рецепту. http://pastebin.com/E5yZVpUA

 

Надо, чтобы в рецептах можно было указывать метаданные предмета, например вот так:

REPICES = {
  --рецепт1
  [{"NAME", "META"}] = {
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"},
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"},
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"}
  },

  --рецепт2
  [{"NAME", "META"}] = {
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"},
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"},
    {"NAME", "META"}, {"NAME", "META"}, {"NAME", "META"}
  }
}
1-9 {"NAME", "META"} это список ингредиентов.
[{"NAME", "META"}] - результат крафта

Тебе в помощь апгрейд робота - база данных, там полный портрет предмета можно указать. Как в АЕ

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


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

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

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

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

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

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

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

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

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


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