Mudlet 'Plugins'

by Anisu

Back to Mechanic's Corner.

Unknown2010-10-17 15:59:13
QUOTE (Vadi @ Oct 17 2010, 04:30 PM) <{POST_SNAPBACK}>
You could do:
CODE
local moduleId = matches


Aye, this is very true. I have picked up some bad habits along the way, for sure, heh.

I suppose I am just so used to having a huge initialisation script for my projects.
Vadi2010-10-25 03:37:47
Simple script that demonstrates how to capture data from a list in Mudlet. Corresponding screencast that demonstrates how it was made (5min).
Neos2010-10-30 02:16:46
I'm still a bit of a novice when it comes to coding, but here's a script I made with the help of Demonnic and Vadi to track kills and deaths.
Will have to get it from here. Kept having problems uploading on here.
New look. Tracks Arena kills/deaths separately from regular kills/deaths. May be missing some lines.
Unknown2010-11-03 18:43:02
Updated empath stuff!

Been playing around with this the last couple of days and got thinking. Lots.

Script now handily stores a lot of information on the state of each module into handy Lua tables for easy access and reference.

Stores:

1. Module ID.
2. Module name.
3. Damage Level.
4. Person manning the module.
5. Whether it is infected or not.

Enjoy!

**NOTE** The regular expression has changed a lot, so do not forget to replace that also.

CODE
^\\"+(\\d+)\\"\\s+(+)\\s+\\d+\\%\\s+\\/\\s+(+) damage( \\+\\])?( PARASITE!)?$


CODE
system.aetherModules = system.aetherModules or {}

system.aetherModules] = {name = matches:gsub("%s*$",""), damage = matches, info = matches:gsub("]","")}

if matches ~="" and matches then
    local infectedPerson = matches:gsub("]","")
    send("shipt Slivven on " .. matches .. " at " .. infectedPerson .. "!")
    elseif matches == "" and matches then
        local infectedModule = matches:gsub("%s*$","")
        send("shipt Slivven on " .. infectedModule .. "!")
end
Anisu2010-11-03 23:37:18
edit: deleted cause new version is up and it was so long
Vadi2010-11-04 00:45:20
to many? smile.gif
Unknown2010-11-06 13:03:50
Just thought I would post a small update to my own empath stuff. I am in the process of utilising an array for easier access to the specific module data.

Until now, I had just a ugly hacked together script that spammed module healing (gagging the fail messages) but my new version will attempt to heal just those modules that are actually damaged. (Amongst other nicities.)

CODE
^\\"(+)(\\d+)\\"\\s+(+)\\s+\\d+\\%\\s+\\/\\s+(+) damage( \\+\\])?( PARASITE!)?$


CODE
system.aetherModules = system.aetherModules or {}

if matches == "" or matches == nil then
    matches = "unmanned"
end

system.aetherModules .. matches] = {moduleIdentifier = matches:gsub("%s*$",""), damage = matches, name = matches:gsub("]","") or "unmanned", infectionStatus = matches or "healthy"}

if matches ~="" and matches then
    local infectedPerson = matches:gsub("]","")
    send("shipt Slivven on " .. matches .. " at " .. infectedPerson .. "!")
    elseif matches == "" and matches then
        local infectedModule = matches:gsub("%s*$","")
        send("shipt Slivven on " .. infectedModule .. "!")
end
Okin2010-11-08 05:54:30
QUOTE (Rampart @ Nov 6 2010, 11:33 PM) <{POST_SNAPBACK}>
Just thought I would post a small update to my own empath stuff. I am in the process of utilising an array for easier access to the specific module data.

Until now, I had just a ugly hacked together script that spammed module healing (gagging the fail messages) but my new version will attempt to heal just those modules that are actually damaged. (Amongst other nicities.)

CODE
^\\"(+)(\\d+)\\"\\s+(+)\\s+\\d+\\%\\s+\\/\\s+(+) damage( \\+\\])?( PARASITE!)?$


CODE
system.aetherModules = system.aetherModules or {}

if matches == "" or matches == nil then
    matches = "unmanned"
end

system.aetherModules .. matches] = {moduleIdentifier = matches:gsub("%s*$",""), damage = matches, name = matches:gsub("]","") or "unmanned", infectionStatus = matches or "healthy"}

if matches ~="" and matches then
    local infectedPerson = matches:gsub("]","")
    send("shipt Slivven on " .. matches .. " at " .. infectedPerson .. "!")
    elseif matches == "" and matches then
        local infectedModule = matches:gsub("%s*$","")
        send("shipt Slivven on " .. infectedModule .. "!")
end


How do you work this into the system above?
Unknown2010-11-08 08:23:26
Simple answer is, you don't.

It was never intended that way and never will be. The code provided by myself is just a small part of my empath handling and comes 'as is'

Ileein2010-11-09 22:05:20
Hmm. I don't suppose there's any chance the aethercraft stuff could be put into an XML file for importing? *hopeful*
Unknown2010-11-10 10:46:49
QUOTE (Ileein @ Nov 9 2010, 10:05 PM) <{POST_SNAPBACK}>
Hmm. I don't suppose there's any chance the aethercraft stuff could be put into an XML file for importing? *hopeful*


I will be releasing an entire utility system very soon. There are still a few issues needing ironing out and few people will be able to use it as I have utilised a lot of the m&m API stuff.

