Forwarded message: (so don't reply to me, ok :) ? ) > From robink@htsa.hva.nl Tue May 2 22:51 MET 1995 [stuff deleted] > **************************************************************************** > I just joined the mailing list less than two weeks ago.. > I never thought i needed help, how wrong can people be.. :) > > Some time ago i started rewriting the summon spell. I thought it would be > much cooler if people, instead of setting a flag, people could choose on the > fly if they wanted to be summoned or not. So i implemented portals. > First, let me explane some things.. > > Normally if you want to summon a friend, you told him to put the summon > protection off, and you summoned him. (He suddenly arrives) > > Now my idee : > You want to summon someone, you type : cast 'summon' target > than the program createds a portal in your room (exit) and a portal in the > room of your target (entrance) > people can look through (in) the portals, and see the other side... > and the 'summoned' one can type 'enter' and he will enter the portal and > arrive on the other side.. the nice thing is that you don't have to enter the > portal.. or evenn that someone else enters it.. > (I saw the idee on an other mud, called Dragons legends and Lore) > > Now, almost everything works ok, you can cast , the program makes the portals > if you don't enter, the portals will disappear after some time.. (like corpses) > people can enter the portal.. and the portals will be removed if used. > BUT, if someone is standing on the wrong side (the exit) and types 'enter' > he will arrive at the exit room (so actually he didn't go anywhere) and the > portals disappear. > > I used objects for this idea.. one obj (let's say nmr #20) is the entrance > #define PORTAL_IN_OBJ_NMR = 20 > and an other is the exit (let's say #21) > #define PORTAL_IN_OBJ_NMR = 21 > and i added a new item type.. ITEM_PORTAL > > (I define these in the file : structs.h) > so i rewrote ACMD(do_enter) in act.movement.c and added this somewhere... > but somehow, the person who typed enter can still enter a portal_out > > could someone help me with this, and explane why it went wrong.. > > /* try to locate a portal_in */ > for (obj = world[ch->in_room].contents; obj; obj = obj->next) { > if ((GET_OBJ_TYPE(obj) == ITEM_PORTAL) && (GET_OBJ_VNUM(obj) == PORTAL_IN_OBJ_NMR)) { > enter_portal(ch, obj); /* perform actual transportation */ > return; > } > } > > Whaaaaaaaaaaaaa.... > (*** THIS IS A CRY FOR HELP !! *** :) > ------------------------------------------------------------------------------- > Apex,Implementor of The Neverlands : mark.htsa.hva.nl 4000 > Electronic Mail : robink@htsa.hva.nl > -------------------------------------------------------------------------------
This archive was generated by hypermail 2b30 : 12/07/00 PST