SetMessage (Method): Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>NXTBoy
Brackets
>ArceusInator
rewrote the content that camoy blanked and replaced with a redirect
Line 2: Line 2:
<onlyinclude>{{Method
<onlyinclude>{{Method
|name = SetMessage
|name = SetMessage
|arguments = [[string]] '''message text'''
|arguments = [[string]] ''message text''
|description = Creates a GUI message similar to ones seen when loading a game.
|description = Creates a GUI message similar to ones seen when loading a game.
|object      = DataModel
|object      = DataModel
}}</onlyinclude>
}}</onlyinclude>
{{Example|
If you're using the [[Command Bar]] or a [[CoreScript]]...
<pre>
game:SetMessage( "Hello World" )
-- Will result in the image below
</pre>
If you're using a [[Script]] or a [[LocalScript]]...
<pre>
game:SetMessage( "Hello World" ) --> s SetMessage
</pre>}}
[[Image:setmessage.jpg]]
[[Image:setmessage.jpg]]
{{Example|
It is actually possible to create a sort of doppelganger of this function and its sibling, ClearMessage, by running this code:
<pre>
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
</pre>
The ''doppelgangers'' are called using _G.SetMessage( msg ) and _G.ClearMessage().
}}
[[Category:Methods]]
[[Category:Methods]]

Revision as of 01:12, 28 December 2010

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().