亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mircore.cpp

?? 傳奇掛機 傳奇掛機 傳奇掛機 傳奇掛機
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
#pragma comment( lib, "ws2_32.lib" )
#include <winsock2.h>
#include <windowsx.h>
#include <stdlib.h>
#include <stdio.h>
#include "mircode.h"
typedef struct
{
	union
	{
		DWORD	dwFlag;
		struct
		{
			WORD	wa;
			WORD	wb;
		};
	};

	WORD	wCmd;
	WORD	w1;
	WORD	w2;
	WORD	w3;
	char	data[1024];
}MMSG;


#define CGIP	"61.152.97.21"
#define ACCOUNT		"johndragon"
#define PASSWORD	"shifully"
#define WORDS		"各個姐姐弟弟妹妹們,你們好,我是機器人,請多關(guān)照!!"

char	g_msgflag	=	'1';
char	rcBuffer[4096];
typedef char	TSTRING[256];
TSTRING	g_StringList[20];
int		g_pos_x, g_pos_y;
char	g_mapname[256];

#define	MSGHEADERSIZE	12
#define	MSGLENGTH	1024
#define	MSGQUEUELEN	256
typedef char	TMSGLINE[MSGLENGTH];
enum _action
{
	ACTION_STAND,
	ACTION_WALK,
	ACTION_ATTACK,
	ACTION_RUN,
	ACTION_TRUN,
};
typedef struct
{
	int x;
	int y;
	int dir;
	int action;
}ACTION_LAST;

ACTION_LAST	g_LastAction = {0, 0, 0, 0 };
class CMsgQueue  
{
public:
	CMsgQueue()
	{
		m_iGet = 0;
		m_iPut = 0;
		Clear();
	};
	virtual ~CMsgQueue()
	{
		Clear();
	};
	int NextPos( int now )
	{
		now++;
		if( now >= MSGQUEUELEN )
			now = 0;
		return now;
	}
	int	PutMsg( char * pMsg )
	{
		int iNext = NextPos( m_iPut );

		if( pMsg == NULL )
			return 0;
		if( iNext == m_iGet )
		{
			return 0;
		}
		strcpy( m_Msgs[m_iPut], pMsg );
		m_iPut = iNext;
		return 1;
	};

	int GetMsg( char * pMsg )
	{
		if( m_iGet == m_iPut )
			return 0;
		strcpy( pMsg, m_Msgs[m_iGet] );
//		printf( "m_iPut = %d, m_iGet = %d\n", m_iPut, m_iGet );
		m_iGet = NextPos( m_iGet );
		return 1;
	};
	int	Clear()
	{
		memset( (void*)m_Msgs, 0, sizeof( TMSGLINE ) * MSGQUEUELEN );
		return 1;
	};
private:
	TMSGLINE	m_Msgs[MSGQUEUELEN];
	int			m_iGet;
	int			m_iPut;
};

CMsgQueue	g_MsgQueue;
HWND		m_hSysLog = NULL;
HWND		m_hChatLog = NULL;
HWND		m_hMainDlg = NULL;
int			m_MaxLogLine = 100;

BOOL	InitMirCore( HWND	hMainWnd, HWND	hSysLog, HWND	hChatLog, int MaxLogLine )
{
	m_hSysLog = hSysLog;
	m_hChatLog = hChatLog;
	m_hMainDlg = hMainWnd;
	m_MaxLogLine = MaxLogLine;
	return TRUE;
}
void	LogToList( HWND hList, char * line )
{
	int cnt = 0;
	cnt = ListBox_GetCount( hList );
	if( cnt >= m_MaxLogLine )
	{
		ListBox_DeleteString( hList, 0 );
		cnt --;
	}
	ListBox_AddString( hList, line );
	ListBox_SetCurSel( hList, cnt );
}

void	LogChat( char * line,... )
{
	char	szBuff[2048];
	va_list	vl;
	va_start( vl, line );
	vsprintf( szBuff, line, vl );
	va_end( vl);
	LogToList( m_hChatLog, szBuff );
}

