|
chris74269 Novice
Joined: 26 Mar 2003 Posts: 40
|
Posted: Fri Jun 04, 2004 7:06 pm
exit stubs |
is there anyway to make zmud print out a list of rooms with exits that aren't connected?
|
|
|
|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Fri Jun 04, 2004 10:45 pm |
I put my unfinished scan directly into my map database as an SQL query. This is what I use.
SELECT ExitTbl.ExitId, ExitTbl.ToID, ExitTbl.FromID, ObjectTbl.Name, DirTbl.DirName, ZoneTbl.Name
FROM ((ObjectTbl RIGHT JOIN ExitTbl ON ObjectTbl.ObjId = ExitTbl.FromID) LEFT JOIN ZoneTbl ON ObjectTbl.ZoneID = ZoneTbl.ZoneId) LEFT JOIN DirTbl ON ExitTbl.DirType = (DirTbl.DirId-1)
WHERE (((ExitTbl.ToID)=(ExitTbl.FromID)));
I am of course using Access to display it. If you wish to do it directly in zMud you search the forums for methods to access the map directly, and you can tweak down the SQL string. Currently it displays ZoneName, RoomName, and Direction of stub; very helpful when your looking for that exit. I think it still eroniously reports one way links as stubs. I can't recall whether I fixed that or not, but believe I did.
There are also other script solutions to this problem if you have no interest in implementing the above. Simply post again and I will be happy to provide more methods. |
|
|
|
chris74269 Novice
Joined: 26 Mar 2003 Posts: 40
|
Posted: Sun Jun 06, 2004 8:08 pm |
yeah, i would like to do it from within zmud. Does anyone have a method, or could you post alternatives vigilante?
|
|
|
|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Mon Jun 07, 2004 11:36 pm |
I still prefer the Access based query it is fast and gives lots of data. I tried rather futiley, for a few hours last night, to convert it into a series of COM calls that could provide any useful output. Time to fall back and punt, a really old script that I used to use is:
quote: #CLASS {UnfinishedScan}
#ALIAS uscan {UScanCount=0;UScanResults="";#T+ MapScanStat status;#WHILE (@UScanCount<%numrooms) {#ADD UScanCount 1;#FORALL %roomexit(%mapvnum(@UScanCount)) { #IF (%i) { #IF (%roomlink(%mapvnum(@UScanCount),%i)=-2) { #ADDITEM UScanResults {%mapvnum(@UScanCount)}}}}};#T- MapScanStat status}
#VAR UScanCount {0} {0}
#VAR UScanResults {}
#STAT {MapScan: %eval(@UScanCount*100/%numrooms)~%} "" "MapScanStat"
#CLASS 0
#T- MapScanStat status
It leaves all the room numbers in @UScanResults.
This too was nicely published a long time ago in the forums. It should work still with the current version but I am preforming no testing on it.
Charbal seems to be the real expert on the map DB and COM around here. Perhaps he will pipe up and provide a nice way to integrate the query into zScript, I know I would appreciate it. |
|
|
|
chris74269 Novice
Joined: 26 Mar 2003 Posts: 40
|
Posted: Tue Jun 08, 2004 11:47 pm |
thanks a lot vijilante, that script rocks, was exactly what i wanted, and btw, do you mean microsoft access?
|
|
|
|
|
|
|
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
|
|