Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - saquivor

Pages: [1] 2
Open Chat / Mr Tau appears out of the ether
« on: January 26, 2009, 06:50:32 am »
Not sure why but I always remained curious as to
why Mr Tau suddenly vanished without a trace.

Well I am happy to report I have found that he is alive
and well.

For more details click here.


General / VM to Demo LPC Muds
« on: August 18, 2008, 06:32:56 am »
As part of getting ready to actually getting restarted on my GUI tool, I decided to build a VM to run DS2 so that I can easily manage a DS2 setup via my Windows machine.

Anyway it got me thinking that it might be a good idea to create a VM image for all public lp mudlibs. I use VM images a lot at work and they can be very handy from everything to developing, testing, playing and even live usage.

I would like to briefly outline what I have in mind :-

VM creation tool:-
Virtualbox 1.6.4 OSE. Not sure of implication of using and distributing non OSE version. The non OSE version ships as a binary, I am assuming my OSE VM will work on both versions of VirtualBox.
Virtualbox allows VMs to make outbound connections be default so intermud would work, but nobody could connect to the mud, unless a route was setup between the host and the VM.

Consider VMWARE at a later date, if enough demand.

I will publish how I built the VM so that people can verify there is no back doors etc.

Linux Version:-
Ubuntu server LTS support until 2013, vast selection of s/w. Ubuntu now happens to be my favoured *nix. Unless IBM ever release openAIX :) There is no X  front end with this release ie Gnome etc, but can be added by the user fairly easily.
Will include nano/pico for users that have not used vi/emacs.

The current VM I am working should be less than 300MB when compacted


Any that are listed on the downloads section of

Tiny Fugue

As Ubuntu server does not ship with X/Gnome/KDE I plan to  write a basic Ncurses front end that will list all muds available, as well as the comments about them from the lpmuds site. Connections to chosen mud could be made via ncurses front end as it would invoke tf to connect to the mud on the correct port. As stated earlier it would not be possible to connect to VM via a remote client, unless end user specifically allowed it.

If anyone has any comments/views on this then please let me know.

I hope to have an alpha release available in the next couple of days.


Open Chat / Time Travelling through file systems
« on: June 24, 2008, 03:24:48 pm »
Recently started looking at flyback which replicates functionality of Apple's Time machine and Windows 2003 snapshots.

I had been using unison as it works across platforms and has some extra features over rysnc for creating revisions of files.

But hopefully flyback may replace my need to use unison.I have not tested within lpc environment yet, but in theory should make it easier to reverse any changes made to files, by restoring previous versions of files.

I can here all the rsync scoffers from here, but I still like this tool :P

Open Chat / QTads
« on: June 08, 2008, 02:14:07 pm »
Anyone who cut there teeth on the Infocom style games like Zork, then you might want to look at QTads and its associated media library.

Enjoy :)

General / Inputs
« on: April 15, 2008, 10:24:11 am »
I have been musing over an idea of improving command line input to LPC based muds. Which varies from implementing ncurses to support, to implementing getch() style inputs that do not require newline.

I am sure we can all think of lots of situations where having this type of facility would be provide a more immersive style of interaction with a player. Or maybe it doesn't ?

If it is possible to add this type of functionality could anyone point me in the right direction in relation to how this might be achieved under fluffos/mudos? It could be that this is possible at the mudlib level ?

I would like this to be implemented without the need for an mxp style custom client.

Anyone have any links to related technical articles, etc.

Also interested to see how much support there would be for supporting this request.

I am not even saying I have skills to implement such a change, but I do have sufficient interest to at least try! So who knows :)

All the best,

General / vim and ftp
« on: September 20, 2007, 05:49:34 am »
I came across a cool thing at work today.

It would appear that more recents versions of vim and gvim(windows) support ftp.( I am probably last person in world to know this :P)

so vim ftp://somehost#someport/workroom.c

Connected me to ds2 and write files with :w! :)


ps for Ubuntu/Debian users
On ubuntu I had to apt-get install vim-full before it worked.

Dead Souls Support / Running DS on fluffos
« on: September 17, 2007, 03:19:46 am »
I have started this thread relating to issue I am finding running ds2 on fluffos, that are not driver issues.

1) Heartbeats is in seconds, so check hb interval in local_options

#define HEARTBEAT_INTERVAL 1000000

