07 Mar, 2009, Igabod wrote in the 1st comment:
Votes: 0
In the stock release of LoW4 the socials do not work. All that happens when someone types smile or any other social, is a blank line is sent. I can't even fathom where to begin looking for the problem here.

Also, when a player types in a command that doesn't exist, like blablah, it only sends a blank line, not the Huh? message seen on many muds. I suspect that these two problems are somehow linked but I can't be sure since I have no clue where to look. If someone could provide me with a starting place that would be great.

[edit to add] I'm using the release of LoW4 available from HERE. Not that it really matters cause all of the LoW4 releases have the same problem, including my gcc 4.3.2 compliant release.
07 Mar, 2009, Kline wrote in the 2nd comment:
Votes: 0
Look in interp.c for can_interpret() or similar. Also hunt near check_social().
07 Mar, 2009, Igabod wrote in the 3rd comment:
Votes: 0
No such function as can_interpret in the code, nor can_interp. There is a void interpret though so I'm assuming that's the one you mean. Don't exactly know what I'm looking for here, but it all looks to be doing what should be done.

The two functions have both been pasted into one pastebin file, HERE. It appears I need more than just a nudge in the right direction.

[edit to add] after looking through void interp some more I've noticed that there is nothing saying If (found != TRUE) stc("Huh?\r\n",ch); which would explain the lack of a Huh? message, now I just have to figure out why socials aren't being interpreted.

[edit to add, again]I guess this isn't the best time for me to try to fix things, I've been working a very busy shift tonight and it's almost time to go home. I'm starting to make stupid assumptions based on absolutely nothing. And my previous edit is looking pretty stupid to me at the moment. Someone please straighten my thinking out for me, I'll be back later on tonight to see if someone can tell me the problem or to inform you that I've fixed it. I doubt I'll have it fixed though since I plan on going to bed in about 45 minutes.
07 Mar, 2009, Davion wrote in the 4th comment:
Votes: 0
Took a quick look over your pastebin and I think this might have something to do with it.

if ( !found )
{
/*
* Look for command in socials table.
*/
/*
else
{
sprintf(kavirarg,">>>%s",argu);
room_text( ch, kavirarg );
}
*/
return;
}


Try uncommenting that block of code and see if socials are dispatched. Looks like it just does a return without sending anything (most likely your blank line after entering a social). Might be commented out for a reason though, but the only way to find out is to try :).
08 Mar, 2009, Kline wrote in the 5th comment:
Votes: 0
room_text is a GW room program code, so that's not it. This should be similar to what you need to replace your !found block with (taken from Dystopia X-Mas):
if (!found )
{
/*
* Look for command in socials table.
*/
if ( !check_social( ch, command, argument ) )
{
if ( !check_xsocial( ch, command, argument ) )
send_to_char( "Huh?\n\r", ch );
}
return;
}


If you don't have xsocial stuff, just remove that check.
11 Mar, 2009, Igabod wrote in the 6th comment:
Votes: 0
Thanks Kline, that was what was missing. Apparently it's not the stock low4 either, but I don't remember deleting anything in these two functions so I don't know why my mud in particular has this problem. Either way, it's fixed now. Thanks again.
0.0/6