Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to "verify" your details, making threats, or asking for money, are
spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the
password reset link.
Entire forum
➜ MUDs
➜ General
➜ Video showing automatic mapper, health bars, etc.
Video showing automatic mapper, health bars, etc.
|
It is now over 60 days since the last post. This thread is closed.
Refresh page
Posted by
| Nick Gammon
Australia (23,070 posts) Bio
Forum Administrator |
Date
| Sat 27 Feb 2010 12:04 AM (UTC) Amended on Tue 26 Nov 2013 03:29 AM (UTC) by Nick Gammon
|
Message
| I have made a video showing in action some of the telnet negotiation ideas I have been discussing in another thread:
Demonstrated in the video are:
- Mapper with zoom-in and zoom-out added
- Box at the top which shows the room name, exits, description, npcs, players, and objects
- Health bar windows for three players (grouped) - the leader is shown with a small crown symbol
- Health bar window of mob currently being attacked
- Experience bar
- Chat and combat log (ie. normal text window) in a smaller size on the bottom-right
What the video makes clear is that it all works quickly and smoothly. It is fun and engaging to play.
You can visit the video on Vimeo at
http://vimeo.com/80335233
|
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Nick Gammon
Australia (23,070 posts) Bio
Forum Administrator |
Date
| Reply #1 on Sat 27 Feb 2010 02:08 AM (UTC) Amended on Sat 27 Feb 2010 09:28 PM (UTC) by Nick Gammon
|
Message
| How to reproduce this yourself:
- Grab version 4.50 (or above) of MUSHclient:
http://www.gammon.com.au/forum/?id=10107
- Go to GitHub and choose the "status_messages" branch of the smaugfuss project:
http://github.com/nickgammon/smaugfuss/tree/status_messages
- Click on the "download source" button to grab the source
- Extract the source to your Cygwin or Linux directory, renaming it as appropriate.
- Change to the "src" directory.
- Mkdir the "o" directory if it isn't there
- If using Cygwin edit the Makefile file and at about line 5 remove the "#" where it says "uncomment to compile under Cygwin".
- Type "make" to build the SmaugFuss server
- Run the server:
cd ../area
../src/smaug 4020
- Start up MUSHclient
- Make a world file pointing to your server
- Add in these plugins (File -> Plugins)
- Experience_Bar_Telnet.xml
- Health_Bar_Miniwindow_Telnet.xml
- Mapper_Telnet.xml
- Omit_Blank_Lines.xml
- Room_Contents_Telnet.xml
Get those plugins from:
http://github.com/nickgammon/plugins
- Connect to the server and make a new character.
- Once you are connected you should see the map, status bars etc.
- Turn off prompts:
- If you get some error messages about "dark_message" edit the Mapper_Telnet.xml plugin and at around line 541 add a few extra lines:
-- let them move it around
movewindow.add_drag_handler (win, 0, 0, 0, 0)
--> add these
local dark_message = "It is too dark to see."
local blind_message = "You are blind!"
local exits_message = "Exits:"
Then reinstall the plugin.
Note, the latest versions of the plugins will be here:
http://github.com/nickgammon/plugins
- It should be working now.
To get the offset text, copy and paste this alias:
<aliases>
<alias
match="makerect"
enabled="y"
send_to="12"
sequence="100"
>
<send>TextRectangle(350, -- left
400, -- top
350 + GetInfo (213) * 80, -- 310 + width for 80 characters
-15, -- 13 pixels from the bottom
5, -- BorderOffset,
ColourNameToRGB ("gray"), -- BorderColour,
2, -- BorderWidth,
ColourNameToRGB ("silver"), -- OutsideFillColour,
8) -- OutsideFillStyle (fine hatch)
</send>
</alias>
</aliases>
|
For advice on how to copy the above, and paste it into MUSHclient, please see Pasting XML.
|
Then type "makerect" and you should see the text shrink to the size I had it.
To easily zoom the map in and out make a macro (eg. F2) and put "map zoom out" into it, and another macro (eg. F3) and put "map zoom in" into it. Then just hit F2 or F3 to zoom in and out.
|
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Rash
United Kingdom (56 posts) Bio
|
Date
| Reply #2 on Sat 27 Feb 2010 11:51 AM (UTC) Amended on Sat 27 Feb 2010 11:53 AM (UTC) by Rash
|
Message
| This is great Nick. Everything your doing along with everyone else here with these plug-ins and the power of Mush Client keeps bringing us one step closer to making muds more like MMO's in the graphical sense. Great work once again.
Is this all possible (as in these plug-ins), due to to the Telnet additions to the smaugfuss code from the source you posted? (Oh which reminds me, mud.h has no new line at end of file)
Was there a thread showing what additions you added the source to make this possible?
Oh and encase you was not aware of it but;
Forbidden
You don't have permission to access /files/mushclient/mushclient450.exe on this server.
This is on the 5.40 download of Mush Client. | Top |
|
Posted by
| Unrivaledneo
(1 post) Bio
|
Date
| Reply #3 on Sat 27 Feb 2010 02:53 PM (UTC) |
Message
| When compiling under cygwin I get a error when it compiles handler.o
Compiling o/handler.o....
cc1plus: warnings being treated as errors
handler.c: In function 'std::string fixup_lua_strings
handler.c:95: error: case label value is less than minimum value for type
handler.c:136: error: case label value is less than minimum value for type
make[1]: *** error 1
make: *** [all] Error 2
| Top |
|
Posted by
| Nick Gammon
Australia (23,070 posts) Bio
Forum Administrator |
Date
| Reply #4 on Sat 27 Feb 2010 07:16 PM (UTC) |
Message
|
Rash said:
Is this all possible (as in these plug-ins), due to to the Telnet additions to the smaugfuss code from the source you posted? (Oh which reminds me, mud.h has no new line at end of file)
Was there a thread showing what additions you added the source to make this possible?
Oh and encase you was not aware of it but;
Forbidden
You don't have permission to access /files/mushclient/mushclient450.exe on this server.
This is on the 5.40 download of Mush Client.
Fixed the permissions now, sorry about that.
The changes should be possible to view if you grab the source with Git and do a "git diff" between an early commit and the latest one. I had trouble getting Git to pull the branch when I tested with Cygwin, but that is just my ignorance of Git no doubt. Something like this will do it:
git diff edb8a5 > diffs.txt
Or do it on a per-file basis:
git diff edb8a5 -- comm.c > diffs.txt
If you can't get that to work I'll run that command and publish the diff file.
I fixed the problem in mud.h but forgot to push it to GitHub, done now. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Nick Gammon
Australia (23,070 posts) Bio
Forum Administrator |
Date
| Reply #5 on Sat 27 Feb 2010 07:21 PM (UTC) |
Message
|
Unrivaledneo said:
When compiling under cygwin I get a error when it compiles handler.o
Compiling o/handler.o....
cc1plus: warnings being treated as errors
handler.c: In function 'std::string fixup_lua_strings
handler.c:95: error: case label value is less than minimum value for type
handler.c:136: error: case label value is less than minimum value for type
make[1]: *** error 1
make: *** [all] Error 2
Handler.c:95 ...
// Note: will not apply if UTF-8 encoding present
case '\xFF': // IAC becomes \255
count += 3;
break;
It didn't happen to me, but I'm not surprised. Try casting it:
// Note: will not apply if UTF-8 encoding present
case (unsigned char) '\xFF': // IAC becomes \255
count += 3;
break;
Ditto for line 136.
|
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Rash
United Kingdom (56 posts) Bio
|
Date
| Reply #6 on Sun 28 Feb 2010 12:29 AM (UTC) Amended on Sun 28 Feb 2010 01:39 AM (UTC) by Rash
|
Message
|
Nick Gammon said:
Fixed the permissions now, sorry about that.
The changes should be possible to view if you grab the source with Git and do a "git diff" between an early commit and the latest one. I had trouble getting Git to pull the branch when I tested with Cygwin, but that is just my ignorance of Git no doubt. Something like this will do it:
git diff edb8a5 > diffs.txt
Or do it on a per-file basis:
git diff edb8a5 -- comm.c > diffs.txt
If you can't get that to work I'll run that command and publish the diff file.
I fixed the problem in mud.h but forgot to push it to GitHub, done now.
I can't seem to get that command to work. I'm not at all good with git. Could you put that diffs.txt file up yourself? Would appreciate it.
I'm really impressed Nick, especially with the status aliments been displayed under each players 'box'. Now to get a timer up for those to show how long the buff/de-buff lasts for. Oh, I did however struggle to see the colour difference between the buffs/de-buffs even though they are separated they look almost exactly the same colour wise which may cause a problem if a single buff/de-buff is in effect and your not sure what it is. I also noticed just as I was about to post this when I noticed sleeping next to my character name. He was snoring his head off! Brilliant!
Would we be able to use telnet negotiation to get things such as inventory and current wear/equipment lists? We could make good use of such information. | Top |
|
Posted by
| Nick Gammon
Australia (23,070 posts) Bio
Forum Administrator |
Date
| Reply #7 on Sun 28 Feb 2010 04:35 AM (UTC) |
Message
| You can get the diffs by simply grabbing an existing SmaugFuss download, unzipping that into one directory and then doing a straight "diff -r" (recursive diff) on the source directories.
As for the status ailment colours, that is a minor detail. You could have them as white text on a red background for example.
As for the inventory lists etc. that seems like a logical progression. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Nick Gammon
Australia (23,070 posts) Bio
Forum Administrator |
Date
| Reply #8 on Sun 28 Feb 2010 04:41 AM (UTC) |
Message
| I have been working today on migrating the mapper information from in-memory Lua tables to a SQLite3 database on disk. This has the advantage of:
- More immune to crashes
- Faster startup and shutdown, as it isn't having to load and save all rooms
- Less memory, as if you have thousands of explored rooms, it only will keep in memory the ones you are currently near
- I have experimented with the "full text search" feature of SQLite3. This lets you do something like "map search baker*" and get a list of all rooms with the word "baker" in it, and then compute the speedwalk to take you there.
- Other helpful things would be to find all rooms which are shops (for example).
- Another useful feature would be to save in the database what items you have found in a shop. So for example, if you found a shop that sold nice swords, then later on you could do a search for "shops that sell swords" and get a list to refresh your memory.
|
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| AaronM86
(42 posts) Bio
|
Date
| Reply #9 on Fri 02 Apr 2010 02:29 AM (UTC) |
Message
| This is just beyond awesome. I would say one could even coin it the evolution of MUD'ing. Totally wish I could set something up like this for Dark-Legacy lol. | Top |
|
Posted by
| Nick Cash
USA (626 posts) Bio
|
Date
| Reply #10 on Fri 02 Apr 2010 04:32 AM (UTC) |
Message
| One word: Epic. |
~Nick Cash
http://www.nick-cash.com | Top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
40,829 views.
It is now over 60 days since the last post. This thread is closed.
Refresh page
top