2) There appears to be some parsing differences

So if there are 2 orcs and you type kill orc it generates a parsing error.

kill all, kill first orc work as normal.


Dead Souls Support / Events
« on: September 09, 2007, 01:07:01 am »
Today's meanderings have taken me to look at events relating to LIB_SENTIENT ie eventReceiveEmote, eventReceiveCommand ,etc.

It has given me an idea that I would like to create  sentient style room and objects. So on my initial musings it would appear that eventReceiveEmote has links to
  • lib/sentient.c
  • daemon/soul.c
  • daemon/services/emoteto.c
  • daemon/intermud.c

It is possible that rooms already have eventReceiveObject. But I am looking for something like eventReceiveRace that would gas an orc for entering the room/trigger an object in a room.

Are there any other files I need to look at in relation to creating a sentient lib for objects and rooms that would allow reactions to events.

I will carry on with my experiments, but would be grateful for any pointers.



Dead Souls Support / SetEmoteReponse
« on: September 08, 2007, 03:25:24 am »
Again something new I found :)

Add this to your favourite npc ;)

Code: [Select]
        SetEmoteResponses ( ([
                ({"kick","slap"}) : "Don't hurt me!",
                ({"kiss","hug"}) : "Thank you!"
                        ]) );

Dead Souls Support / SetCommandResponse
« on: September 08, 2007, 02:28:48 am »
Whilst meandering around lpc from time to time as I do. I came across an interesting use of using a mapping in conjunction with the SetCommandResponse function(was actually an equivalent function in dw(set_respond_to_with)).

I have posted an example for /domains/town/npc.dirk to show use of mapping rather than a single word.

Code: [Select]
SetCommandResponses( ([
     ({ "advance","advanced","help","train"}): (: AdvanceDude :)
      ]) );

I am sure the veterans amongst you will already know this, but to me it is one of those things that only became obvious retrospectively! And the builder in me, wanted to share a way of making npc's far more interactive with very little effort.

Thanks to dw for the example :)

General / Bit of C#/Mono fun and request for help wit LPC :)
« on: May 14, 2007, 04:04:00 am »
After my success with PHP sockets yesterday, I decided to try and replicate what I did in c#/mono.

So here is a screenie showing progress I made in 10 minutes! But I did pinch another projects code and bend it my purposes :) Screenshot shows me running this application from Suse Linux to DS2 running on XP Machine :) I can login, connect and run commands.

Now as I have said many times before I am not a real programmer, so it maybe what I am doing has been done before etc etc. Or that I am trying to approach this from the wrong angle entirely. I honestly would not know, I am just hacking my way through this!

To me I could turn this windows form into a class and do some pretty cool stuff like change the gui app I wrote to update the edited file on the mud in real time and report back the results of the update command. But that is just scratching the surface of what is possible.

Now I can manipulate lpc objects via sockets, I have removed my barrier to learning lpc properly. So far my lpc skills are rather shallow, as I kept getting hung up on issues relating to driver and manipulating objects/events oustide of the lpc box.

What I am trying to say in a very round about way, is that I would really appreciate some feedback on how useful what I am doing might be. If it is useful, what are peoples thoughts on languages to develop this further with. ie Web based PHP/, GUI tool with full text editor that support intellisense etc (i would only know how to code this in c# right now, but I am sure I could also look at coding what I did in c++/gtk). It may even be possible to make this a daemon/service that hooks into Db etc?

I have taken my lpOED project offline until I can gauge how to move forward with this. It maybe that everyone is happy with ed and the status quo and that I am just thinking way off line to what most people want to do with their LPC projects :) I got zero feedback from anyone last time, other than one or two words on the forum. So I am really wanting some more feedback, otherwise I am happy to keep it as a pet project that keeps me amused in my free time. I will also promise to stop spamming the forums with my porgress  ;D

Anyhow please let me know what you think.


PPS In terms of my wanting to really learn LPC rather than code some objects and rooms that have too much code in them and should really be making better use of inherits and daemons. I have some ideas for a questing system and would like for someone to mentor me through the process of making this properly! (Maybe someone at Neverland :) ) So if you could help me with this please let me know.

General / Bit of PHP fun
« on: May 13, 2007, 01:19:33 pm »
I was looking at coffee mud today and was impressed by how mud interacts with objects in real time. So decided to play with PHP sockets to see if I could do something silmilar :)