void	LogSystem( char * line,... )
{
	char	szBuff[2048];
	va_list	vl;
	va_start( vl, line );
	vsprintf( szBuff, line, vl );
	va_end( vl);
	LogToList( m_hSysLog, szBuff );
}

int ActionOk()
{
	printf( "Action Ok!\n" );
	switch( g_LastAction.action )
	{
	case	ACTION_RUN:
	case	ACTION_WALK:
		g_pos_x = g_LastAction.x;
		g_pos_y = g_LastAction.y;
		break;
	}
	g_LastAction.action = 0;

	return 1;
}
int ActionFail()
{
	printf( "Action Fail!\n" );
	g_LastAction.action = 0;
	return 1;
}
int CanDoAction()
{
	if( g_LastAction.action == 0 )
		return 1;
	return 0;
}
int GetString( char * string )
{
	int ilen = strlen( string );
	int i = 0;
	int cnt = 0;
	int sptr = 0;
	for( i =0;i < ilen;i ++ )
	{
		if( string[i] == '/' && i != 0 )
		{
			g_StringList[cnt][sptr] = '\0';
			sptr = 0;
			cnt++;
		}
		else
		{
			g_StringList[cnt][sptr] = string[i];
			sptr ++;
		}
	}
	if( sptr > 0 )
	{
		g_StringList[cnt][sptr] = '\0';
		cnt++;
	}
	return cnt;
}
int SendString( SOCKET s, char * string )
{
	int ierr = 0;
	int ilen = strlen( string );
//	printf( "Send: %s\n", string );
	ierr = send( s, string, strlen( string), 0 );
	if( ierr == ilen )
	{
		g_msgflag ++;
		if( g_msgflag > '9' )
			g_msgflag = '1';
	}
	return ierr;
}
int RecvString( SOCKET s, char * string, int maxlen )
{
	int ierr = 0;
	char	tmpBuffer[2048];
	ierr = recv( s, tmpBuffer, 2048, 0 );
	if( ierr !=- 1)
	{
		if( tmpBuffer[0] == '*' )
		{
			strcpy( string, &tmpBuffer[1]);
			ierr --;
		}
		else
		{
			strcpy( string, tmpBuffer );
		}
		string[ierr] = '\0';
//		printf( "Recv:%s\n", string );
	}
	return ierr;
}
int RecvMsg( SOCKET s, MMSG * pmsg )
{
	char tmpBuffer[2048];
//	char tmpBuffer2[2048];
	int ierr;
	ierr = RecvString( s, tmpBuffer, 2048 );
	if( ierr == -1 )
	{
		return -1;
	}
	if(tmpBuffer[ierr-1] == '!' )
	{
		tmpBuffer[ierr-1] = '\0';
	}
	UnGameCode( &tmpBuffer[1], (BYTE*)pmsg );
	if( pmsg->wCmd == 0x0a )
	{
		//printf( "Code is %s\n", tmpBuffer );
	}
	return ierr;
}
int GetMsg( MMSG * pMsg )
{
	char	tmpBuffer[1024];
	int ilen = 0;
	if( g_MsgQueue.GetMsg( tmpBuffer ))
	{
		ilen = strlen( tmpBuffer );
		if( tmpBuffer[ilen-1] == '!' )
		{
			tmpBuffer[ilen-1] = '\0';
		}
		printf( "Msg: %s\n", tmpBuffer );
		if( tmpBuffer[1] == '+' )
		{
			tmpBuffer[6] = '\0';
			printf( "GetWords %s\n", tmpBuffer );
			if( stricmp( tmpBuffer, "#+GOOD" ) == 0 )
			{
				ActionOk();
			}
			else if( stricmp( tmpBuffer, "#+FAIL" ) == 0 )
			{
				ActionFail();
			}
			return 0;
			
		}
		UnGameCode( &tmpBuffer[1], (BYTE*)pMsg );
		return 1;	
	}
	return 0;
}
int SetNoBlock( SOCKET s )
{
	unsigned long mode = 1;
	if( ioctlsocket( s, FIONBIO, &mode ) == -1 )
		return 0;
	return 1;
}
int RecvGateMsg( SOCKET s, MMSG * pmsg )
{
	char tmpBuffer[2048];
	char tmpBuffer2[2048];
	int ierr;
	ierr = RecvString( s, tmpBuffer, 2048 );
	if( ierr == -1 )
	{
		return -1;
	}
	tmpBuffer[ierr-1] = '\0';

	UnGateCode( &tmpBuffer[1], tmpBuffer2 );
	ierr = strlen( tmpBuffer2 );

	if(tmpBuffer2[ierr-1] == '!' )
	{
		tmpBuffer2[ierr-1] = '\0';
	}
	UnGameCode( &tmpBuffer2[1], (BYTE*)pmsg );
	return ierr;

}
int SendMsg( SOCKET s, MMSG * pmsg )
{
	char	tmpBuffer[2048];
	char	tmpBuffer2[2048];
	int msize = 0;
	msize = strlen(pmsg->data ) + MSGHEADERSIZE;

	CodeGameCode( (BYTE*)pmsg, msize, (BYTE*)tmpBuffer );
	sprintf( tmpBuffer2, "#%c%s!",g_msgflag, tmpBuffer );
	return SendString( s,tmpBuffer2 );
}

