⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 skilltool.cpp

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
			case TOOL_NPC_GENER				 :  radio_Table = IDC_NPC_GENER;	break;
			case TOOL_DONTSKILL				 :	radio_Table = IDC_DONTSKILL;	break;
				//default							 :	radio_Table = NULL;
		}
		CheckRadioButton( hDlg, IDC_FARMING, IDC_DONTSKILL, radio_Table );

		switch( radio_Statue )
		{
			case 0							 :  radio_Statue = IDC_RADIO_ALL;		break;
			case 1	          				 :	radio_Statue = IDC_RADIO_FARM;		break;
			case 2           				 : 	radio_Statue = IDC_RADIO_MINE;		break;
			case 3            				 :	radio_Statue = IDC_RADIO_FISH;		break;
			case 4             				 :	radio_Statue = IDC_RADIO_CHOPPING;	break;
			case 5            				 :  radio_Statue = IDC_RADIO_HUB;		break;
			case 6             				 :	radio_Statue = IDC_RADIO_NPC;		break;
				//default							 :	radio_Table = NULL;
		}
		CheckRadioButton( hDlg, IDC_RADIO_ALL, IDC_RADIO_NPC, radio_Statue );

	GetWindowRect( hDlg, &rect );// 拳搁 坷弗率捞 嘿绢唱坷霸 窍妨绊 茄扒单 ... 绢痘霸 秦具 且瘤..
	GetWindowRect( g_hwndMain, &grect );// 拳搁 坷弗率捞 嘿绢唱坷霸 窍妨绊 茄扒单 ... 绢痘霸 秦具 且瘤..
	MoveWindow( hDlg, grect.right+1, 0, rect.right, rect.bottom, true);

		return TRUE;	

	case WM_PAINT:
		break;			

	case WM_CLOSE:
		tool_ID_SKILL_INPUT=0;
		break;
						
	case WM_COMMAND:	
		switch( LOWORD( wParam )) 
			{		
				case IDOK     :
						Edit_GetText( GetDlgItem(hDlg, IDC_VIEW_ATTRIB), temp, 9);
						g_MapSkillTable.skillno = atoi (temp );
						Edit_GetText( GetDlgItem(hDlg, IDC_INPUT_TILE_X), temp, 9);
						g_MapSkillTable.x = atoi (temp );
						Edit_GetText( GetDlgItem(hDlg, IDC_INPUT_TILE_Y), temp, 9);
						g_MapSkillTable.y = atoi (temp );
						Edit_GetText( GetDlgItem(hDlg, IDC_INPUT_RANGE), temp, 9);
						g_MapSkillTable.tile_Range = atoi (temp );
						Edit_GetText( GetDlgItem(hDlg, IDC_INPUT_PERCENT), temp, 9);
						g_MapSkillTable.probability = atoi (temp );
						Edit_GetText( GetDlgItem(hDlg, IDC_VIEW_NPCNUM), temp, 9);
						g_MapSkillTable.type_Num = atoi (temp );
						
						EndDialog(hDlg, LOWORD(wParam));
						tool_ID_SKILL_INPUT=0;
						return TRUE;

				case IDCANCEL :	
						EndDialog(hDlg, LOWORD(wParam));	
						tool_ID_SKILL_INPUT=0;
						return TRUE;
				
				case IDC_BUTTON_SAVE :

						if(YesOrNo( "SkilTable Save OK? ", "Warning" ) == IDYES )
						{
							sprintf( temp, "./Skill/%s.skb", MapName );
							fp = Fopen( temp, "wb" );
							if(fp)
							{
								int c=0;
								for( int a=0; a<8; a++)
									for(int b=0; b<8; b++)
									{
										lpMAPSKILLTABLE h=Header[a][b];
										while(h!=NULL)
										{
											fwrite(h, sizeof(MAPSKILLTABLE), 1, fp);
											c++;
											h=h->next;
										}
									}
								fclose(fp);
							}
							
							int step;
							int serial=1;

							sprintf( temp, "./Skill/%s.stx", MapName );
							fp = Fopen( temp, "wt" );
							if(fp)
							{
								SYSTEMTIME l;										
								GetLocalTime(&l);
								fprintf( fp, "\n MapName : %s \n", MapName );
								fprintf( fp, "   Date  : %4d.%2d.%2d %2d:%2d.%2d \n\n", l.wYear, l.wMonth, l.wDay, l.wHour, l.wMinute, l.wSecond );

								Farmming_Count=0; 
								Mining_Count=0; 
								Fishing_Count=0; 
								Chopping_Count=0; 
								Hub_Count=0; 
								NPC_Count=0;
								NPCPositionCount = 0;
								NPCEventCount = 0;
								NPCNoEventCount = 0;

								char temp[ FILENAME_MAX];
								sprintf( temp, "%s\n",lan->OutputMessage(4,161) );
								fprintf (fp, temp );

								for( step=1; step<8; step++)
								{
									for( int a=0; a<8; a++)
									{
										for(int b=0; b<8; b++)
										{
											lpMAPSKILLTABLE	h=Header[a][b];
											while(h!=NULL)
											{
												if(h->skillno==step)
												{
													fprintf(fp, "%3d	%3d	%3d	%3d	%3d	%3d	%3d	%3d\n",
													serial, h->skillno, h->x, h->y, h->tile_Range, h->probability, h->type_Num , h->subType );
													switch(h->skillno)
													{
													case 1:	Farmming_Count++;			break;
													case 2:	Mining_Count++;				break;
													case 3:	Fishing_Count++;			break;
													case 4:	Chopping_Count++;			break;
													case 5:	Hub_Count++;				break;
													case 6:	NPCPositionCount++; NPC_Count += h->tile_Range;	
															if( h->probability ) NPCEventCount ++;	else NPCNoEventCount++;
																break;
													}
													serial++;
												}
												h=h->next;
											}
										}	
									}
								}
								
								
								sprintf( temp, "%s\n", lan->OutputMessage(4,162) );
								fprintf(fp, temp,	Farmming_Count, Mining_Count, Fishing_Count, Chopping_Count, Hub_Count);
								sprintf( temp, "%s\n", lan->OutputMessage(4,163) );
								fprintf(fp, temp,	NPC_Count, NPCPositionCount, NPCEventCount, NPCNoEventCount );
									
								fclose(fp);
							}
						}	
							
						return TRUE;
							
				case IDC_MINER10:
					{	//< CSD-030419
						g_MapSkillTable.type_Num -= 10;

						if (g_MapSkillTable.type_Num < 0)
						{
							g_MapSkillTable.type_Num=0;
						}

						sprintf (temp, "%d", g_MapSkillTable.type_Num);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_NPCNUM ), temp);
						
						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);
						return TRUE;
					}	//> CSD-030419
				case IDC_MINER1:
					{	//< CSD-030419
						g_MapSkillTable.type_Num -= 1;
						if(g_MapSkillTable.type_Num<0)	g_MapSkillTable.type_Num=0;
						sprintf (temp, "%d", g_MapSkillTable.type_Num);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_NPCNUM ), temp);
						
						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);
						return TRUE;
					}	//> CSD-030419
				case IDC_PLUS1:
					{	//< CSD-030419
						g_MapSkillTable.type_Num += 1;
						if(g_MapSkillTable.type_Num>599)	g_MapSkillTable.type_Num=599;
						sprintf (temp, "%d", g_MapSkillTable.type_Num);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_NPCNUM ), temp);
						
						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);
						return TRUE;
					}	//> CSD-030419
				case IDC_PLUS10	:
					{	//< CSD-030419
						g_MapSkillTable.type_Num += 10;
						if(g_MapSkillTable.type_Num>599)	g_MapSkillTable.type_Num=599;
						sprintf (temp, "%d", g_MapSkillTable.type_Num);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_NPCNUM ), temp);
					
						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);
						return TRUE;
					}	//> CSD-030419
				case IDC_BUTTON_UP :
						g_MapSkillTable.tile_Range++;
						//if(g_MapSkillTable.tile_Range>MAX_SKILLTILE_RANGE)	g_MapSkillTable.tile_Range=MAX_SKILLTILE_RANGE;
						sprintf (temp, "%d", g_MapSkillTable.tile_Range);
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_RANGE ), temp);
						return TRUE;
				case IDC_BUTTON_DOWN: 
						g_MapSkillTable.tile_Range--;
						if(g_MapSkillTable.tile_Range<0)	g_MapSkillTable.tile_Range=0;
						sprintf (temp, "%d", g_MapSkillTable.tile_Range);
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_RANGE ), temp);
						return TRUE;
				case IDC_MINER_PERCENT:
						g_MapSkillTable.probability -= 10;
						if(g_MapSkillTable.probability<0)	g_MapSkillTable.probability=0;
						sprintf (temp, "%d", g_MapSkillTable.probability);
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_PERCENT ), temp);
						return TRUE;
				case IDC_PLUS_PERCENT:
						g_MapSkillTable.probability += 10;
						if(g_MapSkillTable.probability>100)	g_MapSkillTable.probability=100;
						sprintf (temp, "%d", g_MapSkillTable.probability);
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_PERCENT ), temp);
						return TRUE;
				case IDC_FARMING:
						g_MapSkillTable.skillno = TOOL_FARMING;
						sprintf (temp, "%d", g_MapSkillTable.skillno);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_ATTRIB ), temp);	//版累 加己
						g_MapSkillTable.tile_Range=0;
						sprintf (temp, "0");
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_RANGE ), temp);
						g_MapSkillTable.probability=0;
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_PERCENT ), temp);
						return TRUE;
				case IDC_MINING:
						g_MapSkillTable.skillno = TOOL_MINING;
						sprintf (temp, "%d", g_MapSkillTable.skillno);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_ATTRIB ), temp);	//盲堡 加己
						g_MapSkillTable.tile_Range=0;
						sprintf (temp, "0");
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_RANGE ), temp);
						g_MapSkillTable.probability=0;
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_PERCENT ), temp);
						return TRUE;
				case IDC_FISHING:
						g_MapSkillTable.skillno = TOOL_FISHING;
						sprintf (temp, "%d", g_MapSkillTable.skillno);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_ATTRIB ), temp);	//超矫 加己
						g_MapSkillTable.tile_Range=0;
						sprintf (temp, "0");
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_RANGE ), temp);
						g_MapSkillTable.probability=0;
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_PERCENT ), temp);
						return TRUE;
				case IDC_CHOPPING:
						g_MapSkillTable.skillno = TOOL_CHOPPING;
						sprintf (temp, "%d", g_MapSkillTable.skillno);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_ATTRIB ), temp);	//国格 加己
						g_MapSkillTable.tile_Range=0;
						sprintf (temp, "0");
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_RANGE ), temp);
						g_MapSkillTable.probability=0;
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_PERCENT ), temp);
						return TRUE;
				case IDC_HUB:
						g_MapSkillTable.skillno = TOOL_HUB;
						sprintf (temp, "%d", g_MapSkillTable.skillno);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_ATTRIB ), temp);	//距檬 加己
						g_MapSkillTable.tile_Range=0;
						sprintf (temp, "0");
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_RANGE ), temp);
						g_MapSkillTable.probability=0;
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_PERCENT ), temp);
						return TRUE;
				case IDC_NPC_GENER:
						g_MapSkillTable.skillno = TOOL_NPC_GENER;
						sprintf (temp, "%d", g_MapSkillTable.skillno);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_ATTRIB ), temp);	//NPC 积己 器牢飘 加己
						g_MapSkillTable.tile_Range=1;
						sprintf (temp, "1");
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_RANGE ), temp);
						g_MapSkillTable.probability=0;
						sprintf (temp, "0");
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_PERCENT ), temp);
						return TRUE;
				case IDC_DONTSKILL:
						g_MapSkillTable.skillno = TOOL_DONTSKILL;
						sprintf (temp, "%d", g_MapSkillTable.skillno);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_ATTRIB ), temp);	//DON'T SKILL 加己
						g_MapSkillTable.tile_Range=0;
						sprintf (temp, "0");
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_RANGE ), temp);
						g_MapSkillTable.probability=0;
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_PERCENT ), temp);
						return TRUE;
				case IDC_BUILD_HOUSE:
						g_MapSkillTable.skillno = TOOL_BUILDHOUSE;
						sprintf (temp, "%d", g_MapSkillTable.skillno);
						Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_ATTRIB ), temp);	//笼垄扁 加己
						g_MapSkillTable.tile_Range=0;
						sprintf (temp, "0");
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_RANGE ), temp);
						g_MapSkillTable.probability=0;
						Edit_SetText (GetDlgItem(hDlg, IDC_INPUT_PERCENT ), temp);
						return TRUE;
				case IDC_FARM_MINER:
						if(g_MapSkillTable.skillno==1)
						{
							g_MapSkillTable.subType --;
							if(g_MapSkillTable.subType<0)	g_MapSkillTable.subType=0;
							sprintf (temp, "%d", g_MapSkillTable.subType);
							Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_SUBFARM ), temp);	//版累狼 辑宏->配剧加己
						}
						return TRUE;
				case IDC_FARM_PLUS:
						if(g_MapSkillTable.skillno==1)
						{
							g_MapSkillTable.subType ++;
							if(g_MapSkillTable.subType>20)	g_MapSkillTable.subType=20;
							sprintf (temp, "%d", g_MapSkillTable.subType);
							Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_SUBFARM ), temp);	//版累狼 辑宏->配剧加己
						}
						return TRUE;
				case IDC_MINE_MINER:
						if(g_MapSkillTable.skillno==2)
						{
							g_MapSkillTable.subType --;
							if(g_MapSkillTable.subType<0)	g_MapSkillTable.subType=0;
							sprintf (temp, "%d", g_MapSkillTable.subType);
							Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_SUBMINE ), temp);	//盲堡狼 辑宏->堡拱加己
						}
						return TRUE;
				case IDC_MINE_PLUS:
						if(g_MapSkillTable.skillno==2)
						{
							g_MapSkillTable.subType ++;
							if(g_MapSkillTable.subType>20)	g_MapSkillTable.subType=20;
							sprintf (temp, "%d", g_MapSkillTable.subType);
							Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_SUBMINE ), temp);	//盲堡狼 辑宏->堡拱加己
						}
						return TRUE;
				case IDC_FISH_MINER:
						if(g_MapSkillTable.skillno==3)
						{
							g_MapSkillTable.subType --;
							if(g_MapSkillTable.subType<0)	g_MapSkillTable.subType=0;
							sprintf (temp, "%d", g_MapSkillTable.subType);
							Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_SUBFISH ), temp);	//荤绰 拱绊扁 辆幅
						}
						return TRUE;
				case IDC_FISH_PLUS:
						if(g_MapSkillTable.skillno==3)
						{
							g_MapSkillTable.subType ++;
							if(g_MapSkillTable.subType>20)	g_MapSkillTable.subType=20;
							sprintf (temp, "%d", g_MapSkillTable.subType);
							Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_SUBFISH ), temp);	//荤绰 拱绊扁 辆幅
						}
						return TRUE;
				case IDC_CUT_MINER:
						if(g_MapSkillTable.skillno==4)
						{
							g_MapSkillTable.subType --;
							if(g_MapSkillTable.subType<0)	g_MapSkillTable.subType=0;
							sprintf (temp, "%d", g_MapSkillTable.subType);
							Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_SUBCUT ), temp);	//荤绰 拱绊扁 辆幅
						}
						return TRUE;
				case IDC_CUT_PLUS:
						if(g_MapSkillTable.skillno==4)
						{
							g_MapSkillTable.subType ++;
							if(g_MapSkillTable.subType>20)	g_MapSkillTable.subType=20;
							sprintf (temp, "%d", g_MapSkillTable.subType);
							Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_SUBCUT ), temp);	//荤绰 拱绊扁 辆幅
						}
						return TRUE;
				case IDC_HUB_MINER:
						if(g_MapSkillTable.skillno==5)
						{
							g_MapSkillTable.subType --;
							if(g_MapSkillTable.subType<0)	g_MapSkillTable.subType=0;
							sprintf (temp, "%d", g_MapSkillTable.subType);
							Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_SUBHUB ), temp);	//距檬盲秒狼 辑宏->距檬加己
						}
						return TRUE;
				case IDC_HUB_PLUS:
						if(g_MapSkillTable.skillno==5)
						{
							g_MapSkillTable.subType ++;
							if(g_MapSkillTable.subType>20)	g_MapSkillTable.subType=20;
							sprintf (temp, "%d", g_MapSkillTable.subType);
							Edit_SetText (GetDlgItem(hDlg, IDC_VIEW_SUBHUB ), temp);	//距檬盲秒狼 辑宏->距檬加己
						}
						return TRUE;

				case IDC_SCRIPT_MINER10:
						if(g_MapSkillTable.skillno == 6)
						{
							g_MapSkillTable.probability -= 10;		//NPC狼 胶农赋飘 锅龋
							if(g_MapSkillTable.probability<0)	g_MapSkillTable.probability=0;
							sprintf (temp, "%d", g_MapSkillTable.probability);
							Edit_SetText (GetDlgItem(hDlg, IDC_SCRIPT_NO ), temp);
						}
						return TRUE;
				case IDC_SCRIPT_MINER1:
						if(g_MapSkillTable.skillno == 6)
						{
							g_MapSkillTable.probability --;		//NPC狼 胶农赋飘 锅龋
							if(g_MapSkillTable.probability<0)	g_MapSkillTable.probability=0;
							sprintf (temp, "%d", g_MapSkillTable.probability);
							Edit_SetText (GetDlgItem(hDlg, IDC_SCRIPT_NO ), temp);
						}
						return TRUE;
				case IDC_SCRIPT_PLUS1:
						if(g_MapSkillTable.skillno == 6)
						{
							g_MapSkillTable.probability ++;		//NPC狼 胶农赋飘 锅龋
							if(g_MapSkillTable.probability>50)	g_MapSkillTable.probability=50;
							sprintf (temp, "%d", g_MapSkillTable.probability);
							Edit_SetText (GetDlgItem(hDlg, IDC_SCRIPT_NO ), temp);
						}
						return TRUE;
				case IDC_SCRIPT_PLUS10:
						if(g_MapSkillTable.skillno == 6)
						{
							g_MapSkillTable.probability += 10;		//NPC狼 胶农赋飘 锅龋
							if(g_MapSkillTable.probability>50)	g_MapSkillTable.probability=50;
							sprintf (temp, "%d", g_MapSkillTable.probability);
							Edit_SetText (GetDlgItem(hDlg, IDC_SCRIPT_NO ), temp);
						}
						return TRUE;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -