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

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

?? itemtable.cpp

?? DragonRaja Client source version 1.4+ this source allow players join in (Hades Warfield or Monsters
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
			char temp[20];
			char temp2[1023];

			if( !fscanf(fp, "%s", temp) ) break;
			if( temp[0] == '#' || temp[0] == ';') 
			{
				fgets(temp2, 1023, fp);
				continue;
			}
			num = atoi(temp);
			magic[num].LoadExplain(num, fp);
		}
		fclose(fp);
	}
	return 1;
}

bool ReadMagicTable()
{
  FILE* fp = NULL;
	//ReadMagicExplain();		// 剛歷 汲疙闌 佬絹 甸牢饒 單撈鷗 藹闌 佬絹輯 茄波鍋俊 歷厘茄促.
	char filename[MAX_FILENAME], filenameBin[MAX_FILENAME];
  memset(filename, 0, MAX_FILENAME);
  memset(filenameBin, 0, MAX_FILENAME);
	//< CSD-020702
  sprintf(filename, "./magic/");
  sprintf(filenameBin, "./magic/");
  //> CSD-020702
  switch (SCharacterData.nCharacterData[SPELL])
  {
    case WIZARD_SPELL:
    {
      strcat(filename, "wizard.txt");
      strcat(filenameBin, "wizard.bin");
      break;
    }
    case PRIEST_SPELL:
    {
      strcat(filename, "priest.txt");
      strcat(filenameBin, "priest.bin");
      break;
    }
  }

	if( fp=Fopen(filename, "rt") )
	{
		char temp[2048];

		memset( magic, 0, sizeof( CMagic ) * MAX_MAGIC_ );
		while( fgets( temp, 2048, fp ) )
		{
			if( temp[0] == '#' || temp[0] == ';') continue;
			char *token = strtok( temp, "\t\n" );
			int magic_no = atoi( token );
			magic[magic_no].SetMagicNum(magic_no);

			token = strtok( NULL, "\t\n" );
			magic[magic_no].SetName(token );

			token = strtok( NULL, "\t\n" );
			magic[magic_no].SetHanName(token );

			token = strtok( NULL, "\t\n" );
			
			magic[magic_no].SetData(0,atoi( token ));

			token = strtok( NULL, "\t\n" );
			magic[magic_no].SetData(1,atoi( token ));
			
			token = strtok( NULL, "\t\n" );
			magic[magic_no].SetData(2,atoi( token ));

			token = strtok( NULL, "\t\n" );
			magic[magic_no].SetData(3,atoi( token ));

			token = strtok( NULL, "\t\n" );
			magic[magic_no].SetExplain(token);
		}
		fclose(fp);
		fp=Fopen( filenameBin, "wb" );
		if(fp)
		{
			char *tt = (char *)magic;
			char crc = 0;
			for( int i=0; i< sizeof(CMagic)*MAX_MAGIC_ ; i++ )
			{
				crc += *tt;
				tt++ ;
			}
			fwrite( &crc, 1, 1, fp );
			fwrite( magic, sizeof(CMagic), MAX_MAGIC_, fp);
			fwrite( &crc, 1, 1, fp );
			fclose(fp);
		}
		for( int i=0; i<MAX_MAGIC_; i++ )
		{
			if( magic[i].GetMagicNum() ) 
				ReadMagicIconImage( SCharacterData.nCharacterData[SPELL], magic[i].GetImage() );
		}
	}
	else
	{
		fp = Fopen( filenameBin, "rb" );
		if(fp)
		{
			char *tt = (char *) magic;
			char crc = 0, crc1, crc2;
			fread( &crc1, 1, 1, fp );
			fread( magic, sizeof(CMagic), MAX_MAGIC_, fp);
			fread( &crc2, 1, 1, fp );
			fclose(fp);
			for( int i=0; i< sizeof( CMagic ) *MAX_MAGIC_; i++ )
			{
				crc += *tt;
				tt++ ;
			}
			if( crc != crc1 || crc != crc2 ) 
			{
				CheckSumError = -1;
				JustMsg(lan->OutputMessage(6,82) );//CheckSumError = 1;//010215 lsw
			}
			else	// 概流 酒撈能 佬絹 坷扁...
			{
				for( int i=0; i<MAX_MAGIC_; i++ )
					if( magic[i].GetMagicNum() ) 
						ReadMagicIconImage( SCharacterData.nCharacterData[SPELL], magic[i].GetImage() );
			}
		}
		else return 0;
	}
/*
	if( GetSysInfo( SI_GAME_MAKE_MODE ) )
	{
		fp = fopen( "kein_wizard.txt", "wt" );
		if( fp) 
		{
			for( int i=0; i<MAX_MAGIC_; i++ )
			{
				if( magic[i].MagicNum )
				fprintf( fp, "%d	%s	%s	%d	%d	%d	%d	%s\n", 
					magic[i].MagicNum, magic[i].Name, magic[i].HanName,
					magic[i].data[0], magic[i].data[1], magic[i].data[2], magic[i].data[3], 
					magic[i].explain );
			}
			fclose( fp );
		}
	}
	*/


	return 1;
}