int SendGateMsg( SOCKET s, MMSG * pmsg )
{
	char	tmpBuffer[2048];
	char	tmpBuffer2[2048];
	int msize = 0;
	msize = strlen(pmsg->data ) + MSGHEADERSIZE;

	CodeGameCode( (BYTE*)pmsg, msize, (BYTE*)tmpBuffer );
	sprintf( tmpBuffer2, "#%c%s!",g_msgflag, tmpBuffer );
	CodeGateCode( tmpBuffer2, tmpBuffer );
	sprintf( tmpBuffer2, "<%s>", tmpBuffer );

	return SendString( s, tmpBuffer2 );
}
int SendWords( SOCKET  s , char * word )
{
	MMSG msg;
	memset( &msg, 0, sizeof( MMSG ));
	sprintf( msg.data, "#(%03d,%03d)-%s", g_pos_x, g_pos_y, word );
	msg.wCmd = 0xbd6;
	int erri;
	erri = SendMsg( s, &msg );
	return erri;
}
int TurnDirect( SOCKET s, int dir )
{
	MMSG msg;
	char	tmpBuffer[2048];
	int erri;
	memset( &msg, 0, sizeof( MMSG ));
	//msg.dwFlag = 0x6000e;
	msg.wa = g_pos_x;
	msg.wb = g_pos_y;
	msg.wCmd = 0xbc2;
	msg.w2 = dir;
	erri = SendMsg( s, &msg );
	if( erri == -1 )
		return -1;
	erri = RecvString( s, tmpBuffer, 256 );
	if( erri == -1 )
		return 0;
	//printf( "%s\n", tmpBuffer );
	tmpBuffer[6] = '\0';
	if( stricmp( &tmpBuffer[1] ,"+GOOD") == 0 )
	{
		//g_pos_x += xofs_walk[dir];
		//g_pos_y += yofs_walk[dir];
		return 1;
	}
	return 0;
}
int	xofs_walk[] = { 0, 1, 1, 1, 0, -1, -1, -1 };
int yofs_walk[] = { -1, -1, 0, 1, 1, 1, 0, -1 };

