2023 lines
60 KiB
C++
2023 lines
60 KiB
C++
![]() |
//cyg ʵ<><CAB5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ϵͳ (<28><><EFBFBD>ϻر<CFBB>ϵͳ)
|
|||
|
#include"../systeminc/version.h"
|
|||
|
#include"../systeminc/system.h"
|
|||
|
#include"../systeminc/loadrealbin.h"
|
|||
|
#include"../systeminc/loadsprbin.h"
|
|||
|
#include"../systeminc/anim_tbl.h"
|
|||
|
#include"../systeminc/login.h"
|
|||
|
#include"../systeminc/menu.h"
|
|||
|
#include"../systeminc/map.h"
|
|||
|
#include"../systeminc/lssproto_cli.h"
|
|||
|
#include"../systeminc/pc.h"
|
|||
|
#include"../systeminc/netmain.h"
|
|||
|
#include"../systeminc/handletime.h"
|
|||
|
#include"../systeminc/character.h"
|
|||
|
#include"../other/caryIme.h"
|
|||
|
#include"../systeminc/ime_sa.h"
|
|||
|
#include"../systeminc/t_music.h"
|
|||
|
#include"../systeminc/netproc.h"
|
|||
|
#include"../systeminc/tool.h"
|
|||
|
#include "time.h"
|
|||
|
#include "../wgs/descrypt.h"
|
|||
|
#include"../systeminc/onlinegm.h"
|
|||
|
|
|||
|
char ProblemClass[DEF_CLASS_TOTAL][16]={
|
|||
|
"<EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
};
|
|||
|
char ProblemC1[DEF_C1_TOTAL][30]={
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>ʯ",
|
|||
|
"<EFBFBD><EFBFBD>ҳָ<EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD>Ա<EFBFBD>ʺ<EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F>ܱ<EFBFBD><DCB1><EFBFBD>Ʒ",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>/<2F><>·״<C2B7><D7B4><EFBFBD><EFBFBD>Ӧ",
|
|||
|
"<EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
};
|
|||
|
char ProblemC1Help[DEF_C1_TOTAL][60]={
|
|||
|
"<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD>ʺš<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꡢ<EFBFBD>ص㡢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѶϢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD>ѯ<EFBFBD><EFBFBD>Ϸר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>վ<EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD>뾡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>䱸",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״<EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD>ֿ۵㲻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ(<28><>Ϸ<EFBFBD>۵<EFBFBD><DBB5><EFBFBD><EFBFBD><EFBFBD>)",
|
|||
|
"",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD>ѯר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD>ػ",
|
|||
|
"",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD>ѯ<EFBFBD><EFBFBD>ҳFAQ",
|
|||
|
"",
|
|||
|
""
|
|||
|
};
|
|||
|
char ProblemC2[DEF_C2_TOTAL][16]={
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD>ףǣӿ۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
};
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>쳣
|
|||
|
char ProblemC2_1[3][16]={
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
};
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>쳣
|
|||
|
char ProblemC2_2[3][16]={
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>߹<EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣"
|
|||
|
};
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>쳣
|
|||
|
char ProblemC2_3[5][16]={
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>ﵰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
};
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
char ProblemC2_4[2][16]={
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
};
|
|||
|
//<2F><><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>
|
|||
|
char ProblemC2_5[2][16]={
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD>ò<EFBFBD>ѯ",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
};
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
char ProblemC2_6[3][16]={
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD>屻<EFBFBD><EFBFBD>ɢ",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
};
|
|||
|
//<2F><>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>
|
|||
|
char ProblemC2_7[3][16]={
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ",
|
|||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
};
|
|||
|
|
|||
|
//HELP<4C><50>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>Ͻṹ
|
|||
|
typedef struct PAGE{
|
|||
|
short desc_index; //˵<><CBB5><EFBFBD>ṹ<EFBFBD><E1B9B9>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>desc_indexΪ<78><CEAA><EFBFBD><EFBFBD>seg_index<65><78>help_indexȡ<78><C8A1>DESC<53><43><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>index)
|
|||
|
int desc_num;//BYTE desc_num; //˵<><CBB5><EFBFBD>Ľṹ<C4BD><E1B9B9>
|
|||
|
}*LPPAGE;
|
|||
|
|
|||
|
//ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//HELP<4C><50>ʹ<EFBFBD>õ<EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻṹ
|
|||
|
typedef struct DESC{
|
|||
|
BYTE color; //<2F><>ɫ
|
|||
|
char description[60]; //˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}*LPDESC;
|
|||
|
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ cyg
|
|||
|
typedef struct{
|
|||
|
char no[20];
|
|||
|
char state[40];
|
|||
|
char okdate[10];
|
|||
|
int okH;
|
|||
|
char wrongdate[10];
|
|||
|
int wrongH;
|
|||
|
int class0;
|
|||
|
char class1[40];
|
|||
|
char cont[4000];
|
|||
|
char answer[4000];
|
|||
|
char error[2000];
|
|||
|
BOOL delflag;
|
|||
|
}PRODATA;
|
|||
|
|
|||
|
|
|||
|
DESC Prohelp_desc1[]={
|
|||
|
//<2F><>ɫ<EFBFBD><C9AB>˵<EFBFBD><CBB5> //fix
|
|||
|
{ 4 , "1. ʹ<><CAB9>˵<EFBFBD><CBB5>"},
|
|||
|
{ 0 , " <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ20<32>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥɾ<E2B5A5><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD>"},
|
|||
|
{ 0 , " <09><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><E2B5A5><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD>"},
|
|||
|
{ 4 , "2. <20><><EFBFBD>ﵰ<EFBFBD>쳣"},
|
|||
|
{ 0 , " <09><>2003/12/31<33>շ<EFBFBD><D5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﵰ<EFBFBD>趨<EFBFBD>ij<EFBFBD>ʽ"},
|
|||
|
{ 0 , " <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>ﵰ<EFBFBD><EFB5B0><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09><><EFBFBD>ij<EFBFBD><C4B3>ﵰ<EFBFBD>趨<EFBFBD><E8B6A8><EFBFBD>£<EFBFBD>"},
|
|||
|
{ 0 , " <09><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ι<EFBFBD><CEB9><EFBFBD>趨<EFBFBD><E8B6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һСʱ<D0A1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBB><EFBFBD><EFBFBD>ﵰ<EFBFBD><EFB5B0><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ٴε<D9B4><CEB5><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <20><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ι<EFBFBD><CEB9><EFBFBD><EFBFBD>ʱ<EFBFBD>䡣"},
|
|||
|
{ 4 , "3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ"},
|
|||
|
{ 0 , " <09><>Ϸ<EFBFBD><CFB7>ʽ<EFBFBD>趨<EFBFBD><E8B6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<CDAC>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſڵ<C5BF>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա]"},
|
|||
|
};
|
|||
|
|
|||
|
DESC Prohelp_desc2[]={
|
|||
|
{ 0 , " ȡ<>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD><DEB7><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ṩ<EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09>ʺš<CABA><C5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD>ڡ<EFBFBD>"},
|
|||
|
{ 4 , "4. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ"},
|
|||
|
{ 0 , " <09><>Ϸ<EFBFBD><CFB7>ʽ<EFBFBD>趨<EFBFBD><E8B6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<CDAC>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſڵ<C5BF>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա]"},
|
|||
|
{ 0 , " ȡ<>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD><DEB7><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ṩ<EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09>ʺš<CABA><C5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD>ڡ<EFBFBD>"},
|
|||
|
//{ 4 , "4. <20><><EFBFBD><EFBFBD>ս<EFBFBD><D5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
//{ 0 , " <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ϶ȵ<CFB6><C8B5><EFBFBD>20<32><30><EFBFBD>£<EFBFBD><C2A3><EFBFBD>ս<EFBFBD><D5BD><EFBFBD>оͻ<D0BE><CDBB><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD>Ϊԭ<CEAA><D4AD>Ϸ<EFBFBD>趨"},
|
|||
|
//{ 0 , " <09><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD>"},
|
|||
|
{ 4 , "5. <20><><EFBFBD><EFBFBD><D7BA><EFBFBD>Ʒ<EFBFBD><C6B7>ʧ-<2D><><EFBFBD>ṩ<EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09><><EFBFBD><EFBFBD><D7B7><EFBFBD><EFBFBD>ʺŻ<CABA><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD><EFBFBD>ij<D7B5><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>ȼ<EFBFBD>"},
|
|||
|
{ 0 , " <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 4 , "6. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC-<2D><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09><>Ϊԭ<CEAA><D4AD>Ϸ<EFBFBD>趨<EFBFBD><E8B6A8><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD>"},
|
|||
|
{ 4 , "7. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>-<2D><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09><>Ϊԭ<CEAA><D4AD>Ϸ<EFBFBD>趨<EFBFBD><E8B6A8><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>ҿ<EFBFBD><D2BF><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
};
|
|||
|
|
|||
|
DESC Prohelp_desc3[]={
|
|||
|
{ 0 , " Ϸ<><CFB7><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BD><EFBFBD>ת<EFBFBD>ơ<EFBFBD>"},
|
|||
|
{ 4 , "8. <20><><EFBFBD><EFBFBD><EFBFBD>쳣-<2D><><EFBFBD>ṩ<EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09><><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD>峤<EFBFBD><E5B3A4><EFBFBD><EFBFBD><EFBFBD>ʺ<EFBFBD><CABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD><C5A1>쳣"},
|
|||
|
{ 0 , " ״<><D7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣬ϵͳ<CFB5>Զ<EFBFBD><D4B6><EFBFBD>ɢ<EFBFBD>ļ<EFBFBD><C4BC>壬<EFBFBD><E5A3AC>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09><> <20><><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD><EFBFBD>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>߶<EFBFBD><DFB6>Զ<EFBFBD><D4B6>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>趨<EFBFBD><E8B6A8>ϵ"},
|
|||
|
{ 0 , " ͳÿ<CDB3><C3BF><EFBFBD><EFBFBD><E1B2BB>ʱ<EFBFBD><CAB1>ɨ<EFBFBD>衢<EFBFBD><E8A1A2><EFBFBD>⡣"},
|
|||
|
{ 0 , " <09><> Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>趨<EFBFBD><E8B6A8><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB7>ټ<EFBFBD><D9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塣"},
|
|||
|
{ 4 , "9. <20><><EFBFBD><EFBFBD>DP<44>쳣-<2D><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD> "},
|
|||
|
{ 0 , " <09><><EFBFBD><EFBFBD>DP<44><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD>죬<EFBFBD><ECA3AC><EFBFBD><EFBFBD><DEBF>Ŵ˹<C5B4><CBB9>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD>Ҳ<EFBFBD>ѯ<EFBFBD><D1AF>"},
|
|||
|
{ 4 , "10. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC>ʧ-<2D><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>Ķ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>һ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ж<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>"},
|
|||
|
{ 0 , " Ƭ)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEBF>Ŵ<EFBFBD>"},
|
|||
|
};
|
|||
|
|
|||
|
DESC Prohelp_desc4[]={
|
|||
|
{ 0 , " <09><><EFBFBD>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD>Ҳ<EFBFBD>ѯ<EFBFBD><D1AF>"},
|
|||
|
{ 4 , "11. <20><><EFBFBD><EFBFBD>&թƭ<D5A9><C6AD><EFBFBD><EFBFBD>-<2D><><EFBFBD>ṩ<EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1>ȼ<EFBFBD><C8BC>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա"},
|
|||
|
{ 0 , " <09>ɲ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " (û<>г<EFBFBD><D0B3><EFBFBD><EFA1A2><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ʯ<EFBFBD><CAAF>)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṩ֮<E1B9A9><D6AE><EFBFBD>ߡ<EFBFBD>"},
|
|||
|
{ 0 , " <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>ѯ<EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
{ 4 , "12. <20><>ȸת<C8B8><D7AA><EFBFBD>趨 2003/06/21"},
|
|||
|
{ 0 , " <09><EFBFBD><EEB6AF><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>ȸ<EFBFBD><C8B8><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>ɳ<EFBFBD><C9B3>ռ䣬<D5BC><E4A3AC>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>"},
|
|||
|
{ 0 , " ֵ<><D6B5><EFBFBD>ݲ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ά<EFBFBD><CEAC>ת<EFBFBD><D7AA>ǰ<EFBFBD>ߵ㣬<DFB5>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫת<D2AA><D7AA><EFBFBD><EFBFBD>ȸʱ<C8B8><CAB1>"},
|
|||
|
{ 0 , " <09><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><D3BF>ǡ<EFBFBD><C7A1>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ת<EFBFBD><D7AA>ǰ<EFBFBD><C7B0>ȸ֮<C8B8><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
|
|||
|
};
|
|||
|
|
|||
|
//DESC Prohelp_desc5[]={
|
|||
|
//};
|
|||
|
|
|||
|
LPDESC Prohelp_Index[] ={
|
|||
|
&Prohelp_desc1[0],
|
|||
|
&Prohelp_desc2[0],
|
|||
|
&Prohelp_desc3[0],
|
|||
|
&Prohelp_desc4[0]
|
|||
|
// &Prohelp_desc5[0]
|
|||
|
};
|
|||
|
|
|||
|
PAGE ProHelp_page[]={
|
|||
|
{ 0 , sizeof(Prohelp_desc1)/sizeof(Prohelp_desc1[0])},
|
|||
|
{ 0 , sizeof(Prohelp_desc2)/sizeof(Prohelp_desc2[0])},
|
|||
|
{ 0 , sizeof(Prohelp_desc3)/sizeof(Prohelp_desc3[0])},
|
|||
|
{ 0 , sizeof(Prohelp_desc4)/sizeof(Prohelp_desc4[0])}
|
|||
|
// { 0 , sizeof(Prohelp_desc5)/sizeof(Prohelp_desc5[0])}
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
INPUT_HISTORY InputHistory ; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿһ<C3BF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
STR_BUFFER SubBuffer ; // ÿһ<C3BF>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>buf
|
|||
|
|
|||
|
#ifdef __ONLINEGM // ȫ<>ص<EFBFBD>
|
|||
|
|
|||
|
char DataBuffer[500]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻõ<CFBA><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
|
|||
|
char InputBuffer[8050]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
char ContentBuf[8050]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻõ<CFBA><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
PRODATA Prodata[100]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD>100<30><30>
|
|||
|
|
|||
|
int PutKey,PushKey ;
|
|||
|
|
|||
|
int ProNoSelect; // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int HistorySelect; // <20>ϴ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>ѯ<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
BOOL ProNoSelectFlag; // <20><>û<EFBFBD><C3BB>ѡ<EFBFBD><D1A1><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int ProNoIndex; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><E2B5A5>
|
|||
|
int ProNoValue; // <20><>ʾ<EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><E2B5A5>
|
|||
|
|
|||
|
BOOL TitleFlag ;
|
|||
|
int SegmentIndex ; // һ<><D2BB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int SegmentTotal ; // <20><>¼<EFBFBD>ܹ<EFBFBD><DCB9>м<EFBFBD><D0BC><EFBFBD>
|
|||
|
char SegmentBuf[2][2500];// <20><>¼ij<C2BC>ʵ<EFBFBD><CAB5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>ݺͿͷ<CDBF><CDB7><EFBFBD>Ӧ
|
|||
|
|
|||
|
int okY,okM,okD,okH,wrongY,wrongM,wrongD,wrongH;
|
|||
|
int ClassIndex , ClassIndex1 , ClassIndex2 ; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
BOOL DeleteBtnFlag; //Ҫ<><D2AA>ѡ<EFBFBD><D1A1>ij<EFBFBD><C4B3><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
//OnlineGm <20><>Log ר<><D7A8><EFBFBD><EFBFBD> Begin
|
|||
|
#ifdef _STONDEBUG_
|
|||
|
char inlogstr[512];
|
|||
|
#define filename "onlinegm.log"
|
|||
|
#endif
|
|||
|
//OnlineGm <20><>Log ר<><D7A8><EFBFBD><EFBFBD> End
|
|||
|
|
|||
|
//<2F><EFBFBD>ϵͳ <20><><EFBFBD><EFBFBD>Server IP : 10.1.0.17
|
|||
|
|
|||
|
BOOL QueryOnlineGmIP(char HostName[]);
|
|||
|
char *OnlineGmIP; //ʹ<><CAB9>domain name
|
|||
|
//char OnlineGmIP[20]; //ʹ<><CAB9>ֱ<EFBFBD><D6B1>ip
|
|||
|
#define SMSDomainName "ingame.wayi.com.tw"//"sms.hwaei.com.tw"
|
|||
|
|
|||
|
int ResultCode; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
static char *pContent=NULL;
|
|||
|
|
|||
|
BOOL ResetFlag = TRUE;
|
|||
|
BOOL DirFlag = TRUE;
|
|||
|
DWORD LastTime = 0;
|
|||
|
int iReturnNo; //<2F><>¼<EFBFBD>ش<EFBFBD><D8B4>ĵ<EFBFBD><C4B5><EFBFBD>
|
|||
|
|
|||
|
int TotalAddValue; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
int ProblemType ; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ⵥ<EFBFBD><E2B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> һ<><D2BB>0<EFBFBD>쳣1
|
|||
|
int SendType ; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>serverǰ<72><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
unsigned int ichecklooptime = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧʱ<C8A6><CAB1>
|
|||
|
|
|||
|
//*************************************
|
|||
|
// <09><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
//*************************************
|
|||
|
void InitOnlineGm( void )
|
|||
|
{
|
|||
|
int i;
|
|||
|
|
|||
|
PutKey = 0;
|
|||
|
PushKey = 0;
|
|||
|
ProNoSelectFlag = FALSE;
|
|||
|
ProNoSelect = 0;
|
|||
|
HistorySelect = 5000; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ProNoIndex = 0;
|
|||
|
ProNoValue = 0;
|
|||
|
SegmentIndex =0;
|
|||
|
SegmentTotal = 0;
|
|||
|
okY=okM=okD=okH=wrongY=wrongM=wrongD=wrongH=0;
|
|||
|
ClassIndex = 1;
|
|||
|
ClassIndex1 = ClassIndex2 =0;
|
|||
|
|
|||
|
ResetFlag = TRUE ;
|
|||
|
DirFlag = TRUE ;
|
|||
|
DeleteBtnFlag = FALSE ;
|
|||
|
|
|||
|
DataBuffer[0] = '\0';
|
|||
|
InputBuffer[0] = '\0';
|
|||
|
ContentBuf[0] = '\0';
|
|||
|
|
|||
|
SegmentBuf[0][0]='\0';
|
|||
|
SegmentBuf[1][0]='\0';
|
|||
|
|
|||
|
for( i=0;i<DEF_MAX_ADD_VALUE;i++){
|
|||
|
Prodata[i].no[0] = '\0';
|
|||
|
Prodata[i].state[0] = '\0';
|
|||
|
Prodata[i].okdate[0] = '\0';
|
|||
|
Prodata[i].okH = 0;
|
|||
|
Prodata[i].wrongdate[0] = '\0';
|
|||
|
Prodata[i].wrongH = 0;
|
|||
|
Prodata[i].class0 = 0;
|
|||
|
Prodata[i].class1[0] = '\0';
|
|||
|
Prodata[i].cont[0] = '\0';
|
|||
|
Prodata[i].answer[0] = '\0';
|
|||
|
Prodata[i].error[0] = '\0';
|
|||
|
Prodata[i].delflag = FALSE;
|
|||
|
}
|
|||
|
LastTime = 0;
|
|||
|
iReturnNo = 0;
|
|||
|
TotalAddValue = 0;
|
|||
|
ProblemType = 0;
|
|||
|
SendType = 0;
|
|||
|
}
|
|||
|
|
|||
|
//************************************************
|
|||
|
//<2F><>ʽ : <20><><EFBFBD><EFBFBD>Log<6F><67>(<28><>Local<61><6C>Ŀ¼<C4BF><C2BC>)<29><>ר<EFBFBD>ú<EFBFBD>ʽ
|
|||
|
//<2F>ش<EFBFBD>ֵ : None
|
|||
|
//<2F><> ע : ֻ<><D6BB>Debug mode<64><65><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2>д<EFBFBD><D0B4>log<6F><67>!!
|
|||
|
//************************************************
|
|||
|
#ifdef _STONDEBUG_
|
|||
|
void WriteInLog( char cData[], char cFile[])
|
|||
|
{
|
|||
|
char totals[65536];//[1024];
|
|||
|
struct tm nowTime;
|
|||
|
time_t longTime;
|
|||
|
time( &longTime );
|
|||
|
localtime_s(&nowTime, &longTime );
|
|||
|
sprintf_s(totals,"%02d/%02d/%02d %02d:%02d:%02d ",(nowTime.tm_year % 100), nowTime.tm_mon+1, nowTime.tm_mday,
|
|||
|
nowTime.tm_hour, nowTime.tm_min, nowTime.tm_sec);
|
|||
|
lstrcat(totals,cData);
|
|||
|
lstrcat(totals,"\r\n\r\n\r\n");
|
|||
|
FILE *fp;
|
|||
|
fp = fopen(filename, "a" );
|
|||
|
if(fp)
|
|||
|
{
|
|||
|
fprintf(fp,totals);
|
|||
|
fclose(fp);
|
|||
|
}
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
//************************************************
|
|||
|
//<2F><>ʽһ : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>ASP<53>乵ͨ<E4B9B5><CDA8>ר<EFBFBD>ú<EFBFBD>ʽ
|
|||
|
//<2F>ش<EFBFBD>ֵ : 0 --- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> & <20><><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1>ɹ<EFBFBD>
|
|||
|
// 1 --- <20><><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
// 2 --- <20>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
// 3 --- <20>ֻ<EFBFBD>ѶϢ<D1B6><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>)
|
|||
|
// 4 --- <20><>·<EFBFBD>˴<EFBFBD><CBB4><EFBFBD>
|
|||
|
// 5 --- WGS<47><53><EFBFBD><EFBFBD>(<28><>ͨ<EFBFBD><CDA8>)<29>Ѳ<EFBFBD><D1B2><EFBFBD>!!(С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
// 6 --- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(<28><>DNSʧ<53><CAA7>)
|
|||
|
// 7 --- ASP<53>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//************************************************
|
|||
|
// pid:id ppw:password pdb:<3A>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD> pinput:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int SendProblemMsg(char pid[16], char ppw[16], char pdb[] , char pinput[])
|
|||
|
{
|
|||
|
char returndata[20] ; //<2F><>¼<EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD>ִ<EFBFBD>
|
|||
|
int nRet,wait=1;
|
|||
|
|
|||
|
if(!QueryOnlineGmIP(SMSDomainName)) return 6;
|
|||
|
//if((pdb[0] =='\0') || (lstrlen(pdb) != 23)) return 2;
|
|||
|
//if(lstrlen(pc.name)>16) return 3;
|
|||
|
|
|||
|
#ifdef _FIX_URLENCODE
|
|||
|
char OutTmp[8000];
|
|||
|
char *pOutTmp ;
|
|||
|
char *pInTmp ;
|
|||
|
char Hex[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
|
|||
|
// do encoding
|
|||
|
pInTmp=pinput;
|
|||
|
pOutTmp=OutTmp;
|
|||
|
while (*pInTmp)
|
|||
|
{
|
|||
|
if ( (*pInTmp>= '0') && (*pInTmp <= '9')
|
|||
|
|| (*pInTmp>= 'a') && (*pInTmp <= 'z')
|
|||
|
|| (*pInTmp>= 'A') && (*pInTmp <= 'Z')
|
|||
|
)
|
|||
|
*pOutTmp++ = *pInTmp;
|
|||
|
else
|
|||
|
{
|
|||
|
if(*pInTmp==0x20&&(!IsDBCSLeadByte(*pInTmp)))
|
|||
|
*pOutTmp++ = '+';
|
|||
|
else
|
|||
|
{
|
|||
|
*pOutTmp++ = '%';
|
|||
|
*pOutTmp++ = Hex[(*pInTmp>>4)&0x0f];
|
|||
|
*pOutTmp++ = Hex[(*pInTmp)&0x0f];
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
pInTmp++;
|
|||
|
|
|||
|
}
|
|||
|
*pOutTmp = '\0';
|
|||
|
sprintf_s(pinput,8050,"&qcontent=%s",OutTmp);
|
|||
|
#endif
|
|||
|
|
|||
|
SOCKET hSock;
|
|||
|
SOCKADDR_IN stName;
|
|||
|
fd_set rfds,wfds;
|
|||
|
timeval tmTimeOut;
|
|||
|
char *result;
|
|||
|
int len, cnt, ret ;
|
|||
|
|
|||
|
tmTimeOut.tv_usec=0;
|
|||
|
tmTimeOut.tv_sec=5;
|
|||
|
if( INVALID_SOCKET != ( hSock = socket( AF_INET, SOCK_STREAM, 0) ) )
|
|||
|
{
|
|||
|
DWORD flg = 1;
|
|||
|
if( SOCKET_ERROR != ioctlsocket( hSock, FIONBIO, &flg))
|
|||
|
{
|
|||
|
ZeroMemory( &stName, sizeof(struct sockaddr));
|
|||
|
stName.sin_family = PF_INET;
|
|||
|
stName.sin_port = htons(80);
|
|||
|
stName.sin_addr.s_addr = inet_addr(OnlineGmIP);
|
|||
|
ret = connect( hSock, (LPSOCKADDR)&stName, sizeof(struct sockaddr) );
|
|||
|
if( SOCKET_ERROR != ret || WSAEWOULDBLOCK == WSAGetLastError() )
|
|||
|
{
|
|||
|
cnt = 0;
|
|||
|
char buf[3000];
|
|||
|
if(ProblemType==0){
|
|||
|
SendType=0; //һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
sprintf_s(buf,"GET //normal_check.asp?wgsid=%s&gamepwd=%s&game=1%s%s",pid,ppw,pdb,pinput);
|
|||
|
}else{
|
|||
|
SendType=1; //<2F>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD>
|
|||
|
sprintf_s(buf,"GET //handle_check.asp?wgsid=%s&gamepwd=%s&game=1%s%s",pid,ppw,pdb,pinput);
|
|||
|
}
|
|||
|
strcat_s(buf," HTTP/1.1\r\nAccept: text/*\r\nUser-Agent: StoneAge\r\n");
|
|||
|
sprintf_s(buf,"%sHost: %s\r\n\r\n",buf,OnlineGmIP);
|
|||
|
#ifdef _STONDEBUG_ //д<><D0B4>onlinegm.log
|
|||
|
WriteInLog( buf , filename);
|
|||
|
#endif
|
|||
|
len = lstrlen(buf);
|
|||
|
ichecklooptime = TimeGetTime();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
FD_ZERO( &wfds);
|
|||
|
FD_SET( hSock, &wfds);
|
|||
|
nRet = select( NULL, (fd_set*)NULL, &wfds, (fd_set*)NULL, &tmTimeOut);
|
|||
|
if(nRet == SOCKET_ERROR||nRet==-1){
|
|||
|
closesocket(hSock);
|
|||
|
return 4;
|
|||
|
}else if(nRet == 0){
|
|||
|
closesocket(hSock);
|
|||
|
return 8;
|
|||
|
}
|
|||
|
if( FD_ISSET( hSock, &wfds) ){
|
|||
|
ret = send( hSock, &buf[cnt], len, 0);
|
|||
|
cnt += ret;
|
|||
|
len -= ret;
|
|||
|
if(len<1) break; //ok
|
|||
|
}
|
|||
|
if( TimeGetTime() - ichecklooptime > 3000 ){
|
|||
|
closesocket(hSock);
|
|||
|
return 8;
|
|||
|
}
|
|||
|
}
|
|||
|
Sleep(500);
|
|||
|
len = (InputHistory.newNo*70)+500 ; //1024;
|
|||
|
cnt = 0;
|
|||
|
ichecklooptime = TimeGetTime();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
if(wait>=3){
|
|||
|
closesocket(hSock);
|
|||
|
return 8;
|
|||
|
}
|
|||
|
FD_ZERO( &rfds);
|
|||
|
FD_SET( hSock, &rfds);
|
|||
|
select( NULL, &rfds, (fd_set*)NULL, (fd_set*)NULL, &tmTimeOut);
|
|||
|
if(nRet == SOCKET_ERROR||nRet==-1){
|
|||
|
closesocket(hSock);
|
|||
|
return 4;
|
|||
|
}
|
|||
|
if(nRet == 0){
|
|||
|
wait++;
|
|||
|
continue;
|
|||
|
}
|
|||
|
if( FD_ISSET( hSock, &rfds) ){
|
|||
|
ret = recv( hSock, &buf[cnt], len, 0);
|
|||
|
if(ret<0){
|
|||
|
closesocket(hSock);
|
|||
|
return 4;
|
|||
|
}
|
|||
|
}
|
|||
|
buf[cnt+ret] = 0;
|
|||
|
result = strstr( buf, "\r\n\r\n") + 4;
|
|||
|
getStringToken(result ,',',1,sizeof(returndata)-1,returndata);
|
|||
|
if(atoi(returndata)!=1){ //<2F><><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>ʾok
|
|||
|
closesocket(hSock);
|
|||
|
return atoi(returndata);
|
|||
|
}else{
|
|||
|
getStringToken(result ,':',2,sizeof(returndata)-1,returndata);
|
|||
|
iReturnNo = atoi(returndata); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
if(result) break;
|
|||
|
cnt += ret;
|
|||
|
len -= ret;
|
|||
|
if( TimeGetTime() > ichecklooptime + 3000 ){
|
|||
|
closesocket(hSock);
|
|||
|
return 8;
|
|||
|
}
|
|||
|
}
|
|||
|
}else{
|
|||
|
closesocket(hSock);
|
|||
|
return 6;
|
|||
|
}
|
|||
|
}
|
|||
|
closesocket(hSock);
|
|||
|
return 1;
|
|||
|
}
|
|||
|
return 4;
|
|||
|
}
|
|||
|
|
|||
|
//************************************************
|
|||
|
// <20><><EFBFBD><EFBFBD>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
// <20>ش<EFBFBD>ֵ :0 --- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> & <20><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>ɹ<EFBFBD>
|
|||
|
// 3 --- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
|||
|
// 4 --- <20><>·<EFBFBD>˴<EFBFBD><CBB4><EFBFBD>
|
|||
|
// 6 --- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(<28><>DNSʧ<53><CAA7>)
|
|||
|
//************************************************
|
|||
|
int SendDeleteMsg(char pid[16], char ppw[16] , char pno[16] )
|
|||
|
{
|
|||
|
int nRet;
|
|||
|
if(!QueryOnlineGmIP(SMSDomainName)) return 6;
|
|||
|
|
|||
|
int ret,len,cnt,icheck,wait=1;
|
|||
|
SOCKET hSock;
|
|||
|
SOCKADDR_IN stName;
|
|||
|
fd_set rfds,wfds;
|
|||
|
timeval tmTimeOut;
|
|||
|
char *result;
|
|||
|
tmTimeOut.tv_usec=0;
|
|||
|
tmTimeOut.tv_sec=5;
|
|||
|
if( INVALID_SOCKET != ( hSock = socket( AF_INET, SOCK_STREAM, 0) ) )
|
|||
|
{
|
|||
|
DWORD flg = 1;
|
|||
|
if( SOCKET_ERROR != ioctlsocket( hSock, FIONBIO, &flg))
|
|||
|
{
|
|||
|
ZeroMemory( &stName, sizeof(struct sockaddr));
|
|||
|
stName.sin_family = PF_INET;
|
|||
|
stName.sin_port = htons(80);
|
|||
|
stName.sin_addr.s_addr = inet_addr(OnlineGmIP);
|
|||
|
ret = connect( hSock, (LPSOCKADDR)&stName, sizeof(struct sockaddr) );
|
|||
|
if( SOCKET_ERROR != ret || WSAEWOULDBLOCK == WSAGetLastError() )
|
|||
|
{
|
|||
|
cnt = 0;
|
|||
|
char buf[1024];
|
|||
|
sprintf_s(buf,"GET //DelForm.asp?wgsid=%s&gamepwd=%s&rcount=1&idno=%s",pid,ppw,pno);
|
|||
|
strcat_s(buf," HTTP/1.1\r\nAccept: text/*\r\nUser-Agent: StoneAge\r\n");
|
|||
|
sprintf_s(buf,"%sHost: %s\r\n\r\n",buf,OnlineGmIP);
|
|||
|
len = lstrlen(buf);
|
|||
|
ichecklooptime = TimeGetTime();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
FD_ZERO( &wfds);
|
|||
|
FD_SET( hSock, &wfds);
|
|||
|
nRet = select( NULL, (fd_set*)NULL, &wfds, (fd_set*)NULL, &tmTimeOut);
|
|||
|
if(nRet == SOCKET_ERROR||nRet==-1){
|
|||
|
closesocket(hSock);
|
|||
|
return 4;
|
|||
|
}else if(nRet == 0){
|
|||
|
closesocket(hSock);
|
|||
|
return 8;
|
|||
|
}
|
|||
|
if( FD_ISSET( hSock, &wfds) ){
|
|||
|
ret = send( hSock, &buf[cnt], len, 0);
|
|||
|
cnt += ret;
|
|||
|
len -= ret;
|
|||
|
if(len<1) break; //ok
|
|||
|
}
|
|||
|
if( TimeGetTime() > ichecklooptime + 3000 ){
|
|||
|
closesocket(hSock);
|
|||
|
return 8;
|
|||
|
}
|
|||
|
}
|
|||
|
Sleep(500);
|
|||
|
len = 1024;
|
|||
|
cnt = 0;
|
|||
|
ichecklooptime = TimeGetTime();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
if(wait>=3){
|
|||
|
closesocket(hSock);
|
|||
|
return 8;
|
|||
|
}
|
|||
|
FD_ZERO( &rfds);
|
|||
|
FD_SET( hSock, &rfds);
|
|||
|
nRet = select( NULL, &rfds, (fd_set*)NULL, (fd_set*)NULL, &tmTimeOut);
|
|||
|
if(nRet == SOCKET_ERROR||nRet==-1){
|
|||
|
closesocket(hSock);
|
|||
|
return 4;
|
|||
|
}
|
|||
|
if(nRet == 0){
|
|||
|
wait++;
|
|||
|
continue;
|
|||
|
}
|
|||
|
if( FD_ISSET( hSock, &rfds) ){
|
|||
|
ret = recv( hSock, &buf[cnt], len, 0);
|
|||
|
if(ret<0){
|
|||
|
closesocket(hSock);
|
|||
|
return 4;
|
|||
|
}
|
|||
|
buf[cnt+ret] = 0;
|
|||
|
result = strstr( buf, "\r\n\r\n") + 4;
|
|||
|
char *sss;
|
|||
|
strtok_s(result,",",&sss);
|
|||
|
icheck=atoi(result);
|
|||
|
if(icheck != 1){
|
|||
|
closesocket(hSock);
|
|||
|
return icheck;
|
|||
|
}
|
|||
|
if(result) break;
|
|||
|
cnt += ret;
|
|||
|
len -= ret;
|
|||
|
}
|
|||
|
if( TimeGetTime() > ichecklooptime + 3000 ){
|
|||
|
closesocket(hSock);
|
|||
|
return 8;
|
|||
|
}
|
|||
|
}
|
|||
|
}else{
|
|||
|
closesocket(hSock);
|
|||
|
return 6;
|
|||
|
}
|
|||
|
}
|
|||
|
closesocket(hSock);
|
|||
|
return 1 ;
|
|||
|
}
|
|||
|
return 4 ;
|
|||
|
}
|
|||
|
|
|||
|
//************************************************
|
|||
|
// <09><>ServerҪ<72><D2AA><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ⵥ<EFBFBD><E2B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// <20>ش<EFBFBD>ֵ 0: <20><>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>
|
|||
|
// 2: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD>ⵥ
|
|||
|
// 4: <20><>·<EFBFBD>˴<EFBFBD><CBB4><EFBFBD>
|
|||
|
// 6: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(<28><>DNSʧ<53><CAA7>)
|
|||
|
//************************************************
|
|||
|
int SendDirMsg(char pid[16], char ppw[16] )
|
|||
|
{
|
|||
|
if(!QueryOnlineGmIP(SMSDomainName)) return 6;
|
|||
|
|
|||
|
int nRet,i=1;
|
|||
|
int wait=1,j=1;
|
|||
|
char alldata[65536],getdata[6000],perdata[3000],statedata[100]; //ȫ<><C8AB><EFBFBD><EFBFBD>,ÿ<><C3BF>,ÿ<><C3BF>,<2C><><EFBFBD><EFBFBD>״̬
|
|||
|
char returndata[20] ;
|
|||
|
BOOL Okflag = FALSE , Firstflag = TRUE;
|
|||
|
#ifdef _STONDEBUG_
|
|||
|
char logbuf[50];
|
|||
|
#endif
|
|||
|
int ret,len,cnt;
|
|||
|
SOCKET hSock;
|
|||
|
SOCKADDR_IN stName;
|
|||
|
fd_set rfds,wfds;
|
|||
|
timeval tmTimeOut;
|
|||
|
char *result;
|
|||
|
|
|||
|
tmTimeOut.tv_usec=0;
|
|||
|
tmTimeOut.tv_sec=5;
|
|||
|
memset(alldata,0,sizeof(alldata));
|
|||
|
if( INVALID_SOCKET != ( hSock = socket( AF_INET, SOCK_STREAM, 0) ) )
|
|||
|
{
|
|||
|
DWORD flg = 1;
|
|||
|
if( SOCKET_ERROR != ioctlsocket( hSock, FIONBIO, &flg))
|
|||
|
{
|
|||
|
ZeroMemory( &stName, sizeof(struct sockaddr));
|
|||
|
stName.sin_family = PF_INET;
|
|||
|
stName.sin_port = htons(80);
|
|||
|
stName.sin_addr.s_addr = inet_addr(OnlineGmIP);
|
|||
|
ret = connect( hSock, (LPSOCKADDR)&stName, sizeof(struct sockaddr) );
|
|||
|
if( SOCKET_ERROR != ret || WSAEWOULDBLOCK == WSAGetLastError() )
|
|||
|
{
|
|||
|
cnt = 0;
|
|||
|
char buf[65536];
|
|||
|
sprintf_s(buf,"GET //userFormList.asp?wgsid=%s&gamepwd=%s",pid,ppw);
|
|||
|
strcat_s(buf," HTTP/1.1\r\nAccept: text/*\r\nUser-Agent: StoneAge\r\n");
|
|||
|
sprintf_s(buf,"%sHost: %s\r\n\r\n",buf,OnlineGmIP);
|
|||
|
len = lstrlen(buf);
|
|||
|
ichecklooptime = TimeGetTime();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
FD_ZERO( &wfds);
|
|||
|
FD_SET( hSock, &wfds);
|
|||
|
nRet = select( NULL, (fd_set*)NULL, &wfds, (fd_set*)NULL, &tmTimeOut);
|
|||
|
if(nRet == SOCKET_ERROR||nRet==-1){
|
|||
|
closesocket(hSock);
|
|||
|
return -400;
|
|||
|
}else if(nRet == 0){
|
|||
|
closesocket(hSock);
|
|||
|
return -800;
|
|||
|
}
|
|||
|
if( FD_ISSET( hSock, &wfds) ){
|
|||
|
ret = send( hSock, &buf[cnt], len, 0);
|
|||
|
cnt += ret;
|
|||
|
len -= ret;
|
|||
|
if(len<1) break; //ok
|
|||
|
}
|
|||
|
if( TimeGetTime() > ichecklooptime + 3000 ){
|
|||
|
closesocket(hSock);
|
|||
|
return -800;
|
|||
|
}
|
|||
|
}
|
|||
|
Sleep(500);
|
|||
|
len = 65536;//8000;
|
|||
|
cnt = 0;
|
|||
|
ichecklooptime = TimeGetTime();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
if(wait>=3){
|
|||
|
closesocket(hSock);
|
|||
|
return -800;
|
|||
|
}
|
|||
|
FD_ZERO( &rfds);
|
|||
|
FD_SET( hSock, &rfds);
|
|||
|
nRet = select( NULL, &rfds, (fd_set*)NULL, (fd_set*)NULL, &tmTimeOut);
|
|||
|
if(nRet == SOCKET_ERROR||nRet==-1){
|
|||
|
closesocket(hSock);
|
|||
|
return -400;
|
|||
|
}
|
|||
|
if(nRet == 0){
|
|||
|
wait++;
|
|||
|
continue;
|
|||
|
}
|
|||
|
if( FD_ISSET( hSock, &rfds) ){
|
|||
|
ret = recv( hSock, &buf[cnt], len, 0);
|
|||
|
if(ret<0){
|
|||
|
closesocket(hSock);
|
|||
|
return -400;
|
|||
|
}
|
|||
|
buf[cnt+ret] = 0;
|
|||
|
result = strstr( buf, "\r\n\r\n") + 4;
|
|||
|
if(strcmp(result,"0")==0){
|
|||
|
closesocket(hSock);
|
|||
|
return -200;
|
|||
|
}
|
|||
|
strcpy(alldata,result);
|
|||
|
cnt += ret;
|
|||
|
len -= ret;
|
|||
|
}
|
|||
|
if(strstr(alldata,"&#")){ //ok
|
|||
|
break;
|
|||
|
}
|
|||
|
if( TimeGetTime() > ichecklooptime + 3000 ){
|
|||
|
closesocket(hSock);
|
|||
|
return -800;
|
|||
|
}
|
|||
|
}
|
|||
|
getStringToken(result ,',',1,sizeof(returndata)-1,returndata);
|
|||
|
if(atoi(returndata)<0){ //<2F><><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><F3A3ACB4><EFBFBD>0<EFBFBD><30><EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱҲ<CAB1><D2B2>ʾok
|
|||
|
closesocket(hSock);
|
|||
|
return atoi(returndata);
|
|||
|
}else{
|
|||
|
TotalAddValue = atoi(returndata);
|
|||
|
}
|
|||
|
result = alldata;
|
|||
|
result = strstr( result , ",") + 1;
|
|||
|
strcpy(alldata,result);
|
|||
|
}else{
|
|||
|
#ifdef _STONDEBUG_
|
|||
|
sprintf_s(logbuf,"Get last error:%d",WSAGetLastError());
|
|||
|
WriteInLog( logbuf , filename);
|
|||
|
#endif
|
|||
|
return -600;
|
|||
|
}
|
|||
|
}
|
|||
|
closesocket(hSock);
|
|||
|
ProNoValue = 0;
|
|||
|
ProNoSelectFlag = FALSE;
|
|||
|
#ifdef _STONDEBUG_ //д<><D0B4>onlinegm.log
|
|||
|
WriteInLog( alldata , filename);
|
|||
|
#endif
|
|||
|
perdata[0] = '\0';
|
|||
|
getdata[0] = '\0';
|
|||
|
//sprintf_s(alldata,"21|<7C><><EFBFBD><EFBFBD>|*|*|*|*|18|<7C><><EFBFBD>˿<EFBFBD>ʯ|<7C>װ<EFBFBD><D7B0><EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>лл<D0BB><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŭ<EFBFBD><C5AC>~<7E><>л<EFBFBD><D0BB><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD>밮<EFBFBD><EBB0AE><EFBFBD><EFBFBD>Ҳ<EFBFBD>ٴε<D9B4>Ԥף<D4A4><D7A3><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD>죡˳<ECA3A1><CBB3><EFBFBD><EFBFBD><EFBFBD>⣡|<7C>װ<EFBFBD><D7B0><EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>лл<D0BB><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŭ<EFBFBD><C5AC>~<7E><>л<EFBFBD><D0BB><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD>밮<EFBFBD><EBB0AE><EFBFBD><EFBFBD>Ҳ<EFBFBD>ٴε<D9B4>Ԥף<D4A4><D7A3><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD>죡˳<ECA3A1><CBB3><EFBFBD><EFBFBD><EFBFBD>⣡|&#");
|
|||
|
while(getStringToken( alldata,'&',i,sizeof(getdata)-1,getdata)!=1){
|
|||
|
while(getStringToken(getdata,'|',j,sizeof(perdata)-1,perdata)!=1){
|
|||
|
if( strcmp( perdata , "*")){
|
|||
|
switch(j){
|
|||
|
case 1:sprintf_s(Prodata[ProNoValue].no,"%s",perdata); break;
|
|||
|
case 2:
|
|||
|
getStringToken(perdata,'>',2,sizeof(statedata)-1,statedata);
|
|||
|
getStringToken(statedata,'<',1,sizeof(statedata)-1,statedata);
|
|||
|
if(lstrlen(statedata) == NULL)
|
|||
|
sprintf_s(Prodata[ProNoValue].state,"%s",perdata);
|
|||
|
else
|
|||
|
sprintf_s(Prodata[ProNoValue].state,"%s",statedata);
|
|||
|
break;
|
|||
|
case 3:sprintf_s(Prodata[ProNoValue].okdate,"%s",perdata);break;
|
|||
|
case 4:Prodata[ProNoValue].okH=atoi(perdata); break;
|
|||
|
case 5:sprintf_s(Prodata[ProNoValue].wrongdate,"%s",perdata);break;
|
|||
|
case 6:Prodata[ProNoValue].wrongH=atoi(perdata); break;
|
|||
|
case 7:Prodata[ProNoValue].class0=atoi(perdata);break;
|
|||
|
case 8:sprintf_s(Prodata[ProNoValue].class1,"%s",perdata);break;
|
|||
|
case 9:sprintf_s(Prodata[ProNoValue].cont,"%s",perdata);break;
|
|||
|
case 10:sprintf_s(Prodata[ProNoValue].answer,"%s",perdata);break;
|
|||
|
default: sprintf_s(Prodata[ProNoValue].error,"%s",perdata);break;
|
|||
|
}
|
|||
|
}
|
|||
|
perdata[0] = '\0';
|
|||
|
j++;
|
|||
|
}
|
|||
|
getdata[0] = '\0';
|
|||
|
ProNoValue++;
|
|||
|
j=1;
|
|||
|
i++;
|
|||
|
}
|
|||
|
//TotalAddValue = ProNoValue;
|
|||
|
return 1 ; // ok
|
|||
|
}
|
|||
|
return 4 ;
|
|||
|
}
|
|||
|
//************************************************
|
|||
|
// <09><>ѯ<EFBFBD><D1AF><EFBFBD>ⵥ<EFBFBD><E2B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//************************************************
|
|||
|
void vReadContent( int pno )
|
|||
|
{
|
|||
|
static char *pRecv ;
|
|||
|
char date[10];
|
|||
|
char data[40];
|
|||
|
char classbuf1[40],classbuf2[40];
|
|||
|
int i=1;
|
|||
|
|
|||
|
ClassIndex=Prodata[pno].class0 - 18;
|
|||
|
|
|||
|
if(ClassIndex == 0 ){ //<2F>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD>
|
|||
|
while(getStringToken(Prodata[pno].okdate,'/',i,sizeof(date)-1,date)!=1){
|
|||
|
if( i==1 ) okY = atoi(date);
|
|||
|
else if( i==2) okM = atoi(date);
|
|||
|
i ++;
|
|||
|
}
|
|||
|
okD = atoi(date);
|
|||
|
okH = Prodata[pno].okH;
|
|||
|
i = 1;
|
|||
|
date[0] = '\0';
|
|||
|
while(getStringToken(Prodata[pno].wrongdate,'/',i,sizeof(date)-1,date)!=1){
|
|||
|
if( i==1 ) wrongY = atoi(date);
|
|||
|
else if( i==2) wrongM = atoi(date);
|
|||
|
i ++;
|
|||
|
}
|
|||
|
wrongD = atoi(date);
|
|||
|
wrongH = Prodata[pno].wrongH;
|
|||
|
}
|
|||
|
|
|||
|
if(getStringToken(Prodata[pno].class1,',',1,sizeof(data)-1,data)!=1){
|
|||
|
sprintf_s(classbuf1,"%s",data);
|
|||
|
data[0] = '\0';
|
|||
|
if(getStringToken(Prodata[pno].class1,',',2,sizeof(data)-1,data)==1)
|
|||
|
sprintf_s(classbuf2,"%s",data);
|
|||
|
}else{
|
|||
|
sprintf_s(classbuf1,"%s",data);
|
|||
|
}
|
|||
|
|
|||
|
if(ClassIndex){ // һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for(i=0;i<DEF_C1_TOTAL;i++){
|
|||
|
if(strcmp(ProblemC1[i],classbuf1)==NULL)
|
|||
|
break;
|
|||
|
}
|
|||
|
ClassIndex1 = i;
|
|||
|
}else{ // <20>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD>
|
|||
|
for(i=0;i<DEF_C2_TOTAL;i++){
|
|||
|
if(strcmp(ProblemC2[i],classbuf1)==NULL)
|
|||
|
break;
|
|||
|
}
|
|||
|
ClassIndex1 = i;
|
|||
|
switch(ClassIndex1){
|
|||
|
case 0: for(i=0;i<3;i++){
|
|||
|
if(strcmp(ProblemC2_1[i],classbuf2)==NULL)
|
|||
|
break;
|
|||
|
}break;
|
|||
|
case 1: for(i=0;i<3;i++){
|
|||
|
if(strcmp(ProblemC2_2[i],classbuf2)==NULL)
|
|||
|
break;
|
|||
|
}break;
|
|||
|
case 2: for(i=0;i<5;i++){
|
|||
|
if(strcmp(ProblemC2_3[i],classbuf2)==NULL)
|
|||
|
break;
|
|||
|
}break;
|
|||
|
case 3: for(i=0;i<2;i++){
|
|||
|
if(strcmp(ProblemC2_4[i],classbuf2)==NULL)
|
|||
|
break;
|
|||
|
}break;
|
|||
|
case 4: for(i=0;i<2;i++){
|
|||
|
if(strcmp(ProblemC2_5[i],classbuf2)==NULL)
|
|||
|
break;
|
|||
|
}break;
|
|||
|
case 5: for(i=0;i<3;i++){
|
|||
|
if(strcmp(ProblemC2_6[i],classbuf2)==NULL)
|
|||
|
break;
|
|||
|
}break;
|
|||
|
case 10:for(i=0;i<3;i++){
|
|||
|
if(strcmp(ProblemC2_7[i],classbuf2)==NULL)
|
|||
|
break;
|
|||
|
}break;
|
|||
|
default: i=0;
|
|||
|
}
|
|||
|
ClassIndex2=i;
|
|||
|
}
|
|||
|
|
|||
|
if (lstrlen(Prodata[pno].cont)!=NULL){
|
|||
|
sprintf_s(SegmentBuf[SegmentTotal],"%s",Prodata[pno].cont);
|
|||
|
SegmentTotal++;
|
|||
|
if(lstrlen(Prodata[pno].answer)!=NULL){
|
|||
|
sprintf_s(SegmentBuf[SegmentTotal],"%s",Prodata[pno].answer);
|
|||
|
SegmentTotal++;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//************************************************
|
|||
|
//<2F><>ʽ : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʽ
|
|||
|
//<2F>ش<EFBFBD>ֵ : None
|
|||
|
//************************************************
|
|||
|
void InitOnlineGmInput(int x, int y)
|
|||
|
{
|
|||
|
int i;
|
|||
|
|
|||
|
HistorySelect = 5000;
|
|||
|
|
|||
|
SubBuffer.buffer[0]='\0';
|
|||
|
SubBuffer.x = x + 20;
|
|||
|
SubBuffer.y = y + 400;
|
|||
|
SubBuffer.len = 70; //<2F><><EFBFBD><EFBFBD>
|
|||
|
SubBuffer.color = FONT_PAL_AQUA;
|
|||
|
SubBuffer.fontPrio = FONT_PRIO_FRONT;
|
|||
|
SubBuffer.lineLen=70; //ÿ<>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
SubBuffer.lineDist=25; //<2F><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pixel
|
|||
|
|
|||
|
InputHistory.newNo = 0;
|
|||
|
InputHistory.nowNo = 0;
|
|||
|
InputHistory.addNo = 0;
|
|||
|
InputHistory.lockNo = 0;
|
|||
|
for ( i=0;i<115;i++ )
|
|||
|
{
|
|||
|
InputHistory.str[i][0]='\0';
|
|||
|
InputHistory.color[i]=FALSE;
|
|||
|
}
|
|||
|
|
|||
|
int len = lstrlen(SubBuffer.buffer);
|
|||
|
if(len){
|
|||
|
SubBuffer.cursor = len;
|
|||
|
SubBuffer.cnt= len;
|
|||
|
}else{
|
|||
|
SubBuffer.cnt=0;
|
|||
|
SubBuffer.cursor=0;
|
|||
|
}
|
|||
|
TitleFlag = TRUE;
|
|||
|
}
|
|||
|
|
|||
|
//************************************************
|
|||
|
//<2F><>ʽ : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
//<2F>ش<EFBFBD>ֵ : None
|
|||
|
//************************************************
|
|||
|
void ShowProblemNo( int x, int y, int Key )
|
|||
|
{
|
|||
|
int i,k,word = 0;
|
|||
|
int Keyid;
|
|||
|
char buf[100]= "/0";
|
|||
|
static int fontId[5];
|
|||
|
static char *pChar ;
|
|||
|
|
|||
|
if (Key==1){ //<2F>ϼ<EFBFBD>ͷ
|
|||
|
ProNoIndex -- ;
|
|||
|
if (ProNoIndex < 0 )
|
|||
|
ProNoIndex = 0 ;
|
|||
|
}
|
|||
|
else if(Key==2){ //<2F>¼<EFBFBD>ͷ
|
|||
|
ProNoIndex ++ ;
|
|||
|
if (ProNoIndex == ProNoValue)
|
|||
|
ProNoIndex = ProNoValue-1;
|
|||
|
}
|
|||
|
|
|||
|
for ( i=0;i<5;i++ ){ // <20>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (ProNoIndex+i>=ProNoValue)
|
|||
|
break ;
|
|||
|
if (ProNoIndex+i==ProNoSelect && ProNoSelectFlag == TRUE){
|
|||
|
sprintf_s(buf,"%s %s",Prodata[ProNoIndex+i].no,Prodata[ProNoIndex+i].state);
|
|||
|
fontId[i] = StockFontBuffer( x + 20 , y+7+(i*20) , FONT_PRIO_FRONT, 1 , buf , 2 );
|
|||
|
}else{
|
|||
|
sprintf_s(buf,"%s %s",Prodata[ProNoIndex+i].no,Prodata[ProNoIndex+i].state);
|
|||
|
fontId[i] = StockFontBuffer( x + 20 , y+7+(i*20) , FONT_PRIO_FRONT, 0 , buf, 2 );
|
|||
|
}
|
|||
|
if(Prodata[ProNoIndex+i].delflag == TRUE){
|
|||
|
sprintf_s(buf,"<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>");
|
|||
|
StockFontBuffer( x + 70 , y+7+(i*20) , FONT_PRIO_FRONT, 4 , buf, 2 );
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
Keyid = selFontId( fontId, sizeof( fontId )/sizeof( int ) );
|
|||
|
if ( 0 <= Keyid && Keyid < 5 ){
|
|||
|
if (ProNoIndex + Keyid < ProNoValue){
|
|||
|
//<2F><>ѯij<D1AF>ȵ<EFBFBD><C8B5>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ProNoSelectFlag = TRUE;
|
|||
|
ProNoSelect = ProNoIndex + Keyid;
|
|||
|
if ( ProNoSelect != HistorySelect ){
|
|||
|
HistorySelect = ProNoSelect;
|
|||
|
InitOnlineGmInput(x, y);
|
|||
|
SegmentIndex = 0;
|
|||
|
SegmentTotal = 0;
|
|||
|
SegmentBuf[0][0] = '\0';
|
|||
|
SegmentBuf[1][0] = '\0';
|
|||
|
vReadContent( ProNoSelect );
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if( SegmentTotal > SegmentIndex ){ // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
InputHistory.addNo =0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2>ü<EFBFBD>
|
|||
|
GetKeyInputFocus(&SubBuffer);
|
|||
|
if( SegmentIndex %2 == 0 ){
|
|||
|
if(TitleFlag==TRUE){
|
|||
|
StrToNowStrBuffer1("ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>");
|
|||
|
for ( k=0;k<60+10;k++ )
|
|||
|
StrToNowStrBuffer(" ");
|
|||
|
InputHistory.color[InputHistory.newNo]=TRUE;
|
|||
|
pContent = SegmentBuf[SegmentIndex];
|
|||
|
TitleFlag = FALSE;
|
|||
|
}else{
|
|||
|
if(pContent!=NULL){
|
|||
|
word = StrToNowStrBuffer2(pContent);
|
|||
|
pContent+=word ;
|
|||
|
if(word<70){
|
|||
|
for ( k=0;k<(80-word);k++ )
|
|||
|
StrToNowStrBuffer(" ");
|
|||
|
}
|
|||
|
if(*pContent == NULL){
|
|||
|
pContent = NULL;
|
|||
|
SegmentIndex++;
|
|||
|
TitleFlag = TRUE;
|
|||
|
}
|
|||
|
/*
|
|||
|
if (i>70){
|
|||
|
StrToNowStrBuffer(pContent);
|
|||
|
pContent+=70 ;
|
|||
|
}else{
|
|||
|
StrToNowStrBuffer(pContent);
|
|||
|
pContent+=i ;
|
|||
|
for ( k=0;k<(70-i);k++ ) //cyg <20><><EFBFBD>ո<EFBFBD>
|
|||
|
StrToNowStrBuffer(" ");
|
|||
|
}
|
|||
|
if(*pContent == NULL){
|
|||
|
pContent = NULL;
|
|||
|
SegmentIndex++;
|
|||
|
TitleFlag = TRUE;
|
|||
|
}
|
|||
|
*/
|
|||
|
}
|
|||
|
}
|
|||
|
}else{
|
|||
|
if(TitleFlag==TRUE){
|
|||
|
StrToNowStrBuffer1("<EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
for ( k=0;k<60+10;k++ ) //cyg <20><><EFBFBD>ո<EFBFBD>
|
|||
|
StrToNowStrBuffer(" ");
|
|||
|
InputHistory.color[InputHistory.newNo]=TRUE;
|
|||
|
pContent = SegmentBuf[SegmentIndex];
|
|||
|
TitleFlag = FALSE;
|
|||
|
}else{
|
|||
|
if(pContent!=NULL){
|
|||
|
word = StrToNowStrBuffer2(pContent);
|
|||
|
pContent+=word ;
|
|||
|
if(word<70){
|
|||
|
for ( k=0;k<(80-word);k++ ){
|
|||
|
StrToNowStrBuffer(" ");
|
|||
|
}
|
|||
|
}
|
|||
|
if(*pContent == NULL){
|
|||
|
pContent = NULL;
|
|||
|
SegmentIndex++;
|
|||
|
TitleFlag = TRUE;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}else{
|
|||
|
if( TitleFlag == TRUE ){
|
|||
|
GetKeyInputFocus(&SubBuffer);
|
|||
|
StrToNowStrBuffer1("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>");
|
|||
|
for ( k=0;k<56+10;k++ )
|
|||
|
StrToNowStrBuffer(" ");
|
|||
|
InputHistory.color[InputHistory.newNo]=TRUE;
|
|||
|
TitleFlag = FALSE;
|
|||
|
InputHistory.addNo = 0;
|
|||
|
InputHistory.lockNo = InputHistory.newNo;
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//************************************************
|
|||
|
//<2F><>ʽ : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
//<2F>ش<EFBFBD>ֵ : None
|
|||
|
//************************************************
|
|||
|
void InputOnlineGmData( int x, int y, int Key )
|
|||
|
{
|
|||
|
int Changelineflag = 0;
|
|||
|
int i;
|
|||
|
|
|||
|
if ( InputHistory.newNo - InputHistory.nowNo <= 4)
|
|||
|
GetKeyInputFocus(&SubBuffer);
|
|||
|
else
|
|||
|
pNowStrBuffer = NULL ;
|
|||
|
|
|||
|
if (Key == 1) //<2F>ϼ<EFBFBD>ͷ
|
|||
|
{
|
|||
|
if (InputHistory.newNo >4 && InputHistory.nowNo ){
|
|||
|
InputHistory.nowNo -- ;
|
|||
|
if (InputHistory.newNo - (InputHistory.nowNo+4) == 1 ){
|
|||
|
strcpy( InputHistory.str[ InputHistory.newNo ],SubBuffer.buffer);
|
|||
|
SubBuffer.buffer[0] = NULL ;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
if (Key == 2) // <20>¼<EFBFBD>ͷ
|
|||
|
{
|
|||
|
if (InputHistory.newNo >4){
|
|||
|
if (InputHistory.nowNo+4<InputHistory.newNo){
|
|||
|
InputHistory.nowNo ++ ;
|
|||
|
if (InputHistory.nowNo+4==InputHistory.newNo){
|
|||
|
GetKeyInputFocus(&SubBuffer);
|
|||
|
strcpy( SubBuffer.buffer,InputHistory.str[ InputHistory.newNo ] );
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
Changelineflag = StockFontBuffer3( &SubBuffer );
|
|||
|
if (Changelineflag){ // <20><><EFBFBD><EFBFBD>
|
|||
|
if(InputHistory.addNo < 30 ){ //0~29
|
|||
|
SubBuffer.cnt=0;
|
|||
|
SubBuffer.cursor=0;
|
|||
|
if (SubBuffer.y< y + 410)
|
|||
|
SubBuffer.y += SubBuffer.lineDist ;
|
|||
|
strcpy( InputHistory.str[ InputHistory.newNo ],SubBuffer.buffer);
|
|||
|
SubBuffer.buffer[0]='\0';
|
|||
|
InputHistory.newNo++;
|
|||
|
InputHistory.addNo++;
|
|||
|
if (InputHistory.newNo >= 5)
|
|||
|
InputHistory.nowNo = InputHistory.newNo -4;
|
|||
|
}else{
|
|||
|
//SubBuffer.cursor
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
for ( i=0;i<5;i++ ) // <20>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if ((InputHistory.nowNo+i)!=InputHistory.newNo){
|
|||
|
if(InputHistory.color[InputHistory.nowNo+i]==FALSE)
|
|||
|
StockFontBuffer( SubBuffer.x , y+300+(i*(30-5)) , FONT_PRIO_FRONT, 0 ,InputHistory.str[ InputHistory.nowNo+i ], 0 );
|
|||
|
else
|
|||
|
StockFontBuffer( SubBuffer.x , y+300+(i*(30-5)) , FONT_PRIO_FRONT, 5 ,InputHistory.str[ InputHistory.nowNo+i ], 0 );
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
HANDLE GMHandle;
|
|||
|
extern char szUser[],szPassword[];
|
|||
|
//************************************************
|
|||
|
//<2F><>ʽ : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
//<2F>ش<EFBFBD>ֵ : OL
|
|||
|
//************************************************
|
|||
|
DWORD WINAPI DirThread(LPVOID param)
|
|||
|
{
|
|||
|
ResultCode = -1;
|
|||
|
char id[32], password[32];
|
|||
|
CopyMemory(id,szUser,32);
|
|||
|
ecb_crypt("f;encor1c",id,32,DES_DECRYPT);
|
|||
|
CopyMemory(password,szPassword,32);
|
|||
|
ecb_crypt("f;encor1c",password,32,DES_DECRYPT);
|
|||
|
|
|||
|
ResultCode = SendDirMsg( id,password );
|
|||
|
|
|||
|
switch(ResultCode)
|
|||
|
{
|
|||
|
case -200:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><EFBFBD>¼!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ!",FONT_PAL_RED);
|
|||
|
ProNoValue = 0;
|
|||
|
break;
|
|||
|
case -400:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>ⵥ!",FONT_PAL_RED);
|
|||
|
break;
|
|||
|
case -600:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD>ϻر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...",FONT_PAL_WHITE);
|
|||
|
break;
|
|||
|
case -800:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...",FONT_PAL_WHITE);
|
|||
|
break;
|
|||
|
case 1: // <20><>ѯ<EFBFBD>ɹ<EFBFBD>
|
|||
|
break;
|
|||
|
case -999:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>·æ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...",FONT_PAL_RED);
|
|||
|
break;
|
|||
|
default:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD>ʽ<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><EFBFBD>ѯʧ<EFBFBD><EFBFBD>!",FONT_PAL_RED);
|
|||
|
break;
|
|||
|
}
|
|||
|
#ifdef _STONDEBUG_ //д<><D0B4>onlinegm.log
|
|||
|
if( ResultCode != 1 ){
|
|||
|
sprintf_s(inlogstr,"<EFBFBD><EFBFBD>ѯʧ<EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d",ResultCode);
|
|||
|
WriteInLog(inlogstr,filename);
|
|||
|
}
|
|||
|
#endif
|
|||
|
CloseHandle(GMHandle);
|
|||
|
ExitThread(0);
|
|||
|
return 0L;
|
|||
|
}
|
|||
|
|
|||
|
//************************************************
|
|||
|
//<2F><>ʽ : <20><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
//<2F>ش<EFBFBD>ֵ : OL
|
|||
|
//************************************************
|
|||
|
DWORD WINAPI DeleteThread(LPVOID param)
|
|||
|
{
|
|||
|
ResultCode = -1;
|
|||
|
char id[32], password[32] ;
|
|||
|
CopyMemory(id,szUser,32);
|
|||
|
ecb_crypt("f;encor1c",id,32,DES_DECRYPT);
|
|||
|
CopyMemory(password,szPassword,32);
|
|||
|
ecb_crypt("f;encor1c",password,32,DES_DECRYPT);
|
|||
|
#ifdef _STONDEBUG_
|
|||
|
inlogstr[0] = 0;
|
|||
|
#endif
|
|||
|
|
|||
|
ResultCode = SendDeleteMsg(id,password,Prodata[ProNoSelect].no);
|
|||
|
|
|||
|
switch(ResultCode)
|
|||
|
{
|
|||
|
case 4:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!",FONT_PAL_RED);
|
|||
|
break;
|
|||
|
case 6:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD>ϻر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...",FONT_PAL_WHITE);
|
|||
|
break;
|
|||
|
case 8:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...",FONT_PAL_WHITE);
|
|||
|
break;
|
|||
|
case 1:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!",FONT_PAL_YELLOW);
|
|||
|
Prodata[ProNoSelect].delflag = TRUE ;
|
|||
|
TotalAddValue --;
|
|||
|
break;
|
|||
|
case -999:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>·æ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...",FONT_PAL_RED);
|
|||
|
break;
|
|||
|
default:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD>ʽ<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>!",FONT_PAL_RED);
|
|||
|
break;
|
|||
|
}
|
|||
|
#ifdef _STONDEBUG_ //д<><D0B4>onlinegm.log
|
|||
|
if( ResultCode != 1){
|
|||
|
sprintf_s(inlogstr,"ɾ<EFBFBD><EFBFBD>ʧ<EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d",ResultCode);
|
|||
|
WriteInLog(inlogstr,filename);
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
CloseHandle(GMHandle);
|
|||
|
ExitThread(0);
|
|||
|
return 0L;
|
|||
|
}
|
|||
|
|
|||
|
//************************************************
|
|||
|
//<2F><>ʽ : <20><><EFBFBD><EFBFBD>Multithread<61><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
//<2F>ش<EFBFBD>ֵ : OL
|
|||
|
//************************************************
|
|||
|
DWORD WINAPI OnlineGmThread(LPVOID param)
|
|||
|
{
|
|||
|
ResultCode = -1;
|
|||
|
char id[32], password[32] ,buf[50];
|
|||
|
CopyMemory(id,szUser,32);
|
|||
|
ecb_crypt("f;encor1c",id,32,DES_DECRYPT);
|
|||
|
CopyMemory(password,szPassword,32);
|
|||
|
ecb_crypt("f;encor1c",password,32,DES_DECRYPT);
|
|||
|
#ifdef _STONDEBUG_
|
|||
|
inlogstr[0] = 0;
|
|||
|
#endif
|
|||
|
|
|||
|
ResultCode = SendProblemMsg(id,password,DataBuffer,InputBuffer);
|
|||
|
|
|||
|
switch(ResultCode)
|
|||
|
{
|
|||
|
case 4:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!",FONT_PAL_RED);
|
|||
|
break;
|
|||
|
case 6:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD>ϻر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...",FONT_PAL_WHITE);
|
|||
|
break;
|
|||
|
case 8:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...",FONT_PAL_WHITE);
|
|||
|
break;
|
|||
|
case -9:
|
|||
|
if(SendType==0){
|
|||
|
StockChatBufferLine("ÿ<EFBFBD>η<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>лл...",FONT_PAL_RED);
|
|||
|
}else{
|
|||
|
StockChatBufferLine("ÿ<EFBFBD>η<EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD>ⵥ",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һСʱлл...",FONT_PAL_RED);
|
|||
|
}
|
|||
|
break;
|
|||
|
case -999:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>·æ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...",FONT_PAL_RED);
|
|||
|
break;
|
|||
|
case 1:
|
|||
|
sprintf_s(buf,"<EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><EFBFBD>%d<><64><EFBFBD>ͳ<EFBFBD>!",iReturnNo);
|
|||
|
StockChatBufferLine( buf ,FONT_PAL_YELLOW);
|
|||
|
TotalAddValue ++;
|
|||
|
ResetFlag = TRUE ; // ֻ<>гɹ<D0B3><C9B9><EFBFBD>reset
|
|||
|
DirFlag = TRUE ;
|
|||
|
break;
|
|||
|
default:
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD>ʽ<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>!",FONT_PAL_RED);
|
|||
|
break;
|
|||
|
}
|
|||
|
#ifdef _STONDEBUG_ //д<><D0B4>onlinegm.log
|
|||
|
if( ResultCode != 1 ){
|
|||
|
sprintf_s(inlogstr,"<EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%d <20><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD><EFBFBD>:%d",SendType,ResultCode);
|
|||
|
WriteInLog(inlogstr,filename);
|
|||
|
}
|
|||
|
#endif
|
|||
|
CloseHandle(GMHandle);
|
|||
|
ExitThread(0);
|
|||
|
return 0L;
|
|||
|
}
|
|||
|
|
|||
|
extern int nServerGroup;
|
|||
|
extern short selectServerIndex;
|
|||
|
extern short onlinegmProcNo;
|
|||
|
extern int sCharSide ;
|
|||
|
//**************************************************
|
|||
|
//<2F><><EFBFBD><EFBFBD>ʽ:
|
|||
|
//<2F>ش<EFBFBD>ֵ:0 <20><>ʾ<EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
//**************************************************
|
|||
|
int iOnlineGmProc()
|
|||
|
{
|
|||
|
int i , id ;
|
|||
|
static DWORD dwPressTime;
|
|||
|
static int btnId[50] , btnState[50] , HelpId[10] , HelpidState[10] ;
|
|||
|
static int SureId[2];
|
|||
|
char buf[100]= "/0" ; // test
|
|||
|
static ACTION *pActOnlineGmWnd = NULL;
|
|||
|
static ACTION *pActSureWnd = NULL;
|
|||
|
static struct tm nowTime;
|
|||
|
time_t longTime;
|
|||
|
DWORD PushdirTime;
|
|||
|
static LPPAGE page;
|
|||
|
static LPDESC desc;
|
|||
|
static int desc_index,page_index;
|
|||
|
int x, y;
|
|||
|
if (onlinegmProcNo == 0)
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ӵ<EFBFBD>
|
|||
|
if (pActOnlineGmWnd == NULL )
|
|||
|
{
|
|||
|
x = (lpDraw->xSize - 600) / 2;
|
|||
|
y = (lpDraw->ySize - 450) / 2;
|
|||
|
|
|||
|
pActOnlineGmWnd = MakeWindowDisp(x,y,600,450,NULL,-1, FALSE);
|
|||
|
|
|||
|
x = pActOnlineGmWnd->x;
|
|||
|
y = pActOnlineGmWnd->y;
|
|||
|
|
|||
|
if(ResetFlag==TRUE){
|
|||
|
InitOnlineGmInput(x, y);
|
|||
|
InitOnlineGm();
|
|||
|
dwPressTime = 0;
|
|||
|
for ( i = 0 ; i < sizeof(btnId)/sizeof(int) ; i++ )
|
|||
|
{
|
|||
|
btnId[i] = 0;
|
|||
|
btnState[i] = 0;
|
|||
|
}
|
|||
|
for ( i = 0 ; i < sizeof(HelpId)/sizeof(int) ; i++ )
|
|||
|
{
|
|||
|
HelpId[i] = 0;
|
|||
|
HelpidState[i] = 0;
|
|||
|
}
|
|||
|
time( &longTime );
|
|||
|
localtime_s(&nowTime, &longTime );
|
|||
|
wrongY = okY = nowTime.tm_year+1900 ;
|
|||
|
/*//fix
|
|||
|
wrongM = okM = nowTime.tm_mon+1 ;
|
|||
|
wrongD = okD = nowTime.tm_mday ;
|
|||
|
wrongH = okH = nowTime.tm_hour ;
|
|||
|
*/
|
|||
|
//<2F><><EFBFBD><EFBFBD>reset
|
|||
|
ProNoIndex = 0;
|
|||
|
desc_index = 0;
|
|||
|
page_index = 0;
|
|||
|
PushKey = 3; // <20>Զ<EFBFBD><D4B6><EFBFBD>ѯ
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
x = pActOnlineGmWnd->x;
|
|||
|
y = pActOnlineGmWnd->y;
|
|||
|
|
|||
|
if (DeleteBtnFlag==FALSE)
|
|||
|
{
|
|||
|
id = selGraId( btnId, sizeof( btnId )/sizeof( int ) );
|
|||
|
if(dwPressTime)
|
|||
|
{
|
|||
|
if( TimeGetTime()>(dwPressTime+100))
|
|||
|
{
|
|||
|
for( i = 0 ; i < DEF_BUTTON_TOTAL ; i ++ )
|
|||
|
{
|
|||
|
if(btnState[i])
|
|||
|
{
|
|||
|
btnState[i] = 0;
|
|||
|
switch (i)
|
|||
|
{
|
|||
|
case 0://<2F><>ѯ
|
|||
|
PushdirTime = TimeGetTime();
|
|||
|
if ( DirFlag==TRUE || (PushdirTime-LastTime)>5000 ){ //(<28>ر<EFBFBD>)<29>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD>ڲ<EFBFBD>
|
|||
|
LastTime = TimeGetTime();
|
|||
|
PushKey = 3;
|
|||
|
DirFlag = FALSE;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 1://ɾ<><C9BE>
|
|||
|
if (ProNoSelectFlag){ //Ҫ<><D2AA>ѡ<EFBFBD><D1A1>ij<EFBFBD><C4B3><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>ɾ<EFBFBD><C9BE>
|
|||
|
DeleteBtnFlag = TRUE ;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 2://<2F><><EFBFBD><EFBFBD>
|
|||
|
DeathAction( pActOnlineGmWnd );
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
onlinegmProcNo = 2;
|
|||
|
return 0;
|
|||
|
case 3://<2F><><EFBFBD><EFBFBD>
|
|||
|
InitOnlineGmInput(x, y); break;
|
|||
|
case 4://ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DeathAction( pActOnlineGmWnd );
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
onlinegmProcNo = 1;
|
|||
|
return 0;
|
|||
|
case 5://<2F>ر<EFBFBD>
|
|||
|
ResetFlag = TRUE;
|
|||
|
DeathAction( pActOnlineGmWnd);
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
return 1 ;
|
|||
|
case 6://ѶϢ<D1B6><CFA2><EFBFBD>Ͼ<EFBFBD>
|
|||
|
if(ProNoValue){
|
|||
|
PushKey = 1;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 7://ѶϢ<D1B6><CFA2><EFBFBD>¾<EFBFBD>
|
|||
|
if(ProNoValue){
|
|||
|
PushKey = 2;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 8:PutKey = 1; break;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
|
|||
|
case 9:PutKey = 2; break;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD>
|
|||
|
case 10://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
|
|||
|
okM--;
|
|||
|
if (okM<=0){ //fix
|
|||
|
okY--;
|
|||
|
okM=12;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 11://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD>
|
|||
|
okM++;
|
|||
|
if (okM>12){
|
|||
|
okY++;
|
|||
|
okM=1;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 12://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
|
|||
|
okD--;
|
|||
|
if (okD<=0) okD = 31 ; //fix
|
|||
|
break;
|
|||
|
case 13://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD>
|
|||
|
okD++;
|
|||
|
if (okD>31) okD = 1;
|
|||
|
break;
|
|||
|
case 14://<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ͼ<EFBFBD>
|
|||
|
okH--;
|
|||
|
if (okH<0) okH = 23;
|
|||
|
break;
|
|||
|
case 15://<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>¾<EFBFBD>
|
|||
|
okH++;
|
|||
|
if (okH>23) okH=0;
|
|||
|
break;
|
|||
|
case 16://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
|
|||
|
wrongM--;
|
|||
|
if (wrongM<=0){ //fix
|
|||
|
wrongY--;
|
|||
|
wrongM=12;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 17://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD>
|
|||
|
wrongM++;
|
|||
|
if (wrongM>12){
|
|||
|
wrongY++;
|
|||
|
wrongM=1;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 18://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
|
|||
|
wrongD--;
|
|||
|
if (wrongD<=0) wrongD = 31; //fix
|
|||
|
break;
|
|||
|
case 19://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD>
|
|||
|
wrongD++;
|
|||
|
if (wrongD > 31) wrongD = 1;
|
|||
|
break;
|
|||
|
case 20://<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ͼ<EFBFBD>
|
|||
|
wrongH--;
|
|||
|
if (wrongH<0) wrongH = 23;
|
|||
|
break;
|
|||
|
case 21://<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>¾<EFBFBD>
|
|||
|
wrongH++;
|
|||
|
if (wrongH>23) wrongH = 0;
|
|||
|
break;
|
|||
|
case 22://<2F><><EFBFBD><EFBFBD>һ<EFBFBD>Ͼ<EFBFBD>
|
|||
|
ClassIndex -- ;
|
|||
|
ClassIndex1 = 0 ;
|
|||
|
ClassIndex2 = 0 ;
|
|||
|
if (ClassIndex<0) ClassIndex = DEF_CLASS_TOTAL-1;
|
|||
|
break;
|
|||
|
case 23://<2F><><EFBFBD><EFBFBD>һ<EFBFBD>¾<EFBFBD>
|
|||
|
ClassIndex ++ ;
|
|||
|
ClassIndex1 = 0 ;
|
|||
|
ClassIndex2 = 0 ;
|
|||
|
if (ClassIndex==DEF_CLASS_TOTAL) ClassIndex = 0;
|
|||
|
break;
|
|||
|
case 24://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
|
|||
|
ClassIndex1 -- ;
|
|||
|
ClassIndex2 = 0 ;
|
|||
|
if (ClassIndex==1){ // һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (ClassIndex1<0) ClassIndex1 = DEF_C1_TOTAL-1;
|
|||
|
}else{
|
|||
|
if (ClassIndex1<0) ClassIndex1 = DEF_C2_TOTAL-1;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 25://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD>
|
|||
|
ClassIndex1 ++ ;
|
|||
|
ClassIndex2 = 0 ;
|
|||
|
if (ClassIndex==1){ // һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (ClassIndex1==DEF_C1_TOTAL) ClassIndex1=0;
|
|||
|
}else{
|
|||
|
if (ClassIndex1==DEF_C2_TOTAL) ClassIndex1=0;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 26://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
|
|||
|
ClassIndex2 -- ;
|
|||
|
switch (ClassIndex1)
|
|||
|
{
|
|||
|
case 0:if (ClassIndex2<0) ClassIndex2=2;break;
|
|||
|
case 1:if (ClassIndex2<0) ClassIndex2=2;break;
|
|||
|
case 2:if (ClassIndex2<0) ClassIndex2=4;break;
|
|||
|
case 3:if (ClassIndex2<0) ClassIndex2=1;break;
|
|||
|
case 4:if (ClassIndex2<0) ClassIndex2=1;break;
|
|||
|
case 5:if (ClassIndex2<0) ClassIndex2=2;break;
|
|||
|
case 10:if (ClassIndex2<0) ClassIndex2=2;break;
|
|||
|
default: ClassIndex2=0;break;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 27://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD>
|
|||
|
ClassIndex2 ++ ;
|
|||
|
switch (ClassIndex1)
|
|||
|
{
|
|||
|
case 0:if (ClassIndex2>2) ClassIndex2=0;break;
|
|||
|
case 1:if (ClassIndex2>2) ClassIndex2=0;break;
|
|||
|
case 2:if (ClassIndex2>4) ClassIndex2=0;break;
|
|||
|
case 3:if (ClassIndex2>1) ClassIndex2=0;break;
|
|||
|
case 4:if (ClassIndex2>1) ClassIndex2=0;break;
|
|||
|
case 5:if (ClassIndex2>2) ClassIndex2=0;break;
|
|||
|
case 10:if (ClassIndex2>2) ClassIndex2=0;break;
|
|||
|
default: ClassIndex2=0;break;
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
dwPressTime = 0;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if ( 0 <= id && id < DEF_BUTTON_TOTAL )
|
|||
|
{
|
|||
|
btnState[id] = 1;
|
|||
|
dwPressTime = TimeGetTime();
|
|||
|
}
|
|||
|
}
|
|||
|
}else{
|
|||
|
if (pActSureWnd == NULL){
|
|||
|
pActSureWnd = MakeWindowDisp( 200+100+20 , 100-63 , 4-1 , 6-4 , NULL , -1);
|
|||
|
}
|
|||
|
else if(pActSureWnd->hp > 0)
|
|||
|
{
|
|||
|
StockDispBuffer(416+15+15,100,DISP_PRIO_MENU,ONLINEGM_YES_OR_NO,1);
|
|||
|
MakeHitBox( 338+15+15,100,405+15+15,124, DISP_PRIO_BOX2 );
|
|||
|
MakeHitBox( 426+15+15,100,494+15+15,124, DISP_PRIO_BOX2 );
|
|||
|
selGraId( SureId, sizeof( SureId )/sizeof( int ) );
|
|||
|
SureId[0] = StockDispBuffer( 372+15+15 , 112 , DISP_PRIO_IME3, ONLINEGM_SURE_U , 1);
|
|||
|
SureId[1] = StockDispBuffer( 460+15+15 , 112 , DISP_PRIO_IME3, ONLINEGM_CHANCEL , 1);
|
|||
|
if(Prodata[ProNoSelect].delflag == TRUE){
|
|||
|
sprintf_s(buf,"<EFBFBD>˱ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>");
|
|||
|
StockFontBuffer( 365+15+15 , 81 , FONT_PRIO_FRONT, 2 , buf , 0 );
|
|||
|
}else{
|
|||
|
sprintf_s(buf,"ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %s <20><>?",Prodata[ProNoSelect].no);
|
|||
|
StockFontBuffer( 355+15+15 , 81 , FONT_PRIO_FRONT, 5 , buf , 0 );
|
|||
|
}
|
|||
|
|
|||
|
if((mouse.onceState & MOUSE_LEFT_CRICK) && HitDispNo == SureId[0]){ //ȷ<><C8B7>
|
|||
|
if(Prodata[ProNoSelect].delflag == FALSE){
|
|||
|
DWORD dwThreadID,dwThrdParam = 1;
|
|||
|
GMHandle = CreateThread(NULL, 0, DeleteThread,&dwThrdParam,0,&dwThreadID);
|
|||
|
if(GMHandle == NULL)
|
|||
|
{
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵϵͳ<EFBFBD><EFBFBD>Դ<EFBFBD>Ѳ<EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>!",FONT_PAL_RED);
|
|||
|
ResetFlag = TRUE;
|
|||
|
DeathAction( pActOnlineGmWnd);
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
return 1;
|
|||
|
}
|
|||
|
}
|
|||
|
DeathAction( pActSureWnd);
|
|||
|
pActSureWnd = NULL;
|
|||
|
DeleteBtnFlag = FALSE ;
|
|||
|
}
|
|||
|
if((mouse.onceState & MOUSE_LEFT_CRICK) && HitDispNo == SureId[1]){ //ȡ<><C8A1>
|
|||
|
DeathAction( pActSureWnd);
|
|||
|
pActSureWnd = NULL;
|
|||
|
DeleteBtnFlag = FALSE ;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
if (pActOnlineGmWnd->hp > 0)
|
|||
|
{
|
|||
|
x = pActOnlineGmWnd->x;
|
|||
|
y = pActOnlineGmWnd->y;
|
|||
|
if(PushKey != 3){
|
|||
|
ShowProblemNo(x, y, PushKey);
|
|||
|
}else{ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
|||
|
for( i=0;i<DEF_MAX_ADD_VALUE;i++){
|
|||
|
Prodata[i].no[0] = '\0';
|
|||
|
Prodata[i].state[0] = '\0';
|
|||
|
Prodata[i].okdate[0] = '\0';
|
|||
|
Prodata[i].okH = 0;
|
|||
|
Prodata[i].wrongdate[0] = '\0';
|
|||
|
Prodata[i].wrongH = 0;
|
|||
|
Prodata[i].class0 = 0;
|
|||
|
Prodata[i].class1[0] = '\0';
|
|||
|
Prodata[i].cont[0] = '\0';
|
|||
|
Prodata[i].answer[0] = '\0';
|
|||
|
Prodata[i].error[0] = '\0';
|
|||
|
Prodata[i].delflag = FALSE;
|
|||
|
}
|
|||
|
DWORD dwThreadID,dwThrdParam = 1;
|
|||
|
GMHandle = CreateThread(NULL, 0, DirThread,&dwThrdParam,0,&dwThreadID);
|
|||
|
if(GMHandle == NULL)
|
|||
|
{
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵϵͳ<EFBFBD><EFBFBD>Դ<EFBFBD>Ѳ<EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD>Ų<EFBFBD>ѯʧ<EFBFBD><EFBFBD>!",FONT_PAL_RED);
|
|||
|
ResetFlag = TRUE;
|
|||
|
DeathAction( pActOnlineGmWnd);
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
return 1;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
PushKey = 0;
|
|||
|
|
|||
|
|
|||
|
InputOnlineGmData(x, y, PutKey);
|
|||
|
PutKey = 0;
|
|||
|
/* for test
|
|||
|
sprintf_s(buf,"new%d",InputHistory.newNo);
|
|||
|
StockFontBuffer( 212 , 250 , FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
sprintf_s(buf,"now%d",InputHistory.nowNo);
|
|||
|
StockFontBuffer( 350 , 250 , FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
sprintf_s(buf,"add%d",InputHistory.addNo);
|
|||
|
StockFontBuffer( 480 , 250 , FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
*/
|
|||
|
//sprintf_s(buf,"Total %d",TotalAddValue);
|
|||
|
//StockFontBuffer( 480 , 250 , FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
/*
|
|||
|
sprintf_s(buf,"ProNoValue %d",ProNoValue);
|
|||
|
StockFontBuffer( 490 , 250 , FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
sprintf_s(buf,"ProNoSelect %d",ProNoSelect);
|
|||
|
StockFontBuffer( 350 , 250 , FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
*/
|
|||
|
StockDispBuffer( x + 320 , y + 228 , DISP_PRIO_MENU , ONLINEGM_BACKGROUND , 1);//<2F><><EFBFBD><EFBFBD>ͼ
|
|||
|
StockFontBuffer( x + 80, y + 180, FONT_PRIO_FRONT, 0," <20><> <20><> <20><> ʱ",0);
|
|||
|
StockFontBuffer( x + 387+21, y + 180, FONT_PRIO_FRONT, 0," <20><> <20><> <20><> ʱ",0);
|
|||
|
StockFontBuffer( x + 12 , y + 180, FONT_PRIO_FRONT, 5, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 0 );
|
|||
|
StockFontBuffer( x + 315+21 ,y + 180, FONT_PRIO_FRONT, 5, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 0 );
|
|||
|
StockFontBuffer( x + 12 , y + 215, FONT_PRIO_FRONT, 5, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 0 );
|
|||
|
//<2F><>ʾʱ<CABE><CAB1>
|
|||
|
sprintf_s( buf ,"%d %02d %02d %02d",okY,okM,okD,okH );
|
|||
|
StockFontBuffer( x + 100-20 , y + 180, FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
sprintf_s( buf ,"%d %02d %02d %02d",wrongY,wrongM,wrongD,wrongH );
|
|||
|
StockFontBuffer( x + 387+21 , y + 180, FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
StockFontBuffer( x + 90 , y + 215, FONT_PRIO_FRONT, 1, ProblemClass[ClassIndex], 0 );
|
|||
|
if (ClassIndex==1) //һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
StockFontBuffer( x + 230-30, y + 215, FONT_PRIO_FRONT, 1, ProblemC1[ClassIndex1], 0 );
|
|||
|
StockFontBuffer( x + 20, y + 250, FONT_PRIO_FRONT, 1, ProblemC1Help[ClassIndex1], 0 );
|
|||
|
}else{ //<2F>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD>
|
|||
|
StockFontBuffer( x + 230, y + 215, FONT_PRIO_FRONT, 1, ProblemC2[ClassIndex1], 0 );
|
|||
|
switch (ClassIndex1)
|
|||
|
{
|
|||
|
case 0:StockFontBuffer( x + 460, y + 215, FONT_PRIO_FRONT, 1, ProblemC2_1[ClassIndex2], 0 );break;
|
|||
|
case 1:StockFontBuffer( x + 460, y + 215, FONT_PRIO_FRONT, 1, ProblemC2_2[ClassIndex2], 0 );break;
|
|||
|
case 2:StockFontBuffer( x + 460, y + 215, FONT_PRIO_FRONT, 1, ProblemC2_3[ClassIndex2], 0 );break;
|
|||
|
case 3:StockFontBuffer( x + 460, y + 215, FONT_PRIO_FRONT, 1, ProblemC2_4[ClassIndex2], 0 );break;
|
|||
|
case 4:StockFontBuffer( x + 460, y + 215, FONT_PRIO_FRONT, 1, ProblemC2_5[ClassIndex2], 0 );break;
|
|||
|
case 5:StockFontBuffer( x + 460, y + 215, FONT_PRIO_FRONT, 1, ProblemC2_6[ClassIndex2], 0 );break;
|
|||
|
case 10:StockFontBuffer( x + 460, y + 215, FONT_PRIO_FRONT, 1, ProblemC2_7[ClassIndex2], 0 );break;
|
|||
|
default: break;
|
|||
|
}
|
|||
|
if ((ClassIndex1==2&&ClassIndex2==0)||ClassIndex1==6)
|
|||
|
StockFontBuffer( x + 20,y + 250, FONT_PRIO_FRONT,1,"ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD>",0);
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD>user<65>а<EFBFBD><D0B0>°<EFBFBD>ť <20><>ť<EFBFBD><C5A5>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
for ( i = 0 ; i < DEF_BUTTON_TOTAL ; i ++ )
|
|||
|
{
|
|||
|
if (btnState[i])
|
|||
|
btnId[i] = StockDispBuffer( x + BUTTON_XY[i][0], y + BUTTON_XY[i][1] , DISP_PRIO_IME3, DOWN_ANIM_ID[i] , 2);
|
|||
|
else
|
|||
|
btnId[i] = StockDispBuffer( x + BUTTON_XY[i][0], y + BUTTON_XY[i][1] , DISP_PRIO_IME3, UP_ANIM_ID[i] , 2);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else if (onlinegmProcNo == 1) // ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (pActOnlineGmWnd==NULL){
|
|||
|
x = (lpDraw->xSize - 7*64)/2;
|
|||
|
y = (lpDraw->ySize - 8*48)/2;
|
|||
|
|
|||
|
pActOnlineGmWnd = MakeWindowDisp( x , y , 4+3 , 6+2 ,NULL,0, FALSE);//( 210 , 120, 10 , 10 , NULL , 0 );
|
|||
|
pNowStrBuffer = NULL ;
|
|||
|
}
|
|||
|
else if (pActOnlineGmWnd->hp > 0)
|
|||
|
{
|
|||
|
x = pActOnlineGmWnd->x;
|
|||
|
y = pActOnlineGmWnd->y;
|
|||
|
page = &ProHelp_page[page_index];
|
|||
|
desc = Prohelp_Index[page_index]+page->desc_index;
|
|||
|
desc_index = page->desc_index;
|
|||
|
|
|||
|
id = selGraId( HelpId, sizeof( HelpId )/sizeof( int ) );
|
|||
|
if (HelpidState[0]>=0)
|
|||
|
HelpId[0] = StockDispBuffer( x+207+32-160, y+352, DISP_PRIO_IME3, CG_FIELD_HELP_PREPAGE+btnState[1], 2);
|
|||
|
else
|
|||
|
StockDispBuffer( x+207+32-160, y+352, DISP_PRIO_IME3, CG_FIELD_HELP_PREPAGE+btnState[1], 1);
|
|||
|
|
|||
|
if (HelpidState[1]>=0)
|
|||
|
HelpId[1] = StockDispBuffer( x+277+32-100, y+352, DISP_PRIO_IME3, CG_FIELD_HELP_NEXTPAGE+btnState[2], 2);
|
|||
|
else
|
|||
|
StockDispBuffer( x+277+32-100, y+352, DISP_PRIO_IME3, CG_FIELD_HELP_NEXTPAGE+btnState[2], 1);
|
|||
|
|
|||
|
HelpId[2] = StockDispBuffer( x+347+32-40, y+352, DISP_PRIO_IME3, CG_FIELD_HELP_EXIT+btnState[3], 2);
|
|||
|
|
|||
|
if((mouse.onceState & MOUSE_LEFT_CRICK) && HitDispNo == HelpId[0]){ //<2F><>һҳ
|
|||
|
if (page_index){
|
|||
|
page_index--;
|
|||
|
page = &ProHelp_page[page_index]; //ָ<><D6B8><EFBFBD><EFBFBD>һҳ
|
|||
|
desc_index = page->desc_index;
|
|||
|
desc = Prohelp_Index[page_index]+desc_index;//ָ<><D6B8><EFBFBD><EFBFBD>һҳ<D2BB><D2B3>desc<73><63>ͷ
|
|||
|
}
|
|||
|
}
|
|||
|
if((mouse.onceState & MOUSE_LEFT_CRICK) && HitDispNo == HelpId[1]){ //<2F><>һҳ
|
|||
|
if (page_index < 4-1)
|
|||
|
{
|
|||
|
page_index++;
|
|||
|
page = &ProHelp_page[page_index]; //ָ<><D6B8><EFBFBD><EFBFBD>һҳ
|
|||
|
desc_index = page->desc_index;
|
|||
|
desc = Prohelp_Index[page_index]+desc_index;//ָ<><D6B8><EFBFBD><EFBFBD>һҳ<D2BB><D2B3>desc<73><63>ͷ
|
|||
|
}
|
|||
|
}
|
|||
|
HelpidState[0] = page_index==0 ? -2 : 0 ;
|
|||
|
HelpidState[1] = page_index==4-1 ? -2 : 0 ;
|
|||
|
|
|||
|
if((mouse.onceState & MOUSE_LEFT_CRICK) && HitDispNo == HelpId[2])
|
|||
|
{
|
|||
|
DeathAction( pActOnlineGmWnd);
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
onlinegmProcNo = 0 ;
|
|||
|
ResetFlag = FALSE;
|
|||
|
return 0 ;
|
|||
|
}
|
|||
|
for( i = 0; i < page->desc_num; i++){
|
|||
|
StockFontBuffer( x+30+5 , y+i*25+10, FONT_PRIO_FRONT, desc->color, desc->description, 0);
|
|||
|
desc++;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else if (onlinegmProcNo == 2) //cyg <><D7BC><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD>Ӵ<EFBFBD>
|
|||
|
{
|
|||
|
if (pActOnlineGmWnd==NULL){
|
|||
|
x = (lpDraw->xSize - 5*64)/2;
|
|||
|
y = (lpDraw->ySize - 5*48)/2;
|
|||
|
|
|||
|
pActOnlineGmWnd = MakeWindowDisp( x , y , 5 , 5 ,NULL,0, FALSE);
|
|||
|
pNowStrBuffer = NULL ;
|
|||
|
}
|
|||
|
else if (pActOnlineGmWnd->hp > 0)
|
|||
|
{
|
|||
|
x = pActOnlineGmWnd->x;
|
|||
|
y = pActOnlineGmWnd->y;
|
|||
|
MakeHitBox( x + 36,y + 238-85-35,x + 40,y + 238-85+35, DISP_PRIO_BOX );
|
|||
|
MakeHitBox( x + 156+18,y + 238-85-35,x + 156+18,y + 238-85+35, DISP_PRIO_BOX );
|
|||
|
id = selGraId( btnId, sizeof( btnId )/sizeof( int ) );
|
|||
|
int SureBtn[2];
|
|||
|
SureBtn[0] = StockDispBuffer( x + 70 , y + 250-85+35 , DISP_PRIO_IME3, ONLINEGM_SURE_U , 1);
|
|||
|
SureBtn[1] = StockDispBuffer( x + 190+18 , y + 250-85+35 , DISP_PRIO_IME3, ONLINEGM_CHANCEL , 1);
|
|||
|
sprintf_s( buf ,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѶϢ->");
|
|||
|
StockFontBuffer( x + 20 , y+ 20+60 , FONT_PRIO_FRONT, 4 , buf , 0 );
|
|||
|
|
|||
|
if( TotalAddValue >= DEF_MAX_ADD_VALUE ){ // <20><>û<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><F3BDA8B5><EFBFBD>
|
|||
|
sprintf_s( buf ,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>20<EFBFBD><EFBFBD>!!");
|
|||
|
StockFontBuffer( x + 235 , y + 150 , FONT_PRIO_FRONT, 4 , buf , 0 );
|
|||
|
sprintf_s( buf ,"<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⵥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>лл",TotalAddValue );
|
|||
|
StockFontBuffer( x + 235 , y + 185 , FONT_PRIO_FRONT, 4 , buf , 0 );
|
|||
|
if((mouse.onceState & MOUSE_LEFT_CRICK) && HitDispNo == SureBtn[0])
|
|||
|
{
|
|||
|
DeathAction( pActOnlineGmWnd);
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
onlinegmProcNo = 0 ;
|
|||
|
ResetFlag = FALSE;
|
|||
|
return 0 ;
|
|||
|
}
|
|||
|
}else{
|
|||
|
if (ClassIndex==1){
|
|||
|
sprintf_s( buf ,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-> %s",ProblemClass[ClassIndex]);
|
|||
|
StockFontBuffer( x + 20 , y + 20+10, FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
sprintf_s( buf ,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-> %s",ProblemC1[ClassIndex1]);
|
|||
|
StockFontBuffer( x + 20 , y + 20+35, FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
}else{
|
|||
|
sprintf_s( buf ,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-> %s",ProblemClass[ClassIndex]);
|
|||
|
StockFontBuffer( x + 20 , y + 20+10, FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
sprintf_s( buf ,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-> %s",ProblemC2[ClassIndex1]);
|
|||
|
StockFontBuffer( x + 20 , y + 20+35, FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
switch (ClassIndex1)
|
|||
|
{
|
|||
|
case 0: sprintf_s( buf,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD>-> %s",ProblemC2_1[ClassIndex2] );break;
|
|||
|
case 1: sprintf_s( buf,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD>-> %s",ProblemC2_2[ClassIndex2] );break;
|
|||
|
case 2: sprintf_s( buf,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD>-> %s",ProblemC2_3[ClassIndex2] );break;
|
|||
|
case 3: sprintf_s( buf,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD>-> %s",ProblemC2_4[ClassIndex2] );break;
|
|||
|
case 4: sprintf_s( buf,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD>-> %s",ProblemC2_5[ClassIndex2] );break;
|
|||
|
case 5: sprintf_s( buf,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD>-> %s",ProblemC2_6[ClassIndex2] );break;
|
|||
|
case 10: sprintf_s( buf,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD>-> %s",ProblemC2_7[ClassIndex2] );break;
|
|||
|
default: buf[0] = '\0';
|
|||
|
}
|
|||
|
StockFontBuffer( x + 220-25 , y + 120+60, FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
sprintf_s( buf ,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-> %4d<34><64>%02d<32><64>%02d<32><64>%02dʱ",okY,okM,okD,okH);
|
|||
|
StockFontBuffer( x + 220-25 , y + 120+85, FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
sprintf_s( buf ,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-> %4d<34><64>%02d<32><64>%02d<32><64>%02dʱ",wrongY,wrongM,wrongD,wrongH );
|
|||
|
StockFontBuffer( x + 220-25 , y + 120+110, FONT_PRIO_FRONT, 1 , buf , 0 );
|
|||
|
}
|
|||
|
|
|||
|
if( lstrlen(InputHistory.str[InputHistory.lockNo+1]) == 0 && lstrlen(SubBuffer.buffer) == 0 ){
|
|||
|
sprintf_s( buf ,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
StockFontBuffer( x + 20 , y + 120, FONT_PRIO_FRONT, 4 , buf , 0 );
|
|||
|
if((mouse.onceState & MOUSE_LEFT_CRICK) && HitDispNo == SureBtn[0])
|
|||
|
{
|
|||
|
DeathAction( pActOnlineGmWnd);
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
onlinegmProcNo = 0 ;
|
|||
|
ResetFlag = FALSE;
|
|||
|
return 0 ;
|
|||
|
}
|
|||
|
}else if(ClassIndex==0&&(!okY||!okM||!okD||!wrongY||!wrongM||!wrongD)){ //fix
|
|||
|
sprintf_s( buf ,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]<5D><>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]");
|
|||
|
StockFontBuffer( x + 280-10+2 , y + 260 , FONT_PRIO_FRONT, 4 , buf , 0 );
|
|||
|
if((mouse.onceState & MOUSE_LEFT_CRICK) && HitDispNo == SureBtn[0])
|
|||
|
{
|
|||
|
DeathAction( pActOnlineGmWnd);
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
onlinegmProcNo = 0 ;
|
|||
|
ResetFlag = FALSE;
|
|||
|
return 0 ;
|
|||
|
}
|
|||
|
}else{
|
|||
|
if((mouse.onceState & MOUSE_LEFT_CRICK) && HitDispNo == SureBtn[0])
|
|||
|
{
|
|||
|
ResetFlag = FALSE;
|
|||
|
ContentBuf[0] = '\0';
|
|||
|
for ( i=0;i<InputHistory.addNo-1;i++)
|
|||
|
strcat_s(ContentBuf,InputHistory.str[InputHistory.newNo-(InputHistory.addNo-1)+i]); //<2F><><EFBFBD><EFBFBD>ÿһ<C3BF><D2BB>
|
|||
|
strcat_s(ContentBuf,SubBuffer.buffer);
|
|||
|
sprintf_s( InputBuffer,"%s",ContentBuf);
|
|||
|
|
|||
|
if (ClassIndex==1){ // һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> û<><C3BB><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
ProblemType=0;
|
|||
|
sprintf_s( DataBuffer,"&star=%s&earth=%s&qtype1=%s&msource=19",gmgroup[nServerGroup].name,gmsv[selectServerIndex].name,ProblemC1[ClassIndex1]);
|
|||
|
}else{ // <20>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD>
|
|||
|
ProblemType=1;
|
|||
|
char tempbuf[60];
|
|||
|
sprintf_s( tempbuf,"%s",ProblemC2[ClassIndex1]);
|
|||
|
switch (ClassIndex1)
|
|||
|
{
|
|||
|
case 0: sprintf_s( tempbuf,"%s,%s",tempbuf,ProblemC2_1[ClassIndex2] );break;
|
|||
|
case 1: sprintf_s( tempbuf,"%s,%s",tempbuf,ProblemC2_2[ClassIndex2] );break;
|
|||
|
case 2: sprintf_s( tempbuf,"%s,%s",tempbuf,ProblemC2_3[ClassIndex2] );break;
|
|||
|
case 3: sprintf_s( tempbuf,"%s,%s",tempbuf,ProblemC2_4[ClassIndex2] );break;
|
|||
|
case 4: sprintf_s( tempbuf,"%s,%s",tempbuf,ProblemC2_5[ClassIndex2] );break;
|
|||
|
case 5: sprintf_s( tempbuf,"%s,%s",tempbuf,ProblemC2_6[ClassIndex2] );break;
|
|||
|
case 10: sprintf_s( tempbuf,"%s,%s",tempbuf,ProblemC2_7[ClassIndex2] );break;
|
|||
|
default: break;
|
|||
|
}
|
|||
|
#ifdef _CHAR_PROFESSION
|
|||
|
if(lstrlen(pc.profession_class_name) == NULL){
|
|||
|
strcpy(pc.profession_class_name,"<EFBFBD><EFBFBD>");
|
|||
|
}
|
|||
|
#endif
|
|||
|
char side[10];
|
|||
|
if(sCharSide == 1)
|
|||
|
strcpy(side,"<EFBFBD><EFBFBD>");
|
|||
|
else
|
|||
|
strcpy(side,"<EFBFBD><EFBFBD>");
|
|||
|
#ifdef _CHAR_PROFESSION
|
|||
|
sprintf_s( DataBuffer,"&SY=%d&SM=%d&SD=%d&EY=%d&EM=%d&ED=%d&datarighttime=%d&datawrongtime=%d&msource=18&exceptcont=%s&G1grade1=%d&G1grade2=%d&G1Loc1=%s&G1Job1=%s&star=%s&G1gname1=%s",okY,okM,okD,wrongY,wrongM,wrongD,okH,wrongH,tempbuf,pc.transmigration,pc.level,side,pc.profession_class_name,gmgroup[nServerGroup].name,pc.name);
|
|||
|
#else
|
|||
|
sprintf_s( DataBuffer,"&SY=%d&SM=%d&SD=%d&EY=%d&EM=%d&ED=%d&datarighttime=%d&datawrongtime=%d&msource=18&exceptcont=%s&G1grade1=%d&G1grade2=%d&G1Loc1=%s&G1Job1=%s&G1gname1=%s",okY,okM,okD,wrongY,wrongM,wrongD,okH,wrongH,tempbuf,pc.transmigration,pc.level,side,gmgroup[nServerGroup].name,pc.name);
|
|||
|
#endif
|
|||
|
}
|
|||
|
DeathAction( pActOnlineGmWnd);
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
DWORD dwThreadID,dwThrdParam = 1;
|
|||
|
GMHandle = CreateThread(NULL, 0, OnlineGmThread,&dwThrdParam,0,&dwThreadID);
|
|||
|
if(GMHandle == NULL)
|
|||
|
{
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵϵͳ<EFBFBD><EFBFBD>Դ<EFBFBD>Ѳ<EFBFBD><EFBFBD><EFBFBD>!!",FONT_PAL_RED);
|
|||
|
StockChatBufferLine("<EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>!",FONT_PAL_RED);
|
|||
|
ResetFlag = TRUE;
|
|||
|
DeathAction( pActOnlineGmWnd);
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
return 1;
|
|||
|
}
|
|||
|
onlinegmProcNo = 0 ;
|
|||
|
return 0 ;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
if((mouse.onceState & MOUSE_LEFT_CRICK) && HitDispNo == SureBtn[1]) //ȡ<><C8A1>ť
|
|||
|
{
|
|||
|
DeathAction( pActOnlineGmWnd);
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
onlinegmProcNo = 0 ;
|
|||
|
ResetFlag = FALSE;
|
|||
|
return 0 ;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
if(CheckMenuFlag()){
|
|||
|
ResetFlag = TRUE;
|
|||
|
DeathAction( pActOnlineGmWnd);
|
|||
|
pActOnlineGmWnd = NULL;
|
|||
|
return 1;
|
|||
|
}
|
|||
|
return 0 ;
|
|||
|
}
|
|||
|
//************************************************
|
|||
|
//<2F><>ʽ : DNSר<53>ú<EFBFBD>ʽ
|
|||
|
//<2F>ش<EFBFBD>ֵ : TRUE --- ת<><D7AA><EFBFBD>ɹ<EFBFBD>
|
|||
|
// FALSE --- ת<><D7AA>ʧ<EFBFBD><CAA7>
|
|||
|
//************************************************
|
|||
|
BOOL QueryOnlineGmIP(char HostName[])
|
|||
|
{
|
|||
|
PHOSTENT info;
|
|||
|
|
|||
|
// strcpy(OnlineGmIP,"10.0.1.60"); // ֱ<>Ӹ<EFBFBD>ip,<2C><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>code
|
|||
|
// return TRUE;
|
|||
|
|
|||
|
if( (info = gethostbyname(HostName)) == NULL)
|
|||
|
return FALSE;
|
|||
|
else{
|
|||
|
OnlineGmIP = inet_ntoa(*(struct in_addr *)*info->h_addr_list);
|
|||
|
}
|
|||
|
return TRUE;
|
|||
|
|
|||
|
}
|
|||
|
#endif
|