OBJECT
/obj/guild/guildboard
LAST UPDATE
Thragor, 09-May-96, 12:30 MET
SYNOPSIS
to add the board to your guild:
#include <rooms.h>
AddItem("/obj/guild/guildboard",REFRESH_HOME,
([P_SHORT:"The Central Player Board",
P_LONG:"A nice board.\n",
"Groups":({"players.*"}), // the normal groups
"LevelGroups":(["players.hlp":20]),
// this group may be only read from level 20 on.
"GuildGroups":({"a.vampires"})
// This group may be only read by players, where the
// environment answers 'true = 1' on is_member(pl)
// so you should place this board into your
// guildoffice which inherits /std/guild
]));
DESCRIPTION
The problem: We now have certain groups which mustn't be
accessed by certain players, but the /std/board only differs
between the certain wizlevels.
Therefore I wrote /obj/guild/guildboard which allows you to
restrict certain groups to certain player-levels or to players
which are member in the guild.
As described in /std/board the groups may be specified as
regexp.
string *SetGroups(string|string *names)
string *QueryGroups()
Slighly modified from /std/board but no real consequence for
those who just want to put the board in their guild.
All settings done with the functions below will also be done
to SetGroups(). So groups matching to SetGroups() and also
matching to e. g. SetLevelGroups() are handled as
'levelgroups'.
string *SetGuildGroups(string|string *names)
string *QueryGuildGroups()
Set a (some) regexp(s) for groups which may be read only by
guildmembers. Only players where the environment answers
'true' = 1 on 'is_member(player)' may read the board (so put
it into your room which inherits /std/guild and you don't
need to take care of anything else).
Groups set here, will also be set in 'SetGroups()', so the
normal board recognizes them, but when someone is trying to
switch to the group and is not allowed to, (s)he'll get a
failure-message.
mapping SetLevelGroups(mapping names)
mapping QueryLevelGroups()
Set a (some) regexp(s) for groups which may be read only by
players from a certain level on. The format is:
([<group-regexp>:<level>])
Where <level> is the level from which on you might read this
group (including <level> itself).
Groups set here, will also be set in 'SetGroups()', so the
normal board recognizes them, but when someone is trying to
switch to the group and is not allowed to, (s)he'll get a
failure-message.
INHERITANCE TREE
/obj/guild/guildboard
|
` /std/board
SEE ALSO
board(S)