Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, 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 ➜ MUSHclient ➜ Plugins ➜ MUSHclient generic graphical mapper module

MUSHclient generic graphical mapper module

Posting of new messages is disabled at present.

Refresh page


Pages: 1  2  3  4  5  6  7  8 9  10  11  12  13  14  15  16  17  

Posted by Nick Gammon   Australia  (23,122 posts)  Bio   Forum Administrator
Date Reply #105 on Fri 30 Apr 2010 08:49 PM (UTC)
Message
Which version of mapper.lua are you using? The one that came with version 4.51, or the one you downloaded from Github?

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by LupusFatalis   (154 posts)  Bio
Date Reply #106 on Fri 30 Apr 2010 11:00 PM (UTC)
Message
I'm not sure, I opened the file and found the following though:

Date: 11th March 2010
Version: 1.7
Top

Posted by LupusFatalis   (154 posts)  Bio
Date Reply #107 on Sun 02 May 2010 01:04 AM (UTC)
Message
It does work nicely though. Looks like a mess with all the rooms overlapping as they do, but I'm able to get around by changing the depth as necessary.
Top

Posted by Nick Gammon   Australia  (23,122 posts)  Bio   Forum Administrator
Date Reply #108 on Sun 02 May 2010 09:23 PM (UTC)
Message
I think I fixed the overlapping problem.

See: http://github.com/nickgammon/mushclient/commit/b43e6699d6

New version at: http://github.com/nickgammon/mushclient/blob/master/lua/mapper.lua

(RH click on the "raw" link on that page and grab the raw code, replacing your copy of mapper.lua with that).

Or, just merge in the diffs from the first link, there aren't that many changes.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by LupusFatalis   (154 posts)  Bio
Date Reply #109 on Mon 03 May 2010 02:26 AM (UTC)
Message
Looks great, Just did a quick run--didn't get to fully test the new version out. I'll let you know the results! Here is a question for you though. Is it feasible to code in something that draws your 'bookmarked' rooms and the paths to them first--and then fills in the rest?

Just thought that option in that vein might be desirable, since often times people are often running along the same route. It would also allow for individuals to write an alias to quickly change bookmarks to those rooms which are unexplored--giving them a kind of 'exploration mode.'
Top

Posted by Tiredchris   (17 posts)  Bio
Date Reply #110 on Tue 04 May 2010 05:45 AM (UTC)
Message
I play on a version of ghostmud. I'm trying to figure out how to get your mapper working for this mud.


 The Wandering Soul 
  You are standing in the bar.  The bar is set against the northern wall, old
archaic writing, carvings and symbols cover its top.  A fireplace is built into
the western wall, and through the southeastern windows you can see the temple
square.  This place makes you feel like home.
A small sign with big letters is fastened to the bar.

[Exits: west]
      A neon-lit juke box sits in the corner of the bar.
A bartender watches you calmly, while he skillfully mixes a drink.


The room name is always on the first line, followed by the desc, a blank line, exits, with room items/mobs below that.
I know it's more than likely not hard, but I can't figure this out.
Top

Posted by Nick Gammon   Australia  (23,122 posts)  Bio   Forum Administrator
Date Reply #111 on Tue 04 May 2010 06:15 AM (UTC)
Message
If you can detect the room name and description, then a variation of the plugin on page 7 of this thread should work. You would basically need to change the trigger part so you can detect these things.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by LupusFatalis   (154 posts)  Bio
Date Reply #112 on Tue 04 May 2010 07:06 AM (UTC)
Message
  <trigger
   enabled="y"
   lines_to_match="5"
   keep_evaluating="y"
   match="^([^\n]*)\n([^\n]*)\n([^\n]*)\n\n[Exits\: ([^\n]*)].$"
   multi_line="y"
   regexp="y"
   script="YourFunctionHere"
   sequence="100"
  >
  </trigger>


Give something like this a whirl...
Top

Posted by LupusFatalis   (154 posts)  Bio
Date Reply #113 on Thu 06 May 2010 05:18 AM (UTC)
Message
Ok, I tried using the HASH, and it really does demonstrate the power of the mapper, works beautifully. Unfortunately, the hash value technique isn't strong enough for me. I've run into a couple rooms in the brief time I've been testing this that have the same hashed value--even after appending the coordinates to the hash value!

Now, I came up with a solution, path equivalence, as I mentioned earlier. Only I haven't the faintest idea as to how to begin coding it. I don't suppose there are any suggestions?
Top

