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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? linecommand.cpp

?? DragonRaja Client source version 1.4+ this source allow players join in (Hades Warfield or Monsters
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
			case LC_BBS_OFF:
				{
					ChatMgr.SetActiveBBS(false);
					::AddCurrentStatusMessage(FONT_COLOR_SOLID_YELLOW, lan->OutputMessage(0, 514));
					break;						
				}
				//<< 031021 kyo
			case LC_RAID_START:
				{	//< CSD-040310
				#ifdef _DEBUG
					CallServer(CMD_MONSTER_RAID_START);
				#endif
					break;
				}	//> CSD-040310
			case LC_RAID_END:
				{	//< CSD-040310
				#ifdef _DEBUG
					CallServer(CMD_MONSTER_RAID_END);
				#endif
					break;
				}	//> CSD-040310
			}

			return 1;
		}	

		lc = &LC[++c];
	}

	return 0;
}

void SendTotalMapConnections( void )
{
	//	t_packet p;
	//	p.h.header.type = CMD_TOTAL_MAP_CONNECTIONS;
	//	p.h.header.size = 0;
	//	QueuePacket( &p, 1 );
}

void SendTotalConnections( void )
{
	//	t_packet p;
	//	p.h.header.type = CMD_TOTAL_CONNECTIONS;
	//	p.h.header.size = 0;
	//	QueuePacket( &p, 1 );
}


void RecvTotalMapConnections( int no )
{
	AddCurrentStatusMessage( 255,255,255, lan->OutputMessage(3,53), no );//010215 lsw
}

void RecvTotalConnections( int no )
{
	AddCurrentStatusMessage( 255,170,170, lan->OutputMessage(3,54),  no );//010215 lsw
}

void LC_SendInputParty( char *name )		// 0929 YGI
{
	LPCHARACTER target = ExistHe( name );
	if( !target ) return;
	
	for( int i=0; i<6; i++ )
	{
		if( !SCharacterData.party[i].m_Name[0] ) break;
	}
	if( i == 6 ) return;
	
	SetMouseCh( target );
	SendInputParty( PARTY, i, &mouse_ch);
	memset( &mouse_ch, 0, sizeof( CharacterParty ) );
}

void SendTameCommand(int command, char* s)
{	//< CSD-031106
	char* tok = strtok(s, " ");
	
	if (tok == NULL) 
	{
		switch (command)
		{
		case LC_TAME_STOP:
			{
				AddCurrentStatusMessage(100, 100, 255, lan->OutputMessage(3, 55));
				break;
			}
		case LC_TAME_ATTACK:
			{
				AddCurrentStatusMessage(100, 100, 255, lan->OutputMessage(3, 56));
				break;
			}
		case LC_TAME_FOLLOWME:
			{
				AddCurrentStatusMessage(100, 100, 255, lan->OutputMessage(3, 57));
				break;
			}
		case LC_TAME_NAME:
			{
				AddCurrentStatusMessage(100, 100, 255, lan->OutputMessage(3, 58));
				break;
			}
		}
		
		return;
	}

	char mybaby[FILENAME_MAX];
	strcpy(mybaby, tok);
	
	tok = strtok(NULL, " \n");

	char toname[FILENAME_MAX];

	if (tok == NULL) 
	{
		toname[0] = 0;
	}
	else
	{
		strcpy(toname, tok);
	}
	
	if (toname[0] == 0)
	{
		switch (command)
		{
		/*
		case LC_TAME_ATTACK:
			{
				AddCurrentStatusMessage(100, 100, 255, lan->OutputMessage(3, 59));	
				return;
			}
		*/
		case LC_TAME_NAME:
			{
				AddCurrentStatusMessage(100, 100, 255, lan->OutputMessage(3, 60));
				return;
			}
		}
	}
	
	t_packet p;
	p.h.header.type = CMD_TAME_COMMAND;
	p.u.tame_command.cmd = command;
	mybaby[19] = 0;
	EatRearWhiteChar(mybaby);
	strcpy(p.u.tame_command.mybaby, mybaby);
	EatRearWhiteChar( toname );
	toname[19] = 0;
	strcpy(p.u.tame_command.toname, toname);
	p.h.header.size= sizeof(t_tame_command);
	QueuePacket(&p, 1);
}	//> CSD-031106

