Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ SMAUG ➜ SMAUG coding ➜ Editting Void & Limbo

Editting Void & Limbo

It is now over 60 days since the last post. This thread is closed.     Refresh page


Posted by Microp   USA  (68 posts)  Bio
Date Sat 23 Mar 2002 02:32 AM (UTC)
Message
Whenever I try to edit the Void or Limbo areas (in Area Editor), it causes me not to be able to connect to my game through localhost.

Why is this happening?

Is there anyway to setup a new room as the default for new characters to start in, and login through (instead of the default void or limbo) so I can bypass this prob. and just toss the old void/limbo?

I can't seem to find a way through this, I want to get rid of all the stock files, and build my own smuag world from scratch (100%). But I can't do that without editting the Void and Limbo..

Please help, before I go mad.
Top

Posted by Nick Gammon   Australia  (23,162 posts)  Bio   Forum Administrator
Date Reply #1 on Sat 23 Mar 2002 02:55 AM (UTC)
Message
Take a look at the SMAUG FAQ. It discusses the starting room, and the problems with getting rid of those areas.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Microp   USA  (68 posts)  Bio
Date Reply #2 on Sat 23 Mar 2002 05:05 AM (UTC)
Message
Alright, here's what it said..


Summary How do you specify the starting room vnum?
Question In SMAUG, where in the code, or config/setup files can you specify the starting room vnum? I want to change where beginning players start in the mud, and I don't want it to be out in front of the Academy.
Answer A. They are defined in mud.h, as follows ...


#define ROOM_VNUM_SCHOOL 10300
#define ROOM_AUTH_START 100

There is code in comm.c as follows:


if (!sysdata.WAIT_FOR_AUTH)
char_to_room( ch, get_room_index( ROOM_VNUM_SCHOOL ) );
else
{
char_to_room( ch, get_room_index( ROOM_AUTH_START ) );
ch->pcdata->auth_state = 0;
SET_BIT(ch->pcdata->flags, PCFLAG_UNAUTHED);
}

This puts a new player in the school (if no authorisation) or at the training area (if they are going through that).

You would need to recompile the server to change those. :)

------------------------------------------

I found..

#define ROOM_VNUM_SCHOOL 10300
#define ROOM_AUTH_START 100

..on line 1838 and 1839 in mud.h, but I don't get how to edit it. ROOM_VNUM_SCHOOL is the Void and ROOM_AUTH_START is the Limbo..? What is the #'s 10300 and 100?


Here's what I want: VNUM 1 as the Void, and VNUM 2 as Limbo, in a brand new area (so I can remove all built in stock areas and start fresh (while still being able to actually connect to localhost.) How would I go about doing that? Is it even possible, or does it take alot of editting?

Can I even get down to the basic smuag by removing all stock areas? Or are they so integrated with the source that it's not worth it?

Also while I'm at it, what does recompile mean and how do I do it? I know, I know, I've alot to learn. But I will learn or die trying. When I read over helpfiles, I end up with more questions than answeres.

All I want is a blank smuag with just the two required rooms (Void and Limbo) from there I can build forward unobstructed (hopefully).

*sighs*
Top

Posted by Nick Gammon   Australia  (23,162 posts)  Bio   Forum Administrator
Date Reply #3 on Sat 23 Mar 2002 08:12 PM (UTC)
Message
Quote:

so while I'm at it, what does recompile mean and how do I do it? I know, I know, I've alot to learn. But I will learn or die trying. When I read over helpfiles, I end up with more questions than answeres.


See this web pag:


http://www.gammon.com.au/smaug/howtocompile.htm


That explains about compiling and gives examples of changing SMAUG.

Quote:

Here's what I want: VNUM 1 as the Void, and VNUM 2 as Limbo, in a brand new area (so I can remove all built in stock areas and start fresh (while still being able to actually connect to localhost.) How would I go about doing that? Is it even possible, or does it take a lot of editting?


