Можете ли вы сравнить «типы» таблиц или метеологических ресурсов в Lua?

StackOverflow https://stackoverflow.com/questions/4669640

Вопрос

Я называю функцию API в «Властелин колец» онлайн (Lotro) функция сценариев бета -Луа. Метод API возвращает «тип», называемый Classattributes, который будет включен в данное атрибут класса «типы». Я говорю «типы», потому что когда я звоню type() При возврате, он говорит, что это таблица.

Есть ли способ для меня, чтобы проверить тип или метеологический тип? например:

local returnedTable = player:GetClassAttributes();

if (returnedTable.Name == "CaptainClassAttributes")
    print("You are playing a captain");
end

ОБНОВИТЬСледующий код - это то, что я использую:

player = Turbine.Gameplay.LocalPlayer.GetInstance();

Turbine.Shell.WriteLine("player:GetClass():" .. player:GetClass());
Turbine.Shell.WriteLine("Turbine.Gameplay.Class.Captain:" .. Turbine.Gameplay.Class.Captain);

if (player:GetClass() == Turbine.Gameplay.Class.Captain) then
    Turbine.Shell.WriteLine("You are playing a captain");
end

и вот выход:

Игрок: getClass (): 24
Turbine.gameplay.class.captain: 24
Вы играете в капитана

Это было полезно?

Решение

Документы API немного сбивают с толку, хотя я полагаю, что нашел то, что вы ищете. Следующий код должен сказать вам, является ли игрок капитаном:

local player = Turbine.Gameplay.Player
if (player:GetClass() == Turbine.Gameplay.Class.Captain) then
    print("You are playing a captain")
end

Капитан является членом таблицы Gamiplay.class, которая является всего лишь целочисленным числом в качестве чтения от документов.

ПРИМЕЧАНИЕ: вам не нужно заканчивать предложение Lua с ";".

Не мог проверить это. Надеюсь, что это работает.

Другие советы

Если у вас есть список возможных метеологических защитостей для этих значений, вы можете получить их метеологические защиты getMetatable (OBJ) функция и сравните их с теми, которые у вас уже есть. Не имея доступа к API Lotro, я не могу сказать больше о предмете: где я могу его прочитать?

Это, конечно, предполагает, что таблица, возвращаемая функцией getClassattributes (), имеет самим саму, и что можно различить его перепромешательные и атрибуты других классов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top