GE Lua Documentation

Press F to search!

stringToTable

Definition


-- @/lua/ge/ge_utils.lua:1518

-- converts string str separated with separator sep to table
function stringToTable(str, sep)
  if sep == nil then
    sep = "%s"
  end

  local t = {}
  local i = 1
  for s in string.gmatch(str, "([^"..sep.."]+)") do
    t[i] = s
    i = i + 1
  end
  return t
end

Callers

@/lua/ge/ge_utils.lua
  local isColor4 = function(color)
    local components = stringToTable(color)
    local countNumericEntries = 0
  local color4StringToPaint = function(colorStr)
    local components = stringToTable(colorStr)
    local paint = createVehiclePaint({x = tonumber(components[1]), y = tonumber(components[2]), z = tonumber(components[3]), w = tonumber(components[4])})
    local colorStr = validateVehicleDataColor(color)
    color = stringToTable(colorStr)
    spawningData.options.paint = createVehiclePaint({x=color[1], y=color[2], z=color[3], w=color[4]})
@/lua/ge/extensions/util/compileMeshes.lua
	  customCompilePathsArg = customCompilePathsArg:gsub("\"", "")
	  compilePaths = stringToTable(customCompilePathsArg, ';')
	  break
@/lua/ge/extensions/core/settings/settings.lua
      for _, colorString in ipairs(userColorPresets)do
        local color = stringToTable(colorString)
        local paint = createVehiclePaint({x=color[1], y=color[2], z=color[3], w=color[4]}, emptyMetallicData)
@/lua/ge/extensions/ui/vehiclePaint.lua
  local result = { }
  for i,v in ipairs(stringToTable(colorString, '%s')) do
    result[i] = tonumber(v)
@/lua/ge/extensions/core/multiSpawn.lua
        if options[color] then
          local values = stringToTable(options[color])
          if values[4] then
@/lua/ge/extensions/core/vehicle/partmgmt.lua
      for i = 1, colorTableSize do
        local metallicPaintData = stringToTable(vehicle:getField('metallicPaintData', i - 1))
        local paint = createVehiclePaint({x = colorTable[i].r, y = colorTable[i].g, z = colorTable[i].b, w = colorTable[i].a}, metallicPaintData)
    for i = 1, colorTableSize do
      local metallicPaintData = stringToTable(playerVehicle:getField('metallicPaintData', i - 1))
      local paint = createVehiclePaint({x = colorTable[i].r, y = colorTable[i].g, z = colorTable[i].b, w = colorTable[i].a}, metallicPaintData)
@/lua/ge/extensions/core/weather.lua
          elseif fields[attrName].type == 'ColorF' and type(attrValue) == 'table' and #attrValue == 4 then
            formerValues[objClassStr][id][attrName]['value'] = stringToTable(obj:getField(attrName, ' '))
            for k,v in pairs(formerValues[objClassStr][id][attrName]['value']) do
          elseif fields[attrName].type == 'Point4F' and type(attrValue) == 'table' and #attrValue == 4 then
            formerValues[objClassStr][id][attrName]['value'] = stringToTable(obj:getField(attrName, ' '))
            for k,v in pairs(formerValues[objClassStr][id][attrName]['value']) do
          elseif (fields[attrName].type == 'Point3F' or fields[attrName].type == 'vec3') and type(attrValue) == 'table' and #attrValue == 3 then
            formerValues[objClassStr][id][attrName]['value'] = stringToTable(obj:getField(attrName, ' '))
            for k,v in pairs(formerValues[objClassStr][id][attrName]['value']) do
@/lua/ge/extensions/core/vehicles.lua
    if type(data) == 'string' then
      local colorTable = stringToTable(data)
      color.x = tonumber(colorTable[1])
@/lua/ge/extensions/editor/api/valueInspector.lua
  elseif fieldType == "Point3F" or fieldType == "vec3" or fieldType == "MatrixPosition" then
    local vec = stringToTable(fieldValue)
  elseif fieldType == "Point2F" then
    local vec = stringToTable(fieldValue)
    if vec[1] == nil then vec[1] = "0" end
  elseif fieldType == "EaseF" then
    local vec = stringToTable(fieldValue)
    if vec[1] == nil then vec[1] = "0" end
  elseif fieldType == "Point2I" then
    local vec = stringToTable(fieldValue)
    if vec[1] == nil then vec[1] = "0" end
  elseif fieldType == "EulerRotation" then
      local vec = stringToTable(fieldValue)
      if vec[1] == nil then vec[1] = "0" end
  elseif fieldType == "Point4F" then
    local vec = stringToTable(fieldValue)
    if vec[1] == nil then vec[1] = "0" end
  --     editUvRectInfo.arrayIndex = arrayIndex
  --     local vec = stringToTable(fieldValue)
  --     if vec[1] == nil then vec[1] = "0" end
  elseif fieldType == "RectF" then
    local vec = stringToTable(fieldValue)
    if vec[1] == nil then vec[1] = "0" end
@/lua/ge/extensions/editor/inspector.lua

  local valTbl1 = stringToTable(value1)
  local valTbl2 = stringToTable(value2)
  local valTbl1 = stringToTable(value1)
  local valTbl2 = stringToTable(value2)
          if imgui.Button("Reset") then
            local vec = stringToTable(groundCoverUVInitialValue)
            if vec[1] == nil then vec[1] = "0" end
      local fieldValue = editor.getFieldValue(valueInspector.selectedIds[#valueInspector.selectedIds], fieldName, colorIndex)
      local metallicValues = stringToTable(fieldValue)
      metallicValuePtrs[0][0] = tonumber(metallicValues[1])
local function customGroundCoverBillBoardUVsFieldEditor(objectIds, fieldValue, fieldName, fieldLabel, fieldDesc, fieldType, fieldTypeName, customData, pasteCallback, contextMenuUI)
  local uvVec = stringToTable(fieldValue)
  if uvVec[1] == nil then uvVec[1] = "0" end
      groundCoverUVInitialValue = fieldValue
      local vec = stringToTable(fieldValue)
      if vec[1] == nil then vec[1] = "0" end
@/lua/ge/spawn.lua
    local config = TorqueScriptLua.getVar("$beamngVehicleConfig")
    local color = stringToTable(TorqueScriptLua.getVar("$beamngVehicleColor"))
    local paintData = stringToTable(TorqueScriptLua.getVar("$beamngVehicleMetallicPaintData"))
    local color = stringToTable(TorqueScriptLua.getVar("$beamngVehicleColor"))
    local paintData = stringToTable(TorqueScriptLua.getVar("$beamngVehicleMetallicPaintData"))
    if next(color) or next(paintData) then
@/lua/ge/extensions/core/vehicle/colors.lua
  local result = {}
  for i,v in ipairs(stringToTable(colorString, '%s')) do
    result[i] = tonumber(v)