<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Scripting — Imperian&#039;s Forums</title>
        <link>http://forums.imperian.com/index.php?p=/</link>
        <pubDate>Thu, 30 Apr 2026 17:42:33 +0000</pubDate>
        <language>en</language>
            <description>Scripting — Imperian's Forums</description>
    <atom:link href="http://forums.imperian.com/index.php?p=/categories/scripting/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Request for help in gathering some data (Mudlet)</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1228/request-for-help-in-gathering-some-data-mudlet</link>
        <pubDate>Sat, 13 Aug 2022 21:23:55 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Irrillian</dc:creator>
        <guid isPermaLink="false">1228@/index.php?p=/discussions</guid>
        <description><![CDATA[Hello!<br /><br />Most of you probably know me better as "demonnic" from various Mudlet related places, as it's been a while since I was particular active in any game. But I've been around, in the background, fiddling with things.<br /><br />Anyway, the Mudlet team has been working on some exciting new features, but in the process realized: we have not done display performance benchmarking in ages. So we're working on that. But it also occurred to me that we should know what kind of spam and stress the Mudlet display is asked to deal with in the real world, so we have something to compare our performance benchmarks against, as otherwise we're just guessing if the numbers we get are any good or not.<br /><br />Enter, the spamtabulator! When you turn it on, it counts the lines from the game until you turn it off, and then sends me how long it ran and how many lines it got in that time frame, and a couple other values calculated based on those two. <br /><br />If anyone is interested in helping, I made a <a rel="nofollow" href="https://forums.mudlet.org/viewtopic.php?f=5&amp;t=23158">Mudlet forum post</a> with more information.<br /><br />Thanks in advance!<br />]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.15 - gifs, music, and editable shortcuts!</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1218/mudlet-4-15-gifs-music-and-editable-shortcuts</link>
        <pubDate>Tue, 01 Feb 2022 19:36:00 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1218@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Every Mudlet release is like a box of presents, according to Mudlet dev <a rel="nofollow" href="https://github.com/delwing">Delwing</a>. This box brings gifs, scrollboxes, and revamped sound &amp; music to Mudlet – welcome to the first update of 2022!</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="you-can-now-use-gifs-in-your-mudlet-ui">You can now use gifs in your Mudlet UI</h2>&#13;
&#13;
&#13;
&#13;
<div>&#13;
<div>You heard it here first, folks – <a rel="nofollow" href="https://github.com/Edru2">Edru</a> brings us gifs in 2022! In addition to supporting images, labels now support animated gifs as well. Show animated bars and <a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2017/05/Peek-2017-05-30-20-13.gif">backgrounds</a>; get awesome <a rel="nofollow" href="https://duckduckgo.com/?q=meme+gifs&amp;atb=v1-1&amp;ia=web">meme gifs</a>;&#13;
 show a flying money sign when you’ve sold stuff, or a little dude &#13;
running on screen while you’re speedwalking ingame – let your &#13;
imagination flow!</div>&#13;
</div>&#13;
<div>&#13;
<div><img alt="" src="https://www.mudlet.org/wp-content/uploads/2022/01/Screenshot-2022-01-23-10.52.25-AM.png" title="Image: https://www.mudlet.org/wp-content/uploads/2022/01/Screenshot-2022-01-23-10.52.25-AM.png" width="2255" height="1329" /><p><a rel="nofollow" href="https://streamable.com/9wl4el">Video link</a></p></div>&#13;
</div>&#13;
&#13;
<p> </p>&#13;
<p>Try it out by dragging <a rel="nofollow" href="https://github.com/vadi2/gifs-demo/raw/main/gifs-demo.mpackage">this link</a> onto Mudlet, or with this on the input line:</p>&#13;
<pre spellcheck="false" tabindex="0">lua installPackage"<a href="https://github.com/vadi2/gifs-demo/raw/main/gifs-demo.mpackage" rel="nofollow">https://github.com/vadi2/gifs-demo/raw/main/gifs-demo.mpackage</a>"</pre>&#13;
<p>That said, gifs are pretty expensive to play – so don’t go too wild with them.</p>&#13;
<h2 data-id="you-can-now-use-background-music-in-your-mudlet-ui">You can now use background music in your Mudlet UI</h2>&#13;
&#13;
&#13;
&#13;
<p>Lua music and sound API got a huge overhaul by <a rel="nofollow" href="https://github.com/mpconley">mpconley</a> in this update! And we don’t use such words here lightly – this update opens a lot of possibilities in the audio arena.</p>&#13;
<p>You can set music/sounds to fade in or out, adjust the &#13;
volume on them individually, choose at which time should the playback &#13;
start, select how many times it should loop (infinite? sure!), or even &#13;
tag sounds with a similar category so you can control them en-masse.</p>&#13;
<p>Crazy, huh? Just as an example, you can now background &#13;
ambience music when in area/zone A… and later when changing to a new &#13;
area/zone replace the ambience music with another one. You can tag all &#13;
sounds as ‘battle sounds’ and stop them all at once when the battle is &#13;
done. Lots of things you can do now with this!</p>&#13;
<p>This functionality is coming over from MCMP support that already exists in Mudlet – so if you’re a game admin and would like this for your game, <a rel="nofollow" href="https://wiki.mudlet.org/w/Standards:MUD_Client_Media_Protocol">go for it</a>.</p>&#13;
<h2 data-id="configurable-shortcuts">Configurable shortcuts</h2>&#13;
<p>Don’t like that Alt+D disconnects you from the game? You don’t have to put up with that anymore! Thanks to <a rel="nofollow" href="https://github.com/Delwing">Delwing</a>, all shortcuts used by Mudlet are now customisable via Settings:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2022/01/Screenshot-2022-01-21-7.11.59-PM.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2022/01/Screenshot-2022-01-21-7.11.59-PM.png" width="1490" height="569" /></a></p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="better-stylesheets">Better stylesheets</h2>&#13;
&#13;
&#13;
&#13;
<p><a rel="nofollow" href="https://github.com/demonnic">demonnic</a> has done so many nice things in this release that it’s hard to pick one, so if I had to settle on one this would be it – <a rel="nofollow" href="https://wiki.mudlet.org/w/Area_51/GeyserStyleSheet">Geyser stylesheets</a>!&#13;
 They allow you to create a managed stylesheet to make it easier to set &#13;
and change properties, as well as inherit properties from another &#13;
stylesheet, making it easier to manage multiple styles at once. Great &#13;
tool for a UI builder.</p>&#13;
<p>If you’ve used CSSMan previously, this is a worthy replacement! </p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="c-d-hecho-works-on-labels">c/d/hecho works on labels</h2>&#13;
&#13;
&#13;
&#13;
<p><em><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#cecho">cecho</a>(“Hi! This text is &lt;red&gt;red, &lt;blue&gt;blue, &lt;green&gt; and green”</em><em>)</em>&#13;
 – cecho is pretty familiar to us all, isn’t it? If you want to get your&#13;
 text onto a miniconsole, this is a very popular option. But why only &#13;
miniconsoles and not labels as well? <a rel="nofollow" href="https://github.com/demonnic">demonnic</a> wondered that too, rolled up his sleeves, and fixed it – you can now use c/d/hecho functions on labels!</p>&#13;
<h1 data-id="scrollboxes">Scrollboxes</h1>&#13;
<p>Ever wanted to create scrollable lists with labels Mudlet? Say a list&#13;
 of players, or wares in a shop? While it was quite doable with &#13;
miniconsoles, it wasn’t the case with labels. <a rel="nofollow" href="https://github.com/Edru2">Edru</a> got to work fixing that and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#createScrollBox">createScrollBox()</a>&#13;
 is the result. Think of it as a container that you can put your labels &#13;
into and if there’s not enough space, you get scrollbars – both &#13;
horizontal and vertical directions work.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all coders who made this amazing release happen: Chris &#13;
Mitchell, Damian Monogue, Gustavo Sousa, Kebap, lithiumFlower, Manuel &#13;
Wegmann, Mike Conley, Nils Schimmelmann, nsweeting2, Philipp, Delwing, &#13;
Slobodan Terzić, Stephen Lyons, Tim Johnson, Vadim Peretokin, and 噢哎哟喂.</p>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all translators who are enabling Mudlet to speak their &#13;
language: Alan Sneath , Hsin-Hsiang Peng, ifelse, Leris, Marco &#13;
“M0lid3us” Tironi, mohammed hossam, Tostaito, Vadim Peretokin, and &#13;
vingi.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
<p>A lot of very handy improvements come with this update – too many to mention above. Scour the changelog below for good gems:</p>&#13;
&#13;
&#13;
&#13;
<p><strong>🆕 added:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>Geyser.StyleSheet for managing stylesheets with inheritance</li><li>`getBackgroundColor()` to get the background color of a label/miniconsole/etc</li><li>`getLabelStylesheet()` to get the label’s stylesheet</li><li>`windowType()` to find out if something is a label/miniconsole/etc</li><li>Asteria as a known game with Discord Rich Presence</li><li>beginning of Arabic translation</li><li>color `echo aliases for testing triggers (`cecho, `decho, and `hecho)</li><li>fadein, fadeout, and start to MCMP</li><li>failure reasons to `installPackage` and `installModule`</li><li>discIRC server password support</li><li>mirror generic_mapper download path for chinese player</li><li>overline support to c/d/hecho, ansi2decho, and c/d/hecho2ansi functions</li><li>string.patternEscape for escaping special Lua pattern characters</li><li>Map deletion functionality (option in settings as well as `deleteMap()`)</li><li>`getProfileStats()` to see # of triggers, aliases, etc from Lua</li><li>`map.pauseSpeedwalk()` and `map.resumeSpeedwalk()` + mpp alias to generic mapper</li><li>auto-enable dark theme for dark mode desktops</li><li>Close profile button</li><li>Main window shortcuts can now be customised</li><li>offer to update editor theme as well when dark theme is enabled</li><li>first-time placeholder text for aliases</li><li>missing cursor and selection functionality to Geyser.MiniConsole</li><li>additional 2string functions for stripping formatting codes from c/d/hecho formatted text</li><li>allow to resize animated gif to label size</li><li>allow transparent labels through right click map menu</li><li>ANSI Esc code support for MSDP</li></ul><p><strong>✨ improved:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>c/d/hecho to work on Labels</li><li>Lua API for Sound and Music</li><li>variable icons by using a color which works in both light and dark modes</li><li>add a QSpinWidget for adjusting special exit weight in exit dialog</li><li>add door symbol display to custom exits lines and to stubs</li><li>add MUME information blurb</li><li>add ScrollBox Gui Element</li><li>allow profiles to be individually resized when multi-playing</li><li>Announce how to undo it when hiding the input line buttons</li><li>be explicit with all our callable with 1 arg class constructors</li><li>Better extension selection in map save/load dialogs</li><li>better map.echo in map.find_me</li><li>code editor to show virtual characters better</li><li>do not try loading or saving password securely when storing them portably</li><li>Enhance labels to allow animated gifs</li><li>get Label Size hint and Geyser.Label adjustSize</li><li>shorten duplicate area name msg</li><li>ansi2decho now supports italics, underline, and strikethrough</li><li>c/d/hecho now support strikethrough</li><li>c/d/hfeedTriggers, d/hecho2ansi functions now support bold, underline, italics, and strikethrough</li><li>expose cecho2ansi and have it work for non-ansi color names as well</li><li>infra Win10 fix dependency installation script to handle nulls in PATH</li><li>control characters now have the choice of being displayed or hidden</li><li>error messages to `fg` and `bg`</li><li>provide alternative representations of most control characters</li></ul><p><strong>🔨 fixed:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>ansi2decho to respect custom colors</li><li>buttontoolbar resizing on start</li><li>datetime:parse and :calculcate_UTCdiff to account for DST</li><li>empty newline on send with no command separator</li><li>faulty regular expression error message</li><li>hidden container not attaching when reloading</li><li>linewrapping for really long words without spaces in Western languages</li><li>missing space in telnet negotiation warning</li><li>aborting profile close to work right</li><li>replace throwing ambiguous error or appending to entire console if nothing is selected to replace</li><li>strange disabled items in darktheme right click</li><li>clear speedWalkPath and speedWalkWeight in generic_mapper upon completion</li><li>correct placement of const in a function declaration/definition</li><li>Don’t show hidden Geyser.CommandLines in Adjustable.Containers</li><li>don’t show tab character in code editor</li><li>get dark-desktop detection working also on FreeBSD</li><li>get menu shortcuts and their key sequences working all the time again</li><li>get replays working again</li><li>prevent unwanted and unneeded copying of an item in a container</li><li>small size of exit stubs (alternative 2 “blobs on stubs”)</li><li>color trigger buttons not showing colors</li><li>control character mode being used uninitialised</li><li>documentation for scrollbar related functions</li><li>make logging have a per profile persistent control method</li><li>compact input line crash when it’s translated in other language</li><li>correctly save fore/background color and transparency of labels in JSON map files</li><li>diatrics in code editor on Linux</li><li>enable Multi-view as soon as second profile is started and show all profiles when it is active and further profiles are started</li><li>enable restoration of editor toolbars even if both get hidden</li><li>flatten XML to prevent issues clearing settings on older Mudlet versions</li><li>MXP Sound/Music Tags not functioning with U Attribute</li><li>prevent bogus NAWS and window resize events on tab changes</li><li>use better form for a couple of translatable texts</li></ul><p>Enjoy this update!<br />Vadim.</p><br />]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.14 - a statue of a giraffe in front of a waterfall</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1206/mudlet-4-14-a-statue-of-a-giraffe-in-front-of-a-waterfall</link>
        <pubDate>Mon, 22 Nov 2021 07:35:27 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1206@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>AI is all the hype these days, so we asked what AI thought of Mudlet's logo... apparently it is <a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/11/ai-mudlet-interpretation.png">a statue of a giraffe in front of a waterfall</a>. That's not relevant to today's release, but we thought you'd be interested in knowing this! Features in this update include a dark theme toggle, addition of MUME, Discord button to open the game's server, and additional text wait time is now adjustable!</p>&#13;
&#13;
<h2 data-id="dark-theme-toggle">Dark theme toggle</h2>&#13;
&#13;
<p><a rel="nofollow" href="https://github.com/edru2">edru2</a> added a dark theme to Mudlet! You can how select it in settings:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/11/Screenshot-2021-11-15-9.17.55-PM.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/11/Screenshot-2021-11-15-9.17.55-PM-1024x199.png" title="Image: https://www.mudlet.org/wp-content/uploads/2021/11/Screenshot-2021-11-15-9.17.55-PM-1024x199.png" width="1024" height="199" /></a></p>&#13;
&#13;
<p>vadi2 followed the option up with a feature to follow your system setting and to also update your editor theme.</p><br /><h2 data-id="discord-button-customisation">Discord button customisation</h2>&#13;
&#13;
<p><a rel="nofollow" href="https://github.com/atari2600tim">atari2006tim</a> worked on the Discord button! Games can now <a rel="nofollow" href="https://wiki.mudlet.org/w/Standards:Discord_GMCP#External.Discord.Info">tell Mudlet</a> what their Discord invite is, and once they do so - Mudlet will show a button that'll take the player to straight to the game's Discord server 😃</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/11/open-discord-from-mudlet.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/11/open-discord-from-mudlet.png" width="699" height="227" /></a></p>&#13;
&#13;
<h2 data-id="adjustable-text-wait-timer">Adjustable text wait timer</h2>&#13;
&#13;
<p>SlySven has done work on the text wait timer for games that lack Telnet GA or EOR signalling and made it configurable in settings. By default this timer was 0.3s, which you can now lower or increase as needed.</p>&#13;
<p>Why do we even need to have it? Well because not all games are telling Mudlet when they are done sending all text. That's exactly the meaning of GA. Games that do implement GA have no timer at all. Thus the better solution is, of course, to encourage games to implement GA!</p>&#13;
<p>Lowering the timer runs the risk that not all text will be received from the game before showing it on screen, which could 'break' your triggers for that particular line. Increasing the delay reduces that risk, but then of course the experience is compromised.</p>&#13;
&#13;
<h2 data-id="lua-rainforest-tests">Lua, Rainforest tests</h2>&#13;
&#13;
<p>Quality is an important area of Mudlet, and alongside the newly created <a rel="nofollow" href="https://www.mudlet.org/2021/10/welcome-mudlets-new-testing-team/">QA team</a>, vadi2 has worked on automating Mudlet to run our Lua tests! Now whenever an improvement is done to our Lua functions, a copy of Mudlet is launched automatically in the cloud and all existing Lua tests are run to ensure nothing breaks. This also gives a safety net to anyone working on Mudlet that should they break something on accident, it'll get caught. That said, the safety net needs to be expanded to cover all tests - so we'd love for volunteers to <a rel="nofollow" href="https://github.com/Mudlet/Mudlet/tree/development/src/mudlet-lua/tests">help strengthen it</a>.</p>&#13;
<p>That's not all on the quality story, either! vadi2 also worked on setting up visual tests that ensure the Mudlet interface itself - one you see and play with - is tested. Similar to Lua tests, automation launches Mudlet in the cloud and follows a script to click around on buttons and observe that they do what they ought to do. It is relatively intuitive to setup these tests, and we'd also love it if we had more volunteers to help flesh them out:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/11/Screenshot-2021-11-15-9.39.08-PM.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/11/Screenshot-2021-11-15-9.39.08-PM.png" title="Image: https://www.mudlet.org/wp-content/uploads/2021/11/Screenshot-2021-11-15-9.39.08-PM.png" width="1663" height="822" /></a></p>&#13;
&#13;
<h2 data-id="vote-on-best-improvement">📢 Vote on best improvement</h2>&#13;
<p>We <a rel="nofollow" href="https://www.mudlet.org/2021/10/trial-pay-out-to-popular-prs/">announced earlier</a> a trial to pay a bit of money for the top 3 most popular PRs - well it's kicking in with this release! Head over to the form <a rel="nofollow" href="https://forms.gle/tym8cEzZdEMmQv1C6">to vote</a> on your favourite improvement in this update.</p>&#13;
<p>Anyone who submits an improvement to Mudlet is eligible for a spot on the poll. That said, this is still an experiment we're trying out so we might change or scrap it in the future if it doesn't work out.</p>&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
<p>Thanks to all coders who made this release happen! atari2600tim, Damian Monogue, Kebap, Manuel Wegmann, Mike Conley, mudlet-machine-account, Nils Schimmelmann, Piotr, Slobodan Terzić, Stephen Lyons, Tim Johnson, Vadim Peretokin, and 噢哎哟喂.</p>&#13;
&#13;
<p>Thanks to all translators dutifully carrying the flags: Alan Sneath (alsneath), ifelse, Kamil Tunkiewicz (zeddicus), Leris, Marco "M0lid3us" Tironi (wiploo), vadi2, and vingi.</p>&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
<p>There's a <em>lot</em> of improvements in this Mudlet update besides the top 5 listed above, so dig into the changelog below to find goodies:</p>&#13;
&#13;
<p><strong>🆕 added</strong></p>&#13;
<ul><li><code spellcheck="false" tabindex="0">--mirror</code> option for logging output to console</li><li>option to show errors view from the toolbar</li><li>customization of Discord button using invite URL from GMCP or Lua</li><li>dark theme toggle to preferences</li><li>events when a speedwalk() is stopped, paused, or finishes (reaches the end)</li><li>IDManager and named tempTimers/event handlers from script</li><li>option for secure IRC connections</li><li>resetDiscordData() function</li><li>what color formats are acceptable in places it is missing in Geyser ldoc comments</li><li>clear error console functionality</li><li>Custom right click menu items for command lines</li><li>Gmod busted tests</li><li>Save/Load map as .json from preferences dialog</li></ul><p><strong>✨ improved</strong></p>&#13;
<ul><li>map context item names</li><li>[CodeFactor] eliminate (some of) our C style casts</li><li>allow wait for more network packets to be adjusted</li><li>cleanup room_exits.ui file</li><li>Clear edit forms for deleted items</li><li>Create map / Load map dialog will be again present for empty map</li><li>Create room at right-click position</li><li>Do not trim whitespaces in tab completion</li><li>icons not coloured status text for normal exits in exits dialog</li><li>icons not coloured status text for special exits in exits dialog</li><li>only enable IRE driver GA bugfix for IRE games (unnnecessary newlines with GA)</li><li>Properly announce Discord failing on length 1 texts</li><li>shorten welcome message for new aliases &amp; triggers</li><li>simplify dlgRoomExits() invocation</li><li>sync mpackage modules</li><li>Unregister fonts upon package/module uninstall</li><li>update bundled NotoColorEmoji font</li><li>use constants to index into special exit columns in dlgRoomExits</li></ul><p><strong>🔨 fixed</strong></p>&#13;
<ul><li>CodeQL warnings</li><li>copy2decho() on empty lines</li><li>copy2decho, copy2html to work for all international text</li><li>Discord logo dimensions on profiles screen</li><li>Export Triggers title bar to be more generic</li><li>Adjust height of command box when cycle through history</li><li>cleanup: remove some warnings in uses of QKeySequence</li><li>correct a missing override that showed up during CI</li><li>disable more controls in preferences when there is no host</li><li>don't show jibberish when Adjustable Container title bar is too short + add position as option for setTitle</li><li>eliminate a load of warnings about missing-field-initializers</li><li>Lua functions for tempKey and tempAlias work again</li><li>modules no longer get emptied if reloaded during saveProfile()</li><li>only provide NAWS information from main console</li><li>remove spaces in initializer brackets</li><li>remove stray debug messages</li><li>repair prevent all controls from being hidden feature</li><li>settings button will be available again before you connect to a profile</li><li>try and make connectExitStub(...) work as per the API</li><li>update default Zombiemud port</li><li>update PCRE download source to one that still exists</li></ul><p><strong>Infrastructure</strong></p>&#13;
<ul><li>add 'Chancel' as an allowed codespell - it's an area in Lusternia</li><li>Add 'nd' as an allowed word</li><li>add knowledge for debug symbols in builds</li><li>added label for port in Github Codespaces</li><li>close out p tag in text label</li><li>danger checks in JS</li><li>disable Windows builds in GHA</li><li>fix Windows changelog generation now that we have quotes</li><li>fixed autoupdate workflows to trigger checks</li><li>git ignore 3rdparty boost and cocoapods</li><li>give a danger-friendly PR title to Crowdin updates</li><li>Improve ptb changelog generation</li><li>make sure to fail Windows builds in case the packaging step failed</li><li>More adjustments to the changelog styling</li><li>read error log correctly from Windows installer tool</li><li>remove unrendered emoji characters from changelog script</li><li>remove unused mUserDefinedName in code</li><li>update appveyor signing password</li><li>updated Lua tests documentation</li><li>Lua tests to run in CI automatically</li></ul><p> </p>&#13;
<p><img alt="" src="https://cdn.discordapp.com/attachments/467617997956186132/912206913213710346/unknown.png" width="793" height="440" /></p>&#13;
&#13;
<div></div>&#13;
&#13;
<p> </p>&#13;
<br />]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.13 - LoTJ plus mapper, command line, and color improvements</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1192/mudlet-4-13-lotj-plus-mapper-command-line-and-color-improvements</link>
        <pubDate>Fri, 24 Sep 2021 16:44:21 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1192@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>We’re back from summer, freshly recharged, so here is a new Mudlet &#13;
