|
dbosst Apprentice
Joined: 15 Jun 2010 Posts: 121
|
Posted: 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) |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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. |
|
|
|
Tanuki Novice
Joined: 06 Nov 2008 Posts: 38
|
Posted: 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 |
|
|
|
mikeC130 Apprentice
Joined: 03 Jul 2006 Posts: 110
|
Posted: 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 |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: 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). |
|
|
|
|
|
|
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
|
|