Maybe, just maybe later today, I suppose I could make a very alpha stage archive available. It will all depend if I can get a pilot willing to risk death as there sure as hell is not a full crew around right now. tongue.gif
Okin2010-11-10 13:05:08
I'm excited! What do you mean by 'entire utility system'? biggrin.gif
Unknown2010-11-10 17:53:56
QUOTE (Okin @ Nov 10 2010, 01:05 PM) <{POST_SNAPBACK}>
I'm excited! What do you mean by 'entire utility system'? biggrin.gif


So far:

* Full auto influencer (Org specific included.)
* Auto harvester
* Channel capture.
* Bard package. (Auto-refrain/rewield/song tracking etc.)
* Auto basher.
* Aetherhunt package. (Excellent empath scripts/standard gunner/siphoner) Includes little nicities such as shockwave tracking timers.
* Auto learner.
* Death tracker (Your kills and those who killed you.) Option of adding a short sentence to each individual one. (Why x was killed/Notes on a slaying etc.)
* Org specific name highlighter.
* Small bit of domoth stuff.
* Mapping functions. (Needs Mudlet pre6)
* Demi remaining xp. (Calculates the -rough amount- of xp gained from mobs and advises of how many of that type of mob is still needed to both level and reach demi.) *Inaccurate till I can get a full list of mobs and the xp gained*

In fact, most of this needs the pre-release as a lot relies on GMCP.
Neos2010-11-10 18:01:22
QUOTE (Rampart @ Nov 10 2010, 12:53 PM) <{POST_SNAPBACK}>
So far:

* Full auto influencer (Org specific included.) want
* Auto harvester can't ever use
* Channel capture. don't need
* Bard package. (Auto-refrain/rewield/song tracking etc.) won't ever use
* Auto basher. possibly
* Aetherhunt package. (Excellent empath scripts/standard gunner/siphoner) Includes little nicities such as shockwave tracking timers. want
* Auto learner. depends
* Death tracker (Your kills and those who killed you.) Option of adding a short sentence to each individual one. (Why x was killed/Notes on a slaying etc.) eye
* Org specific name highlighter. no need
* Small bit of domoth stuff. depends
* Mapping functions. (Needs Mudlet pre6) depends
* Demi remaining xp. (Calculates the -rough amount- of xp gained from mobs and advises of how many of that type of mob is still needed to both level and reach demi.) *Inaccurate till I can get a full list of mobs and the xp gained* depends

In fact, most of this needs the pre-release as a lot relies on GMCP. <-- I fail at gmcp. sad.gif You'll need to help me out here. I don't explicitly use atcp for much, but I don't want my scripts bugging out on me.

Unknown2010-11-10 18:36:51
Yeah, totally stole your idea, but I went a step further and made a full array for the storing (Which is what gives the option of storing a string for each 'kill')

Plus...Mine LOOKS awesome. tongue.gif



+--------- Slain Tracking --------------------------------------------------+
| |
| a monstrous lobstrosity a mighty quinotaur |
| |
+------------ Slain by -----------------------------------------------------+
| |
| Miciah (A) a monstrous lobstrosity |
| |
+---------------------------------------------------------------------------+

Miciah: Wednesday, 10th November 2010 at 7:02:37 am - Testing skills in the arena. ( He's one ugly dude tongue.gif )

Forums broke the formatting slightly, but you get the idea.

Neos2010-11-10 18:58:11
QUOTE (Rampart @ Nov 10 2010, 01:36 PM) <{POST_SNAPBACK}>
Yeah, totally stole your idea, but I went a step further and made a full array for the storing (Which is what gives the option of storing a string for each 'kill')

Plus...Mine LOOKS awesome. tongue.gif



+--------- Slain Tracking --------------------------------------------------+
| |
| a monstrous lobstrosity a mighty quinotaur |
| |
+------------ Slain by -----------------------------------------------------+
| |
| Miciah (A) a monstrous lobstrosity |
| |
+---------------------------------------------------------------------------+

Miciah: Wednesday, 10th November 2010 at 7:02:37 am - Testing skills in the arena. ( He's one ugly dude tongue.gif )

Forums broke the formatting slightly, but you get the idea.

Give. Nao. Mines gave the info it was made to give. I moved onto other projects after finishing it up, though I have had to fix a few problems I've had. But it'd be nice to expand on it
Unknown2010-11-10 19:07:46
QUOTE (AquaNeos @ Nov 10 2010, 06:58 PM) <{POST_SNAPBACK}>
Give. Nao. Mines gave the info it was made to give. I moved onto other projects after finishing it up, though I have had to fix a few problems I've had. But it'd be nice to expand on it


*narrow*
Vadi2010-11-10 23:20:34
What an attitude
Lorina2010-11-11 04:05:47
Yikes! When did Neos grow balls! tongue.gif
But very cool, Rampart! I am sure a lot of people who are mudlet users will want to keep your little thing on hand! I know I will want to!
Neos2010-11-11 04:21:57
QUOTE (Lorina @ Nov 10 2010, 11:05 PM) <{POST_SNAPBACK}>
Yikes! When did Neos grow balls! tongue.gif
But very cool, Rampart! I am sure a lot of people who are mudlet users will want to keep your little thing on hand! I know I will want to!

Why are people always trying to put me down? sad.gif