void RecvTameCommandResult( int result )
{
	switch( result )
	{
	case TAME_FAIL_CHANGE_NAME		: AddCurrentStatusMessage( 214,100,122, lan->OutputMessage(3,74));		break;//010215 lsw
	case TAME_NO_CHAR				: AddCurrentStatusMessage( 214,100,122,lan->OutputMessage(3,75) ); break;
	case TAME_NO_NAME_CHAR			: AddCurrentStatusMessage( 214,100,122, lan->OutputMessage(3,76));	break;
	case TAME_FOLLOW				: AddCurrentStatusMessage( 114,100,122, lan->OutputMessage(3,77));	break;
	case TAME_STOP					: AddCurrentStatusMessage( 114,100,122, lan->OutputMessage(3,78));	break;
	case TAME_ATTACK				: AddCurrentStatusMessage( 114,100,122, lan->OutputMessage(3,79));	break;
	case TAME_SUCCESS_CHANGE_NAME	: AddCurrentStatusMessage( 114,100,122, lan->OutputMessage(3,80));	break;//010215 lsw
	}
}

void RecvTameNameChange( t_tame_name_change *p )
{
	LPCHARACTER ch = FindCharacter( &g_CharacterList, p->id);
	if( ch == NULL ) return;
	strcpy( ch->name, p->name );
}


void RecvHostName( tame_host_name *p )
{
	LPCHARACTER ch = FindCharacter( &g_CharacterList, p->id);
	if( ch == NULL ) return;
	strcpy( ch->HostName, p->hostname );
}

//   Tamming 場..
void RecvHostEnd(  tame_end *p )
{
	LPCHARACTER ch = FindCharacter( &g_CharacterList, p->id);
	if( ch == NULL ) return;
	
	ch->HostName[0] = 0;
}

void SendBBS( char *bbs)
{
	t_packet p;
	int len;
	
	if( bbs == NULL ) return;
	len = strlen( bbs );
	if( len == 0 ) return;
	if( len >= MAX_PATH-1 ) return;
	
	p.h.header.type = CMD_BBS;
	strcpy( p.u.server_bbs.bbs, bbs );
	p.h.header.size = sizeof( t_server_bbs ) - MAX_PATH + len;
	
	QueuePacket( &p, 1 );
}

void SendBBSAll( char *bbs)
{
	t_packet p;
	int len;
	
	if( bbs == NULL ) return;
	len = strlen( bbs );
	if( len == 0 ) return;
	if( len >= MAX_MSG-1 ) return;
	
	p.h.header.type = CMD_SV_SEND_MESSAGE_ALL;
	strcpy( p.u.kein.default_msg, bbs );
	p.h.header.size = len;
	
	QueuePacket( &p, 1 );
}

////////////// 0810 lhs 涅膠飄儈  檔框富 //////////////
void RecvBbs_quest( char *bbs )
{
	AddCurrentStatusMessage( 200,200,0, lan->OutputMessage(3,132) );//010215 lsw
	AddCurrentStatusMessage( 255,255,0, bbs );
}


////////////////////////////////////////////////////////////////////////////////
// CSmallTipCount member functions
CSmallTipCount	g_SmallTipCount;
int LoadSmallTipsPage()
{
	FILE *fp;
	fp = Fopen( "./data/small_tips.txt", "rt" );
	if( !fp ) return 0;
	
	char str[512];
	while( fgets( str, 512, fp ) )
	{
		if( str[0] == ':' ) break;
		char *token;
		token = strtok( str, "\t\n" );
		if( !token ) continue;
		
		int number = atoi( token );
		if( !number ) continue;
		
		token = strtok( NULL, "\t\n" );
		if( !token ) continue;
		
		while( token )
		{
			g_SmallTipCount.AddData( number, token );
			token = strtok( NULL, "\t\n" );
		}
	}
	
	fclose( fp );
	return 1;
}