void CMagic::DeleteMagic()
{
	if( !GetMagicNum() ) return;

	if( magic_spr[ m_data[ImgNum] ].img )
	{
		GlobalFree( magic_spr[ m_data[ImgNum] ].img );
	}
	magic_spr[ m_data[ImgNum] ].img = NULL;

	m_iMagicNum=0;
	SetName("");
	SetHanName("");
	memset( m_data, 0, sizeof( int[MAGIC_DATA_MAX] ) );
}



bool ReadMagicIconImage( int type, int num )
{
	char filename[MAX_FILENAME];
	FILE *fp;

	Spr *s;

	switch( type )
	{
		case WZD :		sprintf( filename, "./Magic/w%03d.csp", num ); break;
		case PRI :		sprintf( filename, "./Magic/p%03d.csp", num ); break;
	}
	s = &magic_spr[num];
	if( s->img ) return 1;

	if( fp = Fopen(filename, "rb" ) )
	{
		fread( &s->xl, sizeof( short ), 1, fp);
		fread( &s->yl, sizeof( short ), 1, fp);
		fread( &s->ox, sizeof( short ), 1, fp);
		fread( &s->oy, sizeof( short ), 1, fp);
		fread( &s->size, sizeof( unsigned int ), 1, fp);

		MemFree( s->img );
		MemAlloc( s->img, s->size );
		fread(s->img, s->size, 1, fp);
		convert565to555( s );
		fclose(fp);
	}
	else return 0;
	return 1;
}

void FreeMagicIcon( )
{
	for( int i=0; i<MAGIC_SPR_MAX; i++ )
	{
		if( magic_spr[i].img ) MemFree( magic_spr[i].img );
	}
}

void PutMagicIcon( int x, int y, int num, int flag, int type )
{
	Spr *s;
//	if( !magic[num].GetImage() ) return;
	s = &magic_spr[magic[num].GetImage()];
	if( flag ) 
	{
		PutCompressedImageFX(x, y, s, flag, type); 
	}
	else 
	{
		PutCompressedImage(x, y, s);
	}
}
////////////////////////////////////////////////////////////////////////////////////////
//
//		概流 包訪 拌魂 皋家靛 --> 輯滾
//
//
////////////////////////////////////////////////////////////////////////////////////////




//###########################################################################################

/*
extern ItemAttr InvItemAttr[3][3][8];
extern ItemAttr EquipItemAttr[8];
extern ItemAttr QuickItemAttr[7];
extern ItemAttr HandItemAttr;

extern ItemAttr InvAttrBackUp[3][3][8];
extern ItemAttr EquipAttrBackUp[8];
extern ItemAttr QuickAttrBackUp[6];
extern ItemAttr HandAttrBackUp;

extern int aAccelInventory[6];		
extern int AccelBackUp[6];

extern int aArmor_Inventory[8];
extern int ArmorBackUp[8];

extern int aItemInventory[3][3][8];
extern int InvBackUp[3][3][8];

extern int HandBackUp;
extern int HandBackUptype;

extern int g_MouseItemNumber;   
extern int g_MouseItemType;     
*/

void InventoryBackUp()
{
	memcpy( InvAttrBackUp, InvItemAttr, sizeof( ItemAttr[3][3][8] ) );
	memcpy( EquipAttrBackUp, EquipItemAttr, sizeof( ItemAttr[8] ) );
	memcpy( QuickAttrBackUp, QuickItemAttr, sizeof( ItemAttr[7] ) );
	HandAttrBackUp = HandItemAttr;

//	memcpy( AccelBackUp, aAccelInventory, sizeof( int[6] ) );
//	memcpy( ArmorBackUp, aArmor_Inventory, sizeof( int[8] ) );
//	memcpy( InvBackUp, aItemInventory, sizeof( int[3][3][8] ) );
	HandBackUp = g_MouseItemNumber;
	HandBackUptype = g_MouseItemType;

}