update! In this version you’ll find a new game with a Mudlet UI, plus &#13;
improvements to the mapper, command lines, and colour rendering.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="legends-of-jedi">Legends of Jedi</h2>&#13;
<p>A new game joins Mudlet’s connection screen!</p>&#13;
&#13;
&#13;
&#13;
<blockquote>&#13;
<p>Legends of the Jedi is a text-based roleplaying experience that &#13;
immerses players in a multiplayer world where they can rewrite classic &#13;
Star Wars stories with their own heroes, villains, battles, and endings.&#13;
 Over the course of each two-year timeline, the game explores all the &#13;
key eras of the Star Wars Expanded Universe.</p>&#13;
<p> </p>&#13;
<p>Take and hold planets as an Imperial Stormtrooper, command the Rebel &#13;
navy and liberate the galaxy, pursue targets as a bounty hunter, or &#13;
shape things on a larger scale as a member of the Galactic Senate. Maybe&#13;
 you’ll even be one of the few born with force sensitivity, destined to &#13;
be trained by Jedi or Sith.</p>&#13;
<p> </p>&#13;
<p>The game offers an extensive crafting system for engineers to supply &#13;
weapons, armor, and ships to the galaxy. Develop new, cutting-edge &#13;
armaments to give your side an edge, or open a shop in a bustling &#13;
commercial district and become wealthy as part of a powerful engineering&#13;
 conglomerate.</p>&#13;
<p> </p>&#13;
<p>LOTJ offers full PVP in both ground and space combat, governed by a &#13;
set of rules to minimize griefing and ensure that all kills have &#13;
sufficient in-character cause.</p>&#13;
<p> </p>&#13;
<p>What role will you play? The legend awaits!</p>&#13;
</blockquote>&#13;
&#13;
&#13;
&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/09/Legends-of-the-Jedi-Mudlet-4.12.0-ptb-2021-09-19-68133_001.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/09/Legends-of-the-Jedi-Mudlet-4.12.0-ptb-2021-09-19-68133_001-1024x606.png" title="Image: https://www.mudlet.org/wp-content/uploads/2021/09/Legends-of-the-Jedi-Mudlet-4.12.0-ptb-2021-09-19-68133_001-1024x606.png" width="1024" height="606" /></a></p>&#13;
<h2 data-id="smoother-map-scrolling">Smoother map scrolling</h2>&#13;
&#13;
&#13;
&#13;
<p><a rel="nofollow" href="https://github.com/ktunkiewicz">ktunkiewicz</a> took a stab &#13;
at improving the mapper once again – and fixed the map scrolling to work&#13;
 like you’d expect it to, regardless of the zoom level:</p><a href="https://www.mudlet.org/wp-content/uploads/2021/09/smooth-scrolling.webm" rel="nofollow">https://www.mudlet.org/wp-content/uploads/2021/09/smooth-scrolling.webm</a><p> </p>&#13;
<p>Now it feels like it should on any map app <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="command-line-improvements">Command line improvements</h2>&#13;
&#13;
&#13;
&#13;
<p>SlySven and chrio worked on improving the command line – it’ll now no&#13;
 longer ‘jump’ a little bit the first time you use it, and line &#13;
wrapping. There’s new commands to visually select text in the command &#13;
line, too!</p>&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/09/Screenshot-2021-09-12-9.13.42-AM.png"><img alt="Screenshot of the command line" src="https://www.mudlet.org/wp-content/uploads/2021/09/Screenshot-2021-09-12-9.13.42-AM-300x70.png" width="300" height="70" /></a><p>Command line wrapping before</p></div>&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/09/Screenshot-2021-09-12-9.13.46-AM.png"><img alt="Screenshot of the command line" src="https://www.mudlet.org/wp-content/uploads/2021/09/Screenshot-2021-09-12-9.13.46-AM-300x70.png" width="300" height="70" /></a><p>Improved command line wrapping after</p></div>&#13;
&#13;
&#13;
&#13;
<h2 data-id="256-colours-harmonized">256 colours harmonized</h2>&#13;
&#13;
&#13;
&#13;
<p>Mudlet’s rendering xterm256 colours will now look similar to other MUD clients thanks to <a rel="nofollow" href="https://github.com/">Kilbukas</a>:</p>&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/09/Mudlet-4.12-256-colors.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/09/Mudlet-4.12-256-colors-300x174.png" width="300" height="174" /></a><p>(old) Mudlet 4.12 and below</p></div>&#13;
&#13;
&#13;
&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/09/Mudlet-4.13-256-colors.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/09/Mudlet-4.13-256-colors-300x174.png" width="300" height="174" /></a><p>(new) Mudlet 4.13+</p></div>&#13;
<p>If you’ve thought colours looked a bit better, this would have been why!</p>&#13;
<h2 data-id="custom-profile-colour">Custom profile colour</h2>&#13;
<p>Speaking of colours, <a rel="nofollow" href="https://github.com/MrZaus">MrZaus</a> added an option to customise the profile colour on the connection screen!</p>&#13;
<p><img alt="" src="https://cdn.discordapp.com/attachments/427919962561052673/876008721120116766/unknown.png" title="Image: https://cdn.discordapp.com/attachments/427919962561052673/876008721120116766/unknown.png" width="724" height="292" /></p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="createmaplabel-improved">createMapLabel improved</h2>&#13;
<p>The <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#createMapLabel">createMapLabel</a>&#13;
 function now allows you to choose the font, text, and background &#13;
transparency for map labels – giving you more flexibility in creating &#13;
nice-looking Mudlet maps.</p>&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/09/Screenshot-2021-09-20-12.11.27-PM.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/09/Screenshot-2021-09-20-12.11.27-PM.png" width="527" height="293" /></a><p>Map labels can go above and below rooms</p></div>&#13;
<h2 data-id="custom-right-click-actions">Custom right-click actions</h2>&#13;
<p>While you previously could have made specific text in the window &#13;
clickable, you couldn’t add to the general right-click menu that showed &#13;
up. Say, for example, you wanted to select some text, right-click, and &#13;
do something with the selection? Well, now you can thanks to <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#addMouseEvent">addMouseEvent</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#getMouseEvents">getMouseEvents</a> and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#removeMouseEvent">removeMouseEvent</a> by <a rel="nofollow" href="https://github.com/Kilbukas">Kilbukas</a>.</p>&#13;
<p>This joins existing functionality where you can add custom right-click menu actions to the <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#addMapEvent">mapper</a> already.</p>&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all coders who made this release possible: atari2600tim, &#13;
chrio, Damian Monogue, Ian Adkins, Kamil Tunkiewicz, Kebap, keneanung, &#13;
Manuel Wegmann, Matthew Wagner, MrZaus, Piotr, Richard Moffitt, Slobodan&#13;
 Terzić, Stephen Lyons, Tomas Seniunas, and Vadim Peretokin.</p>&#13;