int CSmallTipCount::AddData( int number, char *str )
{
	CSmallTipCount* target = this;
	
	while( target->next ) target = target->next;
	if( m_nPage == 0 )
	{
		strncpy( m_szKey, str, 49 );		// 020925 YGI
		m_szKey[49] = 0;					// 020925 YGI
		m_nPage = number;
		return 1;
	}
	else
	{
		target->next = new CSmallTipCount;
		strcpy( target->next->m_szKey, str );
		target->next->m_nPage = number;
		return 1;
	}
}

int CSmallTipCount::GetPage( char *key )
{
	if( !m_nPage ) return 0;
	
	CSmallTipCount *target = this;
	while( target )
	{
		if( strcmp( target->m_szKey, key ) == 0 ) return target->m_nPage;
		target = target->next;
	}
	return 0;
}

////////////////////////////////////////////////////////////////////////////////
void CallViewSmallTips( char *txt )
{
	if( IsDead( Hero ) ) return;
	char *token = strtok( txt, " \t\n" );
	if( !token ) token = txt;
	else
	{
		token = strtok( NULL, " \t\n" );
		if( !token ) token = txt;
	}
	static first = true;
	if( first ) 
	{
		LoadSmallTipsPage();
		first = false;
	}
	
	int t = 0;
	if( *token )
		t = g_SmallTipCount.GetPage( EatRearWhiteChar( token ) );
	
	CloseAllMenu();
	SMenu[MN_SMALL_TIPS].key = t;
	bSmallTips = true;
}

CTextCmd *g_lpTextCmd;
CEmotionCmd *g_lpEmotionCmd;
void SendLcEmotion( char *txt )
{
	return;
}

///////////////////////////////////////////////////////////////
// CTextCmd member fuction
void CTextCmd::AddText(char *txt)
{
	if( !m_txt )
	{
		m_txt = new char[strlen(txt)+1];
		strcpy( m_txt, txt );
		return;
	}
	
	for( CTextCmd *temp=this; temp->next; temp=temp->next ) ;
	
	CTextCmd *data;
	data = new CTextCmd;
	data->m_txt = new char[strlen(txt)+1];
	strcpy( data->m_txt, txt );
	temp->next = data;
	return;
}
char *CTextCmd::GetLastText()
{
	for( CTextCmd *temp=this; temp->next; temp=temp->next ) ;
	return temp->m_txt;
}
char *CTextCmd::GetFirstText()
{
	return m_txt;
}

///////////////////////////////////////////////////////////////
// CEmotionCmd member function
void CEmotionCmd::AddCmd( char *cmd )
{
	if( !m_Cmd )
	{
		m_Cmd = new char[strlen(cmd)+1];
		strcpy( m_Cmd, cmd );
		return;
	}
	
	for( CEmotionCmd *temp=this; temp->next; temp=temp->next ) ;
	
	CEmotionCmd *data;
	data = new CEmotionCmd;
	data->m_Cmd = new char[strlen(cmd)+1];
	strcpy( data->m_Cmd, cmd );
	temp->next = data;
	return;
}

int CEmotionCmd::GetCmd( char *txt )
{
	CEmotionCmd *temp = this;
	int count = 0;
	while( temp )
	{
		if( strcmp( temp->m_Cmd, txt ) == 0 )
			return count;
		count ++;
		temp = temp->next;
	}
	return -1;
}
///////////////////////////////////////////////////////////////
int LoadEmotionCmd( CEmotionCmd *lpEmotionCmd )
{
	FILE *fp;
	fp = Fopen( "./data/emotion.txt", "rt" );
	if( !fp ) return 0;
	
	char temp[256];
	while( fgets( temp, 256, fp ) )
	{
		if( temp[0] == ';' ) continue;
		lpEmotionCmd->AddCmd( EatRearWhiteChar(temp) );
	}
	fclose( fp );
	return 1;
}

void SendExitGuild()
{
	if (!CheckGuildCode(Hero->GetGuildCode())) 
	{	//< CSD-030324
		return;
	}	//> CSD-030324

	if( CheckGuildMaster( Hero ) ) return;		// 辨付綽 竅瘤 給竅霸..
	CallServer( CMD_EXIT_GUILD_SELF );
}