Well here is a rough early script that does show the potential of php! So phase 2 of my tool will use php. I am sure you can all see how this script could be extended to do some really fun stuff!

Current script assumes you have already created user and will log on and send a message on newbie channel if it exists.

Connection will time out after property shown in script and via php.ini default_socket_timeout = 60



Code: [Select]
="localhost" ;
$sk=fsockopen($host,$port,$errnum,$errstr,$timeout) ;
if (!
is_resource($sk)) {
"connection fail: ".$errnum." ".$errstr) ;
} else {
fputs($sk"username\n") ;
fputs($sk"password\n") ;

fputs($sk"newbie I am a php bot test\n") ;
$dati="" ;
    while (!
feof($sk)) {
$dati.= fgets ($sk1024);
fclose($sk) ;
$dati) ;

Code Vault / Interacting with SetItems
« on: April 19, 2007, 03:51:52 am »
This has been my first LPC code in a long time :) It is not supposed to be a work of art, but I am sharing it as an example of a way that I came up with to interfere with verbs in order to be able to interact with items listed in a room via SetItems, rather than SetInventory.

I have placed a couple of comments that explain how the returns change the get and take verbs responses.

It maybe that I have chosen to do this in away that makes no sense to the more seasoned LPCers. If so please let me know of other ways I could have approached this.

For me this was just a bit of fun to refresh my LPC memory skills. So I will not take offence if you want to trash my example :)


The code example shown is for a room and so if you want to use in on your own mud, you will need to paste this into  a room file. The int take_action(string str) could be added to almost any object that supports SetItems though. I am pretty sure that this example should work on most versions of DS2

Code: [Select]
#include <lib.h>
//#define BOX "/domains/town/obj/mat"
inherit LIB_ROOM;

void create()
    SetShort( "A room to test taking/getting setitems" );
    SetLong ( "The room contains a candle, a mat and a picture" );
"candle" : "A glowing candle." ,
"mat": "A puke encrusted mat",
"picture": "A picture of a Woki",

    SetExits( ([  ]));
    SetInventory(  ([
// BOX :  5,

void init()

int take_action(string str)
// I have left indiviudal write and says for each case to allow for individual customisation.
switch (str){
case "candle":
write ("You burn your fingers and fail to take " + str);
say(this_player()->GetName() + " fails to get the " + str);
case "mat":
write ("The puke is sticking the " + str + " to the floor!");
say(this_player()->GetName() + " fails to get the " + str);
case "picture":
write ("Saquivor prevents you from taking the " + str);
say(this_player()->GetName() + " fails to get the " + str);
// no matches so let verb(s) operate as normal.
// return 1 and you turn off get/take verbs in the room
// except for the items listed above.
return 0;
// If we return 1, then it effectively turns off the verb responses for items listed in switch :)
// ie you will not get You can't get/take that which can make the example seem more authentic
// But if there is a real object (ie mat) in the room you will not be able to get that either.
// return 1;

Drivers / MXP Support
« on: April 18, 2007, 12:44:04 pm »
I would like to start a debate on adding MXP support to the MudOS driver. For the those that have not used MXP it allows to navigate the mud by clicking on exits, or right clicking on objects to examine/open them etc :)

I know that ldmud almost supports MXP. I found this helpful post. On looking at comm.c in MudOS there are remarks suggesting that it should be re written to be more like the ldmud comm.c! So it is not super easy to copy MXP option tags and telnet hooks from ldmud driver to MudOS. But not impossible I hope :)

This is another useful post that discusses MXP implemetation.

I think it would be a really great addition to MudOS/DS2. I was hoping some people that know MudOS/LPC better than I could offer some advice as to whether should be done at driver or mudlib level.

I am willing to help add MXP support but would need some help and support to do this.

Please share your thoughts on this.


Design Lab / Pathfinding
« on: April 16, 2007, 01:11:29 pm »
I was wondering how easy/difficult it would be to implement pathfinding on DS2/LPC.

I know ldmud has pathfinding built in, but have not looked at how it is implemented.

I want path finding so than an NPC can hunt you if you are holding certain objects with a domain/area.

May also be a skill that a player can learn to hunt npc/players etc.

Was curious to see if anyone had any DS2 examples or advice on how pathfinding might be implemented in DS2/LPC.



Pages: [1] 2