Register forum user name 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.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ MUSHclient ➜ Plugins ➜ Mapper for Achaea

Mapper for Achaea

It is now over 60 days since the last post. This thread is closed.     Refresh page


Pages: 1  2  3 4  5  6  7  8  9  10  11  12  13  

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #30 on Sat 17 Apr 2010 05:45 AM (UTC)

Amended on Sat 17 Apr 2010 05:47 AM (UTC) by Nick Gammon

Message
You may not have the latest mapper module, which this plugin uses. Please download it from here:

http://github.com/nickgammon/mushclient/raw/master/lua/mapper.lua

(RH click, save as, and put in the "lua" directory, under the MUSHclient directory, replacing the existing one),

When the mapper first starts up it should announce version 1.7 (or higher) in the map window.

If it still has the problem, let me know.

As for the shops, I think from memory that you have to discover them first (by going into the room) and after that they should have saved to the database.

- Nick Gammon

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

Posted by Indico   (16 posts)  Bio
Date Reply #31 on Mon 19 Apr 2010 09:58 PM (UTC)
Message
I was just about to ask the same question, not about the shops, but about the right clicking. Now that I've installed the latest version, I'm noticing white circles around some rooms. What do these mean?
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #32 on Mon 19 Apr 2010 10:11 PM (UTC)
Message
I think they are a faint cyan. :)

They are area exits. Near the start of the plugin is this line:


 <!ENTITY show_area_exits "true" > 


Change "true" to "false" to not show them.

- Nick Gammon

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

Posted by Ves   (8 posts)  Bio
Date Reply #33 on Fri 23 Apr 2010 03:28 AM (UTC)

Amended on Fri 23 Apr 2010 04:11 AM (UTC) by Ves

Message
How do I make it so when I left click or mapper goto that I can put a slight pause in between each movement. I constantly get "slow down" and it exits the speed walk.
Top

Posted by Twisol   USA  (2,257 posts)  Bio
Date Reply #34 on Fri 23 Apr 2010 03:45 AM (UTC)
Message
Ves said:

How do I make it so when I left click or mapper goto that I can put a slight pause in between each movement. I constantly get "slow down" and it exits the speed walk.


There should be a configuration option to change the period of time between movements. Click the blue star (*) at the bottom-left corner of the map, and click the "Walk delay" option. It's in seconds, I use 0.7 myself (700 miliseconds)

'Soludra' on Achaea

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

Posted by Windmill_Man   USA  (29 posts)  Bio
Date Reply #35 on Fri 07 May 2010 02:53 AM (UTC)

Amended on Fri 07 May 2010 11:14 AM (UTC) by Windmill_Man

Message
The mapper isn't mapping like it used to. After I updated everything (mapper.lua etc.) It's not scanning the exits and when I walk in a unmapped room the mapper windows becomes blank with only the room I'm standing in shown. I have to LOOK or something before it brings everything back up. Also, It's not registering areas. Everything I map and have mapped is always labeled "area 0". I have always had that problem though.

But, when left-click on a room I no longer get an error! That's great.

EDIT: I should add that it IS mapping... just doesn't map unexplored exits ahead of time.

EDIT2: Ok. Forget that last edit. It seems that it might not be mapping... because if I go back one room and re-enter it acts like it maps again. This time the way it's supposed to. Still doesn't register the exits though.
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #36 on Fri 07 May 2010 08:10 PM (UTC)
Message
It is possible Achaea have changed the way they are sending mapping information. There have been very lengthy discussions in another forum about design changes, and maybe they have been implemented. Perhaps Twisol will know, he is usually abreast of what Achaea is doing.

- Nick Gammon

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

Posted by Larkin   (278 posts)  Bio
Date Reply #37 on Fri 07 May 2010 08:24 PM (UTC)
Message
There have been a few changes to the basic ATCP features recently, but I don't know of anything that would cause this sort of behavior. (Disclaimer: I'm not using this plugin myself and haven't tested it online.)
Top

Posted by Twisol   USA  (2,257 posts)  Bio
Date Reply #38 on Fri 07 May 2010 08:31 PM (UTC)

Amended on Fri 07 May 2010 08:43 PM (UTC) by Twisol

Message
I haven't seen any major shift in how ATCP (v1) is transmitted, though oddly enough I am having the same problem as Windmill Man.

To compare the ATCP sent on movement and on look:

move
Room.Brief In the shade of the Hierophants' Complex
Room.Num 6787
Room.Coordinates 51,12,-2,0
Room.Environment Trees
Room.Area Eleusis
Room.Exits e,s,nw
Room.FullExits e(6786),s(6788),nw(6782)
Client.Map www.achaea.com/irex/maps/clientmap.php?map=51&building=0&level=0 16 8
Room.Brief In the shade of the Hierophants' Complex
Char.Vitals H:3439/3001 M:3408/3658 E:13903/13905 W:17190/17190 NL:25/100 