Neither is void or limbo. One is the start room if you are using authorisation, which puts players through the pre-auth area, which does some initial player training. The other is the start room if you are skipping authorisation, which is outside the Academy I think.

You could change the number 10300 to 1 if you wanted, however you have other problems ...

The server has hard-coded in it references to certain rooms and objects, and won't start up if they aren't there. They are listed in that FAQ. eg. where players go if they die, objects to give new players, etc.

You would need to find each reference to such an object/room/mob and change the code to not need them, or to use your room instead. Probably simpler to just work out the purpose of each one and change the number in the mud.h file to what your room will be, and then recompile.

It might be simpler to use Dawn Of Time codebase, that is described in this forum, and, being more recently written, I think has less requirements for hard-coded vnums. As far as I know, such vnums are in a configuration file, not in the code.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Microp   USA  (68 posts)  Bio
Date Reply #4 on Sat 23 Mar 2002 10:10 PM (UTC)
Message
I think understand now.

Does Authorisation mean new players have to get imm approval before entering the game? If so, I'd rather it to be set to no authorisation needed. How would I do this?

#define ROOM_VNUM_SCHOOL 10300
#define ROOM_AUTH_START 100

10300 pre-auth area. >>> Room VNUM 10300?
100 start room (skip auth) >>> Room VNUM 100?

Which Smuag folder/files would I have to look through to find these different refs inoder to change them?

Setting all references of 100/10300 to 1, would allow me to remove ALL mods/obs/rooms and start anew -Blank? I'd then just setup a new room VNUM 1, this would be the initial start room (skip auth)?

...Before I decide on whether switch over to DoT or not, I'd like to know:
-How is it different from smuag (expanded commands?)?
-Can I use Area Editor on it (*Hopes*)?

Thanks for all your help. I really appreciate it.
Top

Posted by Nick Gammon   Australia  (23,162 posts)  Bio   Forum Administrator
Date Reply #5 on Sat 23 Mar 2002 10:48 PM (UTC)
Message
Quote:

Does Authorisation mean new players have to get imm approval before entering the game? If so, I'd rather it to be set to no authorisation needed. How would I do this?


Yes, in order to enter the main part of the game. This was to stop people making up stupid names and annoying everyone. In the file system/sysdata.dat change the line:


Waitforauth 1


to:


Waitforauth 0


Quote:

Which Smuag folder/files would I have to look through to find these different refs in order to change them?


Use grep, or some text editor with a find-in-files function. eg. using grep in Cygwin, or Unix (in the src directory) ...


grep ROOM_VNUM_SCHOOL *.c


Quote:

Setting all references of 100/10300 to 1, would allow me to remove ALL mods/obs/rooms and start anew
-Blank? I'd then just setup a new room VNUM 1, this would be the initial start room (skip auth)?


No, there is more to it than that. You need to find every reference to *every* vnum mentioned in the FAQ - I think there are about 50 of them. You can't just change them all to 1. For example, if you did, and someone died, they would go to room 1. And, some refer to objects, not rooms. eg. the command 'newbieset' gives newbies certain objects. Here is part of the code for that ...


obj = create_object( get_obj_index(OBJ_VNUM_SCHOOL_VEST), 1 );
obj_to_char(obj, victim);
obj = create_object( get_obj_index(OBJ_VNUM_SCHOOL_SHIELD), 1 );
obj_to_char(obj, victim);
obj = create_object( get_obj_index(OBJ_VNUM_SCHOOL_BANNER), 1 );
obj_to_char(obj, victim);


Thus you would need to have a vest, shield and banner, and change the vnums to refer to those, or else remove the command altogether.

If you are new to C, I would not be doing all this at once. You will get lost. Either make changes that don't require C coding, or learn C on a simpler project.

Quote:

...Before I decide on whether switch over to DoT or not, I'd like to know:
-How is it different from smuag (expanded commands?)?
-Can I use Area Editor on it (*Hopes*)?


DoT is more comprehensive than SMAUG, see the posts about it on this forum. It has more lines of code, more commands, inbuilt support for MXP, lots of things.

