Difference between revisions of "Manual:Basic Essentials"

From Mudlet
Jump to navigation Jump to search
(add "display")
Line 22: Line 22:
  
 
===echo===
 
===echo===
;echo( windowName, text )
+
;echo([miniconsole or label], text)
:This function appends text at the end of the current line. The current cursor position is ignored. Use [[Manual:Lua_Functions#moveCursor|moveCursor()]] and [[Manual:Lua_Functions#insertText|insertText()]] if you want to print at a different cursor position.
+
:This function appends text at the end of the current line.
  
:If you'd like to write to a miniconsole instead of the main window, provide its name as the first argument.
+
;Parameters
 +
* ''miniconsole:'' (optional) the miniconsole to echo to, or:
 +
* ''label:'' (optional) the label to echo to.
 +
* ''text:'' text you'd like to see printed. You can use \n in an echo to insert a new line. If you're echoing this to a label, you can also use styling to colour, center, increase/decrease size of text and various other formatting options [http://doc.qt.io/qt-5/richtext-html-subset.html as listed here].
  
{{note}} You can use \n in an echo to insert a new line.
+
See also: [[Manual:Lua_Functions#moveCursor|moveCursor()]], [[Manual:Lua_Functions#insertText|insertText()]], [[Manual:Lua_Functions#decho|decho()]], [[Manual:Lua_Functions#hecho|hecho()]]
  
Examples:
+
;Example
 
<lua>
 
<lua>
echo( "Hello world\n" ) -- writes "Hello world" to the main screen.
+
-- a miniconsole example
echo( "info", "Hello this is the info window" ) -- writes text to the mini console named "info" if such a window exists
+
 
 +
-- first, determine the size of your screen
 +
local windowWidth, windowHeight = getMainWindowSize()
 +
 
 +
-- create the miniconsole
 +
createMiniConsole("sys", windowWidth-650,0,650,300)
 +
setBackgroundColor("sys",255,69,0,255)
 +
setMiniConsoleFontSize("sys", 8)
 +
-- wrap lines in window "sys" at 40 characters per line - somewhere halfway, as an example
 +
setWindowWrap("sys", 40)
 +
 
 +
echo("sys","Hello world!\n")
 +
cecho("sys", "<:OrangeRed>This is random spam with the same background\n")
 +
cecho("sys", "<blue:OrangeRed>and this is with a blue foreground. ")
 +
cecho("sys", "<bisque:BlueViolet>Lastly, this is with both a foreground and a background.\n")
 
</lua>
 
</lua>
  
 +
<lua>
 +
-- a label example
 +
 +
-- This example creates a transparent overlay message box to show a big warning message "You are under attack!" in the middle
 +
-- of the screen. Because the background color has a transparency level of 150 (0-255, with 0 being completely transparent
 +
-- and 255 opaque) the background text can still be read through.
 +
local width, height = getMainWindowSize()
 +
createLabel("messageBox",(width/2)-300,(height/2)-100,250,150,1)
 +
resizeWindow("messageBox",500,70)
 +
moveWindow("messageBox", (width/2)-300,(height/2)-100 )
 +
setBackgroundColor("messageBox", 255, 204, 0, 200)
 +
echo("messageBox", [[<p style="font-size:35px"><b><center><font color="red">You are under attack!</font></center></b></p>]])
 +
</lua>
  
 
===display===
 
===display===

Revision as of 15:54, 23 April 2017

Basic Essentials

These functions are generic functions used in normal scripting. These deal with mainly everyday things, like sending stuff and echoing to the screen.


send

send( command, show on screen )
This sends "command" directly to the network layer, skipping the alias matching. The optional second argument of type boolean (print) determines if the outgoing command is to be echoed on the screen.

See also: sendAll()

Note Note: If you want your command to be checked as if it's an alias, use expandAlias() instead - send() will ignore them.

<lua> send( "Hello Jane" ) --echos the command on the screen send( "Hello Jane", true ) --echos the command on the screen send( "Hello Jane", false ) --does not echo the command on the screen

-- use a variable in the send: send("kick "..target) </lua>


echo

echo([miniconsole or label], text)
This function appends text at the end of the current line.
Parameters
  • miniconsole: (optional) the miniconsole to echo to, or:
  • label: (optional) the label to echo to.
  • text: text you'd like to see printed. You can use \n in an echo to insert a new line. If you're echoing this to a label, you can also use styling to colour, center, increase/decrease size of text and various other formatting options as listed here.

See also: moveCursor(), insertText(), decho(), hecho()

Example

<lua> -- a miniconsole example

-- first, determine the size of your screen local windowWidth, windowHeight = getMainWindowSize()

-- create the miniconsole createMiniConsole("sys", windowWidth-650,0,650,300) setBackgroundColor("sys",255,69,0,255) setMiniConsoleFontSize("sys", 8) -- wrap lines in window "sys" at 40 characters per line - somewhere halfway, as an example setWindowWrap("sys", 40)

echo("sys","Hello world!\n") cecho("sys", "<:OrangeRed>This is random spam with the same background\n") cecho("sys", "<blue:OrangeRed>and this is with a blue foreground. ") cecho("sys", "<bisque:BlueViolet>Lastly, this is with both a foreground and a background.\n") </lua>

<lua> -- a label example

-- This example creates a transparent overlay message box to show a big warning message "You are under attack!" in the middle -- of the screen. Because the background color has a transparency level of 150 (0-255, with 0 being completely transparent -- and 255 opaque) the background text can still be read through. local width, height = getMainWindowSize() createLabel("messageBox",(width/2)-300,(height/2)-100,250,150,1) resizeWindow("messageBox",500,70) moveWindow("messageBox", (width/2)-300,(height/2)-100 ) setBackgroundColor("messageBox", 255, 204, 0, 200)

echo("messageBox", [[

You are under attack!

]])

</lua>

display

display( content )
This is much like echo, in that is will show text at your screen, not send anything to anywhere. However, it also works with other objects than just text. This way, you can easily take a look at the contents of a lua table, etc.

See also: display()

Note Note: Do not use this to display information to end-users. It may be hard to read. It is mainly useful for developing/debugging.

<lua> myTable = {} -- create an empty lua table myTable.foo = "Hello there" -- add a text myTable.bar = 23 -- add a number myTable.ubar = function () echo("OK") end -- add more stuff display( myTable ) -- take a look inside the table </lua>