I need a way to convert this from GetNameFromUserIdAsync to GetUserInfosByUserIdsAsync so I can get both displayname and usernames for changing GUI text.
"Captain" is a Title in the _G.ShipPositions Table that has UserID as the Key and Title as the value.
wait(1) sp = script.Parent local function getCurrentPlayerOfTitle(title: string) for k,v in pairs(_G.ShipPositions or {}) do if title == "N/A" then print ("Key Was N/A Returning Unassigned CAPTAIN SCRIPT") return "Unassigned" end if v == title then return game:GetService("Players"):GetNameFromUserIdAsync(k) or "Unassigned" end end return "Unassigned" end coroutine.wrap(function() while task.wait() do sp.Text = getCurrentPlayerOfTitle("Captain").."'s Quarters" end end)()
Update
I am currently trying this, however i am not getting successOrNot to print
wait(1) unl = script.Parent.UserNameLabel dnl = script.Parent.DisplayNameLabel local UserService = game:GetService("UserService") local ShipRole = "Captain" local function getCurrentPlayerOfTitle(title: string) for k,v in pairs(_G.ShipPositions or {}) do if title == "N/A" then print ("Key Was N/A Returning Unassigned CAPTAIN SCRIPT") return "Unassigned" end if v == title then local successOrNot, result = pcall(function() --print ("Fetching Info") return UserService:GetUserInfosByUserIdsAsync(k) end) if successOrNot == true then print ("Success Is True") for user, userInfos in ipairs(result) do print("Your UserId = "..userInfos.Id) print("Your Username = "..userInfos.Username) print("Your DisplayName = "..userInfos.DisplayName) unl.Text = userInfos.Username.."'s " dnl.Text = "("..userInfos.DisplayName..")" end end end end end coroutine.wrap(function() while task.wait() do getCurrentPlayerOfTitle(ShipRole) end end)()