I am using a local script for when a player clicks another player's torso it will bring up a gui. That gui is their player profile, and I am using an API to bring up the users stats located on the roblox website, but there is one problem.. HttpService does not work in a local script.
I was told to use remote events to call the API, but I don't really know how.
And the script has to be local or the click player function will not work..
Here is my whole entire script.
When they click a player, it will bring up the amount of friends they have but the text does not change at all.
RbxApi = require(game.ReplicatedStorage.RobloxAPI) --This gets the Module script in Replicated Storage
wait()
me = game.Players.LocalPlayer
mouse = me:GetMouse();
Content = script.Parent:WaitForChild("Content")
Title = Content.Title
PlayerImage = Content.Page.Image.PlayerImage
FriendsText = Content.Page.Friends
plr = nil
--Click Function
mouse.Button1Down:connect(function()
if mouse.Target ~= nil and game.Players:GetPlayerFromCharacter(mouse.Target.Parent) then
plr = game.Players[mouse.Target.Parent.Name]
Content.Visible = true
Title.TitleContent.Text = plr.Name
PlayerImage.Image = "http://www.roblox.com/Thumbs/Avatar.ashx?x=100&y=100&username=" .. plr.Name
end
end)
repeat wait() until plr ~= nil
--PlayerStats--
FriendCount = function(plr)
return tonumber(HttpService:JSONDecode(HttpService:GetAsync("http://api.robloxapi.com/Users/FriendCount?UserId=" .. plr.userId)).Friends)
end;
FreindsText.Text = "Friends: " .. FriendCount(plr)
And if really needed,
here is the module script in replicated storage.
--[[
DOCUMENTATION
To use this, make sure to require this ModuleScript in your scripts.
RbxApi = require(game.ReplicatedStorage.RobloxAPI)
CREATED BY: Usering
CREATE DATE (MM/DD/YY): 04/05/14
MODIFY DATE (MM/DD/YY): 04/22/14
NOTES:
- Make sure HttpService's HttpEnabled is set to true
VERSION: 1.1
CHANGELOG:
- Added api.robloxapi.com/Users/UserId
| Gets the UserId of a Username
--]]
HttpService = game:GetService("HttpService")
GET = function(api,params)
return HttpService:GetAsync("http://api.robloxapi.com/" .. api .. "?" .. params)
end
DecodeJSON = function(str)
return HttpService:JSONDecode(str)
end
API = {
Groups = {
GroupOwner = function(GroupId)
return DecodeJSON(GET("Groups/GroupOwner","GroupId=" .. tostring(GroupId))).Owner
end;
GroupDescription = function(GroupId)
return DecodeJSON(GET("Groups/GroupDescription","GroupId=" .. tostring(GroupId))).Description
end;
GroupName = function(GroupId)
return DecodeJSON(GET("Groups/GroupName","GroupId=" .. tostring(GroupId))).Name
end
};
Users = {
FriendCount = function(UserId)
return tonumber(DecodeJSON(GET("Users/FriendCount","UserId=" .. tostring(UserId))).Friends)
end;
ForumPostCount = function(UserId)
return tonumber(DecodeJSON(GET("Users/ForumPostCount","UserId=" .. tostring(UserId))).ForumPosts)
end;
PlaceVisitCount = function(UserId)
return tonumber(DecodeJSON(GET("Users/PlaceVisitCount","UserId=" .. tostring(UserId))).PlaceVisits)
end;
KnockoutCount = function(UserId)
return tonumber(DecodeJSON(GET("Users/KnockoutCount","UserId=" .. tostring(UserId))).Knockouts)
end;
CurrentUsername = function(UserId)
return DecodeJSON(GET("Users/CurrentUsername","UserId=" .. tostring(UserId))).Username
end;
AllUsernames = function(UserId)
return DecodeJSON(GET("Users/AllUsernames","UserId=" .. tostring(UserId))).Usernames
end;
OnlineStatus = function(UserId)
return DecodeJSON(GET("Users/UserOnlineStatus","UserId=" .. tostring(UserId))).Status
end;
UserId = function(Username)
return DecodeJSON(GET("Users/UserId","Username=" .. tostring(Username))).UserId
end
};
Assets = {
PlayerOwnsAsset = function(AssetId,UserId)
owns = GET("Assets/PlayerOwnsAsset","UserId=" .. tostring(UserId) .. "&AssetId=" .. tostring(AssetId))
if owns == "true" then
return true
elseif owns == "false" then
return false
end
end;
ItemRap = function(AssetId)
return DecodeJSON(GET("Assets/ItemRAP.php", "AssetId=" .. tostring(AssetId))).AssetId
end
}
}
return API