void InventoryRestore()
{
	// 犁 傈價 罐綽促.
	CallServer( CMD_RESEND_ITEM );
	DeleteItem( &HandItemAttr );
	g_MouseItemType = 0;
	g_MouseItemNumber = 0;

	ChangeEquip( Hero, EquipItemAttr, 0 );
}

int Item_Attack_Ani[27][8] = 
{
	0,	50,	65,		0,	0,	0,	0,	0,		//劇頰八	
	61,	50,	70,		4,	3,	5,	6,	8,		//茄頰漠..
	62,	50,	70,		4,	3,	5,	6,	8,		//茄頰漠..
	63,	50,	70,		4,	3,	5,	6,	8,		//閡漠.
	64,	50,	70,		4,	3,	5,	6,	8,		//
	65,	50,	70,		4,	3,	5,	6,	8,		//
	66,	50,	70,		4,	3,	5,	6,	0,		//
	67,	50,	70,		4,	3,	5,	6,	0,		//
	68,	50,	70,		22,	21,	7,	23,	0,		//秦贛
	69,	50,	70,		4,	3,	5,	6,	0,		//
	70,	50,	70,		4,	3,	7,	8,	23,		//豪1.
	71,	50,	70,		4,	3,	7,	6,	23,		//
	72,	70,	90,		22,	21,	7,	6,	23,		//
	73,	70,	90,		22,	21,	7,	2,	30,		//	
	74,	80,	100,	22,	21,	8,	0,	0,		//芒1.
	75,	70,	90,		22,	21,	8,	0,	0,		//
	76,	70,	90,		4,	3,	19,	0,	0,		//
	77,	70,	90,		4,	3,	19,	0,	0,		//
	78,	50,	480,	4,	3,	9,	0,	0,		//勸1
	79,	70,	530,	4,	3,	9,	0,	0,		//	
	80,	40,	70,		10,	3,	11,	0,	0,		//....?,,
	81,	40,	70,		10,	3,	11,	0,	0,		//
	82,	40,	70,		10,	3,	11,	0,	0,		//....?,,
	83,	40,	70,		10,	3,	11,	0,	0,		//....?,,
	84,	40,	70,		10,	3,	11,	0,	0,		//....?,,
	85,	40,	70,		10,	3,	11,	0,	0,		//....?,,
	86,	40,	70,		10,	3,	11,	0,	0,		//....?,,
};

void GetItemAnimationNumber(int num, int &a, int &b, int &c, int &d, int &e, int &f, int &g)
{
	if(num)
	{
		a = Item_Attack_Ani[num-60][1];
		b = Item_Attack_Ani[num-60][2];
		c = Item_Attack_Ani[num-60][3];
		d = Item_Attack_Ani[num-60][4];
		e = Item_Attack_Ani[num-60][5];
		f = Item_Attack_Ani[num-60][6];
		g = Item_Attack_Ani[num-60][7];
	}
	else
	{
		a = Item_Attack_Ani[0][1];
		b = Item_Attack_Ani[0][2];
		c = Item_Attack_Ani[0][3];
		d = Item_Attack_Ani[0][4];
		e = Item_Attack_Ani[0][5];
		f = Item_Attack_Ani[0][6];
		g = Item_Attack_Ani[0][7];
	}
}
// 020620 YGI
void CSkill::ReadSkill( int no, char *buf )
{
	num = no;
	char *token;

#ifdef KOREA_LOCALIZING_
	token = strtok(buf, "\t\n");
	strcpy(name, token);

	token = strtok(NULL, "\t\n");
	strcpy(han_name, token);
#else
	token = strtok(buf, "\t\n");
	strcpy(han_name, token);

	token = strtok(NULL, "\t\n");
	strcpy(name, token);
#endif

	token= strtok(NULL, "\t\n") ;
	inclusive = atoi(token);

	token= strtok(NULL, "\t\n") ;
	series = atoi(token);

	token= strtok(NULL, "\t\n") ;
	money = atoi(token);

	token= strtok(NULL, "\t\n\r") ;
	skillable = atoi(token);

	token= strtok(NULL, "\t\n") ;
	strcpy(explain, token);

	static count=0;

	int ct = strlen( token );
	if( ct > count ) count = ct;

}

CSkill	skill[MAX_SKILL];
Spr		skill_spr[MAX_SKILL];
int		inclusive_to_skill[MAX_SKILL_KIND][8];