void ViewNk( char *name )
{
	EatRearWhiteChar( name );
	name = EatRearWhiteChar( name );
	LPCHARACTER target = ExistHe( name );
	if( !target ) target = Hero;
	
	Kein_PutMessage( KM_INFO, "[%s] Vysues NK:%3d", target->name, IsNK( target, N_VYSEUS ));
	Kein_PutMessage( KM_INFO, "[%s] Zypern NK:%3d", target->name, IsNK( target, N_ZYPERN ));
	Kein_PutMessage( KM_INFO, "[%s] Yilse  NK:%3d", target->name, IsNK( target, N_YILSE ));
}

extern int IsDead( LPCHARACTER ch );

void RecvGuildChatData( t_packet *p )
{
	if( IsDead( Hero ) ) return;
	
	static first = 1;
	if( first && !g_Menu_Variable.m_bGuildChatOn )
	{
		// 辨靛盔撈 皋矯瘤甫 焊陳嚼聰促. 辨靛 盲潑 疙飛絹甫 撈儈竅技夸 /#, /辨靛盲潑難扁, /辨靛盲潑摻扁
		Kein_PutMessage( KM_INFO, kein_GetMenuString( 70 ) );
		first = 0;
	}
	char *name = p->u.kein.guild_chat.name;
	char *msg = p->u.kein.guild_chat.msg;
	ChatMgr.AddString( name, msg, CHATTYPE_GUILD );//021001 lsw
}

