if( !PyArg_ParseTupleAndKeywords( args, keywds, "i|ssbiO&:char.say( clilocid, [args], [affix], [prepend], [color], [socket] )", kwlist, &id, &clilocargs, &affix, &prepend, &color, &PyConvertSocket, &socket ) )
if( !PyArg_ParseTupleAndKeywords( args, keywds, "i|ssbiO&:char.say( clilocid, [args], [affix], [prepend], [color], [socket] )", kwlist, &id, &clilocargs, &affix, &prepend, &color, PyConvertSocket, &socket ) )
static PyObject* wpChar_say( wpChar* self, PyObject* args, PyObject *keywds ){	if( !self->pChar || self->pChar->free )		return PyFalse;	if( !checkArgStr( 0 ) )	{		P_NPC npc = dynamic_cast<P_NPC>( self->pChar );		if ( !npc )			return PyFalse;		uint id;		char *clilocargs = 0;		char *affix = 0;		char prepend;		uint color = self->pChar->saycolor();		cUOSocket* socket = 0;		static char *kwlist[] = { "clilocid", "args", "affix", "prepend", "color", "socket", NULL};		if( !PyArg_ParseTupleAndKeywords( args, keywds, "i|ssbiO&:char.say( clilocid, [args], [affix], [prepend], [color], [socket] )", kwlist, &id, &clilocargs, &affix, &prepend, &color, &PyConvertSocket, &socket ) )			return 0;				npc->talk( id, clilocargs, affix, prepend, color, socket );		return PyTrue;	}	else	{		ushort color = self->pChar->saycolor();				if( checkArgInt( 1 ) )			color = getArgInt( 1 );		self->pChar->talk( getArgStr( 0 ), color );		return PyTrue;	}	return PyFalse;}