Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
dbosst
Apprentice


Joined: 15 Jun 2010
Posts: 121

PostPosted: Tue Sep 14, 2010 3:29 pm   

3.26 gmcp not matching room vnums
 
In Safe map mode, just moving one room at a time manually, it will all of a sudden not seem to recognize a room and instead create a new Room on top of the already existing room

This happens when the from room and the to room are have had already both VNUMS updated already.... and this also happens when moving from an update room to a room that's vnum is going to be updated...it also seems to happen randomly, since I can delete the duplicate room, refix the exits, and then try again and it will work most of the time

More, and strangely, when it creates this duplicate room the room name it assigns it is wrong! And it assigns to the room name the description of the room instead...even though I checked in the gmcp room info name value before hand and checked its value on the onroomenter to be correct this still happens...

It may be that there is a bug if you change the %gmcp.room.info.name as I am in the PROMPT type gmcp room info trigger (I am just changing it to actually match my map's correct room name, which has a "." in it)
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23377
Location: Colorado, USA

PostPosted: Tue Sep 14, 2010 4:35 pm   
 
Changing a room name in a prompt gmcp trigger shouldn't cause this and I haven't seen this myself. Unless there is a way to reproduce it, it's going to be nearly impossible to figure out or fix, but my guess is that the MUD is sending incorrect GMCP data, or there is a bug in how CMUD is processing the GMCP data from a specific room. I would need to see the GMCP data from the Script Debugger when it screws up to help more.

I can see where this might happen if the room you are moving into doesn't have an updated vnum yet. When you move into a room without an updated vnum, then CMUD is going to try and match the room name just like if GMCP was turned off. And if you are changing the room name in the Prompt trigger, then that might cause a new room to be created (since now CMUD is trying to match a name that might be different than what was stored in the mapper). You might also check the options for matching the Room Description since CMUD will still use those options with GMCP if the vNum is not set yet.

But if you are moving into a room with the vNum already set, then I'm not sure how this would happen.
Reply with quote
Tanuki
Novice


Joined: 06 Nov 2008
Posts: 38

PostPosted: Mon Dec 06, 2010 6:43 pm   
 
I'm seeing the same thing.
If I type in
#show(%roomvnum) cmud will return 2

#show(%gmcp.Room.Info.num) cmud will return 38563

If I look at VNum in the GUI I see 38563 but in the bottom right of Room Text tab I see a 2.

If I #Walk 38563 I go nowhere but if I #walk 2 then I go to the right room.

Any suggestion?

Tanuki
Reply with quote
mikeC130
Wanderer


Joined: 03 Jul 2006
Posts: 59

PostPosted: Tue Dec 07, 2010 11:45 am   
 
Having done a bit of this on Imperian, the GMCP returns the variable num=xxxx, which CMUD does not actually use to fill in the room number (I am working on a preexisting map, so perhaps it will on a brand new map). In the room properties window, the VNum does not refer to the number shown in %roomvnum, but the number in %roomnum. %roomvnum returns the number which was automatically assigned in sequence when the room was created. When a new room is created, %roomnum is assigned the number from %roomvnum, but you can change it through scripting or the properties window.


Mike
Reply with quote
Rahab
Wizard


Joined: 22 Mar 2007
Posts: 2307

PostPosted: Tue Dec 07, 2010 1:20 pm   
 
Since we no longer have a beta version, the discussion should be over in the General forum.

You should check out the function %roommode(). This will alter the action of many room functions, switching whether they use vnum or roomnum. MikeC130 actually got it backwards--the roomnum is the database key, which can not be changed, while the vnum can be changed. In most muds, the vnum is set to the roomnum by default. With GMCP active, the vnum is set to the room number sent by GMCP. Use %roommode to switch between which number room functions use (note that some room functions ignore roommode due to the nature of the function).
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net