Difference between revisions of "User:Missionz3r0"

From Mudlet
Jump to navigation Jump to search
(init - with current projects/issues)
 
m (Add TOC limit)
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
{{TOC right|limit=3}}
 +
 
== Current Projects/Issues ==
 
== Current Projects/Issues ==
 
* [https://github.com/Mudlet/Mudlet/issues/1149 #1149] Public functions missing documentation in wiki
 
* [https://github.com/Mudlet/Mudlet/issues/1149 #1149] Public functions missing documentation in wiki
    * [https://github.com/Mudlet/Mudlet/issues/1640 #1640] Wiki templates for easy versions
+
** [https://github.com/Mudlet/Mudlet/issues/1640 #1640] Wiki templates for easy versions
 
* [https://github.com/Mudlet/Mudlet/issues/7851 #7851] Bulkify db:add
 
* [https://github.com/Mudlet/Mudlet/issues/7851 #7851] Bulkify db:add
 
* [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>
 +
      <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>
 +
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

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")