&#13;
&#13;
&#13;
<p>And of course all the translators who are translating Mudlet into &#13;
their native language: Alan Sneath (alsneath), eplis, Hsin-Hsiang Peng &#13;
(Hsins), hyperi (osakki), Jim Lu (kimiwajim), Leris, Marco “M0lid3us” &#13;
Tironi (wiploo), olen, Sirith (Senareil), vingi, VVsxmja, and 晉豪許 &#13;
(gridwing).</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
<p>4.13.0 was skipped as it had a small bug in <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#ansi2decho">ansi2decho()</a> – so we’ve fixed it up before getting it out to you.</p>&#13;
<p>Check out the changelog below, quite a few goodies for scripters in here:</p>&#13;
&#13;
&#13;
&#13;
<p><strong>🆕 added</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>ability to define custom color in profile buttons in connection dialog</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#closestColor">closestColor()</a> function for finding the best match out of color_table</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#selectCmdLineText">selectCmdLineText()</a> to make command line text selected</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#getButtonState">get</a> and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#setButtonState">set</a> state of push-down-buttons</li><li>Legends of the Jedi as a default game</li><li>mouse menu actions to windows</li><li>notarization to macOS builds</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#pauseSpeedwalk">pause</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#pauseSpeedwalk">stop</a>, and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#pauseSpeedwalk">resume</a> functions to complement speedwalk()</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#selectCaptureGroup">selectCaptureGroup()</a> will work with named capture groups</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Technical_Manual#Editor_shortcuts">shortcuts</a> to navigate editor between triggers, aliases, etc</li></ul><p><strong>✨ improved</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>adjusted the 256 color conversion to match other clients</li><li>descriptive window title now shows for the alias/trigger/script editor</li><li>fix incorrect height adjustment of the command line</li><li>fixed a fair bit of typos in code comments and texts the player sees</li><li>Give the Mudlet icon to new profiles that were just copied</li><li>improved line-breaking in the command line</li><li>improved zip comment generation for package exporter</li><li>Improvements to command line font handling</li><li>Mudlet on macOS won’t give security warnings anymore</li><li>optional fontName, text and background transparency in <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#createMapLabel">createMapLabel()</a></li><li>Optional part of package exporter UI expands if there is space on macOS</li><li>Remove experimental label from the package exporter</li><li>Revise: improve debug messages when negotiating compression</li><li>Revise: make exporter temporary files be a sub-directory of a Mudlet one</li><li>Show an error in stdout when script failed to load from XML</li><li>Small optimization added for incoming text data</li><li>Update fontsize as soon as it is selected in preferences</li><li>Update: add some more dictionaries to the list</li></ul><p><strong>🔨 fixed</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>–profile CLI option will now work as expected in a lot more cases</li><li>fix json map room symbol loading</li><li>Fix markdown headers and images not playing well together</li><li>Fix setBorderSizes() when called with 4 arguments</li><li>Fix: newly created profiles will remember their connection info</li><li>Make f work with variable named ‘str’</li><li>mpackage zip comments are preserved correctly for international text</li><li>Package manager/exporter now work fine with non-Latin letters</li><li>prevent addCustomLine from crashing without custom line points</li><li>prevent crashing from double-click on connect button</li><li>Reset autowrap limit when changing the font size, if autowrap is enabled</li><li>Revise: fixup some package exporter results messages</li></ul><div></div>&#13;
&#13;
&#13;
&#13;
<p> </p>&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/09/Selection_048.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/09/Selection_048-1024x560.png" title="Image: https://www.mudlet.org/wp-content/uploads/2021/09/Selection_048-1024x560.png" width="1024" height="560" /></a><p>Just a fraction of the work that went into the release <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p></div><br /><br />]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.12 - sustainability edition</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1177/mudlet-4-12-sustainability-edition</link>
        <pubDate>Wed, 02 Jun 2021 16:43:48 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1177@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Sustainability is a hot topic in 2021 for all the right reasons: We want to ensure that we can keep doing what we’re doing. It is, coincidentally, the theme of Mudlet 4.12 as well – We’d like to be sure that we can keep building Mudlet as the game client you know &amp; like well into the future. It’s been difficult for the last little while with the conditions that we’ve faced – the certificate signing, moving off of Travis, and most recently: The challenges of working on an international, remote-only project while we’re faced with external stressors. For these reasons it’s important to take the time to charge your batteries.</p><h1 data-id="brand-new-package-manager">Brand new package manager</h1><p>Edru has been busy revamping how Mudlet interacts with packages! First up, the new package manager, as seen below, allows you to see a package’s description with additional details like images, links, styling with markdown, etc.</p><div><div><div><div><img alt="User" src="https://www.mudlet.org/wp-content/uploads/2021/05/Package-Manager-experimental-Achaea_028-1024x965.png" /></div></div></div><div><div></div><div></div><div></div><div></div></div></div><p><br /></p><p>How do these descriptions arrive in new packages? Where do they come from? Well, we’re glad you asked:</p><h2 data-id="brand-new-package-exporter">Brand new package exporter</h2><p>Edru has revamped the package exporter as well, making it much easier to create, update and (re-)export packages as well as add a description and other information to them:</p><div><div><div><div><img alt="User" src="https://www.mudlet.org/wp-content/uploads/2021/05/Package-Exporter-experimental_annotated.png" /></div></div></div><div><div></div><div></div><div></div><div></div></div></div><p><br /></p><p>Want inspiration for creating your own package descriptions? Check out some of <a rel="nofollow" href="https://marketplace.visualstudio.com/">these popular extensions</a> for Visual Studio.</p><h2 data-id="scripting-news">Scripting news</h2><p><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#addFileWatch">File watches</a> are now in Mudlet! Wilk’s work allows your scripts to get notified whenever an external file is changed. This enables some interesting possibilities, such as editing code outside of Mudlet and having it <a rel="nofollow" href="https://github.com/Mudlet/Mudlet/pull/4942#issuecomment-803592717">show up live.</a> (link to 45sec video demonstration)</p><p>Another great feature for multiplayers by SlySven is an improvement to the central debug console, which will now say which profile an information came from.</p><div><div><div><div><img alt="User" src="https://www.mudlet.org/wp-content/uploads/2021/05/debug_multiplay.png" /></div></div></div><div><div></div><div></div><div></div><div></div></div></div><p><br /></p><p>Leveraging that momentum, SlySven has also improved the multiplayed profile tabs so they can now be re-arranged as you desire.</p><div><div><div><div><img alt="User" src="https://www.mudlet.org/wp-content/uploads/2021/05/profile_swap.gif" title="Image: https://www.mudlet.org/wp-content/uploads/2021/05/profile_swap.gif" /></div></div></div><div><div></div><div></div><div></div><div></div></div></div><p><br /></p><h2 data-id="credits">Credits</h2><p>Thanks to all coders who made this release happen – Andrew Eisenberg, Andrew Waters, atari2600tim, Chris Mitchell, Damian Monogue, Gustavo Sousa, Kamil Tunkiewicz, Kebap, Manuel Wegmann, Mike Conley, mudlet-machine-account, OzlynnJeez, Piotr, Serity, Stephen Lyons, and Vadim Peretokin.</p><p>Thanks to all translators who contributed to keeping the translations up to date: Alan Sneath (alsneath), Hsin-Hsiang Peng (Hsins), Leris, Marco “M0lid3us” Tironi (wiploo), Matthieu (Jack_potta), and vingi.</p><h2 data-id="changelog">Changelog</h2><p>added:</p><ul><li><p>AdjustableContainerRepositionFinish event, change in AdjustableContainerReposition event</p></li><li><p>file watch functions (addFileWatch, removeFileWatch) and event (sysPathChanged)</p></li><li><p>getPackages and getModules functions</p></li><li><p>brand new package manager to view your installed packages</p></li><li><p>brand new package exporter to share your Mudlet things with others</p></li><li><p>dreplaceLine, hreplaceLine as well as support for windows other than the main one</p></li><li><p>getConnectionInfo() will now also say if you’re currently connected or not</p></li></ul><p>improved:</p><ul><li><p>getOS() extended to include extra version (and for GNU/Linux, distribution) return values.</p></li><li><p>new keys without a name will automatically get assigned one</p></li><li><p>StickMUD will have the IRE mapper script installed by default for new profiles</p></li><li><p>Discord toggle for Clessidra will work right away, without needing to connect first</p></li><li><p>area parsing in XML files is now more resilient</p></li><li><p>mudlet will no longer freeze when exporting really large packages</p></li><li><p>top buttons in Mudlet are no longer monospaced</p></li><li><p>profile tabs in multiplay mode can now be re-arranged by dragging</p></li><li><p>debug console will now show which profile a message comes from</p></li><li><p>clicking on the line # in the code editor will let you type in it</p></li><li><p>mapper right-click menu will no longer hide custom items if you open it low</p></li><li><p>saveJsonMap() can be used without a path, just like saveMap()</p></li><li><p>you can add new variables in editor without having to click on one first</p></li><li><p>cleaned up mapper right-click menu; it’ll only show items relevant to current selection</p></li><li><p>unknown MSP elements will be skipped and Mudlet will do its best to play the sound anyway</p></li><li><p>duplicate parent names won’t be included anymore when exporting/importing packages (but if you’d like to, you can right-click to do it anyway)</p></li></ul><p>fixed:</p><ul><li><p>fixed crash when using MSSP with the * event handler</p></li><li><p>clicking on a label/miniconsole in a floating userwindow will no longer steal focus from the input line</p></li><li><p>changing tabs in multiview will no longer cause consoles to flash</p></li><li><p>there will no longer be a line across the screen for a split moment when a new profile is opening</p></li><li><p>searchAreaUserData() will work again when both key and value are provided for searching</p></li><li><p>clicking on the timestamp will now visually select the whole line</p></li><li><p>auto-complete will no longer try to complete on short words like ‘do’</p></li><li><p>text will now longer be automatically deselected while typing with the spellchecker on</p></li><li><p>–quiet command line explanation fixed</p></li><li><p>cancelling a package download will now actually cancel it</p></li><li><p>perm* functions are working well again</p></li><li><p>getMapLabels() won’t crash when used on an area that doesn’t exist</p></li><li><p>generic mapper update notifications will work well again</p></li><li><p>miniconsole message if you don’t pass enough parameters fixed</p></li><li><p>fixed nonsense message for when there’s no rooms in the map</p></li><li><p>generic mapper will stop responding to the map opening after it’s been uninstalled</p></li><li><p>code won’t run twice on setScript and resetProfile</p></li><li><p>resize events won’t be emitted anymore if the size didn’t actually change</p></li><li><p>getMapMenus() fixed</p></li><li><p>small memory leak when JSON map export is aborted</p></li></ul><p>infrastructure:</p><ul><li><p>added automation to auto-link Linux and macOS PTB to updater (#4861</p></li><li><p>added tests for variable interface</p></li><li><p>added support for building Mudlet in Docker on Linux</p></li><li><p>added mpackage for testing cecho/decho/hecho and console transparency to tests</p></li><li><p>added an automated check to verify improvements against Mudlet’s C++ style guide</p></li><li><p>Qt 5.14.2 is now used for all official builds</p></li></ul><p> </p><div><div><div><div><img alt="User Github Stats for 412" src="https://www.mudlet.org/wp-content/uploads/2021/05/Screenshot-2021-05-30-4.32.39-PM-1024x552.png" title="Image: https://www.mudlet.org/wp-content/uploads/2021/05/Screenshot-2021-05-30-4.32.39-PM-1024x552.png" /></div></div></div><div><div></div><div></div><div></div><div></div></div></div><p><br /></p>]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.11 – smoother mapper</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1161/mudlet-4-11-smoother-mapper</link>
        <pubDate>Sat, 13 Mar 2021 10:14:59 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1161@/index.php?p=/discussions</guid>
        <description><![CDATA[<div>&#13;
					<p>After a (once again) forced updates hiatus of a couple of &#13;
months, monthly Mudlet updates are back! Enjoy improvements to drag &#13;
&amp; drop and a much better mapper.</p>&#13;
<h1 data-id="what-is-mudlet">What is Mudlet?</h1>&#13;
<p>Mudlet is a platform with which you can play multiplayer, pure-text &#13;
online games – called MUDs, precursors to today’s online games. There &#13;
are thousands of unique worlds online – <a rel="nofollow" href="https://www.mudlet.org/download/">download</a> Mudlet for free on Windows/macOS/Linux, join one and enjoy!</p>&#13;
<h2 data-id="new-games-in-mudlet">New games in Mudlet</h2>&#13;
<h2 data-id="cleft-of-dimensions">Cleft of Dimensions</h2>&#13;
<blockquote><p>Do you have a soft spot for an old SNES RPG? Are you a &#13;
fan of retro gaming? The Cleft of Dimensions is an adventure-driven MUD &#13;
with content inspired by a variety of classic video games. Do you want &#13;
to jump on goombas? Maybe you’d rather immolate them with lava or &#13;
bombard them with meteors. Then again, why fight when enslavement’s an &#13;
option? If that doesn’t work out, you’ve got this motorcycle you could &#13;
crash into them. The Cleft has 16 character classes, each with a &#13;
distinctive playstyle.</p>&#13;
<p> </p>&#13;
<p>Gameplay in the Cleft features exploration, puzzles, quests, and &#13;
combat. At time of writing, the world contains 98 areas. Quests range &#13;
from deciphering treasure maps and committing industrial espionage to &#13;
seeking the blessings of the mana spirits or just going fishing. A &#13;
remort system facilitates repeat playthroughs to find content you missed&#13;
 the first time around.</p>&#13;
<p> </p>&#13;
<p>The Cleft opened in July 2000 and has been in active development ever&#13;
 since. We’re always innovating. Recent features include Discord &#13;
integration and areas written with artificial intelligence. Check us &#13;
out!</p></blockquote>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/01/mudlet_cleftofdimensions.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/01/mudlet_cleftofdimensions-1024x503.gif" width="1024" height="503" /></a></p>&#13;
<h2 data-id="core-mud">Core MUD</h2>&#13;
<blockquote><p>Core Mud is an interactive text MUD set on the planet formal star-charts refer to as Hermes 571-G, but that everyone <i>in the know</i>&#13;
 refers to simply as “Core”. Core is one of the most distant settlements&#13;
 known to mankind, most famous for its lucrative yet oppressive mines. &#13;
But more than mankind can be found here; Core is a diverse group of 9 &#13;
races in total, all vying for recognition or profits, or both, working &#13;
for The Company, the megalithic entity running the colony itself. To The&#13;
 Company, everything is secondary to profits. It is up to you to &#13;
determine how best to survive in this environment, whether that be &#13;
through combat training, superior mining skills, or technical prowess.</p>&#13;
<p> </p>&#13;
<p>Core MUD is always free to play and features a fun and supportive atmosphere. Roleplaying is encouraged but not mandatory. <a rel="nofollow" href="https://coremud.org/wiki/doku.php?id=core:economy:mining:mining">Mining</a> is your primary source of income, but there are multiple ways to scrape together a few <a rel="nofollow" href="https://coremud.org/wiki/doku.php?id=core:economy:credits">credits</a>… or a few million. Core Mud also features an economy which is player-driven; players own merchandise <a rel="nofollow" href="https://coremud.org/wiki/doku.php?id=core:economy:shops">shops</a>&#13;
 featuring energy weaponry or useful tools, pubs featuring assorted &#13;
alcoholic (of course) and non-alcoholic beverages, and clinics for &#13;
healing, to name a few. Come join us today!</p></blockquote>&#13;
<p><a rel="nofollow" href="https://coremud.org/"><img alt="CoreMUD gameplay" src="https://i.imgur.com/b1Rf57k.gif" width="640" height="367" /></a></p>&#13;
<p>Want to add your game in here? <a rel="nofollow" href="https://wiki.mudlet.org/w/Listing_Your_MUD">It’s free</a>.</p>&#13;
<h2 data-id="drag-and-drop-link-to-install-a-package">Drag and drop link to install a package</h2>&#13;
<p>Yes you read that right – just drag and drop a link onto Mudlet and it’ll download and install the package for you:</p>&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/01/install-package-dnd.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/01/install-package-dnd.gif" width="1331" height="531" /></a><p>Carrion Fields UI</p></div>&#13;
<p>Alternatively, you can also drag and drop the package file itself and it’ll install as well.</p>&#13;
<h2 data-id="new-core-dev-team-member-delwing">New core dev team member, Delwing</h2>&#13;
<p>Please welcome Piotr, aka <a rel="nofollow" href="https://github.com/Delwing">Delwing</a> / WilK to the team! Delwing has previously made the excellent web-based <a rel="nofollow" href="https://github.com/Delwing/mudlet-map-browser">Mudlet map viewer</a>, VS Code <a rel="nofollow" href="https://github.com/Delwing/mudlet-docs">autocompletion for Mudlet</a>, and with scripts for the Polish game Arkadia.</p>&#13;
<p>This time around in Mudlet, Delwing added room borders:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_071.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_071.png" width="1000" height="925" /></a></p>&#13;
<p>Along with a complete customizable map info panel:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_072.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_072.png" width="545" height="125" /></a></p>&#13;
<p>And some very sleek-looking room selection:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/01/new-room-selection-1.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/01/new-room-selection-1.gif" width="487" height="921" /></a></p>&#13;
<p>You can also now customise the colour of the room character. Thanks to Delwing for adding these in, and looking forward to more!</p>&#13;
<p>SlySven has put a huge amount of work into the mapper as well – and &#13;
it can now save/load in JSON as well. This is something that crowdmaps &#13;
will find handy to integrate so changes to the map can be clearly seen &#13;
as text.</p>&#13;
<h2 data-id="view-only-mapper">View-only mapper</h2>&#13;
<p>Thanks to <a rel="nofollow" href="https://github.com/ktunkiewicz">ktunkiewicz</a>‘s work, the mapper now has a view-only mode – instead of editing – and of course it starts off in view-only off the bat:</p>&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/01/Workspace-1_074.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/01/Workspace-1_074.png" width="473" height="268" /></a><p>Map makers no longer have to worry about players messing the map up with an accidental click.</p></div>&#13;
<h1 data-id="profile-autosave">Profile autosave</h1>&#13;
<p>We’ve listened and new profiles created on 4.11 will now save &#13;
automatically by default! Something so simple can go a long way to a &#13;
better player experience.</p>&#13;
<h1 data-id="named-patterns">Named patterns</h1>&#13;
<p>matches[2] and friends is a good workhorse in Mudlet, and now they’ve been joined by new friends – you can now use matches.<em>mycustomname</em>!</p>&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_077.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_077.png" width="539" height="239" /></a><p>Before</p></div>&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_079.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_079.png" width="690" height="226" /></a><p>After</p></div>&#13;
<p>Notice how the attacker and weapon are changing places, being either &#13;
first or second – but that doesn’t affect our echo at all. Try <a rel="nofollow" href="https://forums.mudlet.org/viewtopic.php?f=6&amp;t=23040">this out</a> for yourself, and find the <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Technical_Manual#Named_patterns">docs for it</a> here.</p>&#13;
<h2 data-id="string-interpolation">String interpolation</h2>&#13;
<p>It sounds pretty complicated, but it actually makes things easier – a new function, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:String_Functions#f">f()</a>, allows you to combine text and variables together in a more intuitive manner:</p>&#13;
<pre spellcheck="false" tabindex="0">-- old way:&#13;
cecho("\nHello, "..matches[2]..", how is it going?")&#13;
&#13;
-- new way:&#13;
cecho(f("\nHello {matches[2]}, how is it going?")</pre>&#13;
&#13;
<h2 data-id="coding-improvements">Coding improvements</h2>&#13;
<p><a rel="nofollow" href="https://github.com/Kebap/">Kebap</a> has put a lot of work in and improved <strong>all</strong> of the “wrong argument type” errors to be much more descriptive, and they’ll now tell you what went wrong and where:</p>&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_091.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_091.png" width="837" height="169" /></a><p>The function needs a name/id, but none was given</p></div>&#13;
<p>I have to say that on the technical side of things, this makes the code look much cleaner – if you’re curious, <a rel="nofollow" href="https://github.com/Mudlet/Mudlet/blob/development/src/TLuaInterpreter.cpp">have a peek</a>.</p>&#13;
<p>Additionally, whenever a function couldn’t do its job for some &#13;
reason, it previously returned nil+message – the message will now show &#13;
up in the Debug console as well, which can aid you in debugging:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_080.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_080.png" width="936" height="227" /></a></p>&#13;
<p> </p>&#13;
<h2 data-id="mudlet-in-polish">Mudlet in Polish</h2>&#13;
<p>Thanks to Delwing and Sirith, Mudlet is now available in Polish! &#13;
There is a community of Polish games out there; now when a new player &#13;
starts Mudlet for the first time, it’ll be in their native language.</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_093.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/01/Selection_093.png" width="969" height="710" /></a></p>&#13;
<p>Text games are a great way to learn a language, so if you were thinking of picking up Polish – now’s your chance!</p>&#13;
<h2 data-id="macos-scrolling">macOS scrolling</h2>&#13;
<p>Touchpad scrolling for macOS now behaves a lot more naturally, we hope you like it!</p>&#13;
<h2 data-id="more-updates">More updates?</h2>&#13;
<p>Regular monthly updates were interrupted by one of our partners, &#13;
Travis CI, suddenly turning their back on the open-source community. &#13;
We’ve taken the time to migrate our macOS and Linux builds to Github &#13;
instead, and in the process switched to using CMake for building in &#13;
combination with a C++ package manager, <a rel="nofollow" href="https://github.com/microsoft/vcpkg">vcpkg</a>.</p>&#13;
<p>Regular, monthly updates are now back on track for the foreseeable future.</p>&#13;
<p> </p>&#13;
<h2 data-id="credits">Credits</h2>&#13;
<p>Big thanks to all coders who made it happen: Damian Monogue, Dustin &#13;
Heywood, ethorondil, Gustavo Sousa, Jonathan Picazo, Kamil Tunkiewicz, &#13;
Kebap, Manuel Wegmann, Matthias Urlichs, Mike Conley, Piotr Wilczyński, &#13;
Stephen Lyons, tdk1069, Vadim Peretokin, and wiploo.</p>&#13;
<p>Of course, our fantastic translators as well: Alan Sneath (alsneath),&#13;
 Heimen Stoffels (vistausss), Hsin-Hsiang Peng (Hsins), Leris, lostnow, &#13;
Marco “M0lid3us” Tironi (wiploo), Mi11et, Piotr Wilczyński, Sirith &#13;
(Senareil), Vadim Peretokin, and vingi.</p>&#13;
<p> </p>&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
<p><strong>added:</strong></p>&#13;
<ul><li>‘look’ command in generic_mapper can now be translated</li><li>addCmdLineSuggestion() allows you to add words to the tab completion</li><li>custom HTTP method requests are now supported (ie PATCH)</li><li>debug console now shows warnings from functions (which are returned as nil+message normally)</li><li>f() function for string interpolation, ie send(f(“My target is {target}”))</li><li>functions are now accepted everywhere [[code here]] is as well</li><li>generic mapper: new ‘lazy’ map mode to match room names only, ignoring exits</li><li>getProfileTabNumber() to return the # of the current tab</li><li>getWindowWrap() so you can make echo’s that don’t wrap</li><li>registerMapInfo() allows you to customise the map info label</li><li>launching Mudlet for the first time ever? The input line will now have a placeholder text saying where to type the text</li><li>map info box is now customizable</li><li>modules can now be loaded before scripts in a profile with the -1 module priority</li><li>named captures are now supported in regex triggers (matches.)</li><li>placeholder text for command fields to explain what are they for</li><li><a rel="nofollow" href="https://mudlet.org/it">mudlet.org/it/</a>for our Italian players</li><li>room characters can now be custom-coloured</li><li>rooms now have borders in the 2D view</li><li>saveJsonMap() and loadJsonMap() now support the Mudlet map format in JSON</li><li>setRoomCharColor() allows you to customise the colour of a room character</li><li>showNotification() to show an OS (computer) notification</li><li>sysDownloadFileProgress event to monitor download progress</li><li>view-only mode in the mapper, which is on by default</li><li>X11 (Linux middle-click) selection is now supported</li><li>you can now install a package by dragging the URL onto Mudlet</li></ul><p> </p>&#13;
<p><strong>improved:</strong></p>&#13;
<ul><li>‘deleteOldProfiles’ now deletes old modules as well</li><li>‘no map loaded’ will now differentiate between actually no map loaded, and not knowing where you are</li><li>Adjustable.Container now deals with corrupted save files and table for save slots</li><li>all “wrong argument type” errors are now gone, will give an actual explanation instead</li><li>c/d/hecho text formatting can do italics and bold</li><li>connection dialog now looks better in dark themes</li><li>default background color is now transparent, not black, in c/d/hecho</li><li>default, unused profiles no longer require a confirmation to delete</li><li>event engine can now pass large numbers through OK</li><li>exists() function will now error on a wrong input type</li><li>expired timers are now periodically deleted when you’re offline, &#13;
instead of in bulk when you reconnected (which made Mudlet freeze for a &#13;
while)</li><li>getMapLabel() now returns foreground/background colors and the image as base64</li><li>GMCP package names are now parsed in a case-insensitive way, per spec</li><li>installing a package by dragging it into Mudlet will now give a notification</li><li>installPackage will now return true/false indicating if it worked</li><li>internal: history code is now a single code path, not duplicated</li><li>italics and emojis won’t overlap each other anymore</li><li>line spacer pattern now uses a spinbox instead of a free-text line edit</li><li>loading a map will now choose a better folder to start in</li><li>more functions will now validate their arguments instead of throwing an error</li><li>name search function can now be customised in the generic mapper</li><li>new profiles are not preinstalled the “send text to all games” &#13;
script anymore. There’s a better package available now &#13;
<a href="https://forums.mudlet.org/viewtopic.php?f=6&amp;t=23023" rel="nofollow">https://forums.mudlet.org/viewtopic.php?f=6&amp;t=23023</a></li><li>newline is now its own entry in the history buffer(edited)</li><li>profile save is enabled by default on new profiles</li><li>permGroup can now be used for keys</li><li>removed all QPalettes from forms/dialogues, enabling stylesheets to cover more aspects of Mudlet</li><li>response size limit is removed in HTTP calls</li><li>right-clicking on a room will select it for the pop-up</li><li>room selection now looks better</li><li>scrolling is now smoother in general</li><li>scrolling transition is smoother when screen splits using scrollwheel</li><li>setFont() won’t work with unknown fonts</li><li>settings dialog will now close when the button is released, and not pressed, as expected</li><li>simplified unknown text for given encoding message</li><li>small text under icons in the connection dialog is gone</li><li>telnet options within subnegotiations are now ignored, instead of breaking output</li><li>timestamps are now copied as well when they’re visible</li><li>trigger patterns now have an explanation of where the text goes for newbies</li><li>TTS won’t try to speak out &lt;, &gt;, and no text</li><li>typing in the connection dialog will now highlight the relevant icons</li><li>using Alt+O will now re-focus on the package manager if it was open</li><li>you can drag left/right to increase selection after double or triple-clicking on a word</li><li>you can now copy text from the update dialog</li><li>you can now multi-select in the package manager</li></ul><p> </p>&#13;
<p><strong>fixed:</strong></p>&#13;
<ul><li>Adjustable container attached menu shows elements now on hover (or similar)</li><li>crash with reloadModule()</li><li>Discord link in Mudlet will now always work</li><li>display() won’t freeze on Geyser labels anymore, can show _G as well</li><li>export action isn’t enabled anymore in Variables view, as those weren’t exportable</li><li>flyout labels will close when leaving the parent item</li><li>generic mapper script: correctly handle ‘set player location’</li><li>IRC ‘/quit’ no longer crashes Mudlet</li><li>just one ‘about’ button will now be on screen, instead of many if &#13;
Mudlet was left running for a while and an update was available</li><li>Lua trigger conditions are now properly deleted when the profile is closed, fixing a small memory leak</li><li>map labels for an area are now deleted with the area</li><li>MXP playing MSP handles with no attribute names won’t crash anymore</li><li>MXP tags with UTF8 strings are now shown correctly</li><li>pressing Alt won’t steal focus from the input line anymore</li><li>room exits that go off the map are now drawn</li><li>some games appeared twice in the connection dialog</li><li>speedwalk() in reverse mode won’t reverse the numbers as well</li><li>tempTimer() won’t have a small memory leak anymore</li><li>unhighlighting during control-selection now works OK</li><li>module contents aren’t lost anymore if <code spellcheck="false" tabindex="0">saveProfile()</code> is called during load</li></ul><p><strong>infrastructure:</strong></p>&#13;
<ul><li>CMake is now the primary source for macOS and Linux releases</li><li>CMake build now generates translations properly</li><li>PTB and snapshot builds now get separate icons</li><li>Apple has stopped supporting macOS 10.13 – Mudlet’s minimum is now 10.14</li></ul><p>What has happened in Mudlet in just the last month alone? See below. &#13;
This of course doesn’t cover everything since the last release in &#13;
November!</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2021/03/Selection_099.png" title="Link: https://www.mudlet.org/wp-content/uploads/2021/03/Selection_099.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2021/03/Selection_099-1024x554.png" title="Image: https://www.mudlet.org/wp-content/uploads/2021/03/Selection_099-1024x554.png" width="1024" height="554" /></a></p>&#13;
&#13;
&#13;
					</div> &#13;
					&#13;
					&#13;
&#13;
&#13;
		   <div>&#13;
		  			 &#13;
&#13;
		  	   </div>&#13;
					&#13;
		<h3><br /></h3><br />]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.10 – extra command lines, background images, and more</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1158/mudlet-4-10-extra-command-lines-background-images-and-more</link>
        <pubDate>Tue, 03 Nov 2020 21:35:44 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1158@/index.php?p=/discussions</guid>
        <description><![CDATA[<div>&#13;
					&#13;
<p>This release has been a long time coming, thanks to the vagaries of &#13;
obtaining a new code signing certificate for our Windows builds. &#13;
Consequently there are a lot of changes which made it into Mudlet 4.10. &#13;
Let’s go over some of the highlights!</p><br /><h2 data-id="extra-command-lines">Extra command lines</h2>&#13;
<div>&#13;
<div>&#13;
<div>You’ve been asking for it, you waited patiently, now thanks to <a rel="nofollow" href="https://github.com/Edru2/">Edru</a>&#13;
 you can have… multiple command lines! Whenever you want a second one &#13;
for role-playing, your chat window to have configuration, or anything &#13;
else, this is now possible:</div>&#13;
</div>&#13;
</div>&#13;
<p><img alt="extra command line" src="https://wiki.mudlet.org/images/0/0c/AdditionalCommandLine.png" width="976" height="137" /></p>&#13;
&#13;
&#13;
&#13;
<p>To turn on a commandline in a miniconsole, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Geyser#Enable_and_use_your_miniconsole_command_line">see here</a>. To create a stand-alone, free floating command line, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Geyser#Geyser.CommandLine">see here</a>.</p>&#13;
<h2 data-id="background-images-for-miniconsoles">Background images for miniconsoles</h2>&#13;
<p>You know what else you’ve been waiting and asking for? Background images on miniconsoles! Edru has been on a roll!</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/11/Selection_363.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/11/Selection_363.png" title="Image: https://www.mudlet.org/wp-content/uploads/2020/11/Selection_363.png" width="446" height="409" /></a></p>&#13;
<p>This also means that the usual c/d/heho color formatting functions now accept transparency as a parameter. <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Geyser#Change_your_miniconsole_background_image">See here</a> on how to set a background image.</p>&#13;
<p>This also means that you can try setting a background image for the &#13;
main window as well – but you might find that games often hardcode the &#13;
black background, so it’s not ideal.</p>&#13;
<h2 data-id="math-in-geyser">Math in Geyser</h2>&#13;
<p>Have you been struggling to get your Geyser elements lined up <strong>just right</strong>&#13;
 and wished you could nudge it over just a few pixels? Been avoiding &#13;
Geyser and using another option so you could have math in your &#13;
constraints? Well, now you can use Geyser and receive all of its updates&#13;
 and use math in your constraints.</p>&#13;
<p>This means for example if you have a 32×32 label you want to center &#13;
you can do so by using Label1:move(“50%-16px“,“50%+10px“), or using &#13;
“50%-16px” for both the x and y when making the label.</p>&#13;
<h3 data-id="other-geyser-improvements">Other Geyser Improvements</h3>&#13;
&#13;
&#13;
&#13;
<p>Geyser.Label also allows you to use “nocolor” as the text color, &#13;
which will then allow for coloring the text via CSS. It also picked up &#13;
the Geyser.Label:rawEcho(txt) function, which skips over all the &#13;
formatting assistance normally provided by Geyser.Label:echo().</p>&#13;
<p>Geyser.MiniConsole gains Geyser.MiniConsole:display() which works &#13;
just like regular display(), but outputs in the miniconsole instead of &#13;
your main display.</p>&#13;
<div>&#13;
<div>&#13;
<div>Tired of copying things&#13;
 to a miniconsole and not being able to click them? Wish you could keep &#13;
your MXP links intact in a miniconsole? Well, now you can! Edru once &#13;
again stepped up to the plate for this one.</div>&#13;
</div>&#13;
</div>&#13;
<h2 data-id="new-color-functions-for-feedtriggers">New color functions for feedTriggers</h2>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>Have you struggled to &#13;
test your color triggers? Tired of hand-crafting escape sequences when &#13;
using feedTriggers()? Well, Demonnic was even if you weren’t, so he &#13;
added some new functions for working with feedTriggers. decho2ansi() and&#13;
 hecho2ansi() will take any decho or hecho string and return an ansi &#13;
colored string. The functions are used by the new feedTriggers variants,&#13;
 dfeedTriggers and hfeedTriggers which allow for you to send colored &#13;
text to the trigger engine for testing your color triggers. Also added &#13;
is cfeedTriggers, which uses color names but uses a limited color table &#13;
which corresponds to the ansi standard colors, IE black, red, green, &#13;
yellow, blue, magenta, cyan, white, and lightBlack, lightRed, etc. You &#13;
can also use a number from 0-255 to get the ansi 256 color equivalent.</div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
&#13;
&#13;
&#13;
<h2 data-id="multi-view-forever">Multi-view forever!</h2>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>Now you can open ALL &#13;
THE PROFILES! and move between them with your mouse and keyboard &#13;
shortcuts without it turning multiview off. Have fun multiplaying!</div>&#13;
</div>&#13;
<div>&#13;
<div>&#13;
<div> </div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/11/Selection_368.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/11/Selection_368-1024x446.png" title="Image: https://www.mudlet.org/wp-content/uploads/2020/11/Selection_368-1024x446.png" width="1024" height="446" /></a></p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="telnet-charset-support">Telnet CHARSET support</h2>&#13;
&#13;
&#13;
&#13;
<p>Game admins will be happy about this feature – it is now possible to &#13;
automatically set Mudlet’s text encoding – for example, to be utf8 in &#13;
case your game supports emojis – using the CHARSET protocol. Big thanks &#13;
to <a rel="nofollow" href="https://tools.ietf.org/html/rfc2066">Tamarindo</a> from <a rel="nofollow" href="https://www.stickmud.com/">StickMUD</a> for pulling that one in.</p>&#13;
<h2 data-id="music-sound-in-mxp">Music/sound in MXP</h2>&#13;
<p>Tamarindo also went ahead and added sound/music support to Mudlet’s MXP implementation. That said, there’s a much more modern <a rel="nofollow" href="https://wiki.mudlet.org/w/Special:MyLanguage/Standards:MUD_Client_Media_Protocol">Mud Client Media Protocol</a> that you should aim to use <img src="http://forums.imperian.com/resources/emoji/wink.png" title=";)" alt=";)" height="20" /><br /></p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="scrollbar-improvements">Scrollbar improvements</h2>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>&#13;
<div>You’ll not be surprised&#13;
 to hear this one is Edru as well. Had you noticed Mudlet’s scrollbars &#13;
behaving a bit… oddly? Jumping around, not resizing itself, stuff like &#13;
that? Well, Edru’s put a lot of work into this and it should all work &#13;
much more smoothly now.</div>&#13;
<div> </div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
<h2 data-id="macos-10-13-high-sierra">macOS 10.13 High Sierra</h2>&#13;
&#13;
&#13;
&#13;
<p>Apple will stop supporting 10.13 High Sierra in November 2020, and &#13;
Mudlet will have to follow suit. Thus Mudlet 4.10 will be the last &#13;
version to support 10.13, which had a good run of 3 years!</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all coders that have contributed to this massive release: &#13;
Andre Castellanos, Damian Monogue, Eraene, Fae, Gustavo Sousa, Ian &#13;
Adkins, Jonathan Mohrbacher, Kebap, keneanung, Manuel Wegmann, Matthias &#13;
Urlichs, Mike Conley, Stack, Stephen Lyons, and Vadim Peretokin.</p>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all translators to translated Mudlet into their language: &#13;
Alan Sneath (alsneath), Anubisa, emeraldboy, Hsin Hsiang Peng (Hsins), &#13;
Kae (itsTheFae), Leris, Marco “M0lid3us” Tironi (wiploo), rodeos, &#13;
rodeos, Vadim Peretokin (vperetokin), vingi, and 王AQ (Anselmus).</p>&#13;
<p>This massive piece of work would not be possible without all of you <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
&#13;
&#13;
&#13;
<p><strong>added:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>ability to display room names on the map (no auto-align them yet)</li><li>an event to catch all events – `*`</li><li>background image for miniconsoles is now possible, same as labels</li><li>background image for the main window is now possible</li><li>English spellchecking dictionaries are now included</li><li>game admins can now set encoding via telnet CHARSET (so utf8 for emojis)</li><li>miniconsoles can now have commandlines in them</li><li>music is now supported in MXP</li><li>option not to highlight text (history) when pressing the ↑ button</li><li>option to use your own pathfinding algorithm instead of the built-in one</li><li>you can now create standalone commandlines now allow you to ask the player for info</li><li>transparency in now supported by cecho/decho/hecho</li><li>you can now use math in Geyser constraints, ie “50% + 3px”</li></ul><p><strong>added &amp; improved functions:</strong></p>&#13;
<ul><li>ansi2string() given a string with ANSI codes in it, remove them all</li><li>cfeedTriggers(), dfeedTriggers(), and hfeedTriggers() to enable testing color triggers</li><li>createCommandLine(), enableCommandLine() for creating custom commandlines</li><li>enableHorizontalScrollBar() to show a horizontal scrollbar in miniconsoles as needed</li><li>getClipboardText() and setClipboardText() for interacting with the clipboard</li><li>getFgColor() and getBgColor() now report how many characters the same color applies to</li><li>getHTTP() downloadFile’s cousin and allows you to pass custom headers, joins putHTTP(), postHTTP() family for consistency</li><li>Geyser.Label:createRightClickMenu() to create menus in labels</li><li>Geyser.MiniConsole:display() to display straight into a miniconsole</li><li>Geyser.UserWindow:setStyleSheet(), setUserWindowStyleSheet() to adjust the userwindow title and borders – great for dark themes</li><li>hecho() can now set the background color only, without affecting foreground</li><li>isActive() and exists() now work with buttons</li><li>keepcolor parameter to replaceWildcard() and replaceAll() functions</li><li>purgeMediaCache() to remove MCMP &amp; MSP media files</li><li>setCmdLineStyleSheet() to customize the font, colors, position of the command line</li><li>setMapBackgroundColor() to change background color of the map from the usual black</li><li>setMapRoomExitsColor() to customize the color of room exits drawn on the map</li><li>spairs() which iterates over a table in a sorted way</li><li>tempAlias() and tempKey() now can take Lua functions and not just text</li><li>tempAnsiColor() trigger now works as it should</li></ul><p><strong>improved:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>‘errors’ button text is now capitalized</li><li>a message is now shown when a replay ends</li><li>Client.Media – package messages themselves are no longer case sensitive</li><li>compact input line option is now per-profile</li><li>errors console now shows a horizontal scrollbar when needed</li><li>exit line in generic mapper is now case-insensitive, and a few other triggers improved</li><li>in case of compiling Mudlet yourself without TTS support, TTS functions won’t error anymore</li><li>links at the end of the line now won’t be clickable in the empty space</li><li>more accurate row and column reporting through NAWS protocol</li><li>Mudlet logo artwork, now sharper and better-looking. Dev and PTB builds are now clearly distinguishable</li><li>Mudlet’s savefiles are now saved with a more sorting-friendly name</li><li>Mudlet’s usual, development and PTB icons got improved</li><li>multiview tabbars aren’t re-arrangeable anymore, as doing so didn’t re-arrange the views anyhow</li><li>profile history in connection dialog now translates dates</li><li>scrolling now uses the upper pane’s height, so you aren’t missing text when scrolling, or getting too much of it</li><li>shrinking rooms in the mapper will keep everything in its place</li><li>string.split() now works with many more characters</li><li>stylesheets can now manipulate color of Geyser Labels</li><li>tabs and tab stops in profile preferences now make sense, which is a bit friendlier for a11y</li><li>upped the limit of regex capture groups in aliases and triggers to 33</li><li>zooming the mouse in and out in 2D mapper will keep the position more stable</li></ul><p><strong>fixed:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>‘map config’ alias in generic mapper now works</li><li>appendBuffer() now keeps links, so copying text with links in it to miniconsoles works</li><li>crash when closing a profile with toolbars</li><li>crash when selecting/copying text</li><li>crash trying to move too many rooms at once via right-click</li><li>fixed MXP with values containing =</li><li>Materia Magica’s MXP now works better with Mudlet</li><li>multiview now stays when you change focus between profiles</li><li>resetProfile() to work again</li><li>static items in HBox/VBoxes won’t be resized anymore when the box changes size</li><li>sysDataSendEvent will no longer reveal the password</li><li>vertical scrollbar now moves when you scroll with PgUp/PgDown</li><li>vertical scrollbar now shrinks in size as you get more text</li></ul><p><strong>infrastructure:</strong></p>&#13;
<ul><li>added some useful defaults for Visual Studio Code’s C++ integration</li><li>building with libzip 1.70.0 that lacks version numbers now works</li><li>cleaned up IRC code</li><li>debug output now spams a bit less for unprintable codepoints</li><li>deleted Github Action for clearing whitespace (more spam than help)</li><li>enabled Github’s new CodeQL security code scanning</li><li>fixed crash importing map with custom exit lines on Qt 5.14+ (macOS)</li><li>internal code that only works with the main window is now in a separate class of its own, making the programmers happier</li><li>Lua binding code cleaned up and improved for consistency and code style, now more fresh!</li><li>Mudlet can now be built &amp; run remotely in the browser with Github Codespaces</li><li>Mudlet can now be built in MSYS2 on Windows</li><li>Mudlet’s wiki is now upgraded to latest and greatest</li><li>new PTBs are only built on days where there are new changes</li><li>updated Linux builds to use Qt 5.12.9</li></ul></div><br /><br /><br />]]>
        </description>
    </item>
    <item>
        <title>Anyone have a list of tells triggers?</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1150/anyone-have-a-list-of-tells-triggers</link>
        <pubDate>Thu, 23 Jul 2020 11:32:34 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Edon</dc:creator>
        <guid isPermaLink="false">1150@/index.php?p=/discussions</guid>
        <description><![CDATA[As the title suggests, I'm genuinely just wanting to get the various trigger lines for all the tells, so I can more easily utilize yatco. That, and that would be nifty to have for funsies.<br /><br />Thanks!]]>
        </description>
    </item>
    <item>
        <title>A means to update the game map in Mudlet</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1151/a-means-to-update-the-game-map-in-mudlet</link>
        <pubDate>Sun, 02 Aug 2020 12:28:02 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Edon</dc:creator>
        <guid isPermaLink="false">1151@/index.php?p=/discussions</guid>
        <description><![CDATA[Basically:<br />I keep getting caught up somehow, it's like it doesn't (it being mudlet or my computer) always save the game map, so I'd do...I dunno...GOTO AMORAN ANTHILL or NECROPOLIS, and it will tell me "(mapper): Invalid area ID selected".<br /><br />Is there a way I could set a mudlet timer to check for map updates like say every 2-3 hours?<br /><br />]]>
        </description>
    </item>
    <item>
        <title>Having an issue with tables in Mudlet</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1149/having-an-issue-with-tables-in-mudlet</link>
        <pubDate>Sat, 11 Jul 2020 20:30:50 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Edon</dc:creator>
        <guid isPermaLink="false">1149@/index.php?p=/discussions</guid>
        <description><![CDATA[<pre spellcheck="false" tabindex="0">function checkMobsInRoom()&#13;
  local targName = ""&#13;
  for k, v in pairs(bashingTable) do&#13;
    if table.contains(mobsInRoom, v) and target:title() ~= k:title() and autoBashing() then&#13;
      target(k)&#13;
      return&#13;
    elseif type(bashingTable[k]) == "table" then&#13;
    targName = k&#13;
    for _, v in pairs(bashingTable[k]) do&#13;
      if table.contains(mobsInRoom, v) and target:title() ~= targName:title() and autoBashing() then&#13;
      target(targName)&#13;
      return&#13;
       end&#13;
     end&#13;
   end&#13;
  end&#13;
end&#13;
&#13;
function bash()&#13;
  if bal() and autoBashing == "true" then&#13;
    send("qjab "..target)&#13;
  end&#13;
end</pre>So I have that. Don't be fooled by "autoBashing", it's just what I call it. I'm a trying to pull from the following table (it is very small, just testing things right now before I start populating the table more with different areas and such) so that if the mob is in the room, it will switch targets to the appropriate alias.<br /><br /><pre spellcheck="false" tabindex="0">bashingTable = {&#13;
  horde = "an orcish grunt", "an orcish mage",&#13;
}</pre>Thanks in advance for any and all assistance! This is my very first time working with functions and tables, so I feel super lost and overwhelmed.]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.9 - Public Test Builds &amp; ANSI art</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1148/mudlet-4-9-public-test-builds-ansi-art</link>
        <pubDate>Sat, 13 Jun 2020 08:34:17 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1148@/index.php?p=/discussions</guid>
        <description><![CDATA[<div>&#13;
					&#13;
<p>We’ve improved Mudlet’s editor and highlighting as well as even more &#13;
improved art display. Also, you can now every day receive new Mudlet &#13;
developments with our Public Test Build (PTB) version!</p>&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
<h2 data-id="public-test-builds">Public Test Builds</h2>&#13;
&#13;
&#13;
&#13;
<p>While these have been prepared for a few months now, PTB are finally &#13;
mature enough to be mentioned here. You can now always play with the &#13;
most recent Mudlet developments enabled, if you don’t want to wait for &#13;
the next official release.</p>&#13;
<p>New PTB versions are built nightly, hence their icons are dark, &#13;
whereas new developments start with a dim red sun light. See immediately&#13;
 which is which via distinct icons both before and after you started &#13;
Mudlet.</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/06/Application-icons.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/06/Application-icons.png" width="326" height="88" /></a></p>&#13;
<p>Mudlet PTB will be installed right next to your regular Mudlet. &#13;
Meanwhile, the original release version will stay unchanged, so you can &#13;
always go back. Find the latest PTB on top of Mudlet’s snapshot &#13;
website: <strong><a rel="nofollow" href="https://make.mudlet.org/snapshots/?platform=all&amp;source=ptb">https://make.mudlet.org/snapshots/?platform=all&amp;source=ptb</a></strong></p>&#13;
<p>Please beware: Even though we test new features, the PTB may actually&#13;
 still break sometimes. Please report any doubts or feedback to us, so &#13;
we can fix things long before the official release happens. This is why &#13;
we’re doing this: for better Mudlet quality.</p>&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
<h2 data-id="improved-ansi-art-display">Improved ANSI art display</h2>&#13;
<p>While Mudlet 4.8 started CP437 support, we received a <a rel="nofollow" href="https://forums.mudlet.org/viewtopic.php?f=9&amp;t=22887">request for help in Mudlet forums</a>.&#13;
 A player wondered why Mudlet would not display their game’s sweet ANSI &#13;
art upon connection as expected. SlySven investigated and fixed the &#13;
issue, even surpassing the original request:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/06/cp437.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/06/cp437.gif" width="724" height="542" /></a></p>&#13;
<p>Please feel free to let us know any display problems you may find &#13;
with Mudlet in your games, so we can look into them as well. Or even &#13;
better, send us a fix to review! ;-)</p>&#13;
<h2 data-id="highlight-foreground-or-background-only">Highlight foreground or background only</h2>&#13;
<p>Even non-tech-savy users can easily use triggers in Mudlet to &#13;
highlight interesting words or phrases happening in their games. The &#13;
default highlighting will use red foreground and yellow background &#13;
color. </p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/06/highlight.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/06/highlight.png" width="173" height="82" /></a></p>&#13;
<p>With the new Mudlet version, you can now choose to only use one of &#13;
them for highlighting and keep the other one as-is. In the example, keep&#13;
 the (maybe different) foreground colors, just use yellow background.</p>&#13;
<h2 data-id="editor-placeholder-text">Editor placeholder text</h2>&#13;
&#13;
&#13;
&#13;
<p>Mudlet’s feature-rich script-editor (edbee) just learned a new trick:&#13;
 The initial comment “put your Lua code here” will vanish, as soon as &#13;
you start typing. No more left over fragments at the beginning of your &#13;
code scripts!</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/06/placeholder.gif"><img alt="editor placeholder text" src="https://www.mudlet.org/wp-content/uploads/2020/06/placeholder.gif" width="405" height="271" /></a></p>&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all coders: Damian Monogue, Edru2, Gustavo Sousa, Kebap, &#13;
Manuel Wegmann, Nicholas Molen, Stephen Lyons, and Vadim Peretokin.</p>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all translators: Alan Sneath (alsneath), Leris, Marco &#13;
“M0lid3us” Tironi (wiploo), rodeos, and Vadim Peretokin for their work &#13;
on this every day​.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
&#13;
&#13;
&#13;
<p><strong>added:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>Public Test Build (PTB) versions of Mudlet for macOS and Linux</li><li>New icons for Mudlet’s Public Test Builds and development versions</li><li>IRE mapper automatically installed for Starmourn as well</li><li>Lua code in Mudlet can now be translated in Crowdin</li><li>Option to keep color highlighting, so you aren’t forced to specify both fore and background colors</li><li>New sysWindowMousePress and sysWindowMouseRelease events for user windows</li></ul><p><strong>improved:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>A single echo’s size was raised from the 10k character limit in the last release to a million characters</li><li>Check for updates will check for updates more regularly</li><li>The generic mapper script will automatically run ‘find prompt’</li><li>The generic mapper script will handle room titles with embedded mini ASCII maps on the side</li><li>Geyser HBox/VBox are now much quicker</li><li>Geyser now stores stylesheet in the object</li><li>Mudlet’s website is now shown in the Discord line</li><li>MXP support rewritten, now supports colours</li><li>Faster in-script search in the code editor for big scripts – won’t search on first two characters anymore</li><li>Support graphics on Durismud (mud.durismud.com)</li></ul><p><strong>fixed:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>Prevent crash when closing a profile that hasn’t successfully connected</li><li>Event handlers continue running now after one of them had an error</li><li>Locking and minimization on creation is working now as expected for Adjustable Containers</li><li>Module sync can’t be enabled for mpackages, as those aren’t supported for syncing yet</li><li>Improved pixel precision in Adjustable Containers</li><li>Replays now process cr+null correctly</li><li>Time units aren’t translated in the UI anymore, making it work for other languages</li><li>Userwindows can now still show up if previously closed/hidden</li><li>Ctrl+C breaking when you have played a lot</li></ul><p><strong>infrastructure:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>Linux builds now use Qt 5.12.8</li><li>Removed unused code</li></ul><div></div>&#13;
&#13;
&#13;
&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/06/2020-06-03-23_54_04-Pulse-·-Mudlet_Mudlet.png"><img alt="Github Pulse for May" src="https://www.mudlet.org/wp-content/uploads/2020/06/2020-06-03-23_54_04-Pulse-·-Mudlet_Mudlet.png" title="Image: https://www.mudlet.org/wp-content/uploads/2020/06/2020-06-03-23_54_04-Pulse-·-Mudlet_Mudlet.png" width="782" height="449" /></a></p>&#13;
					</div> &#13;
					&#13;
					&#13;
&#13;
&#13;
		   <div>&#13;
		  			 &#13;
&#13;
		  	   </div>&#13;
					&#13;
		<h3><br /></h3><br />]]>
        </description>
    </item>
    <item>
        <title>Mudlet UI</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/868/mudlet-ui</link>
        <pubDate>Sun, 02 Jul 2017 21:00:03 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Anette</dc:creator>
        <guid isPermaLink="false">868@/index.php?p=/discussions</guid>
        <description><![CDATA[Since <a href="http://forums.imperian.com/index.php?p=/profile/wyll" rel="nofollow">@wyll</a> mentioned it I thought I'd share for those curious, here's a little glimpse of my mudlet UI as it stands now, though I'm still trying to decide what to put on my hotbar thing:<br /><br /><img src="https://us.v-cdn.net/5020117/uploads/editor/uu/5rtvpnrszyv8.png" alt="" title="Image: https://us.v-cdn.net/5020117/uploads/editor/uu/5rtvpnrszyv8.png" /><br /><br />LMK what you think!]]>
        </description>
    </item>
    <item>
        <title>Displaying tabled data from event handlers</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1142/displaying-tabled-data-from-event-handlers</link>
        <pubDate>Sun, 10 May 2020 18:51:36 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Zypher</dc:creator>
        <guid isPermaLink="false">1142@/index.php?p=/discussions</guid>
        <description><![CDATA[I have a simple question, I'm wanting to display data using gmcp event handlers.  There is a lot more to how the mudlet client handles the gmcp data. To explain, what I want to know is how can I store the gmcp tables in my created table each time it's sent from the server?<br /><br /> Here is an example of a table <pre spellcheck="false" tabindex="0">{&#13;
  {&#13;
    {&#13;
      id = "330116",&#13;
      attrib = "t",&#13;
      name = "a spiny dogfish",&#13;
      icon = "seacreature"&#13;
    }&#13;
  }&#13;
}</pre> My thought is to create a for loop as shown below<br /><pre spellcheck="false" tabindex="0">--an empty and nil table&#13;
myTable = {}&#13;
--Im checking for only items in the room with an if statement just before the for loop&#13;
itemsInRoom = gmcp.Char.Items.List.items&#13;
for k, v in ipairs (itemsInRoom) do&#13;
  table.insert(myTable,itemsInRoom)&#13;
end --for&#13;
--Where I would display the name and id to the Geyser.Label &#13;
 end --if</pre>This is a crude example of lua code]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.8 - Drag and drop packages, custom cursors, and amazing maps</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1141/mudlet-4-8-drag-and-drop-packages-custom-cursors-and-amazing-maps</link>
        <pubDate>Sat, 02 May 2020 17:31:47 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1141@/index.php?p=/discussions</guid>
        <description><![CDATA[<div>&#13;
					&#13;
<p>This is an amazing release that adds drag and drop packages, custom &#13;
cursors, draggable labels and more! Mudlet is now more powerful than &#13;
ever for building stunning, modern interfaces for MUDs.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="drag-and-drop-packages">Drag and drop packages</h2>&#13;
&#13;
&#13;
&#13;
<p>Thanks to Edru, who massively improved Geyser and Userwindows in the <a rel="nofollow" href="http://mudlet.org/4-6">last update</a>, you can now drag and drop packages into Mudlet to install them. Pretty simple!</p>&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/04/drag-and-drop-package-install.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/04/drag-and-drop-package-install.gif" width="1513" height="851" /></a><p>Credit: <a rel="nofollow" href="https://forums.mudlet.org/viewtopic.php?f=6&amp;t=22728">Eraene’s DarkTheme</a></p></div>&#13;
&#13;
&#13;
&#13;
<p>Along with this comes a <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Event_Engine#sysDropEvent">sysDropEvent</a>,&#13;
 so you can code a custom action when a file is dropped into Mudlet. If &#13;
you’re a package author, remember you can make use of the <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Event_Engine#sysInstall">sysInstall</a> event to notify that your package has been installed. Enjoy!</p>&#13;
<h2 data-id="carrion-fields-added">Carrion Fields added</h2>&#13;
<p><a rel="nofollow" href="http://www.carrionfields.net/">This game</a> has put &#13;
together a seriously impressive Mudlet package and we’re honoured to &#13;
have them added to Mudlet officially! Double-click on CF in the &#13;
Connection screen to play <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/05/Selection_591.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/05/Selection_591-1024x572.png" width="1024" height="572" /></a> </p>&#13;
<p>Carrion&#13;
 Fields is a unique blend of high-caliber roleplay and complex, hardcore&#13;
 player-versus-player combat that has been running continuously, and &#13;
100% free, for over 25 years.</p>&#13;
<p>Choose&#13;
 from among 21 races, 17 highly customizable classes, and several cabals&#13;
 and religions to suit your playstyle and the story you want to tell. &#13;
Our massive, original world is full of secrets and envied limited &#13;
objects that take skill to acquire and great care to keep.</p>&#13;
<p>We&#13;
 like to think of ourselves as the Dark Souls of MUDs, with a community &#13;
that is supportive of new players – unforgiving though our world may be.&#13;
 Join us for a real challenge and real rewards: adrenalin-pumping &#13;
battles, memorable quests run by our volunteer immortal staff, and &#13;
stories that will stick with you for a lifetime.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="adjustable-containers">Adjustable Containers</h2>&#13;
<p>Edru didn’t just stop with drag and drop – <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Geyser#Adjustable.Container">adjustable containers</a>&#13;
 are in as well! What does it mean? It means labels/miniconsoles that &#13;
you can move around and reposition just by dragging! No code needed.</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/05/adjustable-container.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/05/adjustable-container.gif" width="1457" height="739" /></a></p>&#13;
<p>Try this code in Mudlet:</p>&#13;
<pre spellcheck="false" tabindex="0">testCon = testCon or Adjustable.Container:new({name="testContainer"})<br />testLabel = Geyser.Label:new({x=0, y=0, height="100%", width="100%", color="green"},testCon)</pre>&#13;
<h2 data-id="search-within-the-script">Search within the script</h2>&#13;
<p>Dicene also added a cool feature – you can now hit <strong>Ctrl+F</strong> to search within the script only, not your entire Mudlet profile!</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/05/Selection_583.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/05/Selection_583.png" width="818" height="255" /></a></p>&#13;
<p>He didn’t just stop there either – you can now toggle whenever you’d &#13;
like to search within variables, default off so it’s quicker:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/05/Workspace-1_585.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/05/Workspace-1_585.png" width="356" height="176" /></a></p>&#13;
<h2 data-id="cp437-encoding-now-supported">CP437 encoding now supported</h2>&#13;
<p>Thanks to SlySven, the CP437 encoding is now supported. Along with a custom font, <a rel="nofollow" href="http://www.medievia.com/">Medievia</a> makes use of this to draw amazing custom maps <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
<p><a rel="nofollow" href="https://user-images.githubusercontent.com/62970949/80146038-2a957480-857f-11ea-860e-e127feeec9c1.JPG"><img alt="CP437 encoding with a custom font" src="https://user-images.githubusercontent.com/62970949/80146038-2a957480-857f-11ea-860e-e127feeec9c1.JPG" width="1334" height="938" /></a></p>&#13;
<p>Check out a <a rel="nofollow" href="https://user-images.githubusercontent.com/62970949/80146037-29fcde00-857f-11ea-9ae0-40f316bc5687.JPG">few more</a> <a rel="nofollow" href="https://user-images.githubusercontent.com/62970949/80146039-2b2e0b00-857f-11ea-9f13-03c0ea082276.JPG">screenshots</a>.</p>&#13;
<h2 data-id="custom-cursors">Custom cursors</h2>&#13;
<h2 data-id="n-a">&#13;
&#13;
</h2>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/05/custom-cursors-demo.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/05/custom-cursors-demo.gif" width="701" height="307" /></a></p>&#13;
<p>Yep, custom cursors are here! Curious? Download, drag, and drop <a rel="nofollow" href="https://wiki.mudlet.org/w/File:Cursor_grid.zip">this demo package</a> into Mudlet to try all the cursors out <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
<p>Big thanks to Edru for adding these in.</p>&#13;
<h2 data-id="new-api-features">New API features</h2>&#13;
&#13;
&#13;
&#13;
<p>gcms added MXP as another format that you can get data / events from, just like GMCP. <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Supported_Protocols#MXP">Check it out</a>!</p>&#13;
<p>demonnic did a pass over the table functions – <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.contains">table.contains()</a> can now check within multiple nested tables, and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.collect">table.collect()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.n_collect">table.n_collect()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.matches">table.matches()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.n_matches">table.n_matches()</a> to make working with tables easier.</p>&#13;
<p>Thanks to Edru, you can now manipulate the syncing of a module with <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Miscellaneous_Functions#enableModuleSync">enableModuleSync()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#disableModuleSync">disableModuleSync()</a>, and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#getModuleSync">getModuleSync()</a>, and add/edit the Scripts as you see them in Mudlet with <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#enableScript">enableScript()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#disableScript">disableScript()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#setScript">setScript()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#getScript">getScript()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#permScript">permScript()</a>, and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#appendScript">appendScript()</a>.</p>&#13;
<p>Edru also improved on the userwindows – you can now choose whenever &#13;
they should be popped out or docked at start, and if docked, which area &#13;
should they be in. Autodocking while dragging can now be disabled, too!</p>&#13;
<p>A few more improvements are also present – see the full changelog below.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="geyser-show-fixed">Geyser:show() fixed</h2>&#13;
<p>As mentioned <a rel="nofollow" href="https://www.mudlet.org/2020/03/4-6-geyser-geyser-geyser/">two months ago</a>,&#13;
 we’ve fixed an issue where you could still :show() the child of a &#13;
hidden container. If your UI relied on this broken behaviour, make sure &#13;
to update it!</p>&#13;
<h2 data-id="script-editor-sizes">Script editor sizes</h2>&#13;
&#13;
&#13;
&#13;
<p>Alias/trigger/script editors are no longer huge by default, and &#13;
they’ll remember their sizes as well. Thanks to dicene for covering this&#13;
 off!</p>&#13;
<h2 data-id="polish-translation">Polish translation ⭐</h2>&#13;
<p>Big thanks to mwarzec for translating the entirety of Mudlet into Polish! In his own words, it was possible thanks to:</p>&#13;
<p>home.. sweet home.. and no reasons to go outside..</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/05/Selection_589.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/05/Selection_589-1024x329.png" width="1024" height="329" /></a></p>&#13;
<p> </p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="did-i-miss-4-7">Did I miss 4.7?</h2>&#13;
&#13;
&#13;
&#13;
<p>We skipped 4.7 because that was the <a rel="nofollow" href="https://mudlet.org/4-7">April Fools</a> version <img src="http://forums.imperian.com/resources/emoji/wink.png" title=";)" alt=";)" height="20" /></p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all coders who made this release amazing! atari2600tim, &#13;
Damian Monogue, Edru2, gcms, Ian Adkins, Jim Tryon, Kebap, keneanung, &#13;
Mike Conley, Richard Moffitt, Slobodan Terzić, Stephen Lyons, and Vadim &#13;
Peretokin.</p>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all translators: DarkApocalypse , Dawid Chomaniuk &#13;
(pd.chomaniuk), Jelle Z. (jelle619), Leris, Marco “M0lid3us” Tironi &#13;
(wiploo), mwarzec, vingi, and thomazleventhal for their work in this.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
&#13;
&#13;
&#13;
<p><strong>added:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>‘sysDropEvent’ event that allows drag and drop over labels/miniconsoles/main window</li><li>Adjustable Containers are now part of Mudlet. This means nice labels you can drag to move without having to code it</li><li>CLI option –profile to load a specific profile on start</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#copy2decho">copy2decho()</a> and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#copy2html">copy2html()</a> utility functions</li><li>CP437 encoding is now supported</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#enableModuleSync">enableModuleSync()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#disableModuleSync">disableModuleSync()</a>, and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#getModuleSync">getModuleSync()</a></li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#enableScript">enableScript()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#disableScript">disableScript()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#setScript">setScript()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#getScript">getScript()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#permScript">permScript()</a>, and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#appendScript">appendScript()</a></li><li>getMudletInfo() to show debugging information about Mudlet</li><li><a rel="nofollow" href="https://www.mudlet.org/geyser/files/geyser/GeyserGeyser.html#Geyser:changeContainer">Geyser.changeContainer()</a> to change the parent of a label/window</li><li>Geyser.container raiseAll/lowerAll()</li><li><a rel="nofollow" href="https://www.mudlet.org/geyser/files/geyser/GeyserLabel.html#Geyser.Label:setCursor">Geyser:setCursor()</a>, <a rel="nofollow" href="https://www.mudlet.org/geyser/files/geyser/GeyserLabel.html#Geyser.Label:setCustomCursor">Geyser:setCustomCursor()</a>, and <a rel="nofollow" href="https://www.mudlet.org/geyser/files/geyser/GeyserLabel.html#Geyser.Label:resetCursor">Geyser:resetCursor()</a> (and non-Geyser equivalents) to set a custom cursor over a label</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Supported_Protocols#MXP">mxp events</a> and an ‘mxp.’ table for MXP content (similar to GMCP)</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#setMapWindowTitle">set</a>/<a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#resetMapWindowTitle">resetMapWindowTitle()</a> to change the name of the mapper</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#setUserWindowTitle">set</a>/<a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#resetUserWindowTitle">resetUserWindowTitle()</a> and shorter titles by default</li><li><a rel="nofollow" href="https://www.mudlet.org/geyser/files/geyser/GeyserGauge.html#Geyser.Gauge:setFgColor">setFgColor()</a> for Gauges</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#setWindow">setWindow()</a> to change the parent of a label/window</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.collect">table.collect()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.n_collect">table.n_collect()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.matches">table.matches()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.n_matches">table.n_matches()</a> to make working with tables easier</li><li>you can now drag and drop packages into Mudlet to install them!</li><li>you can now search just within the script, and not the whole of Mudlet, with <strong>Ctrl+F</strong>. Enter/Shift+Enter navigate results</li><li>Mapper is a Geyser object now as well under <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Geyser#Create_Map_Window">Geyser.Mapper</a></li></ul><p><strong>improved:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>echo() is now limited to 10k characters on a single line</li><li><a rel="nofollow" href="https://www.mudlet.org/geyser/files/geyser/GeyserLabel.html#Geyser.Label:setOnEnter">Geyser:setOnEnter</a>/<a rel="nofollow" href="https://www.mudlet.org/geyser/files/geyser/GeyserLabel.html#Geyser.Label:setOnLeave">setOnLeave()</a> now support tables of arguments like other functions</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#setLabelClickCallback">setLabelClick</a> and others now accept Lua functions directly</li><li>3D mapper is only loaded when clicked on now</li><li>Mudlet’s language is auto-detected and set for new players automatically</li><li>Noto Font only included where it’s useful (Linux), smaller Mudlet size for macOS and Windows</li><li>searching for variables in editor is now optional and defaults to off (faster search)</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#setConsoleBufferSize">setConsoleBufferSize()</a> won’t allow you to set the limit to be bigger than your computer’s/processes memory anymore</li><li>splash screens are now different for official / dev / public test build versions</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.contains">table.contains()</a> can now check for multiple items</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Mudlet_Object_Functions#tempComplexRegexTrigger">tempComplexRegexTrigger()</a> won’t throw an error if expiration is set to 0</li><li>the collapse/expand icon for search is now sharper</li><li>there’s now a frame around the search line in Mudlet</li><li>trigger/script/etc sizes in the editor are now better by default and will remember their position</li><li>updated algorithm for calculating the width of a character</li><li>updated Noto Font to a newer version</li><li>updater window now mentions ‘update’ explicitly</li><li>UserWindows: you can now choose dockPosition on start</li><li>UserWindows: you can now disable automatic docking</li><li>removed getMudletLuaDefaultPaths(). This is a rare case where nobody&#13;
 at all was using the function and it wasn’t needed, so no backwards &#13;
compat is broken</li></ul><p><strong>fixed:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>echoLink() fixed to show text right away</li><li>logging in other languages will now record characters properly</li><li>MXP now handles &amp;text; tag correctly</li><li>toolbar turning black on old macOS when 3D mapper window is opened</li><li>many issues with <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Geyser#Flyout_Labels">Geyser Flyout</a> labels fixed</li><li>Geyser:show() won’t allow showing children of a hidden parent anymore</li></ul><p><strong>infrastructure:</strong></p>&#13;
<ul><li>big thanks to TheFae for refreshing the frontpage and the downloads page on the website</li><li>added use of Github Actions to automate infrastructure tasks (updating dependencies, translations, etc)</li><li>added use of Github Actions to build Mudlet in macOS and Windows</li><li>createButton() deprecated, now uses an internal wrapper</li><li>text available for translation improved, some \n’s removed</li></ul><div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/05/Selection_588.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/05/Selection_588.png" width="910" height="602" /></a><p>This is just half of what went into this two-month release. Seems interesting? Join our team! All are welcome <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p></div>&#13;
					</div><br />]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.7 – Here come the MIB</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1136/mudlet-4-7-here-come-the-mib</link>
        <pubDate>Wed, 01 Apr 2020 06:31:55 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1136@/index.php?p=/discussions</guid>
        <description><![CDATA[<div>&#13;
					&#13;
<p>Mudlet has regularly brought forward new standards towards the &#13;
decades long standing art of text games, and will continue to do so with&#13;
 this release as well. We also have a few improvements and information &#13;
for special groups of users.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="mud-information-broadcasts">Mud Information Broadcasts</h2>&#13;
&#13;
&#13;
&#13;
<p>Thanks to demonnic, games can now send short information bits to &#13;
their players at any time, next to the regular text flow. While this has&#13;
 been possible with <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Supported_Protocols#GMCP">the GMCP standard</a>&#13;
 for quite some time, those messages would mostly stay under the &#13;
surface, and need to be handled by coders and UI packages alike.</p>&#13;
<p>This new MIB standard however will be displayed directly to players &#13;
in their known Mudlet window and style. This can be used as an easy &#13;
starter GUI for new games, but also allows additional types of content &#13;
to be shown to users.</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/03/MIB.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/03/MIB.gif" width="636" height="303" /></a></p>&#13;
<p>Sounds interesting? <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Geyser">Check out the docs</a> on how to get started.</p>&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
<h2 data-id="text-gaming-with-younger-players">Text gaming with younger players</h2>&#13;
&#13;
&#13;
&#13;
<p>As more and more new players are trying text games, we have received &#13;
reports from concerned parents about some rather dark games out there. &#13;
Therefore, to protect our young players, all new versions of Mudlet will&#13;
 come with an explicit profanity filter enabled from the start.</p>&#13;
<p>The filter will remove or replace a list of vulgar words and phrases &#13;
from these games. We won’t go into details here. You know what we mean. &#13;
Disabling the filter will not be a simple check box in preferences &#13;
either, as children may still find these too easily. Instead, you will &#13;
receive the secret code in <a rel="nofollow" href="https://discord.gg/73M8NbG">our Mudlet Discord</a> after a simple age check by using the command <strong>!code I am over 18 years old</strong>.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="simplified-languages">Simplified Languages</h2>&#13;
&#13;
&#13;
&#13;
<p>This month, the Chinese translation of Mudlet has received their golden star &#13;
 as it approached 100% completion. Meanwhile, there is still some work &#13;
to do on the Chinese variant used in Taiwan, Hong Kong, etc. As all this&#13;
 political detail may be too confusing to foreigners, these languages &#13;
are simply called “Chinese (Traditional)” and “Chinese (Simplified)” in &#13;
the Mudlet language selector.</p>&#13;
<p>Mudlet continues to gain more and more international users due to the <a rel="nofollow" href="https://mudlet.org/translation" title="Link: https://mudlet.org/translation">ongoing translation work</a>.&#13;
 We will now also simplify away the histories of European colonization &#13;
of the Americas by renaming British and (US) American English as well as&#13;
 Brasilian Portuguese languages in a same manner as just “Traditional” &#13;
and “Simplified” respectively.</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/04/Languages.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/04/Languages.png" width="475" height="479" /></a></p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="attention-on-summer-time-changes-daylight-saving-time-dst">Attention on Summer Time changes (Daylight Saving Time, DST)</h2>&#13;
&#13;
&#13;
&#13;
<p>Due to a recently discovered issue with our autosaving code we &#13;
recommend that anyone playing during a Summer Time change such that the &#13;
wall-clock time goes backwards relative to UTC does not end a session &#13;
for the amount of time of the switch – otherwise they risk a save made &#13;
with the new time being ignored in favour of an older one with an &#13;
apparently newer time. Thanks to SlySven for noticing this and working &#13;
on resolving the issue as soon as possible.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="are-you-still-on-mudlet-4-5-1">Are you still on Mudlet 4.5.1?</h2>&#13;
<p>Does your Mudlet say <strong>Mudlet 4-5.1.de</strong> on top? Go to <a rel="nofollow" href="https://www.mudlet.org/download/"><strong>mudlet.org/download</strong></a> to update it by installing a new version. Don’t worry – your profiles will stay.</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/03/bad-mudlet-4.5.1-de.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/03/bad-mudlet-4.5.1-de.png" width="463" height="330" /></a></p>&#13;
<p>You can <a rel="nofollow" href="https://www.mudlet.org/2020/03/update-from-mudlet451de/">find more information on this</a> in our detailed blog post.</p>&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all coders: commandore420, demonnic, Edna, Freddy, &#13;
keneanung, meetorlov, Razor, shagwell, SlySven, syd, and vadi2 who made &#13;
this release possible!</p>&#13;
<p>Thanks to all translators: Ghandi69, Leris, Marco “M0lid3us” Tironi &#13;
(wiploo), Vadim Peretokin (vperetokin), vingi, and Ömer Albulak &#13;
(albulak) for translating Mudlet into their own language.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
&#13;
&#13;
&#13;
<p><strong>Added:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>Often requested <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#wait">wait()</a> functionality is now in Mudlet API</li><li>Atari ST was added to the list of supported platforms</li><li>You may now use Mudlet as a client for <a rel="nofollow" href="https://en.wikipedia.org/wiki/Folding@home">folding@home</a> research</li><li>Enter cheat mode by entering a special key sequence</li><li>Added a combat AI system. Please don’t leave it unattended</li></ul><p><strong>Improved:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>Mudlet’s energy consumption reduced to help fight climate change</li><li>Scripts will now error if not formatted properly (right click – format all)</li><li>Future-proofed Mudlet for use on quantum processors</li><li>Turbo mode feature can now be activated easily by holding Alt while pressing F4 key</li><li>Magical portals allow Mudlet users to play with negative latency</li><li>Automatic script formatting will now minify code as well</li><li>Comic Sans is the new default font for new profiles</li><li>Adjusted magic smoke algorithm for better crypto farming</li></ul><p><strong>Fixed:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>Fixed a crash when player pressed <a rel="nofollow" href="https://en.wikipedia.org/wiki/Konami_Code">the konami code</a></li><li>Return nil+error if Garthok not successfully gnarfled</li><li>Fixed accidentally sending login names and passwords to 4chan</li><li>Limited packets to one every six feet of cable (approx. – YMMV)</li></ul><p><strong>Infrastructure:</strong></p>&#13;
<ul><li>Mudlet TLS now uses only military grade <a rel="nofollow" href="https://en.wikipedia.org/wiki/Dual_EC_DRBG#Security">Dual_EC_DRBG</a> as the single cypher</li><li>Games can now download the game data to the local machine to improve responsiveness and limit bandwidth usage</li></ul><p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/04/github-4-7.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/04/github-4-7.png" title="Image: https://www.mudlet.org/wp-content/uploads/2020/04/github-4-7.png" width="745" height="447" /></a></p>&#13;
					</div> &#13;
					&#13;
					&#13;
&#13;
&#13;
		   <div>&#13;
		  			 &#13;
&#13;
		  	   </div>&#13;
					&#13;
		<h3><br /></h3><br />]]>
        </description>
    </item>
    <item>
        <title>Cang figure out Regular Expression in Nexus Client</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1135/cang-figure-out-regular-expression-in-nexus-client</link>
        <pubDate>Tue, 31 Mar 2020 00:49:19 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Quelinost</dc:creator>
        <guid isPermaLink="false">1135@/index.php?p=/discussions</guid>
        <description><![CDATA[I am having trouble matching text in Nexus using regular expressions.<br /><br />Trigger Text: ^You focus your spell through your crystal, which glows brightly as it enhances the spell with the &lt;.*&gt; effect.$<br />Matching Type: Regular Express <br /><br />-Using Rewrite action on the Match with Value: Crystal Effect is <a href="http://forums.imperian.com/index.php?p=/profile/0-" rel="nofollow">@0-</a> (ignore the -'s  the post kept replacing this line with a 0)<br /><br />I am trying to rewrite <br /><br /><div>You focus your spell through your crystal, which glows brightly as it enhances </div><div>the spell with the Quickcast effect.<br /><br />with <br /><br />Crystal effect is Quickcast<br /><br />What am I doing wrong?</div>]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.6 - Geyser, Geyser, Geyser!</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1131/mudlet-4-6-geyser-geyser-geyser</link>
        <pubDate>Sun, 08 Mar 2020 21:19:24 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1131@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Geyser is the go-to way for making awesome interfaces in Mudlet and it's received a lot of improvements in this release. Read on!</p>&#13;
&#13;
<h2 data-id="geyser-in-userwindows">Geyser in Userwindows</h2>&#13;
<p>Thanks to <a rel="nofollow" href="https://github.com/edru2">Edru2</a>, it is now possible to put labels, miniconsoles, and the mapper inside userwindows! Userwindows in Mudlet are pop-up windows that you can drag around with your mouse, resize, or even move to another monitor. Previously, only miniconsoles could go into a userwindow.</p>&#13;
<p>Here's a demo of the chat capture <a rel="nofollow" href="https://forums.mudlet.org/viewtopic.php?f=6&amp;t=22797">EMCO</a> working right inside a userwindow!</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/03/EMCO-In-a-UserWindow.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/03/EMCO-In-a-UserWindow.gif" title="Image: https://www.mudlet.org/wp-content/uploads/2020/03/EMCO-In-a-UserWindow.gif" width="436" height="380" /></a></p>&#13;
&#13;
<p>Sounds interesting? <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Geyser#Geyser.UserWindow">Check out the docs</a> on how to get started.</p>&#13;
<h2 data-id="tooltips-for-labels-and-gauges">Tooltips for labels and gauges</h2>&#13;
&#13;
<p>Continuing their roll, <a rel="nofollow" href="https://github.com/edru2">Edru2</a> added tooltips to labels and Geyser objects! You can now add a tooltip easily with <em>mylabel:</em><em>setToolTip("tooltip here")</em>, check out <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Geyser#Adding_a_tooltip_to_a_label">some examples</a>.</p>&#13;
<h2 data-id="stylesheet-for-the-current-profile-only">Stylesheet for the current profile only</h2>&#13;
<p>Edru2 has also added <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#setProfileStyleSheet">setProfileStyleSheet()</a> - an easy to use, drop-in replacement for setAppStyleSheet() that only affects the current profile and not all of the other ones as well. Super handy!</p>&#13;
<p>If you're a UI author, it is strongly encouraged to switch over to this new feature. You can easily handle old Mudlets that don't have this feature yet with:</p>&#13;
<p><code spellcheck="false" tabindex="0">local stylesheet = [[&lt;em&gt;my stylesheet here&lt;/em&gt;]]</code></p>&#13;
<p><code spellcheck="false" tabindex="0">if setProfileStyleSheet then</code></p>&#13;
<p>  <code spellcheck="false" tabindex="0">  setProfileStyleSheet(stylesheet)</code></p>&#13;
<p><code spellcheck="false" tabindex="0">else&#13;
  </code></p>&#13;
<p>  <code spellcheck="false" tabindex="0">&amp;nbsp;setAppStyleSheet(stylesheet)</code></p>&#13;
<p><code spellcheck="false" tabindex="0">end</code></p>&#13;
&#13;
<h2 data-id="explicit-formatting-for-geyser-labels-and-gauges">Explicit formatting for Geyser labels and gauges</h2>&#13;
<p>Previously, if you wanted to format the way a label looks like, your only option was to use the <a rel="nofollow" href="https://www.mudlet.org/geyser/files/geyser/GeyserLabel.html#Geyser.Label:echo">format string</a> every time you echo'd something to a label. No longer! Now there are explicit :setBold(), :setUnderline(), :setItalics(), :setStrikeThrough(), :setFont(), :setFontSize(), and :setAlignment() functions available thanks to <a rel="nofollow" href="https://github.com/demonnic">demonnic</a>'s work on this.</p>&#13;
<h2 data-id="geyser-child-show-fix-in-next-update">Geyser child show fix in next update</h2>&#13;
&#13;
<p>Okay, that was a ton of Geyser improvements. Ready for one more?</p>&#13;
<p>In Geyser, when you hide a container, all of its children get hidden as well. Makes sense, right? However, there is a way you can still get a child to show - if you call :show() on it explicitly. This means that you can get a child of a hidden container to show up! This obviously doesn't sound right, and it affects things like <a rel="nofollow" href="https://github.com/demonnic/animatedtimers">anitimers</a> working correctly.</p>&#13;
<p>We've fixed it - but in QA testing, we've discovered that a few UIs have been built that <em>rely</em> on this broken behavior to work: that is, getting a child to show up even though their container is hidden. As we don't want to introduce an update that fixes-but-really-breaks things, we've postponed this change until the next 4.7 release. Meanwhile, if you're a UI author, test this <a rel="nofollow" href="https://make.mudlet.org/snapshots/8c04b7/Mudlet-4.4.0-testing-b7c569f4-windows.zip">Windows</a> / <a rel="nofollow" href="https://make.mudlet.org/snapshots/0853b0/Mudlet-4.4.0-testing-b7c569f.dmg">macOS</a> / <a rel="nofollow" href="https://make.mudlet.org/snapshots/763fa7/Mudlet-4.4.0-testing-b7c569f-linux-x64.AppImage.tar">Linux</a> version of Mudlet to see if your UI is affected and if you need to fix it.</p>&#13;
<h2 data-id="all-fonts-unlocked">All fonts unlocked</h2>&#13;
<p>The setting for picking a main window font was previously only limited to monospace fonts, as those are the ones that we've optimised our custom-made text display for. As part of our internalisation work, we've added emoji and non-English letter support to the display as well - which now makes it good enough to be used with all fonts!</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/03/Workspace-1_451.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/03/Workspace-1_451.png" width="579" height="281" /></a></p>&#13;
<p>Non-monospace fonts in Mudlet still aren't perfect, and not all fonts are designed to be used for their letters, so beware. On top of that text games are still optimised for monospace fonts - those are easier to align text and columns with!</p>&#13;
&#13;
<h2 data-id="ire-composer-improvements">IRE Composer improvements</h2>&#13;
&#13;
<div>&#13;
<div><a rel="nofollow" href="https://github.com/Mudlet/Mudlet/commits?author=atari2600tim">atari2600tim</a> took it into their own hands to improve the IRE Composer - a pop-up window for GMCP that allows you to edit a fair bit of text at once and send it back to the game. It now won't eat backwards slashes \ and it's more resilient as well.</div>&#13;
<h2 data-id="new-function-geyser-color-find-color-name">New function: Geyser.Color.find_color_name()</h2>&#13;
<div><a rel="nofollow" href="https://github.com/demonnic/">Demonnic</a> added Geyser.Color.find_color_name(color) which allows you to use "Orange", "orAnge", "ORANGE", etc and get back the proper name from the color table. This will also allow you to match multiword colors, such as "OrangeRed" and "orange_red" as "oranGERED" or "oRANGE_red", etc. This new function is also now used by Geyser.color.parse and its descendants in order to make Geyser color parsing more robust!</div>&#13;
</div>&#13;
&#13;
<h2 data-id="new-function-unzipasync">New function: unzipAsync()</h2>&#13;
&#13;
<p>Have a zip, need to unzip it? The new <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Miscellaneous_Functions#unzipAsync">unzipAsync()</a> function by <a rel="nofollow" href="https://github.com/vadi2">Vadi</a> will do that just for you! It also won't freeze Mudlet up while it's unzipping because it's asyncronous and multithreaded.</p>&#13;
<h2 data-id="notepad-now-for-all-languages-and-emoji-s">Notepad: now for all languages and emoji's</h2>&#13;
<p>The notepad now will correctly store and load contents in utf8, allowing for all languages and emoji's to show up. Thanks to <a rel="nofollow" href="https://github.com/slysven">SlySven </a>for making this work!</p>&#13;
<h2 data-id="mudlet-410-bounty-for-better-screenreader-support">Mudlet $410 bounty for better screenreader support</h2>&#13;
<p>We have an <a rel="nofollow" href="https://www.bountysource.com/issues/88866989-make-mudlet-s-text-window-readable-by-screenreaders">outstanding bounty</a> of 410 USD to add screenreader support to our super quick, custom-made game text display widget - so visually impaired users can get game text read out to them. Interested in making some cash? <a rel="nofollow" href="http://wiki.mudlet.org/w/Compiling_Mudlet">Dive in</a>, and join us on <a rel="nofollow" href="https://discord.gg/kuYvMQ9">Discord</a> to talk about it!</p>&#13;
<h2 data-id="are-you-on-mudlet-4-5-1-de">Are you on Mudlet 4.5.1-de?</h2>&#13;
<p>Unfortunately due to a publication error, Mudlet 4.5.1-de will not automatically update to 4.6.0. Go to <a rel="nofollow" href="https://www.mudlet.org/download/">mudlet.org/download</a> and manually install the new version. Don't worry - all your profiles will stay.</p>&#13;
&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
<p>Thanks to all coders: atari2600tim, demonnic, Edru, Faenriis, mpconley, shacknetisp, SlySven, and vadi2 who made this release possible!</p>&#13;
&#13;
<p>Thanks to all translators Gandalf07, Leris, Marco "M0lid3us" Tironi (wiploo), Vadim Peretokin (vperetokin), vingi, and Ömer Albulak (albulak) for translating Mudlet into their own language.</p>&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
&#13;
<p><strong>added:</strong></p>&#13;
&#13;
<ul><li>Geyser objects (as well as the usual labels, miniconsoles and mapper) can now go into userwindows</li><li>unzipAsync() function</li><li>setLabelToolTip() and Geyser equivalents :setToolTip() functions</li></ul><p><strong>improved:</strong></p>&#13;
&#13;
<ul><li>tab order in connection screen now makes better sense (a11y)</li><li>all connection screen input fields now have their names read out for a screenreader (a11y)</li><li>Mud Client Media Protocol: Client.Media has been renamed to Client.Media.Default <a rel="nofollow" href="https://wiki.mudlet.org/w/Standards:MUD_Client_Media_Protocol#Client.Media.Default">per protocol change</a></li><li>notepad now works with utf8</li><li>IRE Composer now handles \</li><li>blinking text will now show up as italics (like in MUSHclient), as opposed to normal text like before</li><li>all fonts can now be selected in main window settings</li></ul><p><strong>fixed:</strong></p>&#13;
&#13;
<ul><li>labels being really slow over the mapper window</li><li>gmod not re-enabling modules properly on reconnect</li><li>possible crash if you managed to close a profile without closing Mudlet while settings window was open</li><li>module priorities not to get lost</li></ul><div></div>&#13;
&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2020/03/Selection_452.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2020/03/Selection_452.png" width="909" height="533" /></a></p>&#13;
<br />]]>
        </description>
    </item>
    <item>
        <title>Mudlet Scripting</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/23/mudlet-scripting</link>
        <pubDate>Thu, 18 Oct 2012 15:06:13 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Katarsh</dc:creator>
        <guid isPermaLink="false">23@/index.php?p=/discussions</guid>
        <description><![CDATA[Because I'm a nub who will constantly be asking for coding help while I'm figuring this crap out, I thought I'd go ahead and start this up and make a small contribution of my own. This is the trigger I've created to handle appending the roomnum and area to the room title via GMCP magic. I've used screwy colors for room_title via CONFIG COLOUR on purpose, since I just rehighlight over the room title anyways, to make it so that this doesn't trigger on everything else... like newsroom, quicksand, inventory, etc, like it will if you leave standard colors. There may be a simpler way to handle this, and I'd appreciate input if so, but this works without issue for me at present. Obviously, GMCP required. I use CONFIG COLOUR ROOM_TITLE 5 1 to make this work, though you can use any other unused color combination you would prefer.<div><br /></div><div><div>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</div><div>&lt;!DOCTYPE MudletPackage&gt;</div><div>&lt;MudletPackage version="1.0"&gt;</div><div>    &lt;TriggerPackage&gt;</div><div>        &lt;Trigger isActive="yes" isFolder="no" isTempTrigger="no" isMultiline="no" isPerlSlashGOption="no" isColorizerTrigger="yes" isFilterTrigger="no" isSoundTrigger="no" isColorTrigger="yes" isColorTriggerFg="yes" isColorTriggerBg="yes"&gt;</div><div>            &lt;name&gt;RoomName Trigger&lt;/name&gt;</div><div>            &lt;script&gt;cecho(&amp;quot;&amp;lt;blue&amp;gt;(&amp;lt;white&amp;gt;&amp;quot; .. gmcp.Room.Info.num .. &amp;quot;&amp;lt;blue&amp;gt;) &amp;lt;DarkGoldenrod&amp;gt;in &amp;quot; .. gmcp.Room.Info.area)&lt;/script&gt;</div><div>            &lt;triggerType&gt;0&lt;/triggerType&gt;</div><div>            &lt;conditonLineDelta&gt;0&lt;/conditonLineDelta&gt;</div><div>            &lt;mStayOpen&gt;0&lt;/mStayOpen&gt;</div><div>            &lt;mCommand&gt;&lt;/mCommand&gt;</div><div>            &lt;packageName&gt;&lt;/packageName&gt;</div><div>            &lt;mFgColor&gt;#aaaa00&lt;/mFgColor&gt;</div><div>            &lt;mBgColor&gt;#000000&lt;/mBgColor&gt;</div><div>            &lt;mSoundFile&gt;&lt;/mSoundFile&gt;</div><div>            &lt;colorTriggerFgColor&gt;#800080&lt;/colorTriggerFgColor&gt;</div><div>            &lt;colorTriggerBgColor&gt;#800000&lt;/colorTriggerBgColor&gt;</div><div>            &lt;regexCodeList&gt;</div><div>                &lt;string&gt;FG12BG4&lt;/string&gt;</div><div>            &lt;/regexCodeList&gt;</div><div>            &lt;regexCodePropertyList&gt;</div><div>                &lt;integer&gt;6&lt;/integer&gt;</div><div>            &lt;/regexCodePropertyList&gt;</div><div>        &lt;/Trigger&gt;</div><div>    &lt;/TriggerPackage&gt;</div><div>&lt;/MudletPackage&gt;</div></div><div><br /></div><div>Anyone else got something to add?</div>]]>
        </description>
    </item>
    <item>
        <title>Old CMUD Systems</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1121/old-cmud-systems</link>
        <pubDate>Tue, 31 Dec 2019 16:43:58 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Calno</dc:creator>
        <guid isPermaLink="false">1121@/index.php?p=/discussions</guid>
        <description><![CDATA[I'm going around and looking for old CMUD systems (Even ZMUD). Anyone help a brother out?]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.4 – MSP, mapper dot option, stopwatch improvements, and selection fix</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1117/mudlet-4-4-msp-mapper-dot-option-stopwatch-improvements-and-selection-fix</link>
        <pubDate>Sat, 07 Dec 2019 15:11:54 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1117@/index.php?p=/discussions</guid>
        <description><![CDATA[<div>&#13;
					&#13;
<p>Added a new option for customising the mapper’s “you are here” &#13;
location marker, added notepad autosave, re-added stopwatches overhaul &#13;
and fixed a possible crash when copying text in this update!</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="msp-mud-sound-protocol">MSP (Mud Sound Protocol)</h2>&#13;
&#13;
&#13;
&#13;
<p>Thanks to Tamarindo from <a rel="nofollow" href="https://www.stickmud.com/index.php/Home">StickMUD</a>, Mudlet now supports <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Technical_Manual#MSP">MSP</a>!&#13;
 This allows the game to ask Mudlet to play sounds automatically (say, &#13;
when you enter a room or start a fight). This is different from <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Miscellaneous_Functions#playSoundFile">playSoundFile()</a>, a function you can use in triggers/aliases to play sounds.</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/12/Selection_143.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/12/Selection_143.png" title="Image: https://www.mudlet.org/wp-content/uploads/2019/12/Selection_143.png" width="986" height="164" /></a></p>&#13;
<p>If your game already supports MSP, try enabling it today! If you’re a&#13;
 game admin and you only allow specific clients to enable MSP, add &#13;
Mudlet to the list <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
<p>Tamarindo also developed a more modern replacement for MSP (last updated in 2001) called <a rel="nofollow" href="https://wiki.mudlet.org/w/Standards:MUD_Client_Media_Protocol">MUD Client Media Protocol (MCMP)</a> – something that is more fitting for 2020. If you’re interested in adding media to your game today, consider adding this.</p>&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
<h2 data-id="customisable-room-marker">Customisable room marker</h2>&#13;
&#13;
&#13;
&#13;
<p><a rel="nofollow" href="https://github.com/SlySven/">SlySven</a> added a feature to customise the room marker – there’s now several different styles as well as an option to create your own!</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/12/custom-room-marker.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/12/custom-room-marker.gif" width="935" height="220" /></a></p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="overhauled-stopwatches">Overhauled stopwatches</h2>&#13;
<p>&#13;
&#13;
</p>&#13;
<p>SlySven put in a lot of work to improve stopwatches: they can now &#13;
persist across sessions, be deleted/recreated as needed, adjusted on the&#13;
 fly, be given names and more. See all of the new functions <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Mudlet_Object_Functions">in the API</a>.</p>&#13;
<p>While stopwatches worked as expected, their functionality was very &#13;
limited. Additionally, they worked differently from their real world &#13;
counterparts which made their use not very intuitive.</p>&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all coders: aaronjoslyn, CriusMacOldenly, demonnic, keneanung, mpconley, SlySven, and vadi2.</p>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all translators: finalcn, Garagoth, Leris, Marco “M0lid3us”&#13;
 Tironi (wiploo), Shoryu Shin (shoryu49), and wendeli alves &#13;
(wilcoxjvkb).</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
&#13;
&#13;
&#13;
<p><strong>added:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>custom look’n’feel for the mapper red ‘you are here’ dot in settings</li><li>support for more than 3 mouse buttons for the event engine</li><li>overhauled stopwatches with a ton of new features</li><li>portugese (brazilian) language for translation</li><li>MSP (Mud Sound Protocol)!</li></ul><p><strong>improved:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>notepad content is autosaved every 2mins (previously, only ever saved on profile close)</li></ul><p><strong>fixed:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>crash on selection</li><li>temporary aliases are now removed like everything else with resetProfile()</li><li>font size in composer no longer huge</li></ul><p><strong>infrastructure:</strong></p>&#13;
<ul><li>support for 64bit Discord libraries on Windows (Mudlet on Windows does not yet do 64bit, but it does on Linux and macOS)</li><li>Mudlet now uses latest Qt 5.13.2 on Windows</li><li>Travis CI configuration modernised</li></ul><p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/12/2019-12-07_10-32.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/12/2019-12-07_10-32.png" title="Image: https://www.mudlet.org/wp-content/uploads/2019/12/2019-12-07_10-32.png" width="919" height="547" /></a></p>&#13;
					</div> &#13;
					&#13;
					&#13;
&#13;
&#13;
		   <div>&#13;
		  			 &#13;
&#13;
		  	   </div>&#13;
					&#13;
		<h3><br /></h3><br />]]>
        </description>
    </item>
    <item>
        <title>Merchant Lord Version 1.2.0 - Probe and Recall</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1113/merchant-lord-version-1-2-0-probe-and-recall</link>
        <pubDate>Wed, 27 Nov 2019 06:30:22 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Aeterna Silphium</dc:creator>
        <guid isPermaLink="false">1113@/index.php?p=/discussions</guid>
        <description><![CDATA[<div><b>Current Version:</b> 1.2.0 updated 2019-11-26</div><div><br /></div><div><b>Current Release:</b> <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/releases/tag/v1.2.0" title="Link: https://github.com/Auchtor/MerchantLord/releases/tag/v1.2.0">https://github.com/Auchtor/MerchantLord/releases/tag/v1.2.0</a></div><div><b>All Releases:</b> <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/releases" title="Link: https://github.com/Auchtor/MerchantLord/releases">https://github.com/Auchtor/MerchantLord/releases</a></div><div><b>Github Repo with Readme:</b> <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord" title="Link: https://github.com/Auchtor/MerchantLord">https://github.com/Auchtor/MerchantLord</a></div><h1 data-id="requirements">Requirements</h1><div>MerchantLord is built on Mudlet 4.3.0. Releases will be based on the most recent mudlet versions available, which I will note in future releases.<br /></div><h1 data-id="changes">Changes</h1><ul><li>Added <b>ml probe</b> to probe items in a shop and gather description, crafter, and designer data. This will automatically probe items once every second until it has probed every item detected with wares if autoprobe is on.</li><li>Added <b>ml recall &lt;item&gt;</b> to display an item's description, crafter, and designer.</li><li>Added <b>ml settings autoprobe &lt;on|off</b>&gt; to toggle autoprobe settings. The default is off.</li><li><b>ml find &lt;item&gt;</b> now sorts the results by price and area.</li><li><b>ml list &lt;search&gt;</b> is now sorted by type (short name) and short description</li></ul><h1 data-id="current-features">Current Features</h1><ul><li>Automatic harvesting of shop information</li><li>Automatic cataloging of individual items, their locations, and price after use of the <b>wares</b> command.</li><li>The ability to look up items using <b>ml list &lt;search&gt;</b></li><li>The ability to look up a specific item's locations using <b>ml find &lt;item short&gt;</b></li><li>The ability to probe an unprobed item in a shop using <b>ml probe</b>. This will automatically continue to probe unprobed items in the shop (as detected by the `<b>wares</b>` command) every second if autoprobing is on.</li><li>The ability to recall the details of an item probed using <b>ml recall &lt;item&gt;</b>.</li><li>Handle autoprobe settings using <b>ml settings autoprobe &lt;on|off&gt;</b></li></ul><div><img alt="" src="https://us.v-cdn.net/5020117/uploads/editor/rp/p9eubsqrzhm1.png" title="Image: https://us.v-cdn.net/5020117/uploads/editor/rp/p9eubsqrzhm1.png" /><br /><img alt="" src="https://us.v-cdn.net/5020117/uploads/editor/ty/pfk0pyxkdsmb.png" title="Image: https://us.v-cdn.net/5020117/uploads/editor/ty/pfk0pyxkdsmb.png" /><br /><img alt="" src="https://us.v-cdn.net/5020117/uploads/editor/yn/vr9cv1scsxig.png" title="Image: https://us.v-cdn.net/5020117/uploads/editor/yn/vr9cv1scsxig.png" /><br /><br /></div><h1 data-id="installation">Installation</h1><ol><li>Download the MerchantLord.xml from the most recent release.</li><li>Open Mudlet and select "Module Manager" from the dropdown menu</li><li>Select "Install"</li><li>Browse to the location you downloaded MerchantLord.xml, select it, and select "Open"</li></ol><h1 data-id="roadmap">Roadmap</h1><div>I'm using github projects for my feature management. This is in kanban style, meaning items at the top have the highest priority for each column.</div><h2 data-id="mudlet">Mudlet</h2><div>Next features are better ease of use to get from the list command to the find and recall commands. After that I am going to reevaluate the level of effort of the liquid handling and add some polish for command feedback and optimization to reduce the lag in wares.</div><div><br /></div><div>You can find the Mudlet roadmap here: <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/projects/1">https://github.com/Auchtor/MerchantLord/projects/1</a></div><h2 data-id="web-app">Web App</h2><div>I am working on a nodejs web app module in parallel to allow anyone to take the database created by MerchantLord and host it for themselves. It's in its infancy and less of a priority until I finish out the currently accepted issues for the Mudlet work.</div><div><br /></div><div>You can find the web app rodemap here: <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/projects/1" title="Link: https://github.com/Auchtor/MerchantLord/projects/1">https://github.com/Auchtor/MerchantLord/projects/3</a></div><h1 data-id="feature-requests">Feature Requests</h1><div>Right now I'm taking feedback and ideas for additional features. I'm nearing the baseline for the mudlet project's goal from the buyer persona.</div>]]>
        </description>
    </item>
    <item>
        <title>Merchant Lord Version 1.1</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1112/merchant-lord-version-1-1</link>
        <pubDate>Sat, 23 Nov 2019 18:31:18 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Aeterna Silphium</dc:creator>
        <guid isPermaLink="false">1112@/index.php?p=/discussions</guid>
        <description><![CDATA[<div><b>Current Version:</b> <b>1.1.0 </b>updated 2019-11-23<br /></div><div><b>Current Release:</b> <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/releases/tag/v1.1.0" title="Link: https://github.com/Auchtor/MerchantLord/releases/tag/v1.1.0">https://github.com/Auchtor/MerchantLord/releases/tag/v1.1.0</a></div><div><b>All Releases:</b> <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/releases" title="Link: https://github.com/Auchtor/MerchantLord/releases">https://github.com/Auchtor/MerchantLord/releases</a></div><div><b>Github Repo with Readme:</b> <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord">https://github.com/Auchtor/MerchantLord</a></div><div><br /></div><h1 data-id="requirements">Requirements</h1><div>MerchantLord is built on Mudlet 4.3.0. Releases will be based on the most recent mudlet versions available, which I will note in future releases.</div><div><h1 data-id="changes">Changes</h1>Added shop name and area to `ml find &lt;item short&gt;`<br /></div><h1 data-id="current-features">Current Features</h1><ol><li>Automatic harvesting of shop information</li><li>Automatic cataloging of individual items, their locations, and price after use of the WARES command.</li><li>The ability to look up items using `ml list &lt;search&gt;`</li><li>The ability to look up a specific item's locations using `ml find &lt;item short&gt;`</li></ol><h1 data-id="installation">Installation</h1><ol><li>Download the MerchantLord.xml from the most recent release.</li><li>Open Mudlet and select "Module Manager" from the dropdown menu</li><li>Select "Install"</li><li>Browse to the location you downloaded MerchantLord.xml, select it, and select "Open"</li></ol><h1 data-id="roadmap">Roadmap</h1><div>I'm using github projects for my feature management. This is in kanban style, meaning items at the top have the highest priority for each column.</div><h2 data-id="mudlet">Mudlet</h2><div>Notable upcoming features are better information on the item finding output to include shop names and area and better sorting of the list and find commands.</div><div><br /></div><div>You can find the Mudlet roadmap here: <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/projects/1">https://github.com/Auchtor/MerchantLord/projects/1</a></div><h2 data-id="web-app">Web App</h2><div>I am working on a nodejs web app module in parallel to allow anyone to take the database created by MerchantLord and host it for themselves. It's in its infancy and less of a priority until I finish out the currently accepted issues for the Mudlet work.</div><div><br /></div><div>You can find the web app rodemap here: <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/projects/3" title="Link: https://github.com/Auchtor/MerchantLord/projects/3">https://github.com/Auchtor/MerchantLord/projects/3</a></div><h1 data-id="feature-requests">Feature Requests</h1><div>Right now I'm taking feedback. Once I have what I consider to be something beyond a Minimum Viable Product.</div>]]>
        </description>
    </item>
    <item>
        <title>Merchant Lord - Version 1.0</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1111/merchant-lord-version-1-0</link>
        <pubDate>Sat, 23 Nov 2019 05:15:12 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Aeterna Silphium</dc:creator>
        <guid isPermaLink="false">1111@/index.php?p=/discussions</guid>
        <description><![CDATA[<div>Introducing a new mudlet module for all your shopping needs. This tool is primarily meant to keep track of what items are where in what shops at what price.</div><div><br /></div><div><b>Current Version:</b> <b>1.0 </b>updated 2019-11-22</div><div><b>Current Release:</b> <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/releases/tag/v1.0" title="Link: https://github.com/Auchtor/MerchantLord/releases/tag/v1.0">https://github.com/Auchtor/MerchantLord/releases/tag/v1.0</a></div><div><b>All Releases:</b> <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/releases" title="Link: https://github.com/Auchtor/MerchantLord/releases">https://github.com/Auchtor/MerchantLord/releases</a></div><div><b>Github Repo with Readme:</b> <a href="https://github.com/Auchtor/MerchantLord" rel="nofollow">https://github.com/Auchtor/MerchantLord</a></div><div><br /></div><h1 data-id="requirements">Requirements</h1><div>MerchantLord is built on Mudlet 4.3.0. Releases will be based on the most recent mudlet versions available, which I will note in future releases.</div><div><br /></div><h1 data-id="current-features">Current Features</h1><ol><li>Automatic harvesting of shop information</li><li>Automatic cataloging of individual items, their locations, and price after use of the WARES command.</li><li>The ability to look up items using `ml list &lt;search&gt;`</li><li>The ability to look up a specific item's locations using `ml find &lt;item short&gt;`</li></ol><h1 data-id="installation">Installation</h1><ol><li>Download the MerchantLord.xml from the most recent release.</li><li>Open Mudlet and select "Module Manager" from the dropdown menu</li><li>Select "Install"</li><li>Browse to the location you downloaded MerchantLord.xml, select it, and select "Open"</li></ol><h1 data-id="roadmap">Roadmap</h1><div>I'm using github projects for my feature management. This is in kanban style, meaning items at the top have the highest priority for each column.</div><div><br /></div><h2 data-id="mudlet">Mudlet</h2><div>Notable upcoming features are better information on the item finding output to include shop names and area and better sorting of the list and find commands.</div><div><br /></div><div>You can find the Mudlet roadmap here: <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/projects/1" title="Link: https://github.com/Auchtor/MerchantLord/projects/1">https://github.com/Auchtor/MerchantLord/projects/1</a></div><div><br /></div><h2 data-id="web-app">Web App</h2><div>I am working on a nodejs web app module in parallel to allow anyone to take the database created by MerchantLord and host it for themselves. It's in its infancy and less of a priority until I finish out the currently accepted issues for the Mudlet work.</div><div><br /></div><div>You can find the web app rodemap here: <a rel="nofollow" href="https://github.com/Auchtor/MerchantLord/projects/3">https://github.com/Auchtor/MerchantLord/projects/3</a></div><div><br /></div><h1 data-id="feature-requests">Feature Requests</h1><div>Right now I'm taking feedback. Once I have what I consider to be something beyond a Minimum Viable Product and</div>]]>
        </description>
    </item>
    <item>
        <title>GMCP assistance</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1109/gmcp-assistance</link>
        <pubDate>Tue, 12 Nov 2019 02:32:47 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Ageranu</dc:creator>
        <guid isPermaLink="false">1109@/index.php?p=/discussions</guid>
        <description><![CDATA[Hey guys,<br /><br />I was playing with a bashing script to find targets for me, and I was playing around with this:<br /><br /><div>function bashCheck()</div><div>for i, v in ipairs(gmcp.Char.Items.List.items) do</div><div>  if v.attrib=="m" then</div><div>    target = v.id</div><div>  end</div><div>end</div><div>end<br /><br />Which works for the intial target grab, but it won't update once that target is dead.  I've tried using 'ql' or even leaving/reentering the room, but it won't trigger again without some sort of server side intialised update.  How can I get this to update, or initiate an update from the server?</div>]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.3 – Fixed selection</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1108/mudlet-4-3-fixed-selection</link>
        <pubDate>Sun, 10 Nov 2019 20:26:02 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1108@/index.php?p=/discussions</guid>
        <description><![CDATA[<div>&#13;
					&#13;
<p>This short update fixes text selection in Mudlet, improves the generic mapper script, and a few things in the background.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="fixed-text-selection">Fixed text selection</h2>&#13;
&#13;
&#13;
&#13;
<p><a rel="nofollow" href="https://github.com/CriusMacOldenly">Crius MacOldenly</a> &#13;
from Accursed Lands has taken it upon themselves to rewrite text &#13;
selection in Mudlet, and the result is really good! It now behaves as &#13;
you’d expect.</p>&#13;
<p> </p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/11/Peek-2019-11-10-16-35.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/11/Peek-2019-11-10-16-35.gif" width="883" height="289" /></a></p>&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
<p> </p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all coders: CriusMacOldenly, demonnic, keneanung, SlySven, and vadi2 for contributing to the code!</p>&#13;
&#13;
&#13;
&#13;
<p>Thanks to all translators: Leris, Marco “M0lid3us” Tironi (wiploo), and vadi2 for helping translate Mudlet.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
&#13;
&#13;
&#13;
<p><strong>added:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>‘show moves’ alias to generic mapper script</li><li>support for a ‘Public Test Build’ version of Mudlet (coming soon)</li></ul><p><strong>improved:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>table.is_empty() now gives a better error message</li><li>text selection redone</li><li>emoji rendering is a bit better (still working on it)</li><li>showColors() now appends the clicked colour instead of replacing text in the input line</li></ul><p><strong>infrastructure:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>&#13;
<div>&#13;
<div>modernised cmake files</div>&#13;
</div>&#13;
</li></ul><p>It might look like we haven’t done much for you in this release, as &#13;
compared to the previous ones – but fear not, there’s been plenty of &#13;
work in the background that’ll come to fruition in the future <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/11/Selection_085.png" title="Link: https://www.mudlet.org/wp-content/uploads/2019/11/Selection_085.png"><img alt="Github monthly pulse" src="https://www.mudlet.org/wp-content/uploads/2019/11/Selection_085.png" title="Image: https://www.mudlet.org/wp-content/uploads/2019/11/Selection_085.png" width="938" height="550" /></a></p>&#13;
					</div> &#13;
					&#13;
					&#13;
&#13;
&#13;
		   <div>&#13;
		  			 &#13;
&#13;
		  	   </div>&#13;
					&#13;
		<h3><br /></h3><br />]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.2 - overhauled stopwatches, secure passwords storage, ANSI colours for scripting and more</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1103/mudlet-4-2-overhauled-stopwatches-secure-passwords-storage-ansi-colours-for-scripting-and-more</link>
        <pubDate>Sun, 13 Oct 2019 12:04:21 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1103@/index.php?p=/discussions</guid>
        <description><![CDATA[<div>&#13;
<p>This update now stores characters' passwords securely, improves &#13;
selection (but more work to do there), adds ANSI colours to cecho and &#13;
friends, and fixes the font spacing in the error console.</p>&#13;
<p>We know quality of the last few updates hasn't been amazing, and &#13;
quality is something we pride ourselves in. We've worked extra hard this&#13;
 time to test everything! <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
</div>&#13;
&#13;
<h2 data-id="selection-is-not-yet-fixed-but-better">Selection is not yet fixed, but better</h2>&#13;
<p>Selection in Mudlet has gotten worse in the last few updates - we &#13;
apologise for that. We're working on fixing that to work as you'd &#13;
expect, and this update thanks to SlySven and vadi2 brings the &#13;
following: selecting left to right works better, selecting to the end of&#13;
 line doesn't overselect other text and finally, selecting just one &#13;
letter is possible.</p><div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/10/Peek-2019-10-13-09-14.gif"><img alt="Improved selection" src="https://www.mudlet.org/wp-content/uploads/2019/10/Peek-2019-10-13-09-14.gif" width="755" height="310" /></a> <br /></div><div>Improved selection</div><p>There&#13;
 are still issues with selection, however: selecting many things up and &#13;
down doesn't work well for example. We're working on fixing this, look &#13;
for improvements in future updates.</p>&#13;
<p>Remember you can hold <strong>Ctrl</strong> while selecting to select entire lines at once!</p>&#13;
&#13;
<h2 data-id="overhauled-stopwatches">Overhauled stopwatches</h2>&#13;
&#13;
<p>SlySven put in a lot of work to improve stopwatches: they can now &#13;
persist across sessions, be deleted/recreated as needed, adjusted on the&#13;
 fly, be given names and more. See all of the new functions <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Mudlet_Object_Functions">in the API</a>.</p>&#13;
<p>While stopwatches worked as expected, their functionality was very &#13;
limited. Additionally, they worked differently from their real worl &#13;
counterparts which made their use not very intuitive.</p>&#13;
&#13;
<h2 data-id="secure-passwords-storage">Secure passwords storage</h2>&#13;
&#13;
<p>Mudlet previously stored passwords in an unencrypted binary file. &#13;
While it wasn't a text file, and thus not so easy to look at, it still &#13;
wasn't ideal. vadi2 fixed this in this update, and integrated the <a rel="nofollow" href="https://github.com/frankosterfeld/qtkeychain">QtKeychain</a> open-source library to enable Mudlet to <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Technical_Manual#Automatic_login">store passwords securely</a> on Windows, macOS, and Linux.</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/10/Selection_015.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/10/Selection_015.png" width="884" height="138" /></a></p>&#13;
<p>The drawback of storing the password on the computer itself, however,&#13;
 is that if you use cloud sync for your profiles - the password won't &#13;
the syncronised. You can go to Special Options in settings and change &#13;
the password to be stored within the profile to make that work, if you'd&#13;
 like the password to be portable but visible in plaintext.</p>&#13;
<p>This piece of work was a necessary step towards custom locations for &#13;
Mudlet profiles - necessary for cloud sync and portable Mudlet, so look &#13;
for more in this area <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p><div><img alt="" src="https://wiki.mudlet.org/images/3/3b/Character_autologin.png" width="334" height="104" /><br /></div><div>You can now also toggle to view the characters password in case you've forgot it thanks to SlySven's improvement.</div><h2 data-id="ansi-colours">ANSI colours</h2>&#13;
&#13;
<p>SlySven worked to make ANSI colours - ones you see in preferences - &#13;
be available right in your scripts! This means you can create coloured <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#cecho">cechoes</a> (and more) with the <em>exactly </em>same colours you'd see in the game. Nice!</p><div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/10/Screenshot-from-2019-10-13-08-38-37.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/10/Screenshot-from-2019-10-13-08-38-37-1024x383.png" width="1024" height="383" /></a> <br /></div><div>showColors() with the new ansi colors. Use showColors("ansi") to show only the ANSI ones&#13;
&#13;
</div><p>In the same vein, as you notice from the screenshot that demonnic worked to make <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#showColors">showColors()</a> sort colours! It now is a lot easier to pick out the exact colour you'd like.</p>&#13;
<h2 data-id="dark-mode-on-macos">Dark mode on macOS</h2>&#13;
<p>Mudlet now automatically goes into <a rel="nofollow" href="https://support.apple.com/en-us/HT208976">Dark Mode</a> if you've got that enabled on your macOS:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/10/unknown.png"><img alt="Screenshot of Mudlet 42 in dark mode on macOS" src="https://www.mudlet.org/wp-content/uploads/2019/10/unknown-1024x580.png" width="1024" height="580" /></a></p>&#13;
&#13;
<p>Enjoy!</p>&#13;
&#13;
<h2 data-id="error-console-font">Error console font</h2>&#13;
<p>The error console font used to be... <em>strange</em> in the last few releases. We apologise for the lapse in quality here, and it is now fixed.</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/10/Selection_017.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/10/Selection_017-1024x124.png" width="1024" height="124" /></a></p>&#13;
<h2 data-id="generic-mapping-script">Generic mapping script</h2>&#13;
<p>We've spent time improving the generic mapping script as well, making it easier to use and understand:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/10/Untitled.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/10/Untitled-1024x645.png" width="1024" height="645" /></a></p>&#13;
<p>Doing <strong>map basic</strong> will show the room name and exits that have been captured, so you can tell if the script is working.</p>&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
<p>Thanks to all coders: demonnic, keneanung, Leris, Loon-Toon, SlySven, and vadi2 for making this update possible!</p>&#13;
&#13;
<p>Thanks to all translators: 王AQ (Anselmus), Marco "M0lid3us" Tironi &#13;
(wiploo), Leris, and vadi2 for keeping translations up to date.</p>&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
<p><strong>added:</strong></p>&#13;
<ul><li><a rel="nofollow" href="https://www.mudlet.org/geyser/files/geyser/GeyserLabel.html#Geyser.Label:echo">Geyser.Gauge:echo()</a> can now do Geyser formatting</li><li>generic&#13;
 mapping script: if you start the first area in your map without a name,&#13;
 the message asking for the name is now more understandable</li><li>added <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Networking_Functions#getConnectionInfo">getConnectionInfo()</a> function</li><li>character&#13;
 login passwords can now be stored by Mudlet securely in the credential &#13;
manager, and are put there by default. There is still a toggle to go &#13;
back to storing them unencrypted within the profile - this is handy if &#13;
you want to use cloud sync</li><li>ANSI colours are now available for use in cecho and others! They are automatically synced with preferences. See <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#showColors">showColors()</a></li></ul><p><strong>improved:</strong></p>&#13;
<ul><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Mapper_Functions#setRoomEnv">setRoomEnv()</a>, <a rel="nofollow" href="https://www.mudlet.org/geyser/files/geyser/GeyserGauge.html#Geyser.Gauge:setValue">Geyser.Gauge:setValue()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.is_empty">table.is_empty()</a> give you an understandable error message if you don't give them right arguments, instead of technical gibberish</li><li>generic&#13;
 mapping script: 'map basic' is now much more simplified and &#13;
understandable, and tells you if it captured room name and exits &#13;
correctly</li><li>code editor will now indent with two spaces, and not tabs, when you press Tab (this sounds weird but it's a lot better)</li><li>'About Makers' is now a lot easier to translate</li><li>generic mapping script: 'clear moves' alias now tells you how many commands were removed</li><li>you can now reveal the character password in the Connection screen by pressing a little icon</li><li>GUI.Client, Client.Map downloads will now follow redirects as necessary</li><li>Mudlet's .dat map files can now be loaded from Client.Map as well</li><li>default font size for new profiles is slightly bigger and looks nicer</li><li>stopwatches got a giant overhaul, tons of new functionality</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#showColors">showColors()</a> now sorts colours nicely</li></ul><p><strong>fixed:</strong></p>&#13;
<ul><li>error and debug console fonts are no longer spaced weird</li><li>grey area between trigger error and trigger patterns is fixed</li><li>you can now select a single letter/character ("grapheme" in technical terms)</li><li>trigger highlights can now highlight non-English text fine</li></ul><div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/10/Selection_018.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/10/Selection_018-1024x673.png" width="1024" height="673" /></a></div>&#13;
&#13;
<p> </p>&#13;
&#13;
<div>&#13;
<div>&#13;
<div> </div>&#13;
<div>&#13;
<div>&#13;
<p> </p>&#13;
<p> </p>&#13;
</div>&#13;
</div>&#13;
</div>&#13;
</div><br /><br /><br />]]>
        </description>
    </item>
    <item>
        <title>Mudlet 4.1 – quality improvements all around</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1101/mudlet-4-1-quality-improvements-all-around</link>
        <pubDate>Sun, 08 Sep 2019 10:37:23 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1101@/index.php?p=/discussions</guid>
        <description><![CDATA[<div>&#13;
					&#13;
<p>This is a quality release bringing improvements to Mudlet editor, &#13;
Geyser, while adding MSSP, HTTP POST/PUT/DELETE, and more. Enjoy <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="mudlet-editor-improvements">Mudlet editor improvements</h2>&#13;
&#13;
&#13;
&#13;
<p><a rel="nofollow" href="http://github.com/dicene">dicene</a> pulled his sleeves up and added a fair bit of great improvements to the code editor!</p>&#13;
<ul><li><strong>Alt+E</strong> will now remember the view you last used, instead of always going to the trigger view.</li><li><strong>Alt+E</strong> will now also toggle between the editor and the main window – as an alternative to Alt+Tab or using the mouse</li><li><strong>Ctrl+Tab</strong> and <strong>Ctrl+Shift+Tab</strong> can now be used to jump around the main parts of the Mudlet editor – this helps a lot with keyboard navigation!</li><li>Function autocomplete is now an option in settings</li></ul><p><img alt="" src="https://i.imgur.com/lydvhK0.jpg" width="634" height="267" /></p>&#13;
<div>&#13;
<div></div>&#13;
</div>&#13;
&#13;
&#13;
&#13;
<p>And while not strictly an editor feature, you can now select a &#13;
specific profile tab – just like you can select a specific browser tab –&#13;
 with <strong>Ctrl+#</strong>. So Ctrl+1 will open the first profile, Ctrl+2 the second, and so on.</p>&#13;
<h2 data-id="mssp">MSSP</h2>&#13;
&#13;
&#13;
&#13;
<p>Tamarindo from <a rel="nofollow" href="http://stickmud.com/index.php/Home">StickMUD</a> added support for Mud Server Status Protocol (<a rel="nofollow" href="https://tintin.sourceforge.io/protocols/mssp/">MSSP</a>) in Mudlet! This means that for games that support it, the mssp table (do <strong>lua mssp</strong> to see it) will have all sorts of data that the game reports about itself. </p>&#13;
<p>Are you an admin running a game? Add MSSP support! Are you a player on Mudlet wanting to use it? <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Supported_Protocols#MSSP">See here</a> how to do that.</p>&#13;
<p><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Supported_Protocols#MSSP"><img alt="" src="https://i.imgur.com/OpLNNvV.png" width="391" height="328" /></a></p>&#13;
&#13;
&#13;
&#13;
<p>As well as MSSP, Mudlet will <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:GMCP_Extensions#Automatic_package_installation">now accept JSON for the Client.GUI</a> string – this is something game admins can use to setup a Mudlet interface. Thanks again to Tamarindo for adding that!</p>&#13;
<h2 data-id="improvements-for-custom-uis">Improvements for custom UIs</h2>&#13;
<p><a rel="nofollow" href="https://github.com/demonnic">demonnic</a> added some neat &#13;
features to Geyser labels: you can now align text in them to the left or&#13;
 right of the label, as well as format it with strikeout text! &#13;
insertLink, echoPopup, and insertPopup now have c/d/h variants for &#13;
colouring text too.</p>&#13;
&#13;
&#13;
&#13;
<p><a rel="nofollow" href="https://github.com/vadi2">vadi2</a> managed to crack the &#13;
problem that was affecting Windows releases – if you created opened &#13;
mapper with your Geyser interface together, the latter would look a bit &#13;
weird until you resized it. No more! Both will open up just fine now.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="additional-web-apis">Additional web APIs</h2>&#13;
&#13;
&#13;
&#13;
<p>This one is for coders as well: Mudlet has already supported HTTP GET, and now it supports <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Networking_Functions#postHTTP">POST</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Networking_Functions#putHTTP">PUT</a>, and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Networking_Functions#deleteHTTP">DELETE</a> too! With these you can make Mudlet packages that interact with web services – we look forward to seeing what you <a rel="nofollow" href="https://forums.mudlet.org/viewforum.php?f=6&amp;sid=0e400cd3d384f1c209c72b04429d8c01">come up with</a> <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
&#13;
&#13;
&#13;
<p>Mindful of the privacy aspects of this, as always, all HTTP requests are now logged in the Centra Debug Console:</p>&#13;
<p><img alt="" src="https://wiki.mudlet.org/images/1/14/Downloadfile_privacy_logging.png" width="783" height="53" /></p>&#13;
<h2 data-id="feature-5">Feature 5</h2>&#13;
&#13;
&#13;
&#13;
<p>Feature 5 text</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
&#13;
&#13;
<p>Big thanks to abbradar, demonnic, dicene, keneanung, macjabeth , &#13;
mpconley, SlySven, vadi2, and wsdmatty for making this Mudlet update &#13;
possible! Have you got an itch to scratch about Mudlet? <a rel="nofollow" href="https://wiki.mudlet.org/w/Compiling_Mudlet">Join in</a>.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
<p>We’ve added a ton of improvements in this release, including some neat table functions by <a rel="nofollow" href="https://github.com/macjabeth">macjabeth</a>, so look below for the complete changelog:</p>&#13;
&#13;
&#13;
&#13;
<p><strong>added:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>Alt+E / “Script editor” will now open the same view you had last, instead of Triggers view at all times</li><li>Alt+E now toggles between the Mudlet editor and the main window back and forth</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#calcFontSize">calcFontSize</a>(window_or_fontsize, optional_font_name)</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:GMCP_Extensions#Automatic_package_installation">Client.GUI</a> is now accepted by Mudlet in JSON format as well (this is for game admins)</li><li>Ctrl+Tab and Ctrl+Shift+Tab can now be used to jump around the main parts of the Mudlet editor</li><li><a rel="nofollow" href="https://www.mudlet.org/geyser/files/geyser/GeyserLabel.html#Geyser.Label:echo">Geyser.Label:echo</a> can now align things to ‘left’ and ‘right’, and use ‘strikeout’ text</li><li>insertLink, echoPopup, and insertPopup now have c/d/h variants for colouring text</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Supported_Protocols#MSSP">MSSP</a>&#13;
 data is now available in Lua! Not all games support this, but those &#13;
that do, you’ll be able to get additional data about the game in the &#13;
‘mssp’ table</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Networking_Functions#postHTTP">postHTTP()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Networking_Functions#putHTTP">putHTTP()</a>, and <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Networking_Functions#deleteHTTP">deleteHTTP()</a> – and logging of all requests in the Debug console so you know what scripts are doing</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.keys">table.keys()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.n_filter">table.n_filter()</a>, <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Table_Functions#table.n_flatten">table.n_flatten()</a> for working with tables</li><li>Ctrl+1,2,3,etc now changes between profile tabs (this won’t break your custom keybindings if you have those)</li></ul><p><strong>improved:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>code editor’s autocompletion now has a toggle in settings</li><li>default map save format is now 20 (up from 18). This means maps &#13;
saved by Mudlet 4.1 can’t be read by 2.1 (3.x is OK!) – at this point &#13;
enough people should be off</li><li>insertPopup and echoPopup now accept “main” as an argument</li><li>“default_host” profile is now gone: even faster Mudlet loading!</li></ul><p><strong>fixed:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>‘Copy as image’ now correctly works for Chinese and other 2-character-width languages</li><li>changing formatting in a miniconsole will now take effect right away</li><li>clicking on the timestamp will once again select the entire line (remember you have ctrl+clicking on a line too)</li><li>setBold and other formatting functions will now work on miniconsoles</li><li>setting a 0 width font (a weird font, basically) won’t crash Mudlet</li><li>UIs / Geyser no longer look funny when you first open them <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></li><li>userwindows will now close when you close their profile</li></ul><p> </p>&#13;
<p><img alt="" src="https://i.imgur.com/URIAMOa.png" width="935" height="612" /></p>&#13;
&#13;
&#13;
&#13;
<div></div>&#13;
&#13;
&#13;
&#13;
<p> </p>&#13;
					</div><br />]]>
        </description>
    </item>
    <item>
        <title>MUSH Client Scripting</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/24/mush-client-scripting</link>
        <pubDate>Thu, 18 Oct 2012 17:21:31 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Jorachim</dc:creator>
        <guid isPermaLink="false">24@/index.php?p=/discussions</guid>
        <description><![CDATA[Because everyone else uses those other, sadder clients.<div><br /></div><div>If you need help with it, come here.</div>]]>
        </description>
    </item>
    <item>
        <title>Mudlet: Over two years in making, here is 4.0 for you!</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/1099/mudlet-over-two-years-in-making-here-is-4-0-for-you</link>
        <pubDate>Sun, 04 Aug 2019 08:55:01 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Vadi</dc:creator>
        <guid isPermaLink="false">1099@/index.php?p=/discussions</guid>
        <description><![CDATA[<div>&#13;
					&#13;
<p>2 years and 4 months or in tech speak, nearly 2,000 commits later – Mudlet 4.0 is here! We’ve achieved <a rel="nofollow" href="https://www.mudlet.org/2017/03/mudlet-3-0-final-is-here/">our stated goal</a> to make Mudlet playable internationally; from Spanish to Chinese games <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
<p>There are still minor improvements to do, such as translating the &#13;
splash screen text, but internalisation is work that will never stop and&#13;
 will be always ongoing.</p>&#13;
<h2 data-id="mudlet-patreon">Mudlet Patreon</h2>&#13;
<p>We’ve opened up <a rel="nofollow" href="https://www.mudlet.org/2019/07/announcing-mudlets-own-patreon-page/">a Patreon</a>!&#13;
 All funds raised will be spent on improving the project, so if you like&#13;
 Mudlet, help us out! We’ve got a Special Offer in Patreon until August &#13;
25th: a hand-made, engraved Mudlet wooden pen.</p>&#13;
<h2 data-id="10-year-anniversary">10 year anniversary!</h2>&#13;
<p>We’ve just had our <strong>10 year anniversary</strong>! Our goal, &#13;
just like everybody’s in this genre, is to keep it alive, innovate in &#13;
it, and bring new players in – and we’re aiming for the next 20 of the &#13;
same.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="internationalization-improvements-done-for-4-0">Internationalization improvements done for 4.0</h2>&#13;
<p>Comparing the 3.0 to the 4.0 release, we have put in a ton of work to make Mudlet internalization-friendly:</p>&#13;
&#13;
&#13;
&#13;
<h4 data-id="character-display">Character display</h4>&#13;
<p>Mudlet <a rel="nofollow" href="https://www.mudlet.org/2017/06/mudlet-3-2/">can now display</a> Spanish, Italian, Russian, Chinese and other text fine:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_364.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_364-300x85.png" width="300" height="85" /></a></p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_367.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_367-300x85.png" width="300" height="85" /></a></p>&#13;
<p>Text selection also works correctly for Chinese and other languages &#13;
where every monospace character doesn’t strictly occupy the space same &#13;
space as 1 Latin character. Chinese characters, for example, occupy 2.</p>&#13;
<h4 data-id="server-encoding">Server encoding</h4>&#13;
<p>As expected, you can now choose everything from UTF-8, GBK, to KOI8 and more as an available server encoding:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_370.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_370-300x92.png" width="300" height="92" /></a></p>&#13;
<h4 data-id="spellchecking">Spellchecking</h4>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/Workspace-1_373.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/Workspace-1_373-278x300.png" width="278" height="300" /></a></p>&#13;
<p>Spellchecking: yep, it’s here! Works for multiple languages; can be &#13;
set to be for the profile only or shared Mudlet-wide, and you can use &#13;
the <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:String_Functions#spellCheckWord">Lua API with it</a>, too!</p>&#13;
<h4 data-id="utf8-lua-string-functions">utf8.* Lua string functions</h4>&#13;
<p>All data your triggers, scripts, and everything else is encoded in &#13;
utf8 – no matter what server encoding. Since Lua’s standard string &#13;
library works just Latin only, we have <a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Unicode#Scripting_with_Unicode">added utf8</a> equivalents of relevant functions so your string.match can work with Russian, Chinese text.</p>&#13;
<h4 data-id="triggers-aliases-etc-work-for-international-text">Triggers, aliases, etc work for international text</h4>&#13;
<p>As mentioned above, we’ve updated alias matching and trigger matching&#13;
 to work with international text! OK in all fairness, this change was &#13;
the easiest of them all as it was a simple switch.</p>&#13;
<h4 data-id="windows-users-with-non-latin-usernames">Windows users with non-Latin usernames</h4>&#13;
<p>This issue was not a simple switch, unfortunately. An issue specific &#13;
to Windows, if your account on the computer had non-Latin characters &#13;
such as öäå, Mudlet would not load correctly. This is now fixed; &#13;
everyone can run Mudlet!</p>&#13;
<h4 data-id="finally-the-interface">Finally, the interface</h4>&#13;
<p>And of course – the pièce de résistance – you can now play Mudlet itself with many different languages!</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_374.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_374-300x179.png" width="300" height="179" /></a></p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_375.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_375-300x179.png" width="300" height="179" /></a></p>&#13;
<p>The interface is fully translated into:</p>&#13;
<ul><li>German – big thanks to <a rel="nofollow" href="https://github.com/Kebap/">Leris</a> for doing the bulk of the translation</li><li>Italian – big thanks to wiploo from <a rel="nofollow" href="http://www.clessidra.it/clessidra/pages/basic/news.asp">Clessidra.it</a> for doing the bulk of the translation</li><li>Russian – big thanks to <a rel="nofollow" href="https://github.com/vadi2/">vadi2</a> for doing the same</li></ul><h2 data-id="custom-profile-icons">Custom profile icons</h2>&#13;
&#13;
&#13;
&#13;
<p>Now specifically back to features introduced from the last 3.22.1 update to 4.0, we have done the following:</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/61579789-0eedd100-ab0a-11e9-8191-8c9823117224.gif"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/61579789-0eedd100-ab0a-11e9-8191-8c9823117224-300x139.gif" width="300" height="139" /></a></p>&#13;
<p>You can give your custom profiles – a custom icon! Size it to 120×30 for it to look good.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="tabs-in-display">Tabs in display</h2>&#13;
&#13;
&#13;
&#13;
<p>Mudlet is now a lot better with tabs! This is for compatibility with &#13;
older games, where they’re used for formatting and in-game source code &#13;
editing.</p>&#13;
<p>If you’re building new code and would like to align text, use spaces &#13;
instead: they’ll give you complete control of how the text will look &#13;
like in the end, unlike tabs.</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="make-mudlet-org-snapshots">make.mudlet.org/snapshots</h2>&#13;
&#13;
&#13;
&#13;
<p>Mudlet’s Continuous Integration (CI) process is highly automated: &#13;
every improvement or feature is checked for compile errors on multiple &#13;
platforms and a test Mudlet version just for that change is &#13;
automatically created for Windows, macOS, and Linux. This means you can &#13;
even improve Mudlet’s code online, without installing anything, and get &#13;
your own build of Mudlet to test the change!</p>&#13;
<p>We’ve previously put up those test versions of Mudlet on transfer.sh &#13;
and as Appveyor artifacts, which were sometimes flakey, so our very own <a rel="nofollow" href="https://github.com/itsTheFae/">TheFae</a> has improved the situation and custom-built <a rel="nofollow" href="https://make.mudlet.org/snapshots/">https://make.mudlet.org/snapshots</a> for us! Every build has handy links to the relevant Github commits and if available, the PR as well.</p>&#13;
<p>If you’d like to setup a copy of this website for your own needs, feel free! Just like Mudlet, <a rel="nofollow" href="https://github.com/Mudlet/ci-snapshots">it is open-source</a> as well <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
<h2 data-id="proxy-support">Proxy support</h2>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/61578615-24f39580-aafa-11e9-8039-302bb970823a.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/61578615-24f39580-aafa-11e9-8039-302bb970823a.png" width="882" height="109" /></a><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/61578655-c11d9c80-aafa-11e9-91d4-ab77f7a715ea.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/61578655-c11d9c80-aafa-11e9-91d4-ab77f7a715ea.png" width="760" height="60" /></a></p>&#13;
<p>You can now connect to your game using a SOCKS5 proxy!</p>&#13;
<h2 data-id="copy-profile-settings">Copy profile settings</h2>&#13;
<p>You’ve worked hard to create your perfect, personal profile: the &#13;
correct command separator, perfect colours, and just the right font size&#13;
 – and now you want to try a new game. Copying the existing profile will&#13;
 bring over all of the scripts so what do you do?<a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/Workspace-1_376.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/Workspace-1_376.png" width="380" height="138" /></a>Yep, we’ve got a button for that.</p>&#13;
<h2 data-id="improved-menubar">Improved menubar</h2>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_377.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_377-300x169.png" width="300" height="169" /></a></p>&#13;
<p>We’ve added the Disconnect and Package Exporter buttons in the &#13;
menubar, and made Discord be the primary “help with Mudlet” button. This&#13;
 brings it to feature parity with the toolbar, so you can pick which one&#13;
 you’d like to have.</p>&#13;
<p>IRC will stay as there are systems out there that make good use if it.</p>&#13;
<h2 data-id="emoji-now-in-colour">Emoji now in colour</h2>&#13;
<p>On macOS, Linux, and Windows 10 Mudlet will now show emoji in colour!</p>&#13;
<p><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/Workspace-1_383.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/Workspace-1_383.png" width="775" height="125" /></a></p>&#13;
<p>Windows 7 and 8 unfortunately aren’t supported due to a Windows limitation.</p>&#13;
<p>Note that very few games support emoji’s out there – but you can always use echo(“Cool 😄\n”) in your scripts!</p>&#13;
&#13;
&#13;
&#13;
<h2 data-id="mudlet-now-in-c-17">Mudlet – now in C++17</h2>&#13;
<p>This is pretty techy news, but Mudlet is now made in C++17! Modern &#13;
C++ is nothing like the traditional language you’ve heard of, and this &#13;
update brings awesome things like <a rel="nofollow" href="https://www.codingame.com/playgrounds/2205/7-features-of-c17-that-will-simplify-your-code/introduction">structured bindings</a>. Are you interested in trying it out? Mudlet is open for your PRs <img src="http://forums.imperian.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>&#13;
<h2 data-id="translation">Translation 🌟</h2>&#13;
<p>Big thanks to Marco “M0lid3us” Tironi (wiploo) from <a rel="nofollow" href="http://www.clessidra.it/clessidra/pages/basic/news.asp">clessidra.it</a> for putting in a <em>ton</em> of effort into the Italian translation – it is now complete and has a 🌟!</p>&#13;
<p><a rel="nofollow" href="http://www.clessidra.it/clessidra/pages/basic/news.asp"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/clessidra.jpg" width="120" height="30" /></a></p>&#13;
<p>The Russian translation has also been updated to the 🌟 level as well, joining the German translation on the podium. Can you <a rel="nofollow" href="https://wiki.mudlet.org/w/Translating_Mudlet">help us</a> with your language?</p>&#13;
<h2 data-id="credits">Credits</h2>&#13;
&#13;
&#13;
&#13;
<p>This is a huge update. Big thanks to demonnic, imgbot, keneanung, Leris, SlySven, and vadi2 for making it happen!</p>&#13;
<p>Thanks to all translators (12!) in this update: beckham894, Cyber &#13;
Nerd (cybernerd.us), Guilherme Campos (guicampos), hjdhnx, keneanung, &#13;
Leris, lostnow, Marco “M0lid3us” Tironi (wiploo), Matthieu (Jack_potta),&#13;
 Shoryu Shin (shoryu49), vadi2, and vingi.</p>&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
<h2 data-id="changelog">Changelog</h2>&#13;
<p>We’ve added far too much to list in the post, so have a look through the detailed changelog below:</p>&#13;
&#13;
&#13;
&#13;
<p><strong>added:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>Copy profile (settings only) – handy for bringing over existing preferences to a new profile</li><li>Disconnect button in the menu of the Connect button</li><li>Discord is now the preferred way to get help; Discord is now &#13;
available as a button. IRC is still there, people use it in their &#13;
systems</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:UI_Functions#getBorderSizes">getBorderSizes()</a> as well as getBorderTop(), getBorderRight(), getBorderBottom(), and getBorderLeft()</li><li>package manager, module manager, and package exporter all have buttons in the menubar now</li><li>Patreon supporters tab! See <a rel="nofollow" href="https://patreon.com/mudlet">https://patreon.com/mudlet</a></li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Lua_Functions#setBorderSizes">setBorderSizes(top, right, bottom, left)</a></li><li>SOCKS5 proxy support for connecting to games / HTTP downloads</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Mudlet_Object_Functions#tempTimer">tempTimers</a> now have a repeating option (keep firing until you kill them)</li><li>you can now give your profile a custom icon in the list</li></ul><p><strong>improved:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>60-200ms faster profile load and lower memory use (code formatter is now loaded on demand)</li><li>C++17 is now used for making Mudlet. If you like the sound of that, come join us <img src="http://forums.imperian.com/resources/emoji/wink.png" title=";)" alt=";)" height="20" /></li><li>command separator for new profiles is now ;; (remember you can now copy settings from existing profile)</li><li>couple of long tooltips for map copy are now trimmed</li><li>emoji’s will now be displayed in colour in Linux and Windows 10 &#13;
(macOS already had them, Windows 7 not possible; Windows limitation)</li><li>faster text rendering of normal characters (plain ASCII)</li><li>feedTriggers now works independent of your encoding</li><li>full path to the sound file is now shown as a tooltip in the trigger editor</li><li>introduction texts for triggers/aliases/etc are now more thorough</li><li>Mudlet updater and code editor texts are now possible to be translated</li><li>Reconnect button and reconnect() will now connect to the last server, even when you use connectToServer()</li></ul><p><strong>fixed:</strong></p>&#13;
&#13;
&#13;
&#13;
<ul><li>‘About’ button in menubar won’t show text when you’ve turned that off</li><li>Chinese Linux users can now type in Chinese in Mudlet</li><li>clicking on a search result will now correctly take you to the location in the code</li><li>creating a new trigger won’t show an error about no patterns in it right away</li><li>Ctrl+Delete works in the input line to delete by word, as well as other shortcuts</li><li><a rel="nofollow" href="https://wiki.mudlet.org/w/Manual:Mudlet_Object_Functions#permGroup">permGroup()</a> will properly create folders</li><li>spellchecker now works for everyone, including Windows users with special characters in their name</li><li>tabs now show correctly in Mudlet</li><li>text selection works right for Chinese text</li></ul><p>Here’s a snapshot of all the work that went just into Mudlet’s code alone (this excludes work done on the snapshots service):</p>&#13;
&#13;
&#13;
&#13;
<div><a rel="nofollow" href="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_381.png"><img alt="" src="https://www.mudlet.org/wp-content/uploads/2019/08/Selection_381.png" width="827" height="470" /></a></div>&#13;
&#13;
&#13;
&#13;
<p>It’s a lot! Want to improve something in Mudlet? <a rel="nofollow" href="https://discord.gg/kuYvMQ9">Join in</a>!</p>&#13;
					</div><br /><br /><br /><br /><br /><br />]]>
        </description>
    </item>
    <item>
        <title>Free Full Gui (Ported from Achaea) (Mudlet)</title>
        <link>http://forums.imperian.com/index.php?p=/discussion/736/free-full-gui-ported-from-achaea-mudlet</link>
        <pubDate>Tue, 26 Apr 2016 15:46:44 +0000</pubDate>
        <category>Scripting</category>
        <dc:creator>Shinzu</dc:creator>
        <guid isPermaLink="false">736@/index.php?p=/discussions</guid>
        <description><![CDATA[Hi there,<div><br /></div><div>A friend started playing this game and wanted a bit of a GUI that they were used to, so I asked <a rel="nofollow" href="http://forums.achaea.com/profile/Zulah">@Zulah on Achaea</a> for his permission to port his GUI, and he kindly gave it.</div><div><br /></div><div>This is very much so in it's beginning stages (this is why there are spaces in places), but from my testing it appears to work (there are disabled features that I may port in the future, or someone can pick it up and run with it.)</div><div><br /></div><div>Here's a download link: <a href="https://github.com/jtokarchuk/Imperian-Scripts/blob/master/ZulahGUI.zip?raw=true" rel="nofollow">https://github.com/jtokarchuk/Imperian-Scripts/blob/master/ZulahGUI.zip?raw=true</a></div><div><br /></div><div>Info:</div><div><br />- You can edit the chat capture in triggers, I likely have things wrong as I don't know a lot about this game.</div><div>- If something breaks it, you can post here, and I will fix it when I can. I work a lot of hours so don't expect instant.</div><div>- Anyone can pick this up and run with it, just please fully accredit zulah for his work.</div><div><br /></div><div>The GUI is activated by using the alias 'gui'</div><div><br /></div><div>image:</div><div><br /></div><div><img src="http://i.imgur.com/hZiuiKM.png" alt="image" /><br /></div><div><br /></div><div>Enjoy.</div>]]>
        </description>
    </item>
   </channel>
</rss>
