From: "Josh Harris" <jharris2@ACSU.BUFFALO.EDU>
> this is my problem. and my code.
> Right now when I say something this stuff is being sent out the problem is
> This is how it appears in the mud and I want the
>
> You say, line to go before naything else is said? How can I fix this?
Your problem comes from the way spec_procs are implemented. Because they
need the ability to block other commands (think of list/buy), spec_procs
are called _before_ a call to for instance do_say(). The solution is as
simple as the problem is hard to explain...
Make your spec_proc call do_say, where you want it to. Then take control,
and return TRUE to prevent command_interpreter from calling do_say again.
>
> Code:
>
> if(CMD_IS("say") || CMD_IS("'")) {
+ do_say(ch, argument, 0, 0);
> act("You just said something.", FALSE, ch, 0, 0, TO_CHAR);
> act("Someone just disturbed Gollum.", FALSE, ch, 0, 0, TO_ROOM);
> act("Gollum jumps up and down.", FALSE, ch, 0, 0, TO_ROOM);
> act("Gollum jumps up and down.", FALSE, ch, 0 ,0, TO_CHAR);
+ return (1);
> }
+ return (0);
Welcor
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
| Newbie List: http://groups.yahoo.com/group/circle-newbies/ |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/26/03 PDT