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

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

?? skilltool.cpp

?? DragonRaja Client source version 1.4+ this source allow players join in (Hades Warfield or Monsters
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
#include "stdafx.h"
#include "stdio.h"
#include <windowsx.H>
#include "Resource.h"
#include "SkillTool.h"
#include "Map.h"
#include "gameproc.h"
#include "Char.h"
#include "Tool.h"
#include "Hong_Sub.h"

#include "Effect.h"
#include "Hong_sprite.h"
#include "directdraw.h"
#include "dragon.h"
#include "object.h"

HWND			InputSkillTableHwnd;
HWND			CheckHouseObjectHwnd;
//< CSD-030324	
char subFarmType[20][25] = {{""},};
char subMineType[20][25] = {{""},};
char subHubType[20][25] = {{""},};
//> CSD-030324
int             radio_Statue = 0;

MAPSKILLTABLE	g_MapSkillTable;
lpMAPSKILLTABLE Header[8][8];
MYHOUSETOOL		g_MyhouseTool;
DRAGMOUSE		g_DragMouse;
BOOL			g_MyhouseDlgOpen;

extern NPC_INFO g_infNpc[MAX_CHARACTER_SPRITE_]; // CSD-030419
//--------------------------------------------------------------------------------------------------------------
//  扁  瓷 :  NPC硅摹甫 瘤款促. 
//  牢  磊 : 0 :葛電 NPC硅摹甫 絕矩促. 
//           n : n鍋 NPC硅摹甫 絕矩促. 
//  搬  苞 : 絕嬌.
//--------------------------------------------------------------------------------------------------------------
//////////////////////// 0613 lkh 眠啊 /////////////////////////
void DeleteNPCGenerate(int npc_Num)
{
	for( int y=0; y<g_Map.file.wHeight; y++)
	{
		for(int x=0; x<g_Map.file.wWidth; x++)
		{
			lpMAPSKILLTABLE result;
			
			if(TileMap[x][y].attr_skill == 1)
			{
				result=FindSkill(&Header[(int)(x/(int)((g_Map.file.wWidth+7)/8))][(int)(y/(int)((g_Map.file.wHeight+7)/8))], x, y);
				
				if(result==NULL)
					TileMap[x][y].attr_skill = 0;
				else if(result!= NULL && result->skillno == 6)		// npc積己 器牢飄 包訪 單撈磐牢 版快
				{
					if(!npc_Num)
					{
						TileMap[x][y].attr_skill=0;
						DeleteSkill(&Header[(int)(x/(int)((g_Map.file.wWidth+7)/8))][(int)(y/(int)((g_Map.file.wHeight+7)/8))], result);
					}
					else if(result->type_Num == npc_Num)
					{
						TileMap[x][y].attr_skill=0;
						DeleteSkill(&Header[(int)(x/(int)((g_Map.file.wWidth+7)/8))][(int)(y/(int)((g_Map.file.wHeight+7)/8))], result);
					}
				}
			}
		}
	}
}




void ChangeNPCGenerate(int npc_from, int npc_to )
{
	for( int y=0; y<g_Map.file.wHeight; y++)
	{
		for(int x=0; x<g_Map.file.wWidth; x++)
		{
			lpMAPSKILLTABLE result;
			
			if(TileMap[x][y].attr_skill == 1)
			{
				result=FindSkill(&Header[(int)(x/(int)((g_Map.file.wWidth+7)/8))][(int)(y/(int)((g_Map.file.wHeight+7)/8))], x, y);
				
				if(result==NULL)
					TileMap[x][y].attr_skill = 0;
				else if(result!= NULL && result->skillno == 6)		// npc積己 器牢飄 包訪 單撈磐牢 版快
				{
					if( result->type_Num == npc_from )
					{
						result->type_Num = npc_to;
					}
				}
			}
		}
	}
}



void DeleteAllSkillData( void )
{
	for( int i = 0 ; i < 8 ; i ++ )
	{
		for( int j = 0 ; j < 8 ; j ++ )
		{
			while( Header[i][j] )
			{
				DeleteSkill( &Header[i][j], Header[i][j] );
			}
		}
	}
}

/*id DeleteAllSkillData( void )
{
	for( int y=0; y<g_Map.file.wHeight; y++)
	{
		for(int x=0; x<g_Map.file.wWidth; x++)
		{
			lpMAPSKILLTABLE result;
			
			if(TileMap[x][y].attr_skill == 1)
			{	
				result=FindSkill(&Header[(int)(x/(int)((g_Map.file.wWidth+7)/8))][(int)(y/(int)((g_Map.file.wHeight+7)/8))], x, y);
				if(result==NULL)
					TileMap[x][y].attr_skill = 0;
				else
				{
					TileMap[x][y].attr_skill = 0;
					DeleteSkill(&Header[(int)(x/(int)((g_Map.file.wWidth+7)/8))][(int)(y/(int)((g_Map.file.wHeight+7)/8))], result);
				}
			}
		}
	}
}*/  // 0907 KHS



void DrawSkillBox(int mox, int moy)
{
	int sx=(mox-Mapx)/TILE_SIZE*32;
	int sy=(moy-Mapy)/TILE_SIZE*32;
	Box( sx+1, sy+1, sx+TILE_SIZE-1, sy+TILE_SIZE-1, RGB(29,184,12));
}

BOOL LoadSkillMapTable(void)
{
	int		i=0;
	char	temp[FILENAME_MAX];
	FILE *fp ;
	MAPSKILLTABLE st;
	int c=0;
	int ret;
	
 	sprintf( temp, "./skill/%s.skb", MapName );
	fp = Fopen( temp, "rb" );
	if(fp == NULL) 		return FALSE;

	int dx = (g_Map.file.wWidth+7)/8;
	int dy = (g_Map.file.wHeight+7)/8;

	while( !feof( fp ) )
	{
		ret = fread( &st, sizeof( MAPSKILLTABLE), 1, fp );
		if( ret < 1 ) break;

		int x = (int)(st.x / dx);
		int y = (int)(st.y / dy);
		TileMap[ st.x ][ st.y ].attr_skill = 1;
		AddSkill( &Header[ x][y], &st );
		c++;
	}

	fclose(fp);

	return TRUE;
}


void MapSkillTool_Attr( int mx, int my )		//秦寸 鷗老狼 扁賤 加己藹 勸己 咯何 悸潑竊薦
{
	if( mx < 0 ) return;
	if( my < 0 ) return;

	if( g_Map.file.wWidth <= mx ) return;
	if( g_Map.file.wHeight <= my ) return;
	
	LPTILE t = &TileMap[ mx][my];

	if( g_MapSkillTable.skillno!=0 )
	{
		if( t->attr_skill==FALSE )		//秦寸 鷗老狼 扁賤 加己闌 彌檬肺 悸潑竅綽 版快
		{
			t->attr_skill = 1;
			AddSkill( &Header[(int)(mx/(int)((g_Map.file.wWidth+7)/8))][(int)(my/(int)((g_Map.file.wHeight+7)/8))], &g_MapSkillTable);
		}
		else							//秦寸 鷗老狼 扁賤 加己俊 撈固 加己撈 悸潑登絹 樂綽 版快
		{
			lpMAPSKILLTABLE	result;
			result=FindSkill( &Header[(int)(mx/(int)((g_Map.file.wWidth+7)/8))][(int)(my/(int)((g_Map.file.wHeight+7)/8))], mx, my);
			if(result==NULL)		return;		//弊繁 老籃 絕擺瘤父 秦寸諒釬藹闌 愛綽 傅農(nóng)府膠飄 絕綽 版快
	
			result->x = g_MapSkillTable.x;
			result->y = g_MapSkillTable.y;
			result->type = g_MapSkillTable.type;
			result->skillno = g_MapSkillTable.skillno;

			if(result->skillno == TOOL_DONTSKILL )
			{
				result->tile_Range	= 0;
				result->probability	= 0;
				result->type_Num	= 0;
				result->subType		= 0;
			}
			else if(result->skillno == TOOL_BUILDHOUSE)
			{
				result->tile_Range	= g_MapSkillTable.tile_Range;
				result->probability	= 0;
				result->type_Num	= 0;
				result->subType		= 0;
			}
			else
			{
				result->tile_Range	= g_MapSkillTable.tile_Range;
				result->probability	= g_MapSkillTable.probability;
				if(result->skillno == TOOL_NPC_GENER )
				{
					result->type_Num= g_MapSkillTable.type_Num;
					result->subType = 0;
				}
				else
				{
					result->type_Num= 0;
					result->subType	= g_MapSkillTable.subType;
				}
			}
		}
	}
	return;
}


void AddSkill( lpMAPSKILLTABLE *Header, lpMAPSKILLTABLE	lpST )		//傅農(nóng)靛 府膠飄狼 贛府俊 嘿咯 持扁
{		
	lpMAPSKILLTABLE t, temp; 
	
	if( *Header == NULL )		//傅農(nóng)靛 府膠飄 彌檬 積己
	{	
		MemAlloc( *Header, sizeof( MAPSKILLTABLE ));
		(*Header)->type			= lpST->type;
		(*Header)->x			= lpST->x; 
		(*Header)->y			= lpST->y; 
		(*Header)->skillno		= lpST->skillno;
		
		(*Header)->tile_Range	= lpST->tile_Range;
		(*Header)->probability	= lpST->probability;
		(*Header)->type_Num		= lpST->type_Num;
		(*Header)->subType		= lpST->subType;
		(*Header)->prev			= NULL;
		(*Header)->next			= NULL;
	}		
	else						//撈固 積己等 府膠飄俊 梅啊 楷搬/肺爹秦柯 單撈磐啊 樂闌 版快
	{	
		t = NULL;
		MemAlloc( t, sizeof( MAPSKILLTABLE ));

		t->type			= lpST->type;
		t->x			= lpST->x; 
		t->y			= lpST->y; 
		t->skillno		= lpST->skillno;
		
		t->tile_Range	= lpST->tile_Range;
		t->probability	= lpST->probability;
		t->type_Num		= lpST->type_Num;
		t->subType		= lpST->subType;

		temp = *Header ;
		temp->prev = t;
		t->next = temp;
		t->prev = NULL;
		*Header = t;
	}
	/*	
		if(lpST->skillno == TOOL_FARMING || lpST->skillno == TOOL_MINING || lpST->skillno == TOOL_FISHING ||
			lpST->skillno == TOOL_CHOPPING || lpST->skillno == TOOL_HUB )
		{
			t->tile_Range	= lpST->tile_Range;
			t->probability	= lpST->probability;
			t->type_Num		= 0;
			t->subType		= lpST->subType;
		}

		else if(lpST->skillno == TOOL_NPC_GENER )
		{
			t->tile_Range	= lpST->tile_Range;
			t->probability	= lpST->probability;
			t->type_Num		= lpST->type_Num;
			t->subType		= 0;
		}

		else if(lpST->skillno == TOOL_BUILDHOUSE )
		{
			t->tile_Range	= lpST->tile_Range;
			t->probability	= 0;
			t->type_Num		= 0;
			t->subType		= 0;
		}
		
		temp = *Header ;
		temp->prev = t;
		t->next = temp;
		t->prev = NULL;
		*Header = t;
	}	
	*/
}	
	
	
void DeleteSkill( lpMAPSKILLTABLE *Header, lpMAPSKILLTABLE f)
{	
	lpMAPSKILLTABLE  t = *Header;//g_lpMapSkillTable;
	
	while( t != NULL )
	{		
		if( t == f )
		{
			if( f == *Header )		//header啊 力芭登綽 版快
			{
				t = (*Header)->next;

				if(*Header!=NULL)
					MemFree( *Header );

				if(t!=NULL)
				{
					*Header = t;
					(*Header)->prev = NULL;
				}
				return;
			}
			else 
			{
				if ( t->prev != NULL )
				{
					t->prev->next = t->next;
				}
				if( t->next != NULL )
				{
					t->next->prev = t->prev;
				}

				MemFree( t );
				return;
			}
		}

		t= t->next;
	}
}	
	
//	甘籃 例措諒釬...
// 010314 KHS  
lpMAPSKILLTABLE FindSkill( lpMAPSKILLTABLE *H, int x, int y, int order )
{	
	int c = 0;
	lpMAPSKILLTABLE t;
	t = *H;
	while( t != NULL )
	{	
		if( t->x == x && t->y == y )
		{
			if( order == c ) return t;
			c++;
		}
		t = t->next;
	}		
	return NULL;
}	
	
	
///////////////////////////// 0724 lkh 薦瀝 ///////////////////////////////
BOOL CALLBACK SkillToolproc( HWND hDlg, UINT Message, WPARAM wParam, LPARAM lParam )
{	
	char			temp[FILENAME_MAX];
	static int		map_X, map_Y;
	static POINT	checkON_Tile;
	int				i=0,j=0;
	static int		radio_Table;
	static int		skill_Tile_Range=DEF_SKILLTILE_RANGE;
	int				Farmming_Count;
	int				Mining_Count;
	int				Fishing_Count;
	int				Chopping_Count;
	int				Hub_Count;
	int				NPC_Count;
	int				NPCPositionCount;
	int				NPCEventCount;	
	int				NPCNoEventCount;
	static int		delete_Type;
	FILE			*fp;
	RECT			rect, grect;	
	
	int tempmonsterno;
	
	switch(Message)		
	{						
	case WM_INITDIALOG:	
		map_X=Mox/32;
		map_Y=Moy/32;
		sprintf (temp, "%d", g_MapSkillTable.skillno);
		Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_ATTRIB ), temp);	//扁賤加己
	
		sprintf (temp, "%d", g_MapSkillTable.x);
		Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_TILE_X ), temp);	//急琶等 鷗老 輛諒釬		

		sprintf (temp, "%d", g_MapSkillTable.y);
		Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_TILE_Y ), temp);	//急琶等 鷗老 染諒釬

		sprintf (temp, "%d", g_MapSkillTable.tile_Range);
		Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_RANGE ), temp);	//加己康氫撈 固摹綽 芭府(館瘤撫)

		sprintf (temp, "%d", g_MapSkillTable.type_Num);
		Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_NPCNUM ), temp);	//急琶等 NPC 鍋齲
		//< CSD-030419
		if (IsExistNpcSprNo(g_MapSkillTable.type_Num))
		{
			tempmonsterno = g_MapSkillTable.type_Num;
		}
		else
		{
			tempmonsterno = g_MapSkillTable.type_Num%100;
		}
		
		Edit_SetText(GetDlgItem(hDlg, IDC_MONSTER_NAME), g_infNpc[tempmonsterno].szName);
		//> CSD-030419
		
		sprintf (temp, "%d", g_MapSkillTable.probability);
		Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_PERCENT ), temp);	//扁賤狼 己傍 咯何 犬伏

		switch(delete_Type)
		{
		case 0:sprintf(temp, lan->OutputMessage(4,151));break;
		case 1:sprintf(temp, lan->OutputMessage(4,152));break;
		case 2:sprintf(temp,lan->OutputMessage(4,153) );break;
		case 3:sprintf(temp, lan->OutputMessage(4,154));break;
		case 4:sprintf(temp, lan->OutputMessage(4,155));break;
		case 5:sprintf(temp, lan->OutputMessage(4,156));break;
		case 6:sprintf(temp, lan->OutputMessage(4,157));break;
		case 7:sprintf(temp, lan->OutputMessage(4,158));break;
		}

		// 扼叼坷 滾瓢 眉農(nóng)&免仿

		switch( g_MapSkillTable.skillno )
		{
			case TOOL_FARMING				 :  radio_Table = IDC_FARMING;		break;
			case TOOL_MINING				 :	radio_Table = IDC_MINING;		break;
			case TOOL_FISHING				 : 	radio_Table = IDC_FISHING;		break;
			case TOOL_CHOPPING				 :	radio_Table = IDC_CHOPPING;		break;
			case TOOL_HUB					 :	radio_Table = IDC_HUB;			break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影在线免费看| 91香蕉视频黄| 美女视频黄a大片欧美| 日韩精品每日更新| 日韩精品国产精品| 日韩精品成人一区二区三区 | 亚洲美女精品一区| 1区2区3区精品视频| 亚洲欧洲在线观看av| 亚洲欧美一区二区视频| 亚洲精品视频在线观看免费| 亚洲另类一区二区| 亚洲3atv精品一区二区三区| 亚洲国产三级在线| 日欧美一区二区| 久久国产尿小便嘘嘘| 国产一区激情在线| 不卡的看片网站| 欧洲一区在线电影| 欧美一区二区三区精品| 欧美tickling网站挠脚心| 日韩欧美一二区| 国产欧美久久久精品影院| 国产精品久久久久久久第一福利| 中文字幕亚洲欧美在线不卡| 一区二区国产盗摄色噜噜| 午夜精品久久久久影视| 久久99国产精品麻豆| 丁香网亚洲国际| 91美女片黄在线| 欧美另类z0zxhd电影| 久久久久久久综合日本| 中文字幕综合网| 免费看精品久久片| 成人高清在线视频| 91精品在线免费| 中文无字幕一区二区三区| 亚洲一级片在线观看| 久久99在线观看| 国产不卡一区视频| 欧美日韩一区二区在线视频| 欧美成人女星排名| 国产精品嫩草久久久久| 亚洲国产精品久久久久秋霞影院| 国产在线一区观看| 欧美在线观看一区| 欧美www视频| 亚洲一区二区三区美女| 激情小说亚洲一区| 色婷婷激情久久| 精品国产区一区| 一区二区三区不卡在线观看 | 欧美日韩一本到| 精品久久久久久最新网址| 中文字幕一区二区三区蜜月| 日欧美一区二区| 色综合久久久久综合| 久久夜色精品国产噜噜av| 亚洲免费在线看| 国产成人综合在线播放| 欧美日韩1区2区| 一色屋精品亚洲香蕉网站| 蜜桃免费网站一区二区三区| 色呦呦一区二区三区| 亚洲精品一区二区三区精华液 | 在线观看区一区二| 日本一区二区不卡视频| 老汉av免费一区二区三区| 在线视频国产一区| 国产亚洲精品久| 久久电影网电视剧免费观看| 在线观看成人免费视频| 国产精品动漫网站| 国产毛片精品国产一区二区三区| 欧美日韩一区二区在线视频| 亚洲色图一区二区三区| 国产精品影音先锋| 日韩三级在线免费观看| 亚洲国产另类av| 日本道色综合久久| 国产精品毛片高清在线完整版| 久久99国产精品麻豆| 欧美日韩三级在线| 一区二区免费在线播放| av电影一区二区| 国产精品成人一区二区艾草| 国产精品一区二区在线观看网站 | 亚洲欧美经典视频| 99在线热播精品免费| 国产精品欧美一级免费| 国产二区国产一区在线观看| 欧美成人一级视频| 日本vs亚洲vs韩国一区三区 | 国产日韩精品一区| 国产乱码精品一区二区三| 26uuuu精品一区二区| 经典一区二区三区| 精品国产麻豆免费人成网站| 久久国产剧场电影| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 91精品福利在线一区二区三区| 亚洲自拍偷拍网站| 欧美日韩情趣电影| 日日夜夜精品视频免费 | 午夜视黄欧洲亚洲| 欧美人狂配大交3d怪物一区| 亚洲va欧美va天堂v国产综合| 91福利区一区二区三区| 亚洲一区二区三区中文字幕| 欧美亚洲日本国产| 午夜精品免费在线观看| 日韩一区二区三区高清免费看看| 热久久免费视频| 精品日韩一区二区三区| 国产在线一区观看| 日本一区二区三区电影| 99久久777色| 亚洲国产精品一区二区www在线| 欧美日韩和欧美的一区二区| 麻豆视频一区二区| 国产亚洲成年网址在线观看| 成人动漫视频在线| 亚洲一区在线免费观看| 91精品国产免费| 国产成人在线视频免费播放| 中文字幕亚洲一区二区va在线| 91福利国产成人精品照片| 日韩中文字幕麻豆| 精品国产伦一区二区三区观看体验 | 日韩视频在线一区二区| 国产麻豆精品95视频| 亚洲欧美经典视频| 欧美一区二区免费视频| 国产成人精品aa毛片| 亚洲伦理在线免费看| 91精品国产色综合久久不卡电影 | 综合久久给合久久狠狠狠97色 | 亚洲日本乱码在线观看| 欧美视频一区二区三区四区| 久久99九九99精品| 国产精品乱码一区二区三区软件 | 91黄视频在线| 久久97超碰国产精品超碰| 国产精品国产三级国产| 欧美午夜不卡在线观看免费| 国产精品每日更新| 免费看日韩精品| 欧美极品少妇xxxxⅹ高跟鞋| 97久久久精品综合88久久| 蜜桃一区二区三区在线观看| 日本中文字幕一区| 777a∨成人精品桃花网| 久久色.com| 亚洲成av人片在线| 一本一本久久a久久精品综合麻豆| 国产亚洲一区二区三区在线观看| 麻豆视频一区二区| 欧美成人精品3d动漫h| 日本不卡的三区四区五区| 6080日韩午夜伦伦午夜伦| 亚洲大型综合色站| 精品视频1区2区| 亚洲第四色夜色| 制服丝袜亚洲色图| 日韩高清电影一区| 欧美一区二区三区在线看| 秋霞电影网一区二区| 国模少妇一区二区三区| 韩国成人在线视频| 欧美精选一区二区| 亚洲精品免费播放| 99精品偷自拍| 国产欧美日韩精品在线| 久久成人免费日本黄色| 欧美精品亚洲二区| 一区二区三区四区在线播放 | 日韩美女精品在线| 国产一区二区三区香蕉| 欧美一级片在线看| 亚洲伊人色欲综合网| 91麻豆蜜桃一区二区三区| 国产午夜一区二区三区| 蜜臀99久久精品久久久久久软件| 欧美剧在线免费观看网站 | 欧美激情资源网| 国产一区二区三区精品视频| 欧美一区二区三区思思人| 亚洲伊人色欲综合网| 一本大道久久精品懂色aⅴ| 国产精品妹子av| 大白屁股一区二区视频| 国产日韩精品一区二区三区| 国产成人无遮挡在线视频| 久久这里只有精品6| 国产在线精品一区二区三区不卡| 日韩亚洲欧美中文三级| 久久99精品久久久久久久久久久久 | 青青草原综合久久大伊人精品| 日韩欧美一区二区视频| av电影在线观看一区|