DoT will import ROM areas, which you can make with the Area Editor. However once they are changed to DoT area files the Area Editor won't process them.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Microp   USA  (68 posts)  Bio
Date Reply #6 on Sun 24 Mar 2002 03:00 AM (UTC)
Message
I suppose at the moment I'll have to concede defeat.

Is there no other way to remove all stock areas, setup a new start room, and begin with a blank smuag, without having to get to deeply into C?

I'm a bit surprised that there's not a downloadable smuag source code out there, that is blank.

Should I simply remove all non hardcoded mobiles, objects, and rooms, and just leave the hardcoded ones in the game?

If I did this, then removed the default exits in VNUM 100 (which leads to the world of Darkhaven) while adding a new exit (that lead to my own world). -Sort of leave all the hardcoded stuff alone (bypass it), and create my world on top of the stock stuff. Then do the same for Void and Limbo..For this to work (if it will), I'd need know how to connect rooms of different areas to eachother..so my question is..

How do I connect one room in an area to another room in a different area?

Also why are these areas seperated? Why not just have one big .are file. does it have something to do with assigning imm their own zones or just for organization?
Top

Posted by Nick Gammon   Australia  (23,162 posts)  Bio   Forum Administrator
Date Reply #7 on Sun 24 Mar 2002 06:56 AM (UTC)
Message
Quote:

How do I connect one room in an area to another room in a different area?


Just use the vnum from the other area. In Area Editor there is provision for manually typing in the vnum.

Quote:

Also why are these areas seperated? Why not just have one big .are file. does it have something to do with assigning imm their own zones or just for organization?


Yes, for ease of organisation, and so that areas can be shared. If everything was in one big area it would be hard to give away/receive bits of areas from another MUD.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Microp   USA  (68 posts)  Bio
Date Reply #8 on Sun 24 Mar 2002 07:59 AM (UTC)
Message
Thanks for all your help Nick :)

Q: I've tried to have the rooms exit vnum lead to the vnum of a room to a different area, but it says something like "vnum not in this area" and it sets it back to -1. Is there a specific way you must do it?

I've read up on alot more help files. I haven't found anything saying you can't just skip over the hard-coded mob/ob/rm's and have the exit from the start vnum 100 lead to my world. This seems like alot of waisted memory to keep these stock files. But, seeing as it's my only option I think that's what I'll do.

Q: How much editing can I do to the hard-coded vnums? For example; what on room vnum 1 can't I change? Just the actual vnum?

Also, I've attempted to download the compiler, but 50mb is a bit large for my slim connection. But I'll keep trying.
Top

Posted by Nick Gammon   Australia  (23,162 posts)  Bio   Forum Administrator
Date Reply #9 on Sun 24 Mar 2002 11:26 AM (UTC)
Message
Quote:

Q: I've tried to have the rooms exit vnum lead to the vnum of a room to a different area, but it says something like "vnum not in this area" and it sets it back to -1. Is there a specific way you must do it?



I tried entering a non-existant vnum on an exit, and didn't have it reset to -1.

What you can do is open the other area (as many areas as you like, or use the area.lst file to open all of them for you). Then using the "choose" button choose the area name from the combo box, and then all the rooms in that area are listed.

Quote:


Q: How much editing can I do to the hard-coded vnums? For example; what on room vnum 1 can't I change? Just the actual vnum?


In asking that question I think you have found the answer to your problem. Yes, the only thing is required is that the vnum exists. However you can change the description, contents, exits, everything about that room to reflect the character of your own mud. All the server wants is that the room can exist, not too hard a thing to ensure.

What I suggested elsewhere, is that you use the existing areas as 'leaping points' to your own areas. In other words, if room 10300 has to exist, fine, make it. But make all exits immediately jump to your own areas (eg. 50000) so that you have kept the server happy, but still have all your own stuff in all but a handful of rooms, and even in those you can reword everything.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


30,549 views.

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.