Alright, So because of my retarded internet connection, I've decided there is a need for a channel history for MW. Now, before I go and just write my own, I want to find some snippets to look at and see some various ways of going about it, Does anyone know of any half decent ones out there? thanks for any replies.
Davion released one for rom, its a well rounded system.
Also, AFKMud has a wicked channel system that works with hooks like imc does in the interpeter.
Atleast it used to, don't know if it still does, but its a great system, olc-able so add/remove channels on the fly, aswell as having channel history, channels socials/emotes.
My mud's channel history came from ResortMud originally, with heavy modifications done by Halcyon for persistancy and some extra modification by Remcon and myself for other minor issues. It's not as OLC-able as AFK's or LoP's, but it works. LoP's is pretty nifty if you want to look at it, and quite possibly easier to backport than AFK's. You can find LoP at http://pabulum.muddomain.com/ if you want to check it out, it's a very heavily modified SmagFUSS done entirely by Remcon.
I have a history command that posts the time of day that the messages were errmm..communicated. It also retains the original color of the messages. You can type hist all to see the last 100 communications (on any channel). You can also type history <channel> to see the last 100 on a specific channel.
100 is a bit too much for me, however, after reading a few of the posts here, and conversing with conner away from the forum, I'd discovered a way to do it and have since implemented something similar to the way the IMC channels store channel history.
Cool, too bad there wasn't a decent one back when I was trying to create mine (and really still had no idea how to go about it, thus the rewrite by Halcyon and the fixes by Remcon and myself later down the road). :lol:
Part of the reason I got crazy with my channel system was in response to how available history snippets seemed to work. When I wanted to disable it for certain channels the system setup required the code to get recompiled. A pain in the ass just to put a channel in.
So I figured why not duplicate how the IMC code works with its channels and got that working with the MUD's local channels. Since all channels are now basically the same it would even be possible for local and IMC channels to be merged into the same channel structure if I wanted to. The entire channel system is OLCable.
I know several others have taken the channel code and used it to replace the stock system from Smaug, and one person even ported it to Rom, despite my never having snippetized it. I figure if I went ahead and snippetized it the system would be much more widely used.
I have a history command that posts the time of day that the messages were errmm..communicated.
I find it more useful to display how long ago each message was sent, as it saves people from checking the system time and working it out for themselves.
Yes, Samson, if you had snippetized it I'd have used your system instead of what I did use. You may not recall anymore, but I'd asked you for advice on it at the time and you're the one who steered me to ResortMUD in the first place. :lol:
Hmm, Kavir, mine uses timestamping, but I do like that idea. It makes perfect sense.
Btw LOP does and has had dynamic channels and a history for awhile now lol can find it in the code repository here at MudBytes. Glad to see someone finally did release a snippet for channel history and I haven't looked at it and don't plan to but an idea is to go ahead and make the channels dynamic for it also (if you haven't already). AFK in my opinion still has one of the better ones you can do. One of these days I'll actually take the time to toss in handling socials and emotes into LOP channel code lol.
Kind of amusing, I recently rewrote the channel code on my FUSS to handle channel socials and emotes. I don't have channel history though, may be worth adding. It's not quite OLCable, but it's almost there. Use function pointers to deal with usage restrictions and filtering who can see them.