look
Room.Brief In the shade of the Hierophants' Complex
Room.Num 6787
Room.Coordinates 51,12,-2,0
Room.Environment Trees
Room.Area Eleusis
Room.Exits e,s,nw
Room.FullExits e(6786),s(6788),nw(6782)
Client.Map www.achaea.com/irex/maps/clientmap.php?map=51&building=0&level=0 16 8
Room.Brief In the shade of the Hierophants' Complex
Char.Vitals H:3439/3001 M:3408/3658 E:13905/13905 W:17190/17190 NL:25/100 


Apparently, no difference. The only obvious change between now and before is that Room.Brief is sent twice now.

'Soludra' on Achaea

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

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #39 on Fri 07 May 2010 10:45 PM (UTC)
Message
Windmill_Man said:


EDIT: I should add that it IS mapping... just doesn't map unexplored exits ahead of time.



It can't very well map unexplored exits, until you go into it, and then back again. I may be wrong, but the unknown exits tend to take more work.

- Nick Gammon

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

Posted by Baatti   USA  (7 posts)  Bio
Date Reply #40 on Fri 07 May 2010 11:27 PM (UTC)

Amended on Sat 08 May 2010 12:43 AM (UTC) by Baatti

Message
Hi, so I started playing around with this plugin the other day, most of this is way over my head but I'm a good swimmer so I jumped right in.

I noticed that the mapper wasn't recording the 'area' of the room and so I started tinkering with it. I noticed that ATCP provides this info, e.g. "Room.Area the Western Ithmia". So I added in the handlers in ATCP_NCJ that were missing, the handlers list on my copy looks like this now.

edit: not 'ATCP_NCJ', 'ATCP_NJG' haha. I'm guessing those are nick's initials.


handlers = {
  ['Auth.Request']     = got_auth_request,  -- handled here

  ['Room.Num']         = got_room_number,
  ['Room.Brief']       = got_room_brief,
  ['Room.Exits']       = got_room_exits,
  ['Room.FullExits']   = got_room_fullexits,
  ['Room.Area']        = got_room_area,
  ['Room.Environment'] = got_room_environment,
  ['Room.Coordinates'] = got_room_coords,
  ['Room.Info']        = got_room_info,
  ['Char.Vitals']      = got_vitals,
  
  } -- end handlers


As a result, I had to create a few functions here too..


function got_room_fullexits (s) -- eg. "n(1234),s(4321)"
  BroadcastPlugin (5, s)
end -- got_room_fullexits

function got_room_environment (s) -- eg. "Forest"
  BroadcastPlugin (6, s)
end -- got_room_environment

function got_room_coords (s) -- eg. "77,-7,3,0"
  BroadcastPlugin (7, s)
end -- got_room_coords

function got_room_area (s) -- eg. "the Western Ithmia"
  BroadcastPlugin (8, s)
end -- got_room_coords

function got_room_info (s) -- eg. "shops,postoffice"
  BroadcastPlugin (9, s)
end -- got_room_info


