StoneAge/gmsv/include/lssproto_serv.h
2018-08-07 00:51:35 -07:00

376 lines
12 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _PROTOCOL_H_
#define _PROTOCOL_H_
#include "lssproto_util.h" // for StoneAge
#ifdef MAXLSRPCARGS
#if ( MAXLSRPCARGS <= ( 13 + 1 ) )
#undef MAXLSRPCARGS
#define MAXLSRPCARGS ( 13 + 1 )
#endif
#else
#define MAXLSRPCARGS ( 13 + 1 )
#endif
int lssproto_InitServer(int (*writefunc)(int,char*,int) , int worksiz );
void lssproto_SetServerLogFiles( char *read , char *write );
void lssproto_CleanupServer( void );
int lssproto_ServerDispatchMessage(int fd, char *encoded);
#define SEPARATOR ";"
#define LSSPROTO_W_RECV 0
#define LSSPROTO_W2_RECV 1
#define LSSPROTO_XYD_SEND 2
#define LSSPROTO_EV_RECV 3
#define LSSPROTO_EV_SEND 4
#define LSSPROTO_EN_RECV 5
#define LSSPROTO_DU_RECV 6
#define LSSPROTO_EN_SEND 7
#define LSSPROTO_EO_RECV 8
#define LSSPROTO_BU_RECV 9
#define LSSPROTO_JB_RECV 10
#define LSSPROTO_LB_RECV 11
#define LSSPROTO_RS_SEND 12
#define LSSPROTO_RD_SEND 13
#define LSSPROTO_B_RECV 14
#define LSSPROTO_B_SEND 15
#define LSSPROTO_SKD_RECV 16
#define LSSPROTO_ID_RECV 17
#define LSSPROTO_PI_RECV 18
#define LSSPROTO_DI_RECV 19
#define LSSPROTO_DG_RECV 20
#define LSSPROTO_DP_RECV 21
#define LSSPROTO_I_SEND 22
#define LSSPROTO_MI_RECV 23
#define LSSPROTO_SI_SEND 24
#define LSSPROTO_MSG_RECV 25
#define LSSPROTO_MSG_SEND 26
#define LSSPROTO_PMSG_RECV 27
#define LSSPROTO_PME_SEND 28
#define LSSPROTO_AB_RECV 29
#define LSSPROTO_AB_SEND 30
#define LSSPROTO_ABI_SEND 31
#define LSSPROTO_DAB_RECV 32
#define LSSPROTO_AAB_RECV 33
#define LSSPROTO_L_RECV 34
#define LSSPROTO_TK_RECV 35
#define LSSPROTO_TK_SEND 36
#define LSSPROTO_MC_SEND 37
#define LSSPROTO_M_RECV 38
#define LSSPROTO_M_SEND 39
#define LSSPROTO_C_RECV 40
#define LSSPROTO_C_SEND 41
#define LSSPROTO_CA_SEND 42
#define LSSPROTO_CD_SEND 43
#define LSSPROTO_R_SEND 44
#define LSSPROTO_S_RECV 45
#define LSSPROTO_S_SEND 46
#define LSSPROTO_D_SEND 47
#define LSSPROTO_FS_RECV 48
#define LSSPROTO_FS_SEND 49
#define LSSPROTO_HL_RECV 50
#define LSSPROTO_HL_SEND 51
#define LSSPROTO_PR_RECV 52
#define LSSPROTO_PR_SEND 53
#define LSSPROTO_KS_RECV 54
#define LSSPROTO_KS_SEND 55
#define LSSPROTO_AC_RECV 56
#define LSSPROTO_MU_RECV 57
#define LSSPROTO_PS_RECV 58
#define LSSPROTO_PS_SEND 59
#define LSSPROTO_ST_RECV 60
#define LSSPROTO_DT_RECV 61
#define LSSPROTO_FT_RECV 62
#define LSSPROTO_SKUP_SEND 63
#define LSSPROTO_SKUP_RECV 64
#define LSSPROTO_KN_RECV 65
#define LSSPROTO_WN_SEND 66
#define LSSPROTO_WN_RECV 67
#define LSSPROTO_EF_SEND 68
#define LSSPROTO_SE_SEND 69
#define LSSPROTO_SP_RECV 70
#define LSSPROTO_CLIENTLOGIN_RECV 71
#define LSSPROTO_CLIENTLOGIN_SEND 72
#define LSSPROTO_CREATENEWCHAR_RECV 73
#define LSSPROTO_CREATENEWCHAR_SEND 74
#define LSSPROTO_CHARDELETE_RECV 75
#define LSSPROTO_CHARDELETE_SEND 76
#define LSSPROTO_CHARLOGIN_RECV 77
#define LSSPROTO_CHARLOGIN_SEND 78
#define LSSPROTO_CHARLIST_RECV 79
#define LSSPROTO_CHARLIST_SEND 80
#define LSSPROTO_CHARLOGOUT_RECV 81
#define LSSPROTO_CHARLOGOUT_SEND 82
#define LSSPROTO_PROCGET_RECV 83
#define LSSPROTO_PROCGET_SEND 84
#define LSSPROTO_PLAYERNUMGET_RECV 85
#define LSSPROTO_PLAYERNUMGET_SEND 86
#define LSSPROTO_ECHO_RECV 87
#define LSSPROTO_ECHO_SEND 88
#define LSSPROTO_SHUTDOWN_RECV 89
#define LSSPROTO_NU_SEND 90
#define LSSPROTO_TD_RECV 91
#define LSSPROTO_TD_SEND 92
#define LSSPROTO_FM_SEND 93
#define LSSPROTO_FM_RECV 94
#define LSSPROTO_WO_SEND 95
#define LSSPROTO_PETST_RECV 96
#define LSSPROTO_BM_RECV 97 // _BLACK_MARKET
#ifdef _MIND_ICON
#define LSSPROTO_MA_RECV 98
#endif
#ifdef _FIX_DEL_MAP // WON ADD <20><><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>ͼ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>
#define LSSPROTO_DM_RECV 99
#endif
#ifdef _ITEM_CRACKER
#define LSSPROTO_IC_SEND 100
#endif
#ifdef _MAGIC_NOCAST // <20><><EFBFBD><EFBFBD>:<3A><>Ĭ
#define LSSPROTO_NC_SEND 101
#endif
#ifdef _CHECK_GAMESPEED
#define LSSPROTO_CS_RECV 103 //<2F><><EFBFBD><EFBFBD>̽<EFBFBD><CCBD>
#define LSSPROTO_CS_SEND 104 //<2F><><EFBFBD><EFBFBD>̽<EFBFBD><CCBD>
#endif
#ifdef _TEAM_KICKPARTY
#define LSSPROTO_KTEAM_RECV 106
#endif
#ifdef _PETS_SELECTCON
#define LSSPROTO_PETST_SEND 107
#endif
#ifdef _NEWREQUESTPROTOCOL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><><EFBFBD><EFBFBD>ProtocolҪ<6C><D2AA>ϸ<EFBFBD><CFB8>
#define LSSPROTO_RESIST_RECV 108
#define LSSPROTO_RESIST_SEND 109
#endif
#ifdef _OUTOFBATTLESKILL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><>ս<EFBFBD><D5BD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Protocol
#define LSSPROTO_BATTLESKILL_RECV 110
#define LSSPROTO_BATTLESKILL_SEND 111
#endif
#ifdef _CHATROOMPROTOCOL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
#define LSSPROTO_CHATROOM_RECV 112
#define LSSPROTO_CHATROOM_SEND 113
#endif
#define LSSPROTO_SPET_RECV 114 // Robin <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define LSSPROTO_SPET_SEND 115
#ifdef _STREET_VENDOR
#define LSSPROTO_STREET_VENDOR_RECV 116 // <20><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>
#define LSSPROTO_STREET_VENDOR_SEND 117
#endif
#ifdef _RIGHTCLICK
#define LSSPROTO_RCLICK_RECV 118
#define LSSPROTO_RCLICK_SEND 119
#endif
#ifdef _JOBDAILY
#define LSSPROTO_JOBDAILY_SEND 120 // CYG<59><47><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
#define LSSPROTO_JOBDAILY_RECV 121
#endif
#ifdef _TEACHER_SYSTEM
#define LSSPROTO_TEACHER_SYSTEM_RECV 122 // <20><>ʦ<EFBFBD><CAA6><EFBFBD><EFBFBD>
#define LSSPROTO_TEACHER_SYSTEM_SEND 123
#endif
#ifdef _ADD_STATUS_2
#define LSSPROTO_S2_RECV 124
#define LSSPROTO_S2_SEND 125
#endif
void lssproto_W_recv(int fd,int x,int y,char* direction);
void lssproto_W2_recv(int fd,int x,int y,char* direction);
void lssproto_XYD_send(int fd,int x,int y,int dir);
void lssproto_EV_recv(int fd,int event,int seqno,int x,int y,int dir);
void lssproto_EV_send(int fd,int seqno,int result);
void lssproto_EN_recv(int fd,int x,int y);
void lssproto_DU_recv(int fd,int x,int y);
void lssproto_EN_send(int fd,int result,int field);
void lssproto_EO_recv(int fd,int dummy);
void lssproto_BU_recv(int fd,int dummy);
void lssproto_JB_recv(int fd,int x,int y);
void lssproto_LB_recv(int fd,int x,int y);
void lssproto_RS_send(int fd,char* data);
void lssproto_RD_send(int fd,char* data);
void lssproto_B_recv(int fd,char* command);
void lssproto_B_send(int fd,char* command);
void lssproto_SKD_recv(int fd,int dir,int index);
void lssproto_ID_recv(int fd,int x,int y,int haveitemindex,int toindex);
void lssproto_PI_recv(int fd,int x,int y,int dir);
void lssproto_DI_recv(int fd,int x,int y,int itemindex);
void lssproto_DG_recv(int fd,int x,int y,int amount);
void lssproto_DP_recv(int fd,int x,int y,int petindex);
void lssproto_I_send(int fd,char* data);
void lssproto_MI_recv(int fd,int fromindex,int toindex);
void lssproto_SI_send(int fd,int fromindex,int toindex);
void lssproto_MSG_recv(int fd,int index,char* message,int color);
void lssproto_MSG_send(int fd,int aindex,char* text,int color);
void lssproto_PMSG_recv(int fd,int index,int petindex,int itemindex,char* message,int color);
void lssproto_PME_send(int fd,int objindex,int graphicsno,int x,int y,int dir,int flg,int no,char* cdata);
void lssproto_AB_recv(int fd);
void lssproto_AB_send(int fd,char* data);
void lssproto_ABI_send(int fd,int num,char* data);
void lssproto_DAB_recv(int fd,int index);
void lssproto_AAB_recv(int fd,int x,int y);
void lssproto_L_recv(int fd,int dir);
void lssproto_TK_recv(int fd,int x,int y,char* message,int color,int area);
void lssproto_TK_send(int fd,int index,char* message,int color);
void lssproto_MC_send(int fd,int fl,int x1,int y1,int x2,int y2,int tilesum,int objsum,int eventsum,char* data);
void lssproto_M_recv(int fd,int fl,int x1,int y1,int x2,int y2);
void lssproto_M_send(int fd,int fl,int x1,int y1,int x2,int y2,char* data);
void lssproto_C_recv(int fd,int index);
void lssproto_C_send(int fd,char* data);
void lssproto_CA_send(int fd,char* data);
void lssproto_CD_send(int fd,char* data);
void lssproto_R_send(int fd,char* data);
void lssproto_S_recv(int fd,char* category);
void lssproto_S_send(int fd,char* data);
void lssproto_D_send(int fd,int category,int dx,int dy,char* data);
void lssproto_FS_recv(int fd,int flg);
void lssproto_FS_send(int fd,int flg);
void lssproto_HL_recv(int fd,int flg);
void lssproto_HL_send(int fd,int flg);
void lssproto_PR_recv(int fd,int x,int y,int request);
void lssproto_PR_send(int fd,int request,int result);
void lssproto_KS_recv(int fd,int petarray);
void lssproto_KS_send(int fd,int petarray,int result);
#ifdef _STANDBYPET
void lssproto_SPET_recv(int fd,int standbypet);
void lssproto_SPET_send(int fd,int standbypet,int result);
#endif
void lssproto_AC_recv(int fd,int x,int y,int actionno);
void lssproto_MU_recv(int fd,int x,int y,int array,int toindex);
void lssproto_PS_recv(int fd,int havepetindex,int havepetskill,int toindex,char* data);
void lssproto_PS_send(int fd,int result,int havepetindex,int havepetskill,int toindex);
void lssproto_ST_recv(int fd,int titleindex);
void lssproto_DT_recv(int fd,int titleindex);
void lssproto_FT_recv(int fd,char* data);
void lssproto_SKUP_send(int fd,int point);
void lssproto_SKUP_recv(int fd,int skillid);
void lssproto_KN_recv(int fd,int havepetindex,char* data);
void lssproto_WN_send(int fd,int windowtype,int buttontype,int seqno,int objindex,char* data);
void lssproto_WN_recv(int fd,int x,int y,int seqno,int objindex,int select,char* data);
void lssproto_EF_send(int fd,int effect,int level,char* option);
void lssproto_SE_send(int fd,int x,int y,int senumber,int sw);
void lssproto_SP_recv(int fd,int x,int y,int dir);
void lssproto_ClientLogin_recv(int fd,char* cdkey,char* passwd);
void lssproto_ClientLogin_send(int fd,char* result);
void lssproto_CreateNewChar_recv(int fd,int dataplacenum,char* charname,int imgno,int faceimgno,int vital,int str,int tgh,int dex,int earth,int water,int fire,int wind,int hometown);
void lssproto_CreateNewChar_send(int fd,char* result,char* data);
void lssproto_CharDelete_recv(int fd,char* charname);
void lssproto_CharDelete_send(int fd,char* result,char* data);
void lssproto_CharLogin_recv(int fd,char* charname);
void lssproto_CharLogin_send(int fd,char* result,char* data);
#ifdef _PKSEVER_VER
void lssproto_CharList_recv( int fd, int star);
#else
void lssproto_CharList_recv(int fd);
#endif
void lssproto_CharList_send(int fd,char* result,char* data);
void lssproto_CharLogout_recv(int fd, int flg);
void lssproto_CharLogout_send(int fd,char* result,char* data);
void lssproto_ProcGet_recv(int fd);
void lssproto_ProcGet_send(int fd,char* data);
void lssproto_PlayerNumGet_recv(int fd);
void lssproto_PlayerNumGet_send(int fd,int logincount,int player);
void lssproto_Echo_recv(int fd,char* test);
void lssproto_Echo_send(int fd,char* test);
void lssproto_Shutdown_recv(int fd,char* passwd,int min);
void lssproto_TD_send(int fd, int index, char* message);
void lssproto_TD_recv(int fd, char* message);
#ifdef _CHATROOMPROTOCOL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
void lssproto_CHATROOM_recv(int fd , char *data) ;
void lssproto_CHATROOM_send(int fd , char* message ) ;
#endif
#ifdef _NEWREQUESTPROTOCOL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><><EFBFBD><EFBFBD>ProtocolҪ<6C><D2AA>ϸ<EFBFBD><CFB8>
void lssproto_RESIST_recv(int fd ) ;
void lssproto_RESIST_send(int fd , char* message ) ;
#endif
#ifdef _OUTOFBATTLESKILL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><>ս<EFBFBD><D5BD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Protocol
void lssproto_BATTLESKILL_recv(int fd, int iNum) ;
void lssproto_BATTLESKILL_send(int fd , char* message ) ;
#endif
void lssproto_NU_send(int fd, int nu);
void lssproto_FM_send(int fd, char* message);
void lssproto_FM_recv(int fd, char* message);
void lssproto_WO_send(int fd,int effect);
void lssproto_PETST_recv( int fd, int nPet, int sPet);
void lssproto_BM_recv(int fd, int iindex);
#ifdef _FIX_DEL_MAP // WON ADD <20><><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>ͼ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>
void lssproto_DM_recv( int fd );
#endif
#ifdef _MIND_ICON
void lssproto_MA_recv(int fd, int x, int y, int nMind);
#endif
#ifdef _ITEM_CRACKER
void lssproto_IC_send(int fd, int x, int y);
#endif
#ifdef _ITEM_CRACKER
void lssproto_NC_send(int fd,int flg);
#endif
#ifdef _CHECK_GAMESPEED
void lssproto_CS_recv( int fd );
void lssproto_CS_send( int fd, int deltimes);
#endif
#ifdef _TEAM_KICKPARTY
void lssproto_KTEAM_recv( int fd, int si);
#endif
#ifdef _PETS_SELECTCON
void lssproto_PETS_send(int fd,int petarray,int result);
//#define LSSPROTO_PETST_SEND 107
#endif
#ifdef _STREET_VENDOR
void lssproto_STREET_VENDOR_recv(int fd,char *message);
void lssproto_STREET_VENDOR_send(int fd,char *message);
#endif
#ifdef _RCLICK
void lssproto_RCLICK_recv(int fd, int type, char* data);
void lssproto_RCLICK_send(int fd, int type, char* data);
#endif
#ifdef _JOBDAILY
void lssproto_JOBDAILY_recv(int fd,char *data);
void lssproto_JOBDAILY_send(int fd,char *data);
#endif
#ifdef _TEACHER_SYSTEM
void lssproto_TEACHER_SYSTEM_recv(int fd,char *data);
void lssproto_TEACHER_SYSTEM_send(int fd,char *data);
#endif
#ifdef _ADD_STATUS_2
void lssproto_S2_recv(int fd,char *data);
void lssproto_S2_send(int fd,char *data);
#endif
#endif