Difference between revisions of "User:Missionz3r0"

From Mudlet
Jump to navigation Jump to search
(Delete Parameters and Returns sections)
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>
  
== Lua Function Infobox Playground ==
+
    <div>
<div class="floatright messagebox">
+
      <h5> Origin </h5>
;Syntax
+
      <p><code>C++</code></p>
:<code>ok, err = echo([console_or_label_name,] text)</code>
+
    </div>
 +
  </div>
  
;Version
+
  <div class="mw-collapsible-content">
:{{MudletVersion|1.0.0}}
+
    <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>
Reiciendis rerum ipsum tempora itaque est. Est doloribus quis tempora delectus voluptatum porro. Et quo reiciendis quasi. Necessitatibus cupiditate ut facere voluptatibus facere doloremque. Odit officiis atque vitae.
+
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()]]
  
Corrupti nam debitis corrupti accusamus occaecati reprehenderit cupiditate. Cum non voluptatum quisquam natus ratione fugit quis in. Quasi non ipsa repellendus et.
+
==== 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>
  
Cumque quod fugiat ex est laudantium ducimus numquam. Quia qui optio a. Perspiciatis ea placeat eos non iure provident. Nostrum eum iusto eos nam sapiente ducimus quidem eveniet. Eos dignissimos velit qui. Repellendus eos et ullam et nisi earum.
+
==== Example: miniconsole ====
 +
<syntaxhighlight lang="lua">
 +
-- first, determine the size of your screen
 +
local windowWidth, windowHeight = getMainWindowSize()
  
Animi et beatae et at rerum. Itaque qui iste inventore. Repudiandae magni incidunt voluptatem velit. Aut neque nihil accusamus deleniti ullam fuga. Sint aliquam eveniet sunt aut. Et tempore vitae explicabo nihil.
+
-- 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)
  
Quis ut eum perferendis unde rem et. Consequatur atque repellat dolor vel. Voluptatem fugit labore expedita perspiciatis suscipit rem.
+
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")