|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Tue Nov 10, 2009 10:58 pm
[3.12 pro]Deleted room records plus scripted oopsie = immortal null rooms |
I tried to do a scripted update to all the rooms in my mapfile (the one I linked to in the "windowname and send links" thread) instead of manually visiting each room and letting the room-updating code do things for me. That went fine (though I recommend not looping through the entire map all at once), but after the fact I realized that I'd made a huge logic mistake by not checking other room data to ensure that my writing operation was only being applied to currently-existing rooms with name/desc/exit data.
The code I used was just something quick and dirty from the commandline, like #loop 1,%numrooms() {#call %roomflags(%i,"stuff")}, but with 19000 rooms I had to break that into several few-thousand chunks.
So, I now have at least many-tens of rooms that have no other data other than the %roomflags() string I assigned to them. These rooms appear on the map offset from Room 1 (in this mapfile it happens to be the aardwolf recall room in The Grand City of Aylor). They can be selected, and thus can be deleted, moved, merged, and whatever else you can do to a room. However, if you drag them around, the room simply disappears until the next time you open the session.
Does it seem as though this is a bug; if not, is there a way to permanently remove these? Aside from driving me up the wall, I'm not sure if they're impacting things by being there. The portion of the map that actually has name/desc/etc data works fine and doesn't seem to cause any crashing. |
|
_________________ EDIT: I didn't like my old signature |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Nov 11, 2009 12:46 am |
I guess I'm confused...
When looping through rooms with 1,%numrooms, I think you are supposed to get the room ID via %roomvnum(%i) rather than using %i directly as the room key. So are you saying that when trying to access non-existing room IDs, that new rooms were somehow created in the database? That seems really odd.
Can you just delete these "ghost" rooms? |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Wed Nov 11, 2009 3:55 am |
I...don't think they are new rooms. I think they're "echoes" of existing rooms. The ones that appear seem to differ with each opening of the session, like just now I got a single room with a room name and description but no exits and the time before that it was something like 15 rooms all with vnums in the 15000-range but no information at all (the same as if you'd used the room tool to place a room on the map).
So far, nothing seems to exceed the max number that the various functions can show me, and that's not randomly growing any larger. I had thought it was my scripting that did this, but I came across some rooms that weren't updated so I'm assuming what I did never made it into the roomflags field.
I am now off by exactly -2 rooms compared to what I was at at the time of posting (18888 now versus 18890 last night), so I don't know if I'm deleting real rooms via deleting ghost rooms (very bad) or if deleting these ghost rooms is fixing whatever got messed up (good). So far, nothing's shown up as missing that should not have been deleted, however, but I don't regularly go everywhere.
I guess my next step is to try slimming down my layout to see if the 7 rooms plus packages and map is causing some sort of lag on loadup. I seem to be getting lots of layout corruption from something, but nothing appears to be breaking (other than the layout, lol). |
|
_________________ EDIT: I didn't like my old signature |
|
|
|
|
|
|
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
|
|