Introducing: Mantis for Lusternia - Beta Release 5.0.1

Share your scripts and packages with other Mudlet users.
User avatar
demonnic
Posts: 886
Joined: Sat Dec 05, 2009 3:19 pm

Re: Introducing: Mantis for Lusternia - Beta Release 4.2

Post by demonnic »

you don't want to send \n... add it to the beginning of your echo:
Code: [show] | [select all] lua
    setBold(true)
    setBgColor(255,204,204)
    setFgColor(96,0,0)
    echo("\nDEMENTIA!")
    resetFormat()

User avatar
Vadi
Posts: 5042
Joined: Sat Mar 14, 2009 3:13 pm

Re: Introducing: Mantis for Lusternia - Beta Release 4.2

Post by Vadi »

echo("\nDEMENTIA!")

Ilithyia
Posts: 43
Joined: Wed Mar 10, 2010 11:04 pm

Re: Introducing: Mantis for Lusternia - Beta Release 4.2

Post by Ilithyia »

Ok, thanks for your patience guys.

Along, the same vein. Is there any way to increase the font size? The only thing I could find in the Manual is "setMiniConsoleFontSize" which is for mini consoles, I think, and the messages I'm sending myself are within my main buffer.

User avatar
Vadi
Posts: 5042
Joined: Sat Mar 14, 2009 3:13 pm

Re: Introducing: Mantis for Lusternia - Beta Release 4.2

Post by Vadi »

Not of arbitrary chunks of text, no. You can globally increase the font size in settings.

For warnings and etc, special labels or miniConsoles are better suited.

Ilithyia
Posts: 43
Joined: Wed Mar 10, 2010 11:04 pm

Re: Introducing: Mantis for Lusternia - Beta Release 4.2

Post by Ilithyia »

Vadi wrote:Not of arbitrary chunks of text, no. You can globally increase the font size in settings.

For warnings and etc, special labels or miniConsoles are better suited.

Hmm ... alternatively, I think maybe labels would work out better. I'm still learning combat in Lusternia, so most of the time I'm so panicked during fights that I never remember what to do. I wanted to give myself messages triggered upon certain events like "Move!" or "Use this skill here!". I think createLabel() will work out perfectly for that, like you said.


For a different project, maybe I could create a mini-console that will list all the afflictions I have in my queue. This could help me figure out where the system is failing to add or remove some afflictions. Though, I think mini-consoles might be a bit advanced for me at this stage. :lol:

Ilithyia
Posts: 43
Joined: Wed Mar 10, 2010 11:04 pm

Re: Introducing: Mantis for Lusternia - Beta Release 4.2

Post by Ilithyia »

I hope you guys aren't tired of me yet. Haha.

So I downloaded the latest Mudlet, and when I used "mshow" to see the health, mana, and ego limits for the Mantis Autosipper, it looks like this:

<0,0,128>| <128,128,0>Mantis Curing System <0,0,128>------------------------------------------------
---|<0,0,128>| <192,192,192>Sipping health: <0,179,0>2340<192,192,192> mana: <0,179,0>3600<192,192,
192> ego: <0,179,0>3093 <0,0,128>|<0,0,128>|--------------------------------------------------------
-----------------|

Did I forget to turn on some preference or something?

User avatar
Vadi
Posts: 5042
Joined: Sat Mar 14, 2009 3:13 pm

Re: Introducing: Mantis for Lusternia - Beta Release 4.2

Post by Vadi »

The function should be changed from using cecho to decho.

Ilithyia
Posts: 43
Joined: Wed Mar 10, 2010 11:04 pm

Re: Introducing: Mantis for Lusternia - Beta Release 4.2

Post by Ilithyia »

What's the difference between echo, cecho, and decho?

User avatar
demonnic
Posts: 886
Joined: Sat Dec 05, 2009 3:19 pm

Re: Introducing: Mantis for Lusternia - Beta Release 4.2

Post by demonnic »

echo is the base function. By default, it does not alter the formatting of the text. You have to do that using setFgColor() and other functions.

And so helper functions were written.

cecho: Allows you to change colors by name. cecho("<blue>This is blue on black<red:green>This is red txt on green background<reset> Back to normal white/grey on black")

decho: The same, but instead you use RGB. <0,0,255> would be all blue, for instance. A much wider range of colors is accessible this way, but it's more difficult for most to write colors in rgb.

hecho: As above, but hexadecimal instead of RGB decimal.

Ilithyia
Posts: 43
Joined: Wed Mar 10, 2010 11:04 pm

Re: Introducing: Mantis for Lusternia - Beta Release 4.2

Post by Ilithyia »

Before I mess with the guts of Mantis, I want to make sure that my understanding of how it works is correct. So, please confirm or clarify my understanding of its functions. There are some lines I don't understand, and I'll point them out. Thanks everyone for helping me to learn!

Curing System

Code: Select all

herbQueue = {}
salveQueue = {}
elixirQueue = {}
pipeQueue = {}
balQueue = {}

-- My Understanding: Establishes the queues as tables
Add Affliction - Herb

Code: Select all

function addAff_herb(aff)
	if herbQueue[aff] ~= true then
		herbQueue[aff] = true
		cureAffs_herb()
	end
end

-- My understanding: Once a trigger calls the addAff_herb(affliction_variable) function, it'll check to see if the affliction_variable is already in the herbQueue table. If the herbQueue table does not have the affliction_variable, then it'll add it and then run the cureAffs_herb() function.
Herb Queue

Code: Select all

function cureAffs_herb()
	for _,v in pairs(herbCure) do
		if herbQueue[v.name] and herbBalance == 1 then
			send(v.cure)
			herbBalance = 0.5
			tempTimer(2, [[if mantis_herbBalance == 0.5 then mantis_herbBalance = 1;cureAffs_herb()]])
		end
	end
end

herbCure = {

{name = "slickness", cure = "outr calamus; eat calamus"},

}

-- My understanding: To tell you the truth, my understanding of this script is a bit shaky. In a general sense, I understand that if I have herbBalance and the affliction_variable is present in the herbQueue, that it'll send the corresponding cure and change the herbBalance to 0.5. However, I really don't understand the line "for _,v in pairs(herbCure) do" and I don't understand the "v.whatever" business. I don't understand why the herbBalance is set to 0.5 and I don't understand this line "tempTimer(2, [[if mantis_herbBalance == 0.5 then mantis_herbBalance = 1;cureAffs_herb()]])" 
Remove Affliction - Herb

Code: Select all

function remAff_herb(aff)
	herbQueue[aff] = false
	cureAffs_herb()
end

-- My understanding: Once a trigger calls the remAff_herb(affliction_variable) function, it'll remove the affliction_variable from the queue and run the cureAffs_herb() function again to cure the other afflictions still in the queue.

Thanks for all the patience while I'm learning the ropes!

Post Reply