Now, after I did this much, the mapper started recording the room info (stores for instance) and the room environments all by itself. I thought I had solved the problem, but I noticed that there was still no area recording. So I went to ATCP_MAPPER and had a look around. I noticed that there were no functions specific to the Room.Area package so I tried making one based on what the others were doing. I came up with this (I have no clue what I'm doing.)


function got_area (s)

  if not current_room then
    return
  end -- if
  
  local room = rooms[current_room]
  
  -- not cached - see if in database
  if not room then
    room = load_room_from_database (current_room)
  end -- not in cache
  
  if room and room.area == nil then
    save_area_to_database(current_room, s)
	mapper.draw (current_room) -- redraw room with area
  end -- need to save area

end -- got_area


and


function save_area_to_database (uid, s)
  local room = rooms[uid]
  
  local area = s
  
  if s then
    dbcheck (db:execute (string.format ([[
		UPDATE rooms SET area = %s WHERE uid = %s;
	  ]], fixsql(area), fixsql(uid)
	  )))
	  
	if show_database_mods then
	  mapper.mapprint ("Fixed room", uid, "to have area:", area)
	end -- if
  else
    mapper.maperror ("Cannot make sense of area:", s)
  end -- if
end -- save_area_to_database


It doesn't seem to be working. I was hoping someone could give me a newbie spanking and show me what I'm doing wrong.
Top

Posted by Dontarion   USA  (62 posts)  Bio
Date Reply #41 on Thu 01 Jul 2010 05:26 PM (UTC)

Amended on Thu 01 Jul 2010 05:33 PM (UTC) by Dontarion

Message
The mapper works fine without areas but I thought it would be so much better with areas. So I fixed the areas.

http://sites.google.com/site/dontarion/atcp_mapper_working.jpg

The ATCP_NJG needs handlers, like Baatti said
handlers = {
  ['Auth.Request']     = got_auth_request,  -- handled here

  ['Room.Num']         = got_room_number,
  ['Room.Brief']       = got_room_brief,
  ['Room.Exits']       = got_room_exits,
  ['Room.FullExits']   = got_room_fullexits,
  ['Room.Area']        = got_room_area,
  ['Room.Environment'] = got_room_environment,
  ['Room.Coordinates'] = got_room_coords,
  ['Room.Info']        = got_room_info,
  ['Char.Vitals']      = got_vitals,
  
  } -- end handlers


The ATCP_Mapper also needs its handlers changed:
This is why the info may have shown up as the area for you Baatti.
handlers = {
  [1] = got_vitals,             -- eg. "H:496/496 M:412/412 E:1380/1380 W:960/960 NL:89/100"
                                --      health    mana      endurance   willpower experience
  [2] = got_room_name,          -- eg. "Continuing on the Parade of Zarathustra"
  [3] = got_room_exit,          -- eg. "n,s"
  [4] = got_room_number,        -- eg. "401"
  [5] = got_room_full_exits,    -- eg. "ne(8564),w(8428)"
  [6] = got_environment,        -- eg. "Urban"
  [7] = got_coordinates,        -- eg. "38,3,1,0"
  [8] = got_area,				-- eg. "Mhaldor"
  [9] = got_info,               -- eg. "shops,postoffice"
  }



You need to add in the room.area = area line in the save_area_to_database function in ATCP_Mapper.
function save_area_to_database (uid, s)
  local room = rooms[uid]
  
  local area = s
  
  if s then
    dbcheck (db:execute (string.format ([[
		UPDATE rooms SET area = %s WHERE uid = %s;
	  ]], fixsql(area), fixsql(uid)
	  )))
	 
	room.area = area
	 
	if show_database_mods then
	  mapper.mapprint ("Fixed room", uid, "to have area:", area)
	end -- if
  else
    mapper.maperror ("Cannot make sense of area:", s)
  end -- if
end -- save_area_to_database


The last fix is to your got_area function in ATCP_Mapper:
This will write over areas names for you if they're Area 0. The change is at the very end with regards to if there is a room name. I dislike using not and ~= so you can see my nesting for elses.
function got_area (s)

  if not current_room then
    return
  end -- if
  
  local room = rooms [current_room]
  
  -- not cached - see if in database
  if not room then
    room = load_room_from_database (current_room)
  end -- not in cache
  
  if room then
	if room.area == s then
	else
		--Note("Check inside got_area, saving_room_to_db")
		save_area_to_database(current_room, s)
		mapper.draw (current_room) -- redraw room with area
	end
  end -- need to save area

end -- got_area



Baatti you almost had it.
Top

Posted by Dontarion   USA  (62 posts)  Bio
Date Reply #42 on Thu 01 Jul 2010 07:06 PM (UTC)
Message
A few observations and or changes I will be making:

The mapper would look better if the directions weren't so prone to overlapping. My suggestion and what I may try to do is extend or double the length of the e, w, n, and s lines as well as others that require it from that. This will fix issues with ne, nw, se, and sw.

I'm also going to look at trying to stop it from displaying things on different levels and if so, color them differently. If that is already built in I'm not quite sure it's working but I haven't checked.

One thing I'm also going to do is stop the mapper from displaying down directions when the location is a shop. These are something you will rarely ever get into and don't need to be shown. They just clutter up the screen.

I think I may alter the plugin too for tabs like I've seen for Mudlet so that the chat screens can be captured to there as well.
Top

Posted by Larkin   (278 posts)  Bio
Date Reply #43 on Thu 01 Jul 2010 08:35 PM (UTC)
Message
I made a minor change to use the X,Y coordinate pairs you get from the XML data files, and it greatly improves my map visualization, except when the two halves of a diagonal don't quite meet in the middle because they're not 45 degree angles.

Ideally, you could determine whether you had drawn the exit from room N to M so you don't have to then draw the same exit from M to N, and you could just make all the lengths the full exit length rather than half.
Top

Posted by Dontarion   USA  (62 posts)  Bio
Date Reply #44 on Thu 01 Jul 2010 10:53 PM (UTC)
Message
I'm trying to think of a way to do this to give better visuals because it's a bit difficult right now.

I think to accomplish the no above/below shown go into the function that is controlled by the depth set, 30 deep right now, and make it stop at up directions. I could also make Up/Down rooms have something special like they already do such as a pink top or bottom border.

Larkin: You downloaded the Achaea map file and went from there I take it from your post? I don't quite follow what you meant by that though.

One thing I'm about to alter is the ability to pick up wormholes. If it sees me warp it'll store the last room in for the current and the current in the last under room.wormhole. This would make me so happy because my 400+ wormhole triggers are a pain to wade through.
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.


501,803 views.

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

It is now over 60 days since the last post. This thread is closed.     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.