bool ReadSkillTable()
{
	char buf[511] ;
	char temp[20];

	FILE *fp ;
	char	filename[MAX_FILENAME],filenameBin[MAX_FILENAME];
	
	sprintf(filename, "./skill/skill.txt");
	sprintf(filenameBin, "./skill/skill.bin");

	if( fp= Fopen(filename, "rt") )
	{
		//int i=0;
		int num = 0;
		while( !feof(fp) && num<MAX_SKILL )
		{
			if( !fscanf(fp, "%s", temp) ) break;
			if( temp[0] == '#' || temp[0] == ';') 
			{
				fgets(buf, 511, fp);
				continue;
			}
			num = atoi( temp );
			fgets(buf, 511, fp);
			skill[num].ReadSkill(num, buf);
			ReadSkillIcon( num );
//			i++;
		}
		fclose(fp);

		if(fp=Fopen( filenameBin, "wb" ) )
		{
			char *tt = (char *) skill;
			char crc = 0; 
			for( int i=0; i<sizeof( CSkill ) *MAX_SKILL; i++ )
			{
				crc += *tt;
				tt++;
			}

			fwrite( &crc, 1, 1, fp);
			fwrite( skill, sizeof(CSkill), MAX_SKILL, fp);
			fwrite( &crc, 1, 1, fp);
			fclose(fp);
		}
	}

	else
	{
		if(fp=Fopen( filenameBin, "rb" ) )
		{
			char *tt = (char *) skill ;
			char crc = 0, crc1, crc2;
			fread( &crc1, 1, 1, fp );
			fread( skill, sizeof(CSkill), MAX_SKILL, fp);
			fread( &crc2, 1, 1, fp );
			fclose(fp);

			for( int i=0; i<sizeof( CSkill )*MAX_SKILL; i++)
			{
				crc += *tt;
				tt++;
			}
			if( crc != crc1 || crc != crc2 ) 
			{
				CheckSumError = -1;
				JustMsg(lan->OutputMessage(6,83) );//CheckSumError = 1;//010215 lsw
			}
			else		// 撈固瘤 佬絹 坷扁
			{
				for( int i=0; i<MAX_SKILL; i++ )
				{
					if( skill[i].num ) 
					{
						ReadSkillIcon( i );
					}
				}

#ifdef _DEBUG	// 031110 YGI
				if( GetSysInfo( SI_NOT_CONNECT_MODE ) )

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级午夜理伦三级中视频| 国产曰批免费观看久久久| 国产麻豆91精品| 欧美性猛交xxxxxx富婆| 国产欧美精品一区二区色综合 | 一区二区三区91| 国产成人精品一区二区三区四区 | 丁香一区二区三区| 日韩三级电影网址| 亚洲精品免费在线播放| 国产成人亚洲综合a∨猫咪| 欧美一区二区三区公司| 亚洲一区二区精品视频| 不卡视频一二三四| 国产午夜精品久久| 国内久久婷婷综合| 欧美一区午夜视频在线观看| 亚洲精品免费在线| 91亚洲精华国产精华精华液| 久久精品日产第一区二区三区高清版| 日韩成人免费在线| 欧美日韩色一区| 一区二区在线观看不卡| 99在线视频精品| 欧美国产欧美综合| 国产黄色成人av| 久久久久成人黄色影片| 国内成人精品2018免费看| 欧美一级视频精品观看| 三级欧美在线一区| 欧美丝袜丝交足nylons| 亚洲麻豆国产自偷在线| av一区二区三区四区| 国产精品污www在线观看| 国产高清在线精品| 国产亚洲va综合人人澡精品| 极品少妇xxxx偷拍精品少妇| 欧美大白屁股肥臀xxxxxx| 日本不卡123| 日韩欧美一级二级| 精品在线观看免费| 精品动漫一区二区三区在线观看| 青椒成人免费视频| 欧美成人a在线| 精品制服美女久久| 久久久久高清精品| 成人免费视频一区二区| 国产精品美女视频| 91一区二区三区在线播放| 亚洲欧美二区三区| 在线免费一区三区| 亚洲国产精品尤物yw在线观看| 欧美日韩综合一区| 午夜精品一区二区三区三上悠亚 | 国产v综合v亚洲欧| 国产精品污网站| 色一情一伦一子一伦一区| 一区二区三区在线看| 欧美三区在线视频| 日韩av一区二区在线影视| 精品裸体舞一区二区三区| 激情综合色丁香一区二区| 国产欧美综合在线| 91在线国内视频| 亚洲无人区一区| 日韩小视频在线观看专区| 国产在线精品免费av| 中文天堂在线一区| 欧亚洲嫩模精品一区三区| 日韩电影在线观看电影| 久久精品一区八戒影视| 色综合激情五月| 丝袜亚洲另类欧美综合| 精品国产乱码久久久久久蜜臀 | 奇米精品一区二区三区在线观看一| 日韩你懂的在线播放| 国产aⅴ综合色| 一区二区三区四区激情| 日韩一本二本av| 国产a级毛片一区| 亚洲电影第三页| 精品国产乱码久久久久久久| 成人精品一区二区三区中文字幕| 一级中文字幕一区二区| 精品国产一区二区亚洲人成毛片 | 欧美色区777第一页| 久久精品国产**网站演员| 中国av一区二区三区| 欧美精品乱码久久久久久| 粉嫩aⅴ一区二区三区四区| 一区二区三区在线免费视频| 日韩美女一区二区三区四区| 99国产精品国产精品久久| 日韩高清一区二区| 国产精品欧美久久久久一区二区| 欧美日韩国产精品成人| 国产mv日韩mv欧美| 午夜精品福利一区二区三区av| 久久久一区二区三区捆绑**| 欧美在线一区二区三区| 国产一区欧美日韩| 亚洲国产美女搞黄色| 欧美激情综合在线| 91精品国产91久久久久久最新毛片 | 久久色.com| 欧美在线观看一区二区| 国产在线播精品第三| 亚洲高清三级视频| 中文字幕在线观看一区| 精品国产乱码久久久久久夜甘婷婷| 在线亚洲高清视频| 国产成人免费视频一区| 麻豆一区二区三| 洋洋av久久久久久久一区| 日本一区二区三区在线观看| 欧美一区二视频| 色呦呦网站一区| 国产成人一级电影| 看电影不卡的网站| 亚洲v日本v欧美v久久精品| 中文字幕色av一区二区三区| 精品三级在线观看| 欧美喷水一区二区| 色综合久久88色综合天天免费| 韩国av一区二区| 喷白浆一区二区| 亚洲国产精品一区二区www在线 | 精品剧情在线观看| 欧美日高清视频| 色爱区综合激月婷婷| 丁香婷婷深情五月亚洲| 国产一区二区三区不卡在线观看 | 国内久久婷婷综合| 蜜臀91精品一区二区三区| 亚洲高清视频的网址| 亚洲精品你懂的| 中文字幕在线免费不卡| 欧美极品美女视频| 久久久综合激的五月天| 精品国产百合女同互慰| 欧美一级理论片| 日韩视频国产视频| 91.com在线观看| 欧美日韩精品一区二区三区四区| 91久久久免费一区二区| 色综合视频在线观看| 99国产精品视频免费观看| 不卡的电影网站| 成人av网址在线| 成人高清伦理免费影院在线观看| 国产精品一区二区在线播放| 国产尤物一区二区在线| 久久国产福利国产秒拍| 久久99久久99精品免视看婷婷 | 亚洲国产精品久久久久婷婷884| 亚洲免费观看高清完整| 亚洲美女偷拍久久| 亚洲国产综合91精品麻豆| 99国产精品久| 色婷婷激情综合| 欧美私模裸体表演在线观看| 欧美日精品一区视频| 欧美巨大另类极品videosbest| 欧美日韩国产综合久久| 欧美三级午夜理伦三级中视频| 欧美日韩黄色一区二区| 欧美一区二区三区免费观看视频| 日韩西西人体444www| 欧美成人女星排行榜| 欧美精品一区二区三区蜜臀| 久久久99精品免费观看不卡| 欧美激情一区二区三区四区| 亚洲欧洲av另类| 夜夜精品浪潮av一区二区三区| 亚洲国产aⅴ成人精品无吗| 视频一区二区不卡| 久久66热偷产精品| 国产91精品免费| 色综合一个色综合| 欧美日韩在线直播| 日韩免费视频线观看| 国产亚洲欧美色| 亚洲码国产岛国毛片在线| 丝袜美腿高跟呻吟高潮一区| 久久99蜜桃精品| 成人一二三区视频| 91黄色免费版| 欧美一区二区黄| 国产精品久久综合| 亚洲国产三级在线| 国内偷窥港台综合视频在线播放| 成人激情小说乱人伦| 欧美亚洲国产一区二区三区| 欧美一二三区精品| 欧美激情综合五月色丁香小说| 一区二区三区免费看视频| 日本成人中文字幕| 成人毛片视频在线观看| 欧美乱妇一区二区三区不卡视频 | 色综合天天做天天爱|