General commands

General commands javelin Mon, 2012-02-13 20:08

Questions about mush commands that usually aren't used much in softcode (@mail, @channel, look, etc.)

@channel recall explained

@channel recall explained javelin Mon, 2012-02-13 20:09

You can use @channel/recall channel=N to return the last N stored messages sent over the channel. However, you can't recall any lines unless the channel has been configured to actually store stuff. This is done with @channel/buffer channel=X, where X is the maximum number of 8k blocks to use to store lines. Within this space, as many lines as possible are stored, so that if there's a lot of short messages on the channel, you'll have a history going further back than when there's lots of long messages. @channel/what displays the amount of memory used in the recall buffer, and how many actual lines are being held at the moment.

2003-Jun-29 8:27pm shawnw

@mail number=message doesn't work right?

@mail number=message doesn't work right? javelin Mon, 2012-02-13 20:09

@mail number=message doesn't work right?

As help @mail explains, @mailing to a number sends the @mail to the author of the Nth message in your mailbox, and not to a player with a name or alias of the number. If both their name and alias are numbers, you can use their dbref, or *number.

2001-Sep-23 2:04pm shawnw

Penn-Specific things you can do for Myrddin's BBS

Penn-Specific things you can do for Myrddin's BBS javelin Mon, 2012-02-13 20:10

Myrddin's BBS assigns each post in it a unique id, which is stored as a base-36 number instead of the normal base 10. This is done because the ids of all posts someone has read are stored in an attribute on the player, and numbers in base 36 take fewer characters than base 10, so more can fit into the attribute before hitting the buffer limit.
In Penn 1.7.7p23, the baseconv() function was added for converting numbers between different bases. To use that function instead of the entirely softcoded conversion routines that come with the BBS, do the following:
Inside the Global BBS object should be an object named bbpocket. It has two attributes you need to change. The first, FN_B36-TO-B10, should be set to 'baseconv(%0, 36, 10)'. The second, FN_B10-TO-B36, should be set to 'ucstr(baseconv(%0, 10, 36))'. That's it.

2004-Jan-16 1:14pm shawnw