SetMessage (Method)

From Legacy Roblox Wiki
Revision as of 01:12, 28 December 2010 by >ArceusInator (rewrote the content that camoy blanked and replaced with a redirect)
Jump to navigationJump to search
Protected:This item is protected. Attempting to use it in a Script or LocalScript will cause an error.
SetMessage( string message text )
Returns nil
Description: Creates a GUI message similar to ones seen when loading a game.
Member of: DataModel








Example

If you're using the Command Bar or a CoreScript...

game:SetMessage( "Hello World" )

-- Will result in the image below

If you're using a Script or a LocalScript...

game:SetMessage( "Hello World" ) --> s SetMessage



Example

It is actually possible to create a sort of doppelganger of this function and its sibling, ClearMessage, by running this code:


local message = false

function _G.SetMessage( msg )
   if not msg then return ( error( "String expected", 1 ) ) end
   if type( msg ) ~= "string" then return ( error( "String expected", 1 ) ) end
   if message then
      game:ClearMessage()
   end
   local p = game.Players:GetPlayers()
   if not p then return end
   for i = 1, #p do
      if p[i]:FindFirstChild( "PlayerGui" ) then
         local s = Instance.new( "ScreenGui", p[i].PlayerGui )
         local t = Instance.new( "TextLabel", s )
         t.Position = UDim2.new( 0.2, 0, 0.354, 0 )
         t.BorderColor3 = Color3.new( 192/255, 192/255, 192/255 )
         t.BackgroundColor3 = Color3.new( 163/255, 162/255, 165/255 )
         t.Size = UDim2.new( 0.6, 0, 0.29, 0 )
         t.FontSize = Enum.FontSize.Size24
         t.Text = ( tostring( msg ) )
         t.TextColor3 = Color3.new( 1, 1, 1 )
         t.BackgroundTransparency = 0.4
         s.Name = "gameMessage"
      end
   end
   message = true
end

function _G.ClearMessage()
   if not message then return end
   local p = game.Players:GetPlayers()
   if not p then return end
   for i = 1, #p do
      if p[i]:FindFirstChild( "PlayerGui" ) then
         local g = p[i].PlayerGui:GetChildren()
         for x = 1, #g do
            if g[x].Name == "gameMessage" then
               g[x]:remove()
            end
         end
      end
   end
   message = false
end

The doppelgangers are called using _G.SetMessage( msg ) and _G.ClearMessage().