|
symposes Novice
Joined: 26 Apr 2006 Posts: 34
|
Posted: Thu May 13, 2010 2:01 pm
advice for a mapping project |
long story short, im doing something that will be 2 parts. in part 1 im going to be using automapper to map out an area of roughly 700 rooms.
the difficulty ill be facing comes from the area not using cardinal directions. instead its "enter CELL1" , " enter CELL200" etc.
i attempted this in zmud but it took considerable time because i was doing this entirely through the GUI.
ive seen some commands that sem to do what i need, that will speed this up for me, such as #makeroom and %roomlink
im wondering if anyone has any advice on how to make this as painless as possible.
in part 2. i would like to take this area and using the mapper create paths from each room back to a certain room, and back. these i plan to store in arrays so i wont need to load the mapper just to navigate this area with speedwalks.
I sort of have this now, in that the paths are stored as strings in array subsets, ie 118|101|90 ... etc etc and my scripts process it into a true set of commands to navigate.
creating the map is the only thing i really want to do, via commands, but it would be nice to generate the arrays that I need via scripts as well.
also, does cmud have the array problem that zmud had where it would forget subsets? |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Thu May 13, 2010 8:29 pm |
Well, #makeroom and %roomlink are the functions you will need, along with possibly some of the other %roomXXX functions. But without further details of what the mud looks like or what you are doing, there's not a lot more we can say.
For part 2, you could do it that way. But you should be aware of two things. First, in the next public version, the mapper will be completely changed, and you will be able to do speedwalks without having the mapper displayed. Second, perhaps an easier way of doing what you want is with Cmud paths. Third, you shouldn't use "arrays" in Cmud for this. What you want is either a stringlist or a database variable. Arrays are specifically designed for COM functions, and really shouldn't be used for anything else. |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Thu May 13, 2010 9:35 pm |
1)Is this for area building (you are filling in the room info), or just as a player exploring an already-available area (the game is sending you room info)?
If it's the latter, don't bother trying to script room creation and simply use the MapDir character:
>command>direction
>enter cell1>n
command = the command you want to send to the game to walk into this room
direction = compass position (relative to the current room) to draw the room on the map
2)to generate paths, use the %pathfrom() function. You'll need to get the room numbers of the rooms you want to generate paths to, but %mapfilter() and %find() with %roomnum() should get those easily enough. |
|
_________________ EDIT: I didn't like my old signature |
|
|
|
symposes Novice
Joined: 26 Apr 2006 Posts: 34
|
Posted: Fri May 14, 2010 3:09 am |
Ask and ye shall recieve.
I am a player on the mud in question.
The area is a special area, accessible to 1 guild, and anyone else who completes a quest.
My character is a member of the guild.
when i enter the area, I have to send a command, "scan" to see the room
this is what i see
Code: |
-------------------------------------------------------------------------
Ixian Cells <<>> Cell Number: 134
/ <<** <<** <<** / In Beyond cells
/ (__)) (__)) (__)) /
/ /Blu// /Red// /Blu// / Blu CELL135 Multi Decell
/ (__)) (__)) (__)) / Red CELL117 Channel cell
/ / Blu CELL152 Multi Decell
/ / Blu CELL118 Multi Decell
/ <<** /
/ (__)) /
/ /Blu// /
/ (__)) /
/______________________/
------------------------------------------------------------------------- |
The cells are 135, 117, 152, and 118
to move to those cells, i dont use n, w, e, s, etc i type enter and give it the cell name as an argument
so enter cell135, or enter cell117
I am told there is a graphical map made by the wizard that coded it, and that this area is a 3d map, but yea, heck if i can figure it out.
In Zmud, i attempted to do this, and it was working, i was manually creating rooms in automapper, and their exits, and the links involved, and then testing each link, however i only got about 120 cells mapped out, in about 2-4 hours, but i was making progress.. it was working great. but i was told the rooms are "chaotic" and the exits change every time the mud reboots, so i scrapped it, then i found out its only certain ones, and there are very few.
later another player of the guild, created a note on a guild board that showed every cell, and the "path" from that cell back to the cell that exits into the guild. at this time there was 280-300 cells, now however there are 700 or so, and starting around 250 they have been changed, so i have to figure out those paths. that is why i want to use commands instead of gui for this, because i hope to save a significant amount of time.
The way i did this script the first time, was to take the paths he provided, and punch them into an array, using the cell number as the subset of the array, so cell1 was subset1, cell200 was subset 200, etcetc.
I used his list also, to get a path to the rooms that exit out into other areas of the mud, and with a little work, ended up with a script that would grab from 2 arrays, and send me from point A to point B.
my script would check the cell number against a list using ismember, and if it wasnt one with a list, it would force me out of the area, and back in. exit while in this area will force you back out to the room you entered from, very handy if you get lost.
What im trying to do is rig this up with as few aliases, triggers, and variables as i can get away with, and arrays let me do that in zmud simply enough.
Im finding that it may work the same way in Cmud, but importing the settings, corrupts the array or something, and %arrget only returns null values, however I can create a fresh array and it works.
What I was hoping, and i didn't know how at the time, was that I could create a couple of aliases, and by using command line commands, i could create all these manual rooms, and exits, and links, etc.
Then i found that pathfrom command, or whatever, and thought that would allow me to capture the paths from each cell, etc.
I ended up storing the lists of cells as well, lists, inside an array, maybe that was the problem. subset 1 for example, to get from cell 1 to cell 129, is "16|15|14|13|29|45|62|79|96|113|129" then with a little zmud magic, #forall destination {enter cell%i} would spit out enter cell16;enter cell15;enter cell14; perfectly concatinated, and it worked like a dream.
I am not dead set on keeping this as an array, but i would still like to make this as simple as possible, I did take a look at database variables a moment ago, they look almost identical to arrays, atleast from my perspective. with little to no computer programming experience.
with further play, string list does exactly what i was using array for, so that now solves part 2 of my project. But i still need to find a solution for part 1, While i am not looking to make a script that automaps out the whole area, I would like to get a simple setup going that will allow me to map it out, that way i can start getting these to work.
The reason I want to map it out and make speed walks, is because those Decell cells, allow me to exit to various areas of the mud, namely astroports. however each decell changes the astroport it deposits you on every reboot. my script would catalog the exits (which you can find out before using the decell), and store that in a list, and it would send me to the right decells, i literally could type "go cal" and be deposited on caladan, or "go arr" and be put on arrakis, and this worked every time, once i cataloged the decells.
Sorry if i meander around with that post, thank you for making it to the end :) |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Fri May 14, 2010 3:48 am |
Ok, that didn't really help much. Post up an exact log of you moving around this area (no explanations or commentary, you can post that separately). If you want to narrate the log, do so using your in-game speech commands.
|
|
_________________ EDIT: I didn't like my old signature |
|
|
|
symposes Novice
Joined: 26 Apr 2006 Posts: 34
|
Posted: Fri May 14, 2010 10:36 am |
Code: |
>'I will be showing each command, hopefully
You say: I will be showing each command, hopefully.
>enter cells
>Material is used by your nano-assembly to craft an ICTS Entrance port.
[IDISP] IMG member successfully entered the ICTS!
'I have entered, I am not parsing or #gagging
You say: I have entered, I am not parsing or #gagging.
>scan
-------------------------------------------------------------------------
Ixian Cells <<>> Cell Number: 69
/ <<** <<** <<** / In Channel cell
/ (__)) (__)) (__)) /
/ /Blu// /Sec// /Sec// / Blu CELL68 Multi Decell
/ (__)) (__)) (__)) / Sec CELL86 Secure cell
/ / Sec CELL87 Secure cell
/ / Blu CELL85 Multi Decell
/ <<** <<** <<** / Red CELL53 Channel cell
/ (__)) (__)) (__)) / Blu CELL51 Multi Decell
/ /Blu// /Red// /Blu// /
/ (__)) (__)) (__)) /
/______________________/
-------------------------------------------------------------------------
>enter CELL68
<<>> You transfer to Multi Decell <<>>
>scan
-------------------------------------------------------------------------
Ixian Cells <<>> Cell Number: 68
/ <<** <<** <<** / In Multi Decell
/ (__)) (__)) (__)) /
/ /Blu// /Blu// /Blu// / Blu CELL67 Multi Decell
/ (__)) (__)) (__)) / Blu CELL85 Multi Decell
/ / Blu CELL51 Multi Decell
/ / Sec CELL86 Secure cell
/ <<** <<** <<** / Blu CELL84 Multi Decell
/ (__)) (__)) (__)) / Blu CELL50 Multi Decell
/ /Sec// /Blu// /Blu// /
/ (__)) (__)) (__)) /
/______________________/
-------------------------------------------------------------------------
>read decell
A steel gray message is scrolling across the face of the
Steel gray ball. It reads: <decell> to exit the Ixian Cell System
and enter the Bene Gesserit Station.
>decell
-[ Wallach IX Astro Port ]-
Wallach Spacing Guild Astroport. The night, together with the dark shapes
of the mountains against the cloudless sky, make this place look fairy and
magnificent. The spot lights above the landing pad shine down upon you. You
are almost alone, here and there you notice some movement, but very, very
few. There is a glowing display terminal near the exit of the astroport,
and a dark path to the east. A road goes to the north, south and west. You
notice a blurred figure which seems to flow and move constantly.
Four obvious exits: north, south, west and east.
An automatic bank teller machine
Illya, the Bene Gesserit
>'I have just left the area, and transfered to another planet on the mud
You say: I have just left the area, and transfered to another planet on the mud.
>enter cells
>Material is used by your nano-assembly to craft an ICTS Entrance port.
[IDISP] IMG member successfully entered the ICTS!
'I have returned to the area.
You say: I have returned to the area.
>scan
-------------------------------------------------------------------------
Ixian Cells <<>> Cell Number: 163
/ <<** <<** <<** / In Multi Decell
/ (__)) (__)) (__)) /
/ /Blu// /Blu// /Blu// / Blu CELL162 Multi Decell
/ (__)) (__)) (__)) / Blu CELL180 Multi Decell
/ / Blu CELL146 Multi Decell
/ / Blu CELL179 Multi Decell
/ <<** <<** / Blu CELL145 Multi Decell
/ (__)) (__)) /
/ /Blu// /Blu// /
/ (__)) (__)) /
/______________________/
-------------------------------------------------------------------------
>Demon sharpens a hair very quickly.
exit
You exit from the ICTS unseen.
>look
-[ Wallach IX Astro Port ]-
Wallach Spacing Guild Astroport. The night, together with the dark shapes
of the mountains against the cloudless sky, make this place look fairy and
magnificent. The spot lights above the landing pad shine down upon you. You
are almost alone, here and there you notice some movement, but very, very
few. There is a glowing display terminal near the exit of the astroport,
and a dark path to the east. A road goes to the north, south and west. You
notice a blurred figure which seems to flow and move constantly.
Four obvious exits: north, south, west and east.
An automatic bank teller machine
Illya, the Bene Gesserit
>'Using exit, i return to the point i entered from.
You say: Using exit, i return to the point i entered from.
> |
One thing to point out, is that scan only shows 6 cell exits, if there are 7 or 8, as some cells do have that many, it will not show them all,
but the enter command by itself will show them, here is an example
Code: |
[Viewer] Shutdown notice: Cell exits > 6/This is only beta copy
[Viewer] Number of exits to be displayed set to 6
[Viewer] Info: Use 'enter' command to display all exits
[Viewer] Number of exits found in current cell: 8
-------------------------------------------------------------------------
Ixian Cells <<>> Cell Number: 107
/ <<** <<** <<** / In Special cell
/ (__)) (__)) (__)) /
/ /Sec// /Gre// /Blu// / Sec CELL108 Secure cell
/ (__)) (__)) (__)) / Gre CELL106 Middle route
/ / Blu CELL124 Special cell
/ / Sec CELL90 Secure cell
/ <<** <<** <<** / Sec CELL125 Secure cell
/ (__)) (__)) (__)) / Yel CELL123 Connect cell
/ /Sec// /Sec// /Yel// /
/ (__)) (__)) (__)) /
/______________________/
-------------------------------------------------------------------------
enter
********************************************************
Access Cell Id Code
********************************************************
[83] CELL108 : Security
[6] CELL106 : Green
[47] CELL124 : Blue
[65] CELL90 : Security
[87] CELL125 : Security
[64] CELL123 : Yellow
[46] CELL91 : Security
[45] CELL89 : Security
********************************************************
|
I am honestly just looking for a way to speed up manual creation of the map, at this point I have figured out enough with everyone's suggestions, to be able to rewrite the script i need, for the speedwalking application.
I was concerned that because all exits will be "other" instead of cardinal directions, that the commands wouldnt function correctly, or that i would have to make sure to run the link command from each side to connect 2 rooms completely, etc. |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4689 Location: Pensacola, FL, USA
|
Posted: Sat May 15, 2010 2:11 am |
You can use a cardinal exit if you want, just use the 'Name' field on the exits tab of room properties window to input the command used to go that way.
|
|
_________________ Discord: Shalimarwildcat |
|
|
|
symposes Novice
Joined: 26 Apr 2006 Posts: 34
|
Posted: Sat May 15, 2010 6:02 am |
shalimar wrote: |
You can use a cardinal exit if you want, just use the 'Name' field on the exits tab of room properties window to input the command used to go that way. |
Ive done this on another map, i set it up so i could push north and it would send door.
Only reason im staying away from cardinals, is because I have no clue how the ICTS area is laid out, so my map would start to get ugly fast. When i first did this, i just created rows of rooms, left to right, top to bottom, about 15-20 rooms wide.
I do not plan on using the automapper in the end. no special reason.
Thank you for the advice everyone :) |
|
|
|
|
|
|
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
|
|