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