|
dbosst Apprentice
Joined: 15 Jun 2010 Posts: 121
|
Posted: Thu Sep 02, 2010 1:15 am
3.25 new rooms room name |
Some new rooms created are created with the room name set to the room description..... this is a weird one....don't know why this happened.. its not very repeatable
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Sep 02, 2010 2:34 am |
Use the script debugger window with the raw input/output message to see exactly what the MUD is sending for those rooms. If the GMCP Room.Info.Name is blank, then the mapper might be trying to determine the name of the room from the description.
|
|
|
|
oldguy2 Wizard
Joined: 17 Jun 2006 Posts: 1201
|
Posted: Thu Sep 02, 2010 10:53 am |
Because Brief only gives the room name and not a description. I saw you say yesterday somewhere description for room brief and was thinking that might happen. I know for certain that Room.Brief in ATCP only gave the room name.
Also this is something else that needs worked out by Achaea for example. If you do Config roomdesc brief or whatever it is in the game then it doesn't send the description at all. It only shows items in the room and the weather along with the name. Yet in the ATCP and GMCP? for brief you get the room name or at least that is what I always saw in the raw data. You have to turn on verbose to get the actual room description. This is why I was saying yesterday there should be a Room.Info.desc. When you map you only want the desc recorded in the description and not the weather or items or people in the room. Room.Info.desc would make that super easy to do. I'm not even sure why you would have a Room.Info.brief at all or Room.Brief in ATCP because no description is displayed when you have brief on. |
|
|
|
oldguy2 Wizard
Joined: 17 Jun 2006 Posts: 1201
|
Posted: Thu Sep 02, 2010 2:15 pm |
Ah ha you said it in the version release notes!
Quote: |
GMCP Room.Info.Brief message is now recognized and will set the Description field of the room |
Are they actually sending the description in brief? Like I said there shouldn't even be a brief. It should be called "desc" for description. When you config roomdesc brief you don't see the descriptions anymore. Brief always just sent the room name. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Sep 02, 2010 4:49 pm |
Nope, you guys are right. I misunderstood what you were talking about with Brief. I thought it was a "brief description of the room". I didn't realize it was the same as the room name. In fact, why are they sending Brief at all if it's the same as the name??
I'll remove this from the next version. In fact, I'll change the code to look for Info.desc in case some MUD ever properly implements that in the future. |
|
|
|
oldguy2 Wizard
Joined: 17 Jun 2006 Posts: 1201
|
Posted: Thu Sep 02, 2010 7:01 pm |
Right exactly! Why? It makes no sense. I even looked on Aardwolf and they are doing the same thing.
Aardwolf shows as an example:
Code: |
room.info { "num": 16542, "brief" : "A Quiet Section of the Swamp", "zone": "fens", "sector": "forest", "flags": null,
"exits" : { "n": 16543, "s": 16545, "w": 16541 },
"coord" : { "id": 2, "x": 5, "y": 33 }
} |
Here they are also using brief for the room name. I'm not sure if they are just copying that over from ATCP or what, but that is not correct. It should be room.info.name. I guess they can do whatever they want but why have a standard if it's not going to make any sense or people start doing things differently. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Sep 02, 2010 8:43 pm |
Maybe what I will do is to use room.info.brief if no room.info.name is provided.
Keep in mind that the only thing "standard" about GMCP is the transport protocol. We never came to any real agreement about specific Messages. IRE just ported their ATCP messages over to GMCP, and then Aardwolf did something similar and then added their own tweaks. I agree that it would be nice if there was a better standard for some of the messages, but every MUD is a bit different and they all want to do things their own way. Coming to agreement is very difficult. We should be thankful it works as well as it does right now.
But thanks for the Aardwolf example. I haven't done much GMCP testing there and I didn't realize that they weren't sending the room.info.name value. |
|
|
|
dbosst Apprentice
Joined: 15 Jun 2010 Posts: 121
|
Posted: Tue Sep 21, 2010 6:10 pm |
EDIT: nevermind I thought I fixed this but.. I still have this problem...
When I look in the debug window I see my #OK going through find and Loc being changed correctly, and then OnRoomEnter fires
However after this I see the Loc being changed AGAIN to the OLD ROOMs roomkey?? and then once it goes back to the old room it fires onroomcreate... I have no idea why the mapper is changing the Loc to the old room key after already setting the new one... |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Sep 21, 2010 7:18 pm |
dbosst: Did you post to the wrong thread? I have no idea what you are talking about given the context of this thread. You'll need to give me a lot more information and examples of what you are talking about for me to help.
|
|
|
|
dbosst Apprentice
Joined: 15 Jun 2010 Posts: 121
|
Posted: Tue Sep 21, 2010 8:30 pm |
I was referring to the original post... where when I'm updating old rooms vnums, somtimes the map creates a new room for no reason even though there is an existing room.. and the room name assigned is the desc...
Normal results in Map mode, slow mode (one step) ( I know you said use safe but that doesn't work any better):
Code: |
0.0010 | n Achaea32 | Exec Macro "CTRL-KEY9"
0.0359 | m Achaea32 | Event "onRoomWalk" raised : (%1="11983", %2="", %3="", %4="")
0.1235 | Achaea32 |A grove of kapok trees
0.0017 | k Achaea32 | [2] Var "room_num" changed from "8094" to "8098"
0.0016 | k Achaea32 | [2] Var "lastroomvnum" changed from "8094" to "8098"
0.0021 | k Achaea32 | [2] Var "room_exit" changed from "" to "e|sw"
0.0015 | k Achaea32 | [2] Var "room_map" changed from "http://www.achaea.com/irex/maps/clientmap.php?map=161&bui..." to "http://www.achaea.com/irex/maps/clientmap.php?map=161&bui..."
0.0024 | k Achaea32 | [2] Var "room_name" changed from "" to "A grove of kapok trees."
0.0012 | n Achaea32 | Exec Alias "debugw"
0.0010 | n Achaea32 | Exec Alias "debugw"
0.0014 | k Achaea32 | [2] Var "vroomname" changed from "Tangled vines." to "A grove of kapok trees."
0.0014 | n Achaea32 | Exec Alias "mapwin"
0.0017 | k Achaea32 | Loc "NAME" changed from "11984" to "11983"
0.0794 | n Achaea32 | Exec Trigger "Char.Vitals"
0.0049 | k Achaea32 | Var "endurance" changed from "13618" to "13636"
0.0100 | m Achaea32 | Event "onRoomEnter" raised : (%1="11983", %2="", %3="", %4="")
0.0005 | n Achaea32 | Exec Event "onRoomEnter"
0.0005 | n Achaea32 | Exec Alias "debugw"
0.0004 | Achaea32 |ORE: 11983 A grove of kapok trees.
0.0005 | m Achaea32 | Event "onWalkEnd" raised : (%1="11983", %2="", %3="", %4="")
0.0004 | n Achaea32 | Exec Event "onWalkEnd"
0.0004 | n Achaea32 | Exec Alias "debugw"
0.0135 | n Achaea32 | Exec Trigger "RName"
0.0016 | n Achaea32 | Exec Trigger "roomname"
0.0138 | n Achaea32 | Exec Trigger "track_room_desc"
0.0007 | k Achaea32 | Var "short_desc" changed from "Thick liana vines, as big around as a human body, hang do..." to "A tall grouping of kapok trees have grown up in a circle ..."
0.0006 | k Achaea32 | Var "denhere" changed from "" to "A large ornate idol stands here, radiating a soft light."
0.0007 | k Achaea32 | Var "room_desc" changed from "" to "A tall grouping of kapok trees have grown up in a circle ..."
0.0090 | n Achaea32 | Exec Trigger "^(?:You see exits leading|You see a single exit leading|There ar"
0.0037 | n Achaea32 | Exec Trigger "tpr_hmewMXP"
0.0008 | n Achaea32 | Exec Alias "i_exec"
0.0007 | n Achaea32 | Exec Alias "i_gainbal"
0.0008 | n Achaea32 | Exec Func "formatbals"
0.0013 | n Achaea32 | Exec Alias "i_gainbal"
0.0008 | n Achaea32 | Exec Func "formatbals"
0.0027 | n Achaea32 | Exec Alias "i_lastcure"
0.0011 | n Achaea32 | Exec Alias "i_scan_healing"
0.0005 | n Achaea32 | Exec Func "able_scan"
0.0006 | n Achaea32 | Exec Func "able_eat"
0.0014 | n Achaea32 | Exec Trigger "promptMXP_handler"
0.0005 | m Achaea32 | Event "UE_prompt" raised : (%1=0)
0.0005 | n Achaea32 | Exec Event "UE_prompt"
0.0004 | n Achaea32 | Exec Event "UE_prompt"
0.0007 | k Achaea32 | Var "room_display" changed from "" to "(8098) the Rainforest of Shala-Khulia"
0.0006 | n Achaea32 | Exec Alias "debugw"
0.0004 | n Achaea32 | Exec Alias "checkroom"
0.0213 | n Achaea32 | Exec Alias "debugw"
0.0056 | k Achaea32 | Var "pathcount" changed from "295" to "296"
0.0018 | n Achaea32 | Exec Alias "debugw"
0.0010 | n Achaea32 | Exec Alias "roomwindow"
0.0102 | k Achaea32 | Var "denhere" changed from "A large ornate idol stands here, radiating a soft light." to ""
0.0007 | k Achaea32 | Var "room_name" changed from "A grove of kapok trees." to ""
0.0005 | k Achaea32 | Var "room_desc" changed from "A tall grouping of kapok trees have grown up in a circle ..." to ""
0.0005 | k Achaea32 | Var "room_exit" changed from "e|sw" to ""
0.0005 | k Achaea32 | Var "room_display" changed from "(8098) the Rainforest of Shala-Khulia" to ""
0.6313 | ---
|
Erroneous behavior in Map mode (one step)
Code: |
0.0011 | n Achaea32 | Exec Macro "CTRL-KEY6"
0.1565 | Achaea32 |Dense rainforest
0.0014 | k Achaea32 | [2] Var "room_num" changed from "8098" to "8102"
0.0014 | k Achaea32 | [2] Var "lastroomvnum" changed from "8098" to "8102"
0.0021 | k Achaea32 | [2] Var "room_exit" changed from "" to "ne|se|w"
0.0015 | k Achaea32 | [2] Var "room_map" changed from "http://www.achaea.com/irex/maps/clientmap.php?map=161&bui..." to "http://www.achaea.com/irex/maps/clientmap.php?map=161&bui..."
0.0028 | k Achaea32 | [2] Var "room_name" changed from "" to "Dense rainforest."
0.0010 | n Achaea32 | Exec Alias "debugw"
0.0010 | n Achaea32 | Exec Alias "debugw"
0.0014 | k Achaea32 | [2] Var "vroomname" changed from "A grove of kapok trees." to "Dense rainforest."
0.0013 | n Achaea32 | Exec Alias "mapwin"
0.0112 | k Achaea32 | Loc "NAME" changed from "11983" to "11982"
0.0750 | m Achaea32 | Event "onRoomEnter" raised : (%1="11982", %2="", %3="", %4="")
0.0010 | n Achaea32 | Exec Event "onRoomEnter"
0.0013 | n Achaea32 | Exec Alias "debugw"
0.0010 | Achaea32 |ORE: 11982 Dense rainforest.
0.0489 | k Achaea32 | Loc "NAME" changed from "11982" to "11983"
0.1219 | k Achaea32 | Loc "NAME" changed from "11983" to "22419"
0.1840 | m Achaea32 | Event "onRoomCreate" raised : (%1="22419", %2="", %3="", %4="")
0.0006 | n Achaea32 | Exec Event "onRoomCreate"
0.0006 | Achaea32 |ONROOMCREATE: gmcproominfoname: Dense rainforest., map roomname: A tall grouping of kapok trees have grown up in a circle here, creating a small grove
0.0064 | n Achaea32 | Exec Alias "mapas"
0.0823 | n Achaea32 | Exec Alias "mapas"
0.0821 | m Achaea32 | Event "onRoomEnter" raised : (%1="22419", %2="", %3="", %4="")
0.0005 | n Achaea32 | Exec Event "onRoomEnter"
0.0005 | n Achaea32 | Exec Alias "debugw"
0.0005 | Achaea32 |ORE: 22419 Dense rainforest.
|
Notice Loc was changed more than once, erroneously..(I think thast where the problem is... somewhere after the processing of OnRoomEnter by the mapper)...
and then it created a new room when one already existed
--I replaced my char name with just NAME |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Sep 21, 2010 10:13 pm |
You should turn on the Raw Input/Output message in the Script Debugger to see where the GMCP data is sent from the MUD and what it contains. But it looks like CMUD is getting GMCP data for room #22419 and that is causing a new room to be created. But I'd need to see the additional data to tell for sure.
Also, I'd recommend trying to turn off as many of your scripts as possible to start debugging this and then turn them on one-by-one. It's possible something in one of your scripts is causing the location to change somehow. I'm not sure I really understand the line that has:
Code: |
0.0489 | k Achaea32 | Loc "NAME" changed from "11982" to "11983" |
but it seems to come after something you have called "ORE:". |
|
|
|
dbosst Apprentice
Joined: 15 Jun 2010 Posts: 121
|
Posted: Tue Sep 21, 2010 11:57 pm |
There is nothing that should be changing it though..
the ORE is just the OnRoomEnter event message I used for debugging:
#DEBUG ORE: %roomkey @room_name
where @room_name holds the room name set from %gmcp
Is there a way to debug the mapper more to figure out what's changing it? Even with everything in the debug window is being outputted I don't see anything that could change it there is no further script executions after the first OK/ on room enter |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Sep 22, 2010 1:07 am |
Nope, turning on the "Show all script executions" and "Show variable changes" pretty much shows everything. Someday I plan to add more debug messages for the mapper too, but not something that's going to happen right now. As I said, just show the output with the Raw messages so I can see exactly where the GMCP data packets are coming in. Sometimes there are network packet breaks that might be causing issues.
|
|
|
|
dbosst Apprentice
Joined: 15 Jun 2010 Posts: 121
|
Posted: Wed Sep 22, 2010 5:56 pm |
like I said its pretty random, here is it with EVERYTHING enabled, I tried disabling as much as possible .. so this time I put all my gmcp info code inside a #IF (0) so it wouldn't execute.. so there are no other scripts that run before this room is created:
Code: |
0.0039 | c Achaea32 | exec : Macro "CTRL-KEY1" : @{dosprint}sw
0.0008 | n Achaea32 | Exec Macro "CTRL-KEY1"
0.0145 | a Achaea32 |sw
0.0010 | h Achaea32 |<ESC>[2Ssw<ESC>[0m
0.0153 | i Achaea32 >sw<CR><LF>
0.6549 | i Achaea32 <<ESC>[4z<RNum 9354><ESC>[4z<RName><ESC>[1;37m<ESC>[46mWall of memories<ESC>[0;37;46m<ESC>[0;37m<ESC>[4z</RName><ESC>[1;37m<ESC>[46m.<CR><LF>
0.0001 | <ESC>[0;37;46m<ESC>[0;37m<ESC>[4z<RDesc><ESC>[1;33m<ESC>[46mBathed in flickering torchlight, rich tapestries hang from the stone walls, covering all but small patches of the slate-coloured granite and basalt rock that lies beneath. Weaving together to depict scenes both heartrending and joyous, vibrantly dyed threads tell the story of life after the War of Humanity. In the upper left, a solitary dwarf throws down his armour and kneels at the feet of the Lady of Justice, the Smith gazing down at them with an expression of quiet resignation. Further along the hall, artfully rendered dwarves take to their forges and looms, a new passion illuminating their features from within.<ESC>[0;37;46m<ESC>[0;37m<ESC>[4z</RDesc><ESC>[1;32m<ESC>[41m A wooden loom sits here, filled with the beginnings of a weaving.<ESC>[0;37;41m<ESC>[0;37m<ESC>[1;32m<ESC>[41m A runic totem is planted solidly in the ground.<ESC>[0;37;41m<ESC>[0;37m<ESC>[1;32m<ESC>[41m Tending to her weaving, a white-haired crone patiently threads her skein through the loom.<ESC>[0;37;41m<ESC>[0;37m<CR><LF>
0.0001 | <ESC>[4z<EXPIRE "exits"><ESC>[4z<RExits><ESC>[1;32mYou see exits leading<ESC>[0;37m<ESC>[1;32m <ESC>[4z<COLOR #00FF00><ESC>[4z<SEND HREF="northeast" EXPIRE="exits">northeast<ESC>[4z</SEND><ESC>[4z</COLOR> and <ESC>[4z
0.0062 | a Achaea32 |Wall of memories.
0.0074 | a Achaea32 |Bathed in flickering torchlight, rich tapestries hang from the stone walls, covering all but small patches of the slate-coloured granite and basalt rock that lies beneath. Weaving together to depict scenes both heartrending and joyous, vibrantly dyed threads tell the story of life after the War of Humanity. In the upper left, a solitary dwarf throws down his armour and kneels at the feet of the Lady of Justice, the Smith gazing down at them with an expression of quiet resignation. Further along the hall, artfully rendered dwarves take to their forges and looms, a new passion illuminating their features from within. A wooden loom sits here, filled with the beginnings of a weaving. A runic totem is planted solidly in the ground. Tending to her weaving, a white-haired crone patiently threads her skein through the loom.
0.3265 | i Achaea32 <<COLOR #00FF00><ESC>[4z<SEND HREF="west" EXPIRE="exits">west<ESC>[4z</SEND><ESC>[4z</COLOR>.<ESC>[0;37m<ESC>[4z</RExits><CR><LF>
0.0000 | <IAC><SB><201>Room.Info { "num": 9354, "name": "Wall of memories", "area": "the Temple of Phaestus", "environment": "Urban", "coords": "", "map": "www.achaea.com/irex/maps/images/lost.png 2 2", "details": [ "" ], "exits": { "ne": 9348, "w": 9362 } }<IAC><SE><IAC><SB><201>Char.Vitals { "hp": "3190", "maxhp": "3260", "mp": "3450", "maxmp": "3500", "ep": "14992", "maxep": "15200", "wp": "16400", "maxwp": "16400", "nl": "58", "string": "H:3190/3260 M:3450/3500 E:14992/15200 W:16400/16400 NL:58/100 " }<IAC><SE><ESC>[4z<PROMPT><ESC>[32m3190h, <ESC>[37m<ESC>[32m3450m, <ESC>[37m<ESC>[32m14992e, <ESC>[37m<ESC>[32m16400w <ESC>[37mexkdb-<ESC>[4z</PROMPT><IAC><EOR>
0.0013 | a Achaea32 #Telnet 201: Room.Info { "num": 9354, "name": "Wall of memories", "area": "the Temple of Phaestus", "environment": "Urban", "coords": "", "map": "www.achaea.com/irex/maps/images/lost.png 2 2", "details": [ "" ], "exits": { "ne": 9348, "w": 9362 } }
0.0011 | f Achaea32 | GMCP: Room.Info
0.0007 | c Achaea32 | exec : GMCP "Room.Info" : #IF (0) { #DEBUG %gmcp.Room.Info.Name...
0.0004 | n Achaea32 | Exec Trigger "Room.Info"
0.0576 | k Achaea32 | Loc "NAME" changed from "22433" to "22570"
0.1352 | m Achaea32 | Event "onRoomCreate" raised : (%1="22570", %2="", %3="", %4="")
0.0005 | c Achaea32 | exec : Event "onRoomCreate" : #DEBUG ONROOMCREATE: gmcproominfon...
0.0004 | n Achaea32 | Exec Event "onRoomCreate"
0.0006 | Achaea32 |ONROOMCREATE: gmcproominfoname: Wall of memories, map roomname: Bathed in flickering torchlight, rich tapestries hang from the stone walls, covering all but small patches of the slate-coloured granite and basalt rock that lies beneath
0.0010 | a Achaea32 |You see exits leading northeast and creating 22570 , Urban,
0.0008 | h Achaea32 |<ESC>[1;32mYou see exits leading<ESC>[1;32m <ESC>[5Snortheast<ESC>[1;32m and <ESC>[1Screating 22570 , Urban, <ESC>[0m
|
the debug message of onroom create is the first line of that event which is:
#DEBUG ONROOMCREATE: gmcproominfoname: %gmcp.Room.Info.Name, map roomname: %roomname
which shows you the mapper is screwing something up since the %gmcp.Room.Info.Name field is set perfectly fine, but for some reason the mapper creates it with the name set to the desc sometimes |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Sep 22, 2010 7:41 pm |
Yep, I can see the problem here. Notice that the GMCP data is sent in a different packet than the initial room name/description. So CMUD first sees the room name/description and this causes the normal non-GMCP code to process the text before it ever processes the GMCP data in the next packet. So this will be random and will completely depend upon where the network packet breaks are.
Can you check your map and confirm that the Room Key for the room "Wall of memories" is #22570 and that the vNum for this room is #9354 and that the "Real vNum" flag in the Room Properties is set? |
|
|
|
dbosst Apprentice
Joined: 15 Jun 2010 Posts: 121
|
Posted: Wed Sep 22, 2010 8:36 pm |
keep in mind that I am doing my own room confirmation scripts..and so I have actually disabled the "USE VNUMS" option as well as any matching at all...
but when this happens the roomkey is the same as in the debug, the vnum is correct, but the MUD "real vnum" flag is NOT set |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Sep 22, 2010 9:48 pm |
OK, I found where OnRoomCreate was actually being fired when a room was *updated* but not actually created. I've fixed this for the next version. What I can't figure out is where the RoomCreate occurred that set the wrong room name in the first place. Was the room name already screwed up before the dump that you gave above? I'm only seeing a single RoomCreate in that dump.
|
|
|
|
dbosst Apprentice
Joined: 15 Jun 2010 Posts: 121
|
Posted: Wed Sep 22, 2010 10:00 pm |
No in the LAST dump I posted that was for a brand NEW room created ... and the room name was perfectly fine in the gmcp info, as you can tell from debugging.. but this happens randomly in both instances of brand new rooms and rooms that already exist that need to be updated
but you can tell from the gmcp info it definitely had the name right in the gmcp.room.info.name ... but for some reason the mapper isn't processing it good |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Sep 22, 2010 11:41 pm |
Yeah, but see, that is what doesn't make sense. The routine that is calling the OnRoomCreate sets the current room name to the gmcp.room.info.name right before it fires the event. So I can't see any way for this to be different from the gmcp data.
Is your GMCP trigger a "Prompt" or "newline" trigger? The map room is only defined for the "newline" GMCP trigger, so make sure you don't have the "Trigger on Prompt" set? |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Sep 22, 2010 11:55 pm |
OK, nevermind, just wait for the next update. I fixed a couple of problems with Slow Walking and fixed the extraneous call to OnRoomCreate. I just tested a broken packet with the room data in a different packet from the GMCP data and couldn't get it to fail. So hopefully it is fixed. If not, I'm not sure what else to do.
|
|
|
|
|
|
|
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
|
|