Posted by Nick Gammon   Australia  (23,122 posts)  Bio   Forum Administrator
Date Reply #114 on Thu 06 May 2010 06:04 AM (UTC)
Message
Are you saying two rooms have the same descriptions, and co-ordinates, but are not the same room? How does that work?

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Twisol   USA  (2,257 posts)  Bio
Date Reply #115 on Thu 06 May 2010 06:10 AM (UTC)
Message
Nick Gammon said:

Are you saying two rooms have the same descriptions, and co-ordinates, but are not the same room? How does that work?


It's quite possible, if exceedingly strange. A MUD might give each zone its own coordinate space (as Achaea does), so if two rooms in separate zones have the same descriptions, you'll have a collision.

If you can easily grab the zone name, and zone names are unique, you can use that with the hash key as well. Of course, this is all theoretical and making a lot of assumptions. Still, it is possible to occur.

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
Top

Posted by LupusFatalis   (154 posts)  Bio
Date Reply #116 on Thu 06 May 2010 06:39 AM (UTC)
Message
Well, whats happening is the room is in a 3d area. I can only keep track of (x,y) coordinates. (rarely z, as I'll rarely go up/down) ... But, if I move northeast, I may actually be moving northeast and down. As I have no way of knowing this. I can't check the z coordinate--which would likely reveal this.

Now, the idea of path equivalence I proposed earlier is probably the cleanest and most general way to make accurate maps. Basically, you enter a room A. It seems to match room B. Since you have to have visited room B before to know this, you know a path from room B to room C (a guaranteed unique room). So if room A=B then the path from B to C should hold.

i.e. I'm assuming paths are all two-way (here they are) and that a unique room can be found (here it can).

Problem is, I've no idea how to integrate this.
Top

Posted by LupusFatalis   (154 posts)  Bio
Date Reply #117 on Fri 07 May 2010 05:13 AM (UTC)

Amended on Fri 07 May 2010 05:31 AM (UTC) by LupusFatalis

Message
Alright, I think I've gotten my head around how to do this. Most of what I need is probably already somewhere accessible in the mapper module! So basically, how do I give the mapper 2 uid's and get the shortest path between them? i.e. I think you'll see what I'm driving at in the following...
--[[ generates a list of matching rooms, their nearest unique room
	 and a corresponding path to that unique room, returns the 
	 next viable observation number ]]--
function match_check(temp_uid)

	local unique_rooms = {}
	local count = 0
  
	-- build table of unique rooms
	for k,v in pairs(rooms) do
		if rooms[k].unique == 1 then
			unique_rooms [k] = rooms [k]
			count = count + 1
		end
	end

	local i = 1
	while rooms[temp_uid .. "," .. tostring(i)] do
		--unique_room_id = the nearest room on the unique room list
		--path = path from room "temp_uid .. ',' .. tostring(i)" to unique_room_id
		matchlist[temp_uid .. "," .. tostring(i)] = {rooms[temp_uid .. "," .. tostring(i)], unique_room_id, path}
		i = i + 1
	end
	
	return i
	
end -- match_check


As you can see, every room is being assigned a baseline "tempid" which is its hash value, followed by "," and then then the instance of that hash value.
Top

Posted by Jakaiya   (4 posts)  Bio
Date Reply #118 on Fri 07 May 2010 10:39 PM (UTC)

Amended on Fri 07 May 2010 10:42 PM (UTC) by Jakaiya

Message
I am trying to use this but for some reason the plugin just will not grab the area or environment and populate it into the map. I have no idea of how to check if it is going into the database itself either. I can not separate areas or anything. The rooms will not let me color code as they are all showing as unknown when it comes to the color.

Do you think you know what could be causing this? I downloaded the latest version of the plugin that you have posted here.

I have tried to use this with both Achaea and Midkemiaonline.
Top

Posted by Nick Gammon   Australia  (23,122 posts)  Bio   Forum Administrator
Date Reply #119 on Fri 07 May 2010 10:46 PM (UTC)
Message
Try downloading their XML file which lists amongst other things their area codes. A couple of pages back in this thread, I think, is how to do it. There is a plugin you download from the Git site, and you download the Achaea mapper xml file from their site.

- Nick Gammon

www.gammon.com.au, www.mushclient.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.


763,263 views.

This is page 8, subject is 17 pages long:  [Previous page]  1  2  3  4  5  6  7  8 9  10  11  12  13  14  15  16  17  [Next page]

Posting of new messages is disabled at present.

Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.