📄 skilltool.cpp
字号:
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 + -