I set up a .clan file according to the help file, but i get a "Cannot open clan vault" for the clan. (I only have one) I have the clanstoreroom flag set on the room and the storeroom number set in the clans file.
A "clans" command doesn't show any clans.
alright, got the problems solved, just an oversight on my part. but i have another problem with the clans.
i have a guild set up for each class, and the clan vault works fine now, but how do you add a leader to the clan?
i added the name of the PC who should be the leader of the clan in the .clan file under Leader. and a "guilds" command shows the PC as the leader, but the PC can't get into his own guild and doesn't seem to be able to induct anyone. Is there anything else i should do to start a clan?
First, if the clan shows up under "guilds" but not "clans" then it isn't really a clan, but a guild. The simplest thing to do is change the "Type" entry in the clan file to zero. A type of 13 is an "order" and 14 is a "guild".
Based on the instructions given on web page ...
http://www.cs.utk.edu/~london/smaug/
The easiest way to start a new clan is to make a small file like this:
#CLAN
Name Dragonslayer~
Filename dslay.clan~
End
#END
Then add this file name (dslay.clan) to the clans.lst file.
The type will default to zero, which is a normal clan, not an order or guild.
Then you can set a deity, leader and clan storeroom like this:
Each time you type one of these commands the clan file will be written out.
Now, typing "clans" (not "guilds") will list the clan in the clan list.
The storage rooms must have the "clanstoreroom" flag set (you can do this in the Area Editor).
Then, if you go to the clan storeroom, and put something into a container there, it will be placed into the clan vault and the clan "vault" file will be immediately written out/updated.
As for inducting people, it seems you have to be a clan member before you can induct other members (which seems fair enough), even if you are listed as the leader.
What I did to get that to work was, quit my character (so his player file was written out), and then edit the player file and add the line:
Clan Dragonslayer~
Then when I connected again with that player and typed:
who Dragonslayer
I was listed as a member of the clan.
Finally, I could induct another player, provided:
* I am level 50 or over
* I am in the same room as the other player
* The other player is level 10 or above
* The other player is not a higher level than me
Thanks Nick, that worked like a charm. The clan vault problem i had already solved, but the rest was giving me a headache.
The default clan files had been set to Type 14, so i didn't change it. I couldn't find a list of what the different numbers of the clans types were.
Also, am i wrong to assume that Clans, Guilds, and Orders are different in name only? (and their Type numbers.)
I also wonder why the level restrictions. 10th level seems high to wait to induct someone. I was thinking more like 5th. but that doesn't matter as much.
Also, as a side note, i would think that naming a clan with the same name as a class would cause some confusion for the server.
I think the first 12 are the same, except for type number. Order and Guild are used a bit differently. For example, if you use "clantalk" and the type number is 13 or 14 it won't let you.
I agree it would be confusing to have a clan and a guild of the same name, and it might not let you, as they are stored in the same list internally.
I noticed that, on the tutorial website you mentioned from the smaug site, it seems that they haven't added the howto on adding channels yet. So.... How do I add a channel exactly? The reason I'm posting it in this subject is because I want to replace 'guildtalk' with a uniquely-named line for each guild (you may not understand why I wanna do this, but I'd like it better that way). I looked in the source code, but was unable to even add a channel. Furthermore, I want the function to do an ifcheck to see if a person is a member of a certain guild. For example, the guildtalk line for the 'Honored Aethians' guild may be something line 'honor' or something, i.e. Kris honors 'welcome to this guild' etc. Or if it's the 'We Suck' guild, then perhaps: Kris suckers 'what the heck kinda guild is this?!' etc. How would I accomplish this?
I got the guild line all set up and everything, and it works just fine. However, the ifcheck only checks to see if the person is in a guild. How do I check to see if a person is in a -specific- guild, i.e. Guild of Thieves, or Honored Aethians, or Poopy Guild, etc? I tried putting a testchar in the guild of mages, and that person can use the honor line. However, nobody else can see what he types on the honor line, and he doesn't see what they type. They see each other just fine, so I'm not worried about people not in the guild being able to see it.
Actually, I've been having a problem similar to that with the newbiechat (renamed it to 'newbie') line. I'm trying to set it up so anyone can use it. I removed the ifcheck in do_newbie, so a newbie can use it, but nobody else sees it, and the newbie doesn't see anything that's on the line. I couldn't find ANYTHING in the source code that was responsible for this. What should I do about those 2 problems?
Could you be more specific with your solution to Problem 1? I apologize, but I can't seem to figure out what I'm supposed to do and how that will check for a specifically-named guild. Thanks for your help :)
Oh, and with problem 2, how do I just set newbie line so you're automatically able to hear it? There has to be somewhere in the source that determines what lines can (i.e. chat) be heard, and what lines can't (i.e. newbie).
Could you be more specific with your solution to Problem 1? I apologize, but I can't seem to figure out what I'm supposed to do and how that will check for a specifically-named guild.
I assume you will have set up another enum for your clan in mud.h, eg.
Oh, and with problem 2, how do I just set newbie line so you're automatically able to hear it? There has to be somewhere in the source that determines what lines can (i.e. chat) be heard, and what lines can't (i.e. newbie).
To make the newbie channel available you would do this somewhere relevant (eg. as they connect, or when they create a new character):
The solution for problem 1 worked :)
However, I tried putting
REMOVE_BIT( ch->deaf, CHANNEL_NEWBIE);
in several places in comm.c (the file that contains stuff for newly created chars). It still doesn't work. The person can use the newbie line, and can hear himself using it. Other people can hear him using it. However, if anyone else uses the newbie line, even though they hear each other, the newbie does not hear it.