if GenericDataTable.new(GetPrimitiveParameter(0), gObjectDataTableID.Tokens, "Tokens"):GetProperty(CreateObjectGUID(GetTemp(1), GetTemp(0))) == nil or type(GenericDataTable.new(GetPrimitiveParameter(0), gObjectDataTableID.Tokens, "Tokens"):GetProperty(CreateObjectGUID(GetTemp(1), GetTemp(0)))) ~= "table" then
   GenericDataTable.new(GetPrimitiveParameter(0), gObjectDataTableID.Tokens, "Tokens"):RemoveProperty(CreateObjectGUID(GetTemp(1), GetTemp(0)))
   SetScriptReturnValue(false)
   return 
end
if GetPrimitiveParameter(1) > 0 and GetPrimitiveParameter(1) <= table.getn(GenericDataTable.new(GetPrimitiveParameter(0), gObjectDataTableID.Tokens, "Tokens"):GetProperty(CreateObjectGUID(GetTemp(1), GetTemp(0)))) then
   SetTemp(0, GenericDataTable.new(GetPrimitiveParameter(0), gObjectDataTableID.Tokens, "Tokens"):GetProperty(CreateObjectGUID(GetTemp(1), GetTemp(0)))[GetPrimitiveParameter(1)])
else
   SetScriptReturnValue(false)
end

