if( !self->pSock || PyTuple_Size( args ) < 2 || !checkArgStr( 1 ) || !checkArgObject( 2 ) ) return PyFalse;
if( !self->pSock || !checkArgStr( 1 ) || !checkArgObject( 0 ) ) { PyErr_BadArgument(); return NULL; }
PyObject* wpSocket_showspeech( wpSocket* self, PyObject* args ){	// Needed/Allowed arugments:	// First Argument: Source	// Second Argument: Speech	// optional:	// Third Argument: Color	// Fourth Argument: SpeechType	if( !self->pSock || PyTuple_Size( args ) < 2 || !checkArgStr( 1 ) || !checkArgObject( 2 ) ) 		return PyFalse;	cUObject *object = NULL;	QString speech( PyString_AsString( PyTuple_GetItem( args, 1 ) ) );	UINT16 color = 0x3b2;	UINT16 font = 3;	UINT8 type = 0;	cUOTxUnicodeSpeech::eSpeechType eType;	object = getWpItem( PyTuple_GetItem( args, 0 ) );	if( !object )		object = getWpChar( PyTuple_GetItem( args, 0 ) );	if( !object )		return PyFalse;	if( PyTuple_Size( args ) > 2 && checkArgInt( 2 ) )		color = getArgInt( 2 );	if( PyTuple_Size( args ) > 3 && checkArgInt( 3 ) )		font = getArgInt( 3 );	if( PyTuple_Size( args ) > 4 && checkArgInt( 4 ) )		type = getArgInt( 4 );	switch( type )	{	case 1:		eType = cUOTxUnicodeSpeech::Broadcast;		break;	case 2:		eType = cUOTxUnicodeSpeech::Emote;		break;	case 6:		eType = cUOTxUnicodeSpeech::System;		break;	case 8:		eType = cUOTxUnicodeSpeech::Whisper;		break;	case 9:		eType = cUOTxUnicodeSpeech::Yell;		break;	case 0:	default:		eType = cUOTxUnicodeSpeech::Regular;		break;	};	self->pSock->showSpeech( object, speech, color, font, eType );	return PyTrue;}