Ex: I am trying to add something in table1 to table2 then print the results In lines 30, 42,48 are where I use this example it adds xpLvlTable to the table that is stored in 'DataStore'
-- Variables local xp_lvlDataStore = game:GetService('DataStoreService'):GetDataStore('xp/lvlStore') local repStorage = game:GetService('ReplicatedStorage') local xpChanger = repStorage:WaitForChild('Xp_LvlChanged') local xpToAdd = 5 local part = script.Parent local maxLvl = 350 -- Events pcall(part.ClickDetector.MouseClick:Connect(function(plr) -- Defines xp and lvl local key = 'Player-'..plr.userId local xpLvlTable = xp_lvlDataStore:GetAsync(key) local curXp = xpLvlTable[1] local curLvl = xpLvlTable[2] print('serverCurXp = '..curXp) print('serverCurLvl = '..curLvl) -- Fire to player xpChanger:FireClient(plr,xpToAdd) -- Math local newLvl = curLvl + 1 local newXp = curXp + xpToAdd local lvlEquation = 10*curLvl print('ServerNewXp = '..newXp) -- Adds lvls and sets xp if curLvl == 0 and newXp >= 10 then print('Saving 1st lvl') local new_xpLvlTable = {1,(xpToAdd - 10)} wait(6) xp_lvlDataStore:IncrementAsync(key,(new_xpLvlTable)) print('Saved') elseif curLvl >= maxLvl then print('Saving maxLvl') local xpLvlTable = {0,350} wait(6) xp_lvlDataStore:SetAsync(key,(xpLvlTable)) print('Saved') elseif lvlEquation <= newXp and lvlEquation ~= 0 then print('Saving Lvled Up') local xpLvlTable = {1,xpToAdd - lvlEquation} wait(6) xp_lvlDataStore:IncrementAsync(key,(xpLvlTable)) print('Saved') else print('Saving Did not lvl up') local xpLvlTable = {curLvl,xpToAdd} wait(6) xp_lvlDataStore:IncrementAsync(key,(1)) print('Saved') end end))
I meant to use one table and its numbers that are in it to be added to the numbers inside the second table
Metatables
http://robloxdev.com/articles/Metatables
-In short they are tables that go inside other tables, they also have more "power" than regular tables as they can execute functions.
Yep. Just add the table as you would for any other element.
local table1 = {"apple", "banana", "pommegranate", "idk if that spelling is right"} local table2 = {1, 3, "hello", table1} -- same thing as saying table2 = {1, 3, "hello", {"apple", "banana", "pommegranate", "idk if that spelling is right"}} -- to get table1 from table2 table1 = table2[4] -- table is the 4th index -- to get the first element of table 1 from table 2 local firstElement = table2[4][1] --> "apple" -- alterantively table1 = table2[4] firstElement = table1[1] --> "apple"
Hope this helps! :)