Jump to content
Eternal Lands Official Forums
vinoveritas

In Game way of creating User Menu

Recommended Posts

This game has the amazing feature of User Menu's which i totally like and use.

After i told someone today about this feature, and it told them that you had to create the file from hand outside the game and copy it to the right location, the before enthusiastic view of the feature, became very cold, and i began to think, that there are maybe a lot of people out there, who neighter know about how to create the menu file, nor where to put it. so i thought what would happen if we would create a right mousclick command, that would open a writeable noteice like window, in which people could write the menu file text, press save and have it so loaded into the user menu bar for testing.

I think that would enhance the usage of that fantastic system. (this would require that there would be a short tutorial about the user menu in the help section of help so)

Edited by vinoveritas

Share this post


Link to post
Share on other sites

The idea is good, but for it to work we'd also have to figure another place to store those .menu files.

 

The installation folder won't work if there's an ingame option to do it, those who don't run the game with administrator rights would be unable to use it anyway (and I see no reason why anyone would need to run EL with admin rights).

I guess they could be moved to the normal user data folder in My Documents or ~/.elc (I don't know what the original reason to put them in the installation folder was so I can't say if they're so simple to move.)

 

In general it would be a good thing if the undocumented but very useful features like this (and sound warnings :)) found their way ingame.

Share this post


Link to post
Share on other sites

The files are already stored in the same place as the users personal settings. For Linux that is usually "HOME/.elc/main" but for everyone, its what the client tells you on start up. I have a list of extra stuff to do for the user menus. One idea is to add an edit/create option that launches your default text editor to help edit/create the files. I didn't really want to add a way to edit the file directly in-game, that would be a lot of work considering a text editor will do a much better job. I guess we could use something like the notepad though....

 

Creation is pretty simple though. Enable the "Enable user menus" setting in the HUD tab of the options window. If you hover your mouse over that option you get the following text:

 

Create .menu files in your config directory. First line is the menu name. After that, each line is a command using the format "Menus Text||command". Prompt for input using "command text <prompt text>". A line can include multiple commands.

 

Once you've created a menu file or two, there's a right-click option to reload the menu files without restarting the client.

 

He're an example file I have saved as "$HOME/.elc/main/Info.menu":

Info
Day||#day||#date||#time
Monster Count||#il
Server Stats||#stats
Version||#ver
GLinfo||#glinfo
Ping||#ping
||
Exp||#exp
Armour||#arm
Perks||#list_perks
Gods||#list_gods
Ignores||#ignores
||
Currently Reading||#research
Music||#current_song
||
Knowledge...||#know <Filter Text>

Edited by bluap

Share this post


Link to post
Share on other sites

True. Few people know about either feature. You have to keep an eye on the programming section of the forums to find out about such things.

 

If there was at least an entry in the encyclopedia about such under-used features, there would be a better chance of people using them.

Share this post


Link to post
Share on other sites

As I am known to be a lazy ass... two alternative minimalistic designs:

  • We add a pre-defined button to the Notepad (where notes are listed) with "User menu" which is bound to the user menu file (instead of being a <NOTE> node on the xml tree). To make this more general, we could add a new tag <FILE filepath="..."/> to the format that would work much like <NOTE>...</NOTE>, but load/save from the specified file in text format instead.
  • We add two right-button menu entries to the Notepad with "Load user menu" and "Save as user menu", whose effect is to load from or save to the user menu file the contents of the current <NOTE>

In both cases, the button or menu entries could be made to appear only if "Use user menu" is selected - or just left there. In any case, writing a correctly-formatted file would be on the user - I think the usefulness of this does not justify a full graphical editor with rich gadgetry.

 

Haven't looked at the code yet, but this shouldn't be too intricate. Comments?

Share this post


Link to post
Share on other sites

i like your first sugestion usl and i agree fully nathanstenzel such features should be more broadcasted, and get at least their own part in the encyclopedia

 

 

 

i like your first sugestion usl and i agree fully nathanstenzel such features should be more broadcasted, and get at least their own part in the encyclopedia

 

 

Share this post


Link to post
Share on other sites

I've been thinking on this some more and involving the notepad sounds unnecessary and over complicated (that's not a dig at you Usl, I suggested it too :P). The basic text entry widget used in the notepad and elsewhere would be fine for creating and editing the user menus. A really simple solution would be to add three new options to the right-click control menu of the user menu bar. Create(or new), edit and delete. The create and edit options would open a very simple window that just has a text entry/edit widget and a save button. Edit would open the menu file linked to the menu under the mouse (as you'd expect). The delete option would delete the menu under the mouse. A few safeguards "are you sure" for delete, "overwrite file" for create (plus a way to specify the file name) and I think we're done. Of course, we'd stick to simple text not xml and an external editor could always be used as a preference. I'd happily add something like this to my to do list for the user menus, probably at the top...

Edited by bluap

Share this post


Link to post
Share on other sites

After sound notifications and user menus are updated, it would be a good idea to have it automatically reload the file. Perhaps have a reload option as well for if you update the files from outside of EL and want those changes put in place.

 

As I think about things, I realize that third party scripts could be made and used for manipulating these files too for the purpose of helper utilities which could react to some input data (like your buddy list or posts on a forum or bot prices) and making changes in those files to help alert you of things or send text easier.

 

Of course, those would be third party and we need official methods of editing such files as well.

 

And ummmm...yeah....I would end up with scripts that do silly things like modify those files so that the client would make a jackass eeeh-awwwwww noise when red tags are speaking. I manually modified the sound events file so that my client oinks (pig noise) when my bot buys something and baaaahs (goat noise) when he sells something.

Share this post


Link to post
Share on other sites

How about we include a default user menu in the next update, so people have a sample one to work from? That's always easier than starting from scratch.

 

And I didnt' know about this feature either >.< Yes we really need better documentation on things for users. But that's for another thread.

Share this post


Link to post
Share on other sites

How about we include a default user menu in the next update, so people have a sample one to work from? That's always easier than starting from scratch.

That's a great idea. Examples always help a LOT.

 

Submitted as a simple example:

 

menu-util.menu

Util
cls||#cls
afk||#save||#cls||#afk
il||#il
||
beam||#beam me

Nothing fancy but it shows how to do a command, multiple commands, separators, etc.

Share this post


Link to post
Share on other sites

After sound notifications and user menus are updated, it would be a good idea to have it automatically reload the file. Perhaps have a reload option as well for if you update the files from outside of EL and want those changes put in place.

The user menus already have a reload option on the control menu. If we build editing into the client, this would of course be called automatically. The sound warning stuff needs could be done in a similar way but it may be best to do the discussion in a separate thread.

 

How about we include a default user menu in the next update, so people have a sample one to work from? That's always easier than starting from scratch.

And I didnt' know about this feature either >.< Yes we really need better documentation on things for users. But that's for another thread.

You didn't know! :cry: Well, I expect most .menu files would be stored in the users config directory but the feature also looks for files in the #data_dir too. There is an option "Standard Menus" on the control menu (enabled by default) to enable/disable loading files found in #data_dir. So one or more files included with the data would be immediately visible.

 

 

That's a great idea. Examples always help a LOT.

 

Submitted as a simple example:

 

menu-util.menu

Util
cls||#cls
afk||#save||#cls||#afk
il||#il
||
beam||#beam me

Nothing fancy but it shows how to do a command, multiple commands, separators, etc.

That's a good list but we can make the menu text explain itself a bit to help out new players, for example:

Util
Clear console text||#cls
Set status: Away from keyboard||#save||#cls||#afk
Show invasion level||#il
||
Return to Isla Prima||#beam me

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×