void CheckShowMeDual()
{
	if( EquipItemAttr[WT_NECK].item_no == 10175 )
	{
		CallServer( CMD_SHOW_ME_DUAL_CHAR );
	}
	else
	{
		CItem *item = ItemUnit( 10175 );
		if( item )
			Kein_PutMessage( KM_FAIL, kein_GetMenuString( 78 ), item->GetItemHanName() );
	}	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av成人高清| 99视频一区二区三区| 国产成人福利片| 欧美少妇xxx| 久久美女高清视频| 亚洲国产成人精品视频| 麻豆精品视频在线| 色婷婷综合久色| 久久久久久99久久久精品网站| 久久 天天综合| 色天使色偷偷av一区二区| 欧美大尺度电影在线| 亚洲6080在线| 一本大道久久a久久精二百| 日韩欧美国产一区在线观看| 亚洲综合激情另类小说区| 粉嫩高潮美女一区二区三区 | 日本一区二区三区电影| 天堂蜜桃91精品| 色一情一乱一乱一91av| 国产免费成人在线视频| 久久99久久久欧美国产| 欧美老年两性高潮| 一区二区三区四区亚洲| 北岛玲一区二区三区四区| 久久精品亚洲精品国产欧美kt∨| 日韩国产一二三区| 91精品国产91综合久久蜜臀| 一级做a爱片久久| 色婷婷综合久久久久中文一区二区 | 一区二区三区中文在线观看| 成人亚洲精品久久久久软件| 国产日韩三级在线| 国产成人精品免费看| 亚洲精品一区二区精华| 精品一区二区三区免费| 精品1区2区在线观看| 麻豆精品视频在线观看免费| 日韩欧美亚洲国产另类| 久久9热精品视频| 日韩欧美国产高清| 国产美女一区二区| 国产欧美一区二区精品性色 | 欧美精品一区二区三区蜜桃| 狂野欧美性猛交blacked| 日韩精品一区二区三区在线| 美脚の诱脚舐め脚责91| 精品粉嫩超白一线天av| 国产精品一区二区果冻传媒| 欧美国产欧美综合| 色8久久精品久久久久久蜜| 伊人婷婷欧美激情| 欧美精品成人一区二区三区四区| 日韩国产在线观看一区| 日韩精品一区二区三区四区视频 | 国产成人一级电影| 1024成人网| 欧美无乱码久久久免费午夜一区 | 国产日韩一级二级三级| 91在线视频在线| 亚洲午夜在线电影| 欧美大白屁股肥臀xxxxxx| 国产美女在线精品| 怡红院av一区二区三区| 日韩午夜激情视频| 成人亚洲精品久久久久软件| 亚洲一区免费在线观看| 精品女同一区二区| 一本一道久久a久久精品综合蜜臀| 亚洲电影一区二区| 精品国产91久久久久久久妲己| 成人免费不卡视频| 视频一区视频二区中文字幕| 2022国产精品视频| 在线观看亚洲专区| 国内精品嫩模私拍在线| 亚洲精品免费在线| 久久久亚洲综合| 欧美在线免费视屏| 懂色av一区二区在线播放| 亚洲午夜在线观看视频在线| 国产欧美精品一区| 51精品久久久久久久蜜臀| 成人网页在线观看| 免费看日韩精品| 亚洲午夜三级在线| 国产精品女上位| 日韩欧美一二三区| 欧美性生活一区| 成人免费av网站| 久久99久久精品| 亚洲午夜在线视频| 亚洲品质自拍视频| 精品久久久久久最新网址| 欧美又粗又大又爽| 99视频精品免费视频| 激情久久五月天| 视频一区二区三区入口| 亚洲欧美区自拍先锋| 久久蜜桃一区二区| 精品国产91洋老外米糕| 日韩欧美一二三| 欧美军同video69gay| 色天使久久综合网天天| www.99精品| 国产成人av电影在线播放| 另类小说图片综合网| 午夜精品久久久久影视| 亚洲综合在线五月| 亚洲黄色性网站| 亚洲色图在线视频| 中文字幕一区二区三区在线观看| 2022国产精品视频| 久久精品综合网| 国产亚洲欧美激情| 久久免费偷拍视频| 国产欧美日韩精品在线| 国产欧美久久久精品影院| 国产亚洲一区字幕| 国产清纯美女被跳蛋高潮一区二区久久w| 日韩欧美国产成人一区二区| 日韩欧美久久久| 精品久久久久一区二区国产| 欧美成人aa大片| 精品久久久久久久久久久久久久久久久| 欧美精品日韩一区| 欧美一卡二卡在线| 精品国产一区二区三区久久久蜜月 | 国产白丝网站精品污在线入口| 激情av综合网| 成人一级片网址| 91色在线porny| 精品视频一区三区九区| 欧美一级欧美三级在线观看| 日韩欧美中文一区二区| 久久综合九色综合欧美98| 日本一区二区三级电影在线观看| 国产日韩av一区| 亚洲人成影院在线观看| 日韩国产在线一| 国产成人在线电影| 日本精品一级二级| 51午夜精品国产| 国产午夜亚洲精品羞羞网站| 中文字幕一区三区| 日本色综合中文字幕| 国产乱色国产精品免费视频| 成人晚上爱看视频| 欧美精品xxxxbbbb| 久久九九久久九九| 亚洲电影第三页| 国产91丝袜在线18| 精品婷婷伊人一区三区三| 欧美精品一区二区三区在线播放 | 欧美日本在线看| 国产亚洲欧美日韩俺去了| 一区二区三区丝袜| 国产一区二区在线影院| 色综合色狠狠天天综合色| 在线播放一区二区三区| 中文字幕精品三区| 日本中文字幕一区| 成人av中文字幕| 欧美v日韩v国产v| 亚洲欧美日韩在线不卡| 国产在线精品免费av| 在线亚洲精品福利网址导航| 26uuu亚洲综合色欧美| 亚洲国产精品天堂| 国产成人免费视| 日韩视频免费直播| 亚洲欧洲日产国码二区| 免费观看一级欧美片| 色婷婷香蕉在线一区二区| 久久理论电影网| 青青国产91久久久久久| 91在线观看一区二区| 欧美精品一区二区三区蜜臀| 亚洲成人免费在线| www.亚洲精品| 久久影院视频免费| 日韩av网站在线观看| 在线国产电影不卡| 亚洲视频 欧洲视频| 成人激情文学综合网| 精品国产乱码久久久久久牛牛| 亚洲综合999| 91久久精品日日躁夜夜躁欧美| 亚洲国产精品黑人久久久| 美女免费视频一区二区| 欧美在线free| 亚洲一区二区三区爽爽爽爽爽 | 国产欧美一区二区三区鸳鸯浴 | 久久亚洲精精品中文字幕早川悠里 | 国产精品视频一二| 国产一区二三区好的| 欧美精品一区男女天堂| 蜜桃视频一区二区三区在线观看| 欧美日韩免费高清一区色橹橹| 亚洲美女屁股眼交|