Difference between revisions of "User:Missionz3r0"
Jump to navigation
Jump to search
Missionz3r0 (talk | contribs) (Delete Parameters and Returns sections) |
Missionz3r0 (talk | contribs) m (Add TOC limit) |
||
| (15 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| + | {{TOC right|limit=3}} | ||
== Current Projects/Issues == | == Current Projects/Issues == | ||
| Line 6: | Line 7: | ||
* [https://github.com/Mudlet/Mudlet/issues/8864 #8864] Handle db:_migrate's assertions and transactions better | * [https://github.com/Mudlet/Mudlet/issues/8864 #8864] Handle db:_migrate's assertions and transactions better | ||
| + | == Basic Essentials == | ||
| + | I intend to turn the following into composable templates. As they exist now is just to experiment with and get feedback on presentation and format. | ||
| + | === echo === | ||
| + | <div class="mw-collapsible mw-collapsed" role="complementary" style="border:1px solid; box-sizing: border-box; float:right; min-width: min(100%, 80ch); max-width: 80ch; overflow:auto; padding:1ch"> | ||
| + | <h4 style="margin:0; padding:0;> API </h4> | ||
| + | <div style="border-top: 1px solid; display:flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; margin-top:1ch"> | ||
| + | <div> | ||
| + | <h5>Usage</h5> | ||
| + | <p><code style="margin-left:1.6em;">ok, err = echo([console_or_label_name,] text)</code></p> | ||
| + | </div> | ||
| − | + | <div> | |
| − | <div | + | <h5> Origin </h5> |
| − | + | <p><code>C++</code></p> | |
| − | + | </div> | |
| + | </div> | ||
| − | ; | + | <div class="mw-collapsible-content"> |
| − | : | + | <div> |
| + | <h5> Parameters </h5> | ||
| + | <dl style="box-sizing:border-box; display:grid; grid-gap:0px; grid-template-columns:30ch 9ch auto; "> | ||
| + | <dt style="border-right: 1px solid; margin:0 0 8px 0; font-weight:normal; padding:0 0.8ch 1px 1.6em;"><code>console_or_label_name?</code></dt> | ||
| + | <dd style="border-right: 1px solid; margin:0 0 8px 0; padding:0 0.8ch 1px 0.8ch;">''string''</dd> | ||
| + | <dd style="margin:0 0 8px 0; padding:0 0.8ch 1px 0.8ch;">The mini-console or label to echo to. '''Default''': <code>"main"</code></dd> | ||
| + | |||
| + | <dt style="border-right: 1px solid; margin:0; font-weight:normal; padding:0 0.8ch 1px 1.6em;"><code>text?</code></dt> | ||
| + | <dd style="border-right: 1px solid; margin:0 ; padding:0 0.8ch 1px 0.8ch;">''string''</dd> | ||
| + | <dd style="margin:0; padding:0 0.8ch 1px 0.8ch;">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 color, center, increase/decrease size of text and various other formatting options [http://doc.qt.io/qt-5/richtext-html-subset.html as listed here].</dd> | ||
| + | </dl> | ||
| + | </div> | ||
| + | |||
| + | <div> | ||
| + | <h5> Returns </h5> | ||
| + | <dl style="box-sizing:border-box; display:grid; grid-gap:0px; grid-template-columns:30ch 9ch auto;"> | ||
| + | <dt style="border-right: 1px solid; margin:0 0 8px 0; font-weight:normal; padding:0 0.8ch 1px 1.6em;"><code>ok?</code></dt> | ||
| + | <dd style="border-right: 1px solid; margin:0 0 8px 0; padding:0 0.8ch 1px 0.8ch;">''boolean''</dd> | ||
| + | <dd style="margin:0 0 8px 0; padding:0 0.8ch 1px 0.8ch;">If nil, echo has errored</dd> | ||
| + | |||
| + | <dt style="border-right: 1px solid; margin:0; font-weight:normal; padding:0 0.8em 1px 1.6em;"><code>err?</code></dt> | ||
| + | <dd style="border-right: 1px solid; margin:0 ; padding:0 0.8ch 1px 0.8ch;">''string''</dd> | ||
| + | <dd style="margin:0; padding-left:.8ch;">Error Message</dd> | ||
| + | </dl> | ||
| + | </div> | ||
| + | |||
| + | <div> | ||
| + | <h5> History </h5> | ||
| + | <dl style="box-sizing:border-box; display:grid; grid-gap:0px; grid-template-columns:9ch auto;"> | ||
| + | <dt style="border-right: 1px solid; margin:0 0 8px 0; font-weight:normal; padding:0 0.8ch 1px 1.6em;">v4.8.0</dt> | ||
| + | <dd style="margin:0 0 8px 0; padding-left:.8ch;">As of Mudlet 4.8+, a single line is capped to 10,000 characters (this is when ~200 at most will fit on one line on your screen).</dd> | ||
| + | |||
| + | <dt style="border-right: 1px solid; margin:0; font-weight:normal; padding:0 0.8em 1px 1.6em;">v1.0.0</dt> | ||
| + | <dd style="margin:0; padding-left:.8ch;">Added in: v.1.0.0</dd> | ||
| + | </dl> | ||
| + | </div> | ||
| + | </div> | ||
</div> | </div> | ||
| − | + | This function appends text at the end of the current line. | |
| + | |||
| + | See also: [[Manual:Lua_Functions#moveCursor|moveCursor()]], [[Manual:Lua_Functions#insertText|insertText()]], [[Manual:Lua_Functions#cecho|cecho()]], [[Manual:Lua_Functions#decho|decho()]], [[Manual:Lua_Functions#hecho|hecho()]] | ||
| − | + | ==== Example: label ==== | |
| + | <syntaxhighlight lang="lua"> | ||
| + | -- 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>]]) | ||
| + | </syntaxhighlight> | ||
| − | + | ==== Example: miniconsole ==== | |
| + | <syntaxhighlight lang="lua"> | ||
| + | -- 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") | ||
| + | </syntaxhighlight> | ||
Latest revision as of 19:43, 28 February 2026
Current Projects/Issues
- #1149 Public functions missing documentation in wiki
- #1640 Wiki templates for easy versions
- #7851 Bulkify db:add
- #8864 Handle db:_migrate's assertions and transactions better
Basic Essentials
I intend to turn the following into composable templates. As they exist now is just to experiment with and get feedback on presentation and format.
echo
API
Usage
ok, err = echo([console_or_label_name,] text)
Origin
C++
Parameters
console_or_label_name?- string
- The mini-console or label to echo to. Default:
"main" text?- string
- 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 color, center, increase/decrease size of text and various other formatting options as listed here.
Returns
ok?- boolean
- If nil, echo has errored
err?- string
- Error Message
History
- v4.8.0
- As of Mudlet 4.8+, a single line is capped to 10,000 characters (this is when ~200 at most will fit on one line on your screen).
- v1.0.0
- Added in: v.1.0.0
This function appends text at the end of the current line.
See also: moveCursor(), insertText(), cecho(), decho(), hecho()
Example: label
-- 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>]])
Example: miniconsole
-- 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")