int Walk( SOCKET s, int dir )
{
	MMSG msg;
	char	tmpBuffer[2048];
	int erri;
	int tx,ty;
	if( dir <0 || dir > 7 )
		return 0;
	tx = g_pos_x + xofs_walk[dir];
	ty = g_pos_y + yofs_walk[dir];
	memset( &msg, 0, sizeof( MMSG ));
	//msg.dwFlag = 0x6000e;
	msg.wa = tx;//g_pos_x;
	msg.wb = ty;//g_pos_y;
	msg.wCmd = 0xbc3;
	msg.w2 = dir;
	erri = SendMsg( s, &msg );
	if( erri == -1 )
		return -1;
	erri = RecvString( s, tmpBuffer, 256 );
	if( erri == -1 )
		return 0;
//	printf( "%s\n", tmpBuffer );
	tmpBuffer[6] = '\0';
	if( stricmp( &tmpBuffer[1] ,"+GOOD") == 0 )
	{
		printf( "Good!!\n" );
		g_pos_x = tx;// xofs_walk[dir];
		g_pos_y = ty;//+= yofs_walk[dir];
		return 1;
	}
	return 0;
}
int Run( SOCKET s, int dir )
{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品伦一区| 午夜在线成人av| 亚洲与欧洲av电影| 久久精品久久精品| 91麻豆免费观看| 2020国产精品自拍| 亚洲午夜视频在线| 成人免费毛片app| 日韩精品在线一区| 午夜一区二区三区视频| 国产91高潮流白浆在线麻豆| 欧美日韩视频在线第一区 | 色综合久久中文字幕综合网| 欧美日韩国产综合久久| 中文字幕在线观看不卡| 国产在线视频一区二区三区| 欧美肥妇毛茸茸| 亚洲综合男人的天堂| 成人免费黄色大片| 国产午夜亚洲精品理论片色戒| 日韩黄色免费电影| 欧美体内she精视频| 亚洲精品视频在线观看网站| 国产91丝袜在线播放| 久久综合国产精品| 狠狠v欧美v日韩v亚洲ⅴ| 欧美一区二区视频在线观看2020| 亚洲一区二区高清| 欧美日韩精品一区二区三区| 亚洲人成网站色在线观看| 国产.精品.日韩.另类.中文.在线.播放| 欧美成人性福生活免费看| 蜜臀av一区二区在线免费观看| 91精品欧美久久久久久动漫| 丝袜美腿亚洲一区二区图片| 69久久夜色精品国产69蝌蚪网| 午夜精品久久久久久久99水蜜桃| 日本久久精品电影| 亚洲一区在线视频| 欧美美女一区二区三区| 日韩在线a电影| 日韩欧美电影在线| 国产麻豆视频一区二区| 国产欧美精品一区二区色综合朱莉| 国产成人av一区二区| 欧美国产丝袜视频| 91片在线免费观看| 亚洲va天堂va国产va久| 日韩午夜激情免费电影| 国产在线日韩欧美| 亚洲欧洲精品成人久久奇米网| 91丝袜美女网| 日韩二区在线观看| xnxx国产精品| www.在线欧美| 亚洲成人激情综合网| 91精品国产品国语在线不卡| 国内精品视频一区二区三区八戒| 国产精品视频第一区| 91成人在线精品| 美女一区二区三区在线观看| 国产精品视频一二三| 欧美日韩一卡二卡三卡| 韩国女主播成人在线| 国产精品理伦片| 欧美另类高清zo欧美| 国产成人亚洲综合a∨婷婷| 亚洲老司机在线| 精品免费视频一区二区| 91麻豆产精品久久久久久 | 在线免费av一区| 美女免费视频一区二区| 首页国产欧美久久| 欧美成人a∨高清免费观看| 99久久婷婷国产综合精品| 午夜婷婷国产麻豆精品| 中文字幕在线不卡视频| 日韩小视频在线观看专区| 93久久精品日日躁夜夜躁欧美| 日本亚洲欧美天堂免费| 最好看的中文字幕久久| 精品国产制服丝袜高跟| 欧美三电影在线| 波多野结衣在线aⅴ中文字幕不卡| 三级一区在线视频先锋| 国产精品短视频| 欧美精品一区二区三区一线天视频 | 国产精品一区二区x88av| 亚洲精品免费在线| 久久精品亚洲国产奇米99| 欧美系列在线观看| 99视频国产精品| 丰满少妇在线播放bd日韩电影| 男女性色大片免费观看一区二区 | 亚洲国产精品一区二区久久恐怖片| 日韩欧美国产精品一区| 欧美日韩国产综合一区二区三区| 国产+成+人+亚洲欧洲自线| 久久国产精品露脸对白| 亚洲国产精品久久久男人的天堂 | 日韩精品中文字幕一区二区三区| 在线观看一区日韩| av在线综合网| 成人免费观看av| 成人免费av在线| 粉嫩一区二区三区性色av| 麻豆91在线观看| 日本麻豆一区二区三区视频| 一区二区三区成人在线视频| 国产精品免费视频观看| 国产精品沙发午睡系列990531| 久久久亚洲午夜电影| 欧美不卡在线视频| 欧美大尺度电影在线| 日韩欧美三级在线| 日韩欧美视频一区| 2021中文字幕一区亚洲| 久久综合五月天婷婷伊人| 欧美成人女星排名| 精品国产乱码久久久久久浪潮| 亚洲麻豆国产自偷在线| 国产精品人妖ts系列视频| 中文字幕免费观看一区| 国产精品无人区| 国产精品福利av| 亚洲黄色免费电影| 亚洲一区二区三区四区五区黄 | 五月天亚洲婷婷| 丝瓜av网站精品一区二区| 蜜臀精品一区二区三区在线观看 | 蜜臀av性久久久久av蜜臀妖精 | 亚洲综合一区二区精品导航| 1024国产精品| 一区二区三区在线播| 一级做a爱片久久| 视频一区二区三区入口| 日本欧美在线看| 国产成人在线视频网址| 9i在线看片成人免费| 欧美日韩大陆在线| 日韩精品一区二区三区中文不卡| 久久午夜免费电影| 国产精品二三区| 日韩av网站在线观看| 国产精品一级黄| 在线观看国产91| 精品福利在线导航| 亚洲欧美日韩小说| 毛片不卡一区二区| 99国产精品久久久久| 7777精品伊人久久久大香线蕉最新版| 亚洲精品在线三区| 亚洲女性喷水在线观看一区| 麻豆91在线观看| 色婷婷精品大视频在线蜜桃视频| 91精品国产aⅴ一区二区| 国产日韩欧美精品综合| 亚欧色一区w666天堂| 懂色av一区二区三区蜜臀| 精品视频在线免费观看| 久久精品亚洲一区二区三区浴池 | 国产精品灌醉下药二区| 亚洲成av人片在线观看| 国产成人福利片| 日韩一区二区免费电影| 亚洲图片另类小说| 国产最新精品免费| 欧美美女一区二区| 亚洲免费在线播放| 国产精品一区二区三区99| 欧美日韩精品免费| 中文字幕一区不卡| 久久99国产精品尤物| 欧美中文字幕一二三区视频| 久久久久久亚洲综合影院红桃 | 欧美四级电影网| 日本一区二区不卡视频| 极品少妇一区二区| 欧美日精品一区视频| 亚洲人成7777| 懂色av中文字幕一区二区三区| 精品免费日韩av| 午夜精品国产更新| 色综合一区二区| 国产精品国产三级国产三级人妇| 激情久久五月天| 日韩三级在线免费观看| 午夜精品一区二区三区免费视频| 色婷婷av一区二区三区大白胸 | 亚洲欧洲av一区二区三区久久| 精品一区二区免费| 日韩三区在线观看| 免费观看一级特黄欧美大片| 欧美精品日韩一区| 污片在线观看一区二区| 在线观看av一区二区| 亚洲最新在线观看| 欧美视频一区在线观看| 亚洲一区在线免费观看| 欧美日韩一区成人|