Page 1 of 1
Loathing map actions mesh limits
Posted: Sat Nov 28, 2009 11:39 am
by Rama
What is the actual limit for map actions in Loathing 1.7? I start running into problems right around 800 to 830 map actions. The actions start coming up as <unnamed action> with Type set to NONE.
If I quite and restart Loathing, I can get it to take a few more before I get these problems again.
It says in Mesh Limits for 1.7 that the max is 1024 map actions. So what is the actual limit?
Thanks
Re: Loathing map actions mesh limits
Posted: Sat Nov 28, 2009 11:48 am
by haravikk
It probably should be 1024 then, this sounds like it may be an issue with Loathing not supporting the new limit fully, rather than the limit increase not being implemented.
You are using the 1.7 version of Loathing I expect? What platform, Mac or PC?
Re: Loathing map actions mesh limits
Posted: Sat Nov 28, 2009 1:27 pm
by Rama
I'm running Loathing 1.7 on Windows XP.
Re: Loathing map actions mesh limits
Posted: Sat Nov 28, 2009 2:53 pm
by Pyro
Open that mesh in Loathing and on the menu go to Mesh and click on Mesh Limits. A window should appear with the current values your map is on. The bottom one says MA params size. Are you close to that limit? Sometimes you can reach this limit before the 1024 map actions limit, and in other situations it is the other way around.
Re: Loathing map actions mesh limits
Posted: Sat Nov 28, 2009 5:09 pm
by Graydon
There are ways to get the maximum number of map actions, but you have to be extremely clever with keeping your MA Param Size value down.
I think the limit has always been 1024? Most people typically start running into problems around the 700-800 MA mark, depending how complex the actions are.
Every character typed into an action counts towards 1 byte incremements in your MA param sizes. So say your tally is at 35000, and you add "TUNI.Is Player Close To Thrall B?", even without putting ANY parameters into that Map Action, you've just added 32 bytes to your 35000. It's now 35032.
As an example of param saving, here's how you could re-work it: "TUNI.At TB?" thus using only 10 extra bytes. As long as you can keep track of your naming system, you may be able to squeeze more map actions out of your mesh simply by shortening names on actions.
Furthermore, any parameters you add to an action, and any indicators for those params... for example a Flag + a true or false indicator, would add param size values for every byte/character displayed in loathing. This is how a map with only 700 complicated map actions can be hitting the limit, where a different map with 950 simple map actions can be hitting the limit.
Gluck.
Re: Loathing map actions mesh limits
Posted: Sat Nov 28, 2009 5:54 pm
by Rama
Been wondering what those MA parameters were. Guess I have some renaming to do. Thanks for the help!
Please excuse any double post, don't know if the first one went through.
Re: Loathing map actions mesh limits
Posted: Wed Dec 02, 2009 11:54 pm
by A-Red
Hey, did you have any luck getting the map to work?
If you have a strong grasp of scripting, you can usually find alternate ways to script things that use fewer lines. I don't know what your script looks like, so for the most part I can't tell you what those ways are. One really good way to conserve map actions is to use Mungers, which allow you to actually alter parameters of actions mid-level, so that you can re-use the same actions for different purposes. There are tricks to it, but I have a scripting tutorial on the Tain that goes into detail on the subject.
Re: Loathing map actions mesh limits
Posted: Sun Dec 06, 2009 1:25 pm
by Rama
Hi A-Red,
Yeah, I got it working fine. There is plenty I can cut out to give me all the MA parameters I need. Just been busy with other things, so playing with Myth has been put on the sidelines.
And mungers are awesome! Make scripting so much easier in my opinion. Yeah, I figured out how to use them by looking at scripting on other maps. Most of my scripts are just modifications to other peoples' scripts. Makes debugging so much easier, considering my limited knowledge of scripting! And I'll have to check out your script guide, see what other cool stuff loathing can pull off.