StoneAge/gmsv/lssproto_serv.c

3074 lines
80 KiB
C
Raw Normal View History

2018-08-07 15:51:35 +08:00
#include "version.h"
#include "autil.h"
#include "lssproto_serv.h"
#include "common.h" // for StoneAge
#include "log.h" // for StoneAge
#include "char.h"
#include <stdio.h>
#include <time.h>
#include <net.h>
void lssproto_SetServerLogFiles( char *r , char *w )
{
lssproto_strcpysafe( lssproto_writelogfilename , w , sizeof(lssproto_writelogfilename ));
lssproto_strcpysafe( lssproto_readlogfilename , r , sizeof(lssproto_readlogfilename ));
}
int lssproto_InitServer( int (*writefunc)(int,char*,int) , int worksiz )
{
int i;
if( (void*)writefunc == NULL){lssproto.write_func = lssproto_default_write_wrap;} else {lssproto.write_func = writefunc;}
lssproto_AllocateCommonWork(worksiz);
lssproto_stringwrapper = (char**)calloc( 1,sizeof(char*) * MAXLSRPCARGS);
if(lssproto_stringwrapper ==NULL)return -1;
memset( lssproto_stringwrapper , 0, sizeof(char*)*MAXLSRPCARGS);
for(i=0;i<MAXLSRPCARGS;i++){
lssproto_stringwrapper[i] = (char*)calloc( 1, worksiz );
if( lssproto_stringwrapper[i] == NULL){
for(i=0;i<MAXLSRPCARGS;i++){free( lssproto_stringwrapper[i]);return -1;}
}
}
lssproto.ret_work = (char*)calloc( 1,sizeof( worksiz ));
if( lssproto.ret_work == NULL ){ return -1; }
return 0;
}
void lssproto_CleanupServer( void )
{
int i;
free( lssproto.work );
free( lssproto.arraywork);
free( lssproto.escapework );
free( lssproto.val_str);
free( lssproto.token_list );
for(i=0;i<MAXLSRPCARGS;i++){free( lssproto_stringwrapper[i]);}
free( lssproto_stringwrapper );
free( lssproto.ret_work );
}
#define DME() print("<DME(%d)%d:%d>",fd,__LINE__,func)
int lssproto_ServerDispatchMessage(int fd, char *encoded)
{
int func,fieldcount;
char raw[65500];
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
util_DecodeMessage(raw,encoded);
if( !util_SplitMessage(raw,SEPARATOR) ){
print("\nDME1:package=%s\n",raw);
DME(); return -1;
}
if (!util_GetFunctionFromSlice(&func, &fieldcount)) {
logHack(fd,HACK_GETFUNCFAIL);
DME(); return -1;
}
if (func==LSSPROTO_W_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
char direction[65500];
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_destring(4, direction);
util_deint(5, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_W_recv(fd, x, y, direction);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_W2_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
char direction[65500];
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_destring(4, direction);
util_deint(5, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_W2_recv(fd, x, y, direction);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_EV_RECV) {
int checksum=0, checksumrecv;
int event;
int seqno;
int x;
int y;
int dir;
checksum += util_deint(2, &event);
checksum += util_deint(3, &seqno);
checksum += util_deint(4, &x);
checksum += util_deint(5, &y);
checksum += util_deint(6, &dir);
util_deint(7, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_EV_recv(fd, event, seqno, x, y, dir);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_DU_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
util_deint(4, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_DU_recv(fd, x, y);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_EO_RECV) {
int checksum=0, checksumrecv;
int dummy;
checksum += util_deint(2, &dummy);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_EO_recv(fd, dummy);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_BU_RECV) {
int checksum=0, checksumrecv;
int dummy;
checksum += util_deint(2, &dummy);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_BU_recv(fd, dummy);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_JB_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
util_deint(4, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_JB_recv(fd, x, y);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_LB_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
util_deint(4, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_LB_recv(fd, x, y);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_B_RECV) {
int checksum=0, checksumrecv;
char command[65500];
checksum += util_destring(2, command);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_B_recv(fd, command);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_SKD_RECV) {
int checksum=0, checksumrecv;
int dir;
int index;
checksum += util_deint(2, &dir);
checksum += util_deint(3, &index);
util_deint(4, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_SKD_recv(fd, dir, index);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_ID_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
int haveitemindex;
int toindex;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_deint(4, &haveitemindex);
checksum += util_deint(5, &toindex);
util_deint(6, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_ID_recv(fd, x, y, haveitemindex, toindex);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_PI_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
int dir;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_deint(4, &dir);
util_deint(5, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_PI_recv(fd, x, y, dir);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_DI_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
int itemindex;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_deint(4, &itemindex);
util_deint(5, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_DI_recv(fd, x, y, itemindex);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_DG_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
int amount;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_deint(4, &amount);
util_deint(5, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_DG_recv(fd, x, y, amount);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_DP_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
int petindex;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_deint(4, &petindex);
util_deint(5, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_DP_recv(fd, x, y, petindex);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_MI_RECV) {
int checksum=0, checksumrecv;
int fromindex;
int toindex;
checksum += util_deint(2, &fromindex);
checksum += util_deint(3, &toindex);
util_deint(4, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_MI_recv(fd, fromindex, toindex);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_MSG_RECV) {
int checksum=0, checksumrecv;
int index;
char message[65500];
int color;
checksum += util_deint(2, &index);
checksum += util_destring(3, message);
checksum += util_deint(4, &color);
util_deint(5, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_MSG_recv(fd, index, message, color);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_PMSG_RECV) {
int checksum=0, checksumrecv;
int index;
int petindex;
int itemindex;
char message[65500];
int color;
checksum += util_deint(2, &index);
checksum += util_deint(3, &petindex);
checksum += util_deint(4, &itemindex);
checksum += util_destring(5, message);
checksum += util_deint(6, &color);
util_deint(7, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_PMSG_recv(fd, index, petindex, itemindex, message, color);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_AB_RECV) {
int checksum=0, checksumrecv;
util_deint(2, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_AB_recv(fd);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_DAB_RECV) {
int checksum=0, checksumrecv;
int index;
checksum += util_deint(2, &index);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_DAB_recv(fd, index);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_AAB_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
util_deint(4, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_AAB_recv(fd, x, y);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_L_RECV) {
int checksum=0, checksumrecv;
int dir;
checksum += util_deint(2, &dir);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_L_recv(fd, dir);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_TK_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
char message[65500];
int color;
int area;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_destring(4, message);
checksum += util_deint(5, &color);
checksum += util_deint(6, &area);
util_deint(7, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_TK_recv(fd, x, y, message, color, area);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_M_RECV) {
int checksum=0, checksumrecv;
int fl;
int x1;
int y1;
int x2;
int y2;
checksum += util_deint(2, &fl);
checksum += util_deint(3, &x1);
checksum += util_deint(4, &y1);
checksum += util_deint(5, &x2);
checksum += util_deint(6, &y2);
util_deint(7, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_M_recv(fd, fl, x1, y1, x2, y2);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_C_RECV) {
int checksum=0, checksumrecv;
int index;
checksum += util_deint(2, &index);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_C_recv(fd, index);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_S_RECV) {
int checksum=0, checksumrecv;
char category[65500];
checksum += util_destring(2, category);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_S_recv(fd, category);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_FS_RECV) {
int checksum=0, checksumrecv;
int flg;
checksum += util_deint(2, &flg);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_FS_recv(fd, flg);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_HL_RECV) {
int checksum=0, checksumrecv;
int flg;
checksum += util_deint(2, &flg);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_HL_recv(fd, flg);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_PR_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
int request;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_deint(4, &request);
util_deint(5, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_PR_recv(fd, x, y, request);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_KS_RECV) {
int checksum=0, checksumrecv;
int petarray;
checksum += util_deint(2, &petarray);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_KS_recv(fd, petarray);
util_DiscardMessage();
return 0;
}
#ifdef _STANDBYPET
if (func==LSSPROTO_SPET_RECV) {
int checksum=0, checksumrecv;
int standbypet;
checksum += util_deint(2, &standbypet);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_SPET_recv(fd, standbypet);
util_DiscardMessage();
return 0;
}
#endif
#ifdef _RIGHTCLICK
if (func==LSSPROTO_RCLICK_RECV) {
int checksum=0, checksumrecv;
int type;
char data[1024];
checksum += util_deint(2, &type);
checksum += util_destring(3, data);
util_deint(4, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_RCLICK_recv(fd, type, data);
util_DiscardMessage();
return 0;
}
#endif
if (func==LSSPROTO_AC_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
int actionno;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_deint(4, &actionno);
util_deint(5, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_AC_recv(fd, x, y, actionno);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_MU_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
int array;
int toindex;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_deint(4, &array);
checksum += util_deint(5, &toindex);
util_deint(6, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_MU_recv(fd, x, y, array, toindex);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_PS_RECV) {
int checksum=0, checksumrecv;
int havepetindex;
int havepetskill;
int toindex;
char data[65500];
checksum += util_deint(2, &havepetindex);
checksum += util_deint(3, &havepetskill);
checksum += util_deint(4, &toindex);
checksum += util_destring(5, data);
util_deint(6, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_PS_recv(fd, havepetindex, havepetskill, toindex, data);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_ST_RECV) {
int checksum=0, checksumrecv;
int titleindex;
checksum += util_deint(2, &titleindex);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_ST_recv(fd, titleindex);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_DT_RECV) {
int checksum=0, checksumrecv;
int titleindex;
checksum += util_deint(2, &titleindex);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_DT_recv(fd, titleindex);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_FT_RECV) {
int checksum=0, checksumrecv;
char data[65500];
checksum += util_destring(2, data);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_FT_recv(fd, data);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_SKUP_RECV) {
int checksum=0, checksumrecv;
int skillid;
checksum += util_deint(2, &skillid);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_SKUP_recv(fd, skillid);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_KN_RECV) {
int checksum=0, checksumrecv;
int havepetindex;
char data[65500];
checksum += util_deint(2, &havepetindex);
checksum += util_destring(3, data);
util_deint(4, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_KN_recv(fd, havepetindex, data);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_WN_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
int seqno;
int objindex;
int select;
char data[65500];
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_deint(4, &seqno);
checksum += util_deint(5, &objindex);
checksum += util_deint(6, &select);
checksum += util_destring(7, data);
util_deint(8, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_WN_recv(fd, x, y, seqno, objindex, select, data);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_SP_RECV) {
int checksum=0, checksumrecv;
int x;
int y;
int dir;
checksum += util_deint(2, &x);
checksum += util_deint(3, &y);
checksum += util_deint(4, &dir);
util_deint(5, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_SP_recv(fd, x, y, dir);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_CLIENTLOGIN_RECV) {
int checksum=0, checksumrecv;
char cdkey[65500];
char passwd[65500];
strcpy(PersonalKey, _DEFAULT_PKEY);
checksum += util_destring(2, cdkey);
checksum += util_destring(3, passwd);
util_deint(4, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_ClientLogin_recv(fd, cdkey, passwd);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_CREATENEWCHAR_RECV) {
int checksum=0, checksumrecv;
int dataplacenum;
char charname[65500];
int imgno;
int faceimgno;
int vital;
int str;
int tgh;
int dex;
int earth;
int water;
int fire;
int wind;
int hometown;
checksum += util_deint(2, &dataplacenum);
checksum += util_destring(3, charname);
checksum += util_deint(4, &imgno);
checksum += util_deint(5, &faceimgno);
checksum += util_deint(6, &vital);
checksum += util_deint(7, &str);
checksum += util_deint(8, &tgh);
checksum += util_deint(9, &dex);
checksum += util_deint(10, &earth);
checksum += util_deint(11, &water);
checksum += util_deint(12, &fire);
checksum += util_deint(13, &wind);
checksum += util_deint(14, &hometown);
util_deint(15, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_CreateNewChar_recv(fd, dataplacenum, charname, imgno, faceimgno, vital, str, tgh, dex, earth, water, fire, wind, hometown);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_CHARDELETE_RECV) {
int checksum=0, checksumrecv;
char charname[65500];
checksum += util_destring(2, charname);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_CharDelete_recv(fd, charname);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_CHARLOGIN_RECV) {
int checksum=0, checksumrecv;
char charname[65500];
checksum += util_destring(2, charname);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_CharLogin_recv(fd, charname);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_CHARLIST_RECV) {
int checksum=0, checksumrecv;
#ifdef _PKSEVER_VER
int star = 0;
util_deint(2, &checksumrecv);
util_deint(3, &star);
#else
util_deint(2, &checksumrecv);
#endif
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
//#ifdef _PKSEVER_VER
// lssproto_CharList_recv( fd, star);
//#else
lssproto_CharList_recv( fd);
//#endif
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_CHARLOGOUT_RECV) {
int checksum=0, checksumrecv;
int Flg=1;
#ifdef _CHAR_NEWLOGOUT
checksum += util_deint(2, &Flg);
util_deint(3, &checksumrecv);
#else
util_deint(2, &checksumrecv);
#endif
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_CharLogout_recv(fd, Flg);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_PROCGET_RECV) {
int checksum=0, checksumrecv;
strcpy( PersonalKey, _DEFAULT_PKEY);
util_deint(2, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_ProcGet_recv(fd);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_PLAYERNUMGET_RECV) {
int checksum=0, checksumrecv;
util_deint(2, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_PlayerNumGet_recv(fd);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_ECHO_RECV) {
int checksum=0, checksumrecv;
char test[65500];
checksum += util_destring(2, test);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_Echo_recv(fd, test);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_SHUTDOWN_RECV) {
int checksum=0, checksumrecv;
char passwd[65500];
int min;
checksum += util_destring(2, passwd);
checksum += util_deint(3, &min);
util_deint(4, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_Shutdown_recv(fd, passwd, min);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_TD_RECV) {
int checksum=0, checksumrecv;
char message[65500];
checksum += util_destring(2, message);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_TD_recv(fd, message);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_FM_RECV) {
int checksum=0, checksumrecv;
char message[65500];
checksum += util_destring(2, message);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_FM_recv(fd, message);
util_DiscardMessage();
return 0;
}
if (func==LSSPROTO_PETST_RECV) {
int checksum=0, checksumrecv;
int nPet;
int sPet;
checksum += util_deint(2, &nPet);
checksum += util_deint(3, &sPet);
util_deint(4, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_PETST_recv(fd, nPet, sPet);
util_DiscardMessage();
return 0;
}
// _BLACK_MARKET
if (func==LSSPROTO_BM_RECV) {
int checksum=0, checksumrecv;
int iindex;
checksum += util_deint(2, &iindex);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_BM_recv(fd, iindex);
util_DiscardMessage();
return 0;
}
#ifdef _FIX_DEL_MAP // WON ADD <20><><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>ͼ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>
if (func==LSSPROTO_DM_RECV) {
char buffer[2];
buffer[0] = '\0';
lssproto_DM_recv( fd );
util_DiscardMessage();
return 0;
}
#endif
#ifdef _CHECK_GAMESPEED
if (func==LSSPROTO_CS_RECV) {
char buffer[2];
buffer[0] = '\0';
lssproto_CS_recv( fd );
util_DiscardMessage();
return 0;
}
#endif
#ifdef _TEAM_KICKPARTY
if ( func == LSSPROTO_KTEAM_RECV ) {
int checksum = 0, checksumrecv;
int sindex;
checksum += util_deint( 2, &sindex);
util_deint( 3, &checksumrecv);
if(checksum!=checksumrecv){
util_DiscardMessage();
logHack( fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_KTEAM_recv( fd, sindex);
util_DiscardMessage();
return 0;
}
#endif
#ifdef _MIND_ICON
if(func==LSSPROTO_MA_RECV){
int checksum = 0, checksumrecv;
int nMind;
int x, y;
checksum += util_deint( 2, &nMind);
checksum += util_deint( 3, &x);
checksum += util_deint( 4, &y);
util_deint( 5, &checksumrecv);
if(checksum!=checksumrecv){
util_DiscardMessage();
logHack( fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_MA_recv(fd, x, y, nMind);
util_DiscardMessage();
return 0;
}
#endif
#ifdef _CHATROOMPROTOCOL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
if (func==LSSPROTO_CHATROOM_RECV) {
int checksum=0, checksumrecv;
char test[65500];
checksum += util_destring(2, test);
util_deint(3, &checksumrecv);
if (checksum!=checksumrecv) {
util_DiscardMessage();
logHack(fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_CHATROOM_recv(fd, test);
util_DiscardMessage();
return 0;
}
#endif
#ifdef _NEWREQUESTPROTOCOL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><><EFBFBD><EFBFBD>ProtocolҪ<6C><D2AA>ϸ<EFBFBD><CFB8>
if ( func==LSSPROTO_RESIST_RECV ) {
char buffer[2];
buffer[0] = '\0';
lssproto_RESIST_recv( fd );
util_DiscardMessage();
return 0;
}
#endif
#ifdef _OUTOFBATTLESKILL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><>ս<EFBFBD><D5BD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Protocol
if(func==LSSPROTO_BATTLESKILL_RECV){
int checksum = 0, checksumrecv;
int iNum;
checksum += util_deint( 2, &iNum);
util_deint( 3, &checksumrecv);
if(checksum!=checksumrecv){
util_DiscardMessage();
logHack( fd, HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_BATTLESKILL_recv(fd, iNum);
util_DiscardMessage();
return 0;
}
#endif
#ifdef _STREET_VENDOR
if(func == LSSPROTO_STREET_VENDOR_RECV){
int checksum = 0,checksumrecv;
char message[65500];
checksum += util_destring(2,message);
util_deint(3,&checksumrecv);
if(checksum != checksumrecv){
util_DiscardMessage();
logHack(fd,HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_STREET_VENDOR_recv(fd,message);
util_DiscardMessage();
return 0;
}
#endif
#ifdef _JOBDAILY
if(func == LSSPROTO_JOBDAILY_RECV){
int checksum = 0,checksumrecv;
char buffer[16384];
buffer[0] = '\0';
memset(buffer,0,16384); //kkkkkkkkk
checksum += util_destring(2,buffer);
util_deint(3,&checksumrecv);
if(checksum != checksumrecv){
util_DiscardMessage();
logHack(fd,HACK_CHECKSUMERROR);
DME(); return -1;
}
print("\njobdaily:%s ",buffer);
lssproto_JOBDAILY_recv(fd,buffer);
util_DiscardMessage();
return 0;
}
#endif
#ifdef _TEACHER_SYSTEM
if(func == LSSPROTO_TEACHER_SYSTEM_RECV){
int checksum = 0,checksumrecv;
char message[65500];
checksum += util_destring(2,message);
util_deint(3,&checksumrecv);
if(checksum != checksumrecv){
util_DiscardMessage();
logHack(fd,HACK_CHECKSUMERROR);
DME(); return -1;
}
lssproto_TEACHER_SYSTEM_recv(fd,message);
util_DiscardMessage();
return 0;
}
#endif
#ifdef _ADD_STATUS_2
if(func == LSSPROTO_S2_RECV){
return 0;
}
#endif
util_DiscardMessage();
logHack(fd,HACK_NOTDISPATCHED);
DME(); return -1;
}
/*
servertoclient XYD( int x, int y, int dir );
DZ<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>
*/
void lssproto_XYD_send(int fd,int x,int y,int dir)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, x);
checksum += util_mkint(buffer, y);
checksum += util_mkint(buffer, dir);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_XYD_SEND, buffer);
}
void lssproto_EV_send(int fd,int seqno,int result)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, seqno);
checksum += util_mkint(buffer, result);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_EV_SEND, buffer);
}
void lssproto_EN_send(int fd,int result,int field)
{
char buffer[65500];
int checksum=0;
//print(" EN_send ");
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, result);
checksum += util_mkint(buffer, field);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_EN_SEND, buffer);
}
void lssproto_RS_send(int fd,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_RS_SEND, buffer);
}
void lssproto_RD_send(int fd,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_RD_SEND, buffer);
}
void lssproto_B_send(int fd,char* command)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, command);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_B_SEND, buffer);
}
void lssproto_I_send(int fd,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_I_SEND, buffer);
}
void lssproto_SI_send(int fd,int fromindex,int toindex)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, fromindex);
checksum += util_mkint(buffer, toindex);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_SI_SEND, buffer);
}
void lssproto_MSG_send(int fd,int aindex,char* text,int color)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, aindex);
checksum += util_mkstring(buffer, text);
checksum += util_mkint(buffer, color);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_MSG_SEND, buffer);
}
void lssproto_PME_send(int fd,int objindex,int graphicsno,int x,int y,int dir,int flg,int no,char* cdata)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, objindex);
checksum += util_mkint(buffer, graphicsno);
checksum += util_mkint(buffer, x);
checksum += util_mkint(buffer, y);
checksum += util_mkint(buffer, dir);
checksum += util_mkint(buffer, flg);
checksum += util_mkint(buffer, no);
checksum += util_mkstring(buffer, cdata);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_PME_SEND, buffer);
}
void lssproto_AB_send(int fd,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_AB_SEND, buffer);
}
void lssproto_ABI_send(int fd,int num,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, num);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_ABI_SEND, buffer);
}
void lssproto_TK_send(int fd,int index,char* message,int color)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, index);
checksum += util_mkstring(buffer, message);
checksum += util_mkint(buffer, color);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_TK_SEND, buffer);
}
void lssproto_MC_send(int fd,int fl,int x1,int y1,int x2,int y2,int tilesum,int objsum,int eventsum,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, fl);
checksum += util_mkint(buffer, x1);
checksum += util_mkint(buffer, y1);
checksum += util_mkint(buffer, x2);
checksum += util_mkint(buffer, y2);
checksum += util_mkint(buffer, tilesum);
checksum += util_mkint(buffer, objsum);
checksum += util_mkint(buffer, eventsum);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_MC_SEND, buffer);
}
void lssproto_M_send(int fd,int fl,int x1,int y1,int x2,int y2,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, fl);
checksum += util_mkint(buffer, x1);
checksum += util_mkint(buffer, y1);
checksum += util_mkint(buffer, x2);
checksum += util_mkint(buffer, y2);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_M_SEND, buffer);
}
/*
servertoclient C( string data );
(Characters)
<EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CA <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ±<EFBFBD>л<EFBFBD>Ʃئ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD><EFBFBD> C
ƥ<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>
string data
<EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD>Ѩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD>3<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>12<EFBFBD>ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
WHICHTYPE|CHARINDEX|X|Y|DIR|BASEIMG|LEVEL|NAMECOLOR|NAME|SELFTITLE|WALKABLE|HEIGHT|POPUPNAMECOLOR
<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>
WHICHTYPE <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>
typedef enum
{
CHAR_TYPENONE, <EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>ئ<EFBFBD><EFBFBD>
CHAR_TYPEPLAYER, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPEENEMY, <EFBFBD><EFBFBD>
CHAR_TYPEPET, ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPEDOOR, <EFBFBD><EFBFBD>ʧ
CHAR_TYPEBOX ,
CHAR_TYPEMSG , <EFBFBD><EFBFBD>
CHAR_TYPEWARP , <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPESHOP , <EFBFBD><EFBFBD>
CHAR_TYPEHEALER , <EFBFBD>ס<EFBFBD><EFBFBD>¡<EFBFBD>
CHAR_TYPEOLDMAN , Ӯ
CHAR_TYPEROOMADMIN, <EFBFBD><EFBFBD> Dz<EFBFBD><EFBFBD>
CHAR_TYPETOWNPEOPLE, <EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPEDENGON, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPEADM, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPETEMPLE, Temple master
CHAR_TYPESTORYTELLER, <EFBFBD><EFBFBD>Ի
CHAR_TYPERANKING, <EFBFBD><EFBFBD> Dz<EFBFBD>¼<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
CHAR_TYPEOTHERNPC, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ְ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޱ<EFBFBD>ئ<EFBFBD><EFBFBD>ئ<EFBFBD><EFBFBD>NPC
CHAR_TYPEPRINTPASSMAN, <EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC
CHAR_TYPENPCENEMY, <EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>
CHAR_TYPEACTION, ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC
CHAR_TYPEWINDOWMAN, <EFBFBD><EFBFBD>ū<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
CHAR_TYPESAVEPOINT, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPEWINDOWHEALER, <EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󼰼ס<EFBFBD><EFBFBD>¡<EFBFBD>
CHAR_TYPEITEMSHOP, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPESTONESHOP, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
CHAR_TYPEDUELRANKING, DUEL<EFBFBD>¼<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC
CHAR_TYPEWARPMAN, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѩ<EFBFBD><EFBFBD>NPC
CHAR_TYPEEVENT, <EFBFBD><EFBFBD>ì<EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC
CHAR_TYPEMIC, <EFBFBD><EFBFBD>ì<EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC
CHAR_TYPELUCKYMAN, <EFBFBD><EFBFBD>ì<EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC
CHAR_TYPEBUS, Ѩ<EFBFBD><EFBFBD>ƹ<EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPECHARM, <EFBFBD><EFBFBD>ì<EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC
CHAR_TYPENUM,
}CHAR_TYPE;
<EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD>ְ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧NPC֧<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>ף<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> SELFTITLE<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>(CA)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ƥ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>CHARINDEX<EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ<EFBFBD>ë
<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> į<EFBFBD><EFBFBD>BASEIMG<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׻<EFBFBD><EFBFBD><EFBFBD> į<EFBFBD><EFBFBD>LEVEL<EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>
<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ì<EFBFBD><EFBFBD>(0ئ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>У۳𼰰<EFBFBD><EFBFBD><EFBFBD>NPCئ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
WALKABLE<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ëɧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0ئ<EFBFBD><EFBFBD>ɧ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>HEIGHT<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><a href="#escaping">
<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><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>6<EFBFBD>ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
INDEX|X|Y|BASEIMG|LEVEL|ITEM1LINEINFO
ƥ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD> ة<EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƥؤ<EFBFBD>£<EFBFBD>
INDEX<EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ¼<EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD><EFBFBD>INDEXƥؤ<EFBFBD>£<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD> ةë<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>X,Y<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD> ة<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>BASEIMG<EFBFBD><EFBFBD> <EFBFBD> į<EFBFBD><EFBFBD>ITEM1LINEINFO<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>
info<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>CA<EFBFBD><EFBFBD> ئ<EFBFBD>У<EFBFBD>ITEM1LINEINFO<EFBFBD><EFBFBD><a href="#escape"><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>4<EFBFBD>ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
INDEX|X|Y|VALUE
ƥ<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>INDEX,X,Y <EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD> ة<EFBFBD><EFBFBD> Ԫ<EFBFBD><EFBFBD>VALUE <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>1<EFBFBD>ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
INDEX
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ¼<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľئ<EFBFBD>У<EFBFBD>
*/
void lssproto_C_send(int fd,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_C_SEND, buffer);
}
/*
servertoclient CA( string data );
(CharacterAction)
έ<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>1ʧ<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>
string data
CHARINDEX|X|Y|ACTION|PARAM1|PARAM2|PARAM3|PARAM4|....ë<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ѩƥ<EFBFBD>ʿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>PARAM<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>X,Y<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>
ACTION PARAM1 PARAM2
PARAM3 PARAM4
Stand:0 <EFBFBD><EFBFBD>0~7
Walk:1 <EFBFBD><EFBFBD>0~7
Attack:2 <EFBFBD><EFBFBD>0~7
Throw:3 <EFBFBD><EFBFBD>0~7
Damage:4 <EFBFBD><EFBFBD>0~7
Dead:5 <EFBFBD><EFBFBD>0~7
UseMagic:6 <EFBFBD><EFBFBD>0~7
UseItem:7 <EFBFBD><EFBFBD>0~7
Effect:8 <EFBFBD><EFBFBD>0~7 <EFBFBD>ް<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> į
Down:10 (<EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7
Sit:11 (<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7
Hand:12 (<EFBFBD><EFBFBD>ë<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7
Pleasure:13 (<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7
Angry:14 (<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7
Sad:15 ( <EFBFBD>Ƹ<EFBFBD>) <EFBFBD><EFBFBD>0~7
Guard:16 (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7
actionwalk:17 (ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7
nod:18 (<EFBFBD><EFBFBD>ئ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7
actionstand:19 (ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>к̡<EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7
Battle:20 (<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ) <EFBFBD><EFBFBD>0~7 BattleNo(-1 ئ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SideNo HelpNo <EFBFBD><EFBFBD>ئ<EFBFBD>վ<EFBFBD><EFBFBD><EFBFBD>ë<EFBFBD><EFBFBD><EFBFBD><EFBFBD>CA <EFBFBD><EFBFBD><EFBFBD>ݨ<EFBFBD>ئ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׷<EFBFBD> <EFBFBD><EFBFBD>
Leader:21 (<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ) <EFBFBD><EFBFBD>0~7 0: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1: <EFBFBD><EFBFBD>
Watch:22 (<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7 0: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1: <EFBFBD><EFBFBD>
namecolor:23( 󡼰<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ) <EFBFBD><EFBFBD>0~7 󡼰<EFBFBD><EFBFBD> į
Turn:30( <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7
Warp:31(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD>0~7
ACTION<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>
*/
void lssproto_CA_send(int fd,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_CA_SEND, buffer);
}
/*
servertoclient CD( string data );
(CharacterDelete)
data <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>IDë <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>
*/
void lssproto_CD_send(int fd,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_CD_SEND, buffer);
}
/*
<a name="R">servertoclient R( string data );
(Radar)
<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>10<EFBFBD><EFBFBD>ؤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string data
x ,y, kind ,<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>
x,y<EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ¾<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>kind<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>
kind<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
E <EFBFBD><EFBFBD>
P <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
S <EFBFBD><EFBFBD>
G <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
I ʧ<EFBFBD><EFBFBD> ة(<EFBFBD>۶<EFBFBD>½)
data<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>"12|22|E|13|24|P|14|28|P"
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ٯ <EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľئ<EFBFBD>У<EFBFBD>
*/
void lssproto_R_send(int fd,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_R_SEND, buffer);
}
/*
servertoclient S( string data );
(Status)
ƽ<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>
1 ٯëέľ<EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD> <EFBFBD><EFBFBD>2 ٯ <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>
2<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD> ƥؤ<EFBFBD>£<EFBFBD>
P <EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
kubun hp maxhp mp maxmp str tough exp maxexp exp
level attackpower deffencepower
fixdex fixcharm fixluck fixfireat fixwaterat fixearthat fixwindat
gold <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>į<EFBFBD><EFBFBD>index <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>
<a href="#escaping"><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>
kubun <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>hp<EFBFBD><EFBFBD>Maxhp<EFBFBD><EFBFBD>kubun <EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
kunun int
Hp( )hp int
MaxHp int
Mp(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><EFBFBD><EFBFBD>) int
MaxMp int
Vital( ) int
Str( ) int
Tough(<EFBFBD><EFBFBD><EFBFBD>) int
Dex(<EFBFBD>ٶƽ<EFBFBD>) int
Exp(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)exp int
MaxExp(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) int
Level(<EFBFBD><EFBFBD>ì<EFBFBD><EFBFBD>) int
Attack( <EFBFBD><EFBFBD> ) int
Defense(<EFBFBD><EFBFBD> ) int
fQuick( <EFBFBD><EFBFBD><EFBFBD>ٶƽ<EFBFBD>) int
fCharm( ) int
fLuck(<EFBFBD><EFBFBD>) int
fEarth(<EFBFBD><EFBFBD>)fixearthat int
fWater( ) int
fFire(<EFBFBD><EFBFBD>) int
fWid(<EFBFBD><EFBFBD>)fixwindat int
Gold(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) int
<EFBFBD><EFBFBD>į<EFBFBD><EFBFBD>index int
<EFBFBD><EFBFBD>ب<EFBFBD>޻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD> int
<EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> int
<EFBFBD><EFBFBD> ٯ
<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>į ٯ
<EFBFBD><EFBFBD> ( char <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD> )
P10|20|10|20|10|10|10|1|2|13|13|1|100|10|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|abc|def
C <EFBFBD><EFBFBD>
floor maxx maxy x y
ë | ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD>˪<EFBFBD>£<EFBFBD>
<EFBFBD><EFBFBD> ( char <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD> )
C1024|100|100|10|20
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׷<EFBFBD>ʧID1024, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>100x100 X 10,Y 20<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><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>
I <EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD> ة
(ʧ<EFBFBD><EFBFBD> ة1)|(ʧ<EFBFBD><EFBFBD> ة2)...(ʧ<EFBFBD><EFBFBD> ةn)
ʧ<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>6<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>2|<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>2<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>2<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>
typedef enum
{
ITEM_FIELD_ALL, <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ITEM_FIELD_BATTLE, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ITEM_FIELD_MAP, ɧ<EFBFBD><EFBFBD>Ѩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}ITEM_FIELDTYPE;
<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>
typedef enum
{
ITEM_TARGET_MYSELF, <EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>
ITEM_TARGET_OTHER, ְ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD>)
ITEM_TARGET_ALLMYSIDE, <EFBFBD><EFBFBD>
ITEM_TARGET_ALLOTHERSIDE, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ITEM_TARGET_ALL, <EFBFBD>
}ITEM_TARGETTYPE;
<font size=+1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٯ<EFBFBD><EFBFBD>100ë<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>
0bit ʸ<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>
1Bit <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD> ة<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>¾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2Bit <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD> ة<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƥؤ<EFBFBD>£<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƥ<EFBFBD><EFBFBD><a href="#escaping"><EFBFBD>޵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<EFBFBD><EFBFBD> ( char <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD> )
<EFBFBD><EFBFBD> ئ <EFBFBD><EFBFBD>|str+2|1|ؤ<EFBFBD><EFBFBD>\|<EFBFBD><EFBFBD>Ԫ|10|2|0
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD>ƥ
1 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>A
2 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>B
3 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>C
4 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>D
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ף<EFBFBD>ʧ<EFBFBD><EFBFBD> ة <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>б<EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5<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>
S <EFBFBD>ƽ<EFBFBD><EFBFBD>
(<EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>0)|(<EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>1)|(<EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>2) ... (<EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>n)
<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> ( char <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD> )
S10|2|20|2|||
T <EFBFBD><EFBFBD>į
(<EFBFBD><EFBFBD>į0)|(<EFBFBD><EFBFBD>į1)|(<EFBFBD><EFBFBD>į2) ... (<EFBFBD><EFBFBD>įn)
<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> char <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><a href="#escaping"><EFBFBD>޵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
M <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>ئ<EFBFBD>¼<EFBFBD>ƥ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>HP ,
MP,EXP<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>M<EFBFBD><EFBFBD>Ѩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥؤ<EFBFBD>£<EFBFBD>2 ٯ <EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>HP<EFBFBD><EFBFBD>
<EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD> , <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>MP<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>EXPƥؤ<EFBFBD>£<EFBFBD>
<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ë<EFBFBD>ƻ<EFBFBD><EFBFBD>ʣ<EFBFBD>
M54|210|8944909
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƥ<EFBFBD><EFBFBD>HP<EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>54<EFBFBD><EFBFBD>MP<EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>210<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8944909
<EFBFBD><EFBFBD>ئ<EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>֣۳<EFBFBD><EFBFBD><EFBFBD>3<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>M<EFBFBD><EFBFBD>Ѩ<EFBFBD><EFBFBD><EFBFBD>񼰾<EFBFBD><EFBFBD><EFBFBD>
Ի<EFBFBD><EFBFBD>P<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>
D ƽ<EFBFBD>ҷ¼<EFBFBD>ID
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ¼<EFBFBD>index<EFBFBD>ݹ<EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë˪<EFBFBD>£<EFBFBD>
D1000|912766409<EFBFBD>ƥ˪<EFBFBD><EFBFBD>ľ<EFBFBD>£<EFBFBD>
E <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>n/100
<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>+1<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>
J0 J6 <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 6 <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>
J0|kubun|mp|field|target|name|comment
<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD>Ѩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
kubun <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>
mp<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ë <EFBFBD>ʣ<EFBFBD>
field<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>
typedef enum
{
MAGIC_FIELD_ALL, <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MAGIC_FIELD_BATTLE, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MAGIC_FIELD_MAP, ɧ<EFBFBD><EFBFBD>Ѩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}MAGIC_FIELDTYPE;
target<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>
typedef enum
{
MAGIC_TARGET_MYSELF, <EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>
MAGIC_TARGET_OTHER, ְ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD>)
MAGIC_TARGET_ALLMYSIDE, <EFBFBD><EFBFBD>
MAGIC_TARGET_ALLOTHERSIDE, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MAGIC_TARGET_ALL, <EFBFBD>
MAGIC_TARGET_NONE, <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD> <EFBFBD><EFBFBD> ئ<EFBFBD>У<EFBFBD> <EFBFBD><EFBFBD>֧<EFBFBD>׻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MAGIC_TARGET_OTHERWITHOUTMYSELF,ְ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD>ئ<EFBFBD><EFBFBD>)
MAGIC_TARGET_WITHOUTMYSELFANDPET, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½
MAGIC_TARGET_WHOLEOTHERSIDE, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}MAGIC_TARGETTYPE;
<font size=+1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٯ<EFBFBD><EFBFBD>100ë<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>£<EFBFBD>
name<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
comment<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
N0 N3 <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>
N0|kubun|level|charaindex|maxhp|hp|mp|name
kubun <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>
2<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> 1bit level 2bit charaindexئ<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>˪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD>£<EFBFBD>
charaindex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޼<EFBFBD>charaindex
level<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>ì<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
maxhp<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>MAXHP
hp<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD>HP
mp<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>
name <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
K0 K4 <EFBFBD><EFBFBD> <EFBFBD>ɷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
hp maxhp mp maxmp str tough exp
level attackpower deffencepower
fixdex fixcharm fixluck fixfireat fixwaterat fixearthat fixwindat
<EFBFBD><EFBFBD> status
K<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>0 4ë϶<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>0<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>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2<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> 1bit hp 2bit maxhpئ<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>
<a href="#escaping"><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>
No.( į) int
islive(Ϸ<EFBFBD><EFBFBD>) int
GRA( <EFBFBD><EFBFBD> į) int
Hp(<EFBFBD><EFBFBD>ݼ ) int
MaxHp( <EFBFBD><EFBFBD>ݼ ) int
Mp int
MapMp int
Exp(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) int
MaxExp(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) int
Level(<EFBFBD><EFBFBD>ì<EFBFBD><EFBFBD>) int
Attack( <EFBFBD><EFBFBD> ) int
Defense(<EFBFBD><EFBFBD> ) int
Quick(<EFBFBD>ٶƽ<EFBFBD>) int
Ai(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>պ) int
fEarth(<EFBFBD><EFBFBD>) int
fWater( ) int
fFire(<EFBFBD><EFBFBD>) int
fWid(<EFBFBD><EFBFBD>) int
Slot( <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>) int
<EFBFBD><EFBFBD> <EFBFBD>ʸ<EFBFBD><EFBFBD>ڰ׷º<EFBFBD> int
<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>
1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>ݨ߷<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>£<EFBFBD>
<EFBFBD><EFBFBD> ( char <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD> )
P10|20|10|20|10|10|10|1|2|13|13|1|100|10|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|PC
W0 W4 ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
W0|skillid|field|target|name|comment| x 7
W0 W4 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
petskillid <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> į<EFBFBD><EFBFBD>pet_skillinfo.h<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
field <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>
typedef enum
{
PETSKILL_FIELD_ALL, <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PETSKILL_FIELD_BATTLE, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PETSKILL_FIELD_MAP, ɧ<EFBFBD><EFBFBD>Ѩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}PETSKILL_FIELDTYPE;
target <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>
typedef enum
{
PETSKILL_TARGET_MYSELF, <EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>
PETSKILL_TARGET_OTHER, ְ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD>)
PETSKILL_TARGET_ALLMYSIDE, <EFBFBD><EFBFBD>
PETSKILL_TARGET_ALLOTHERSIDE, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PETSKILL_TARGET_ALL, <EFBFBD>
PETSKILL_TARGET_NONE, <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD> <EFBFBD><EFBFBD> ئ<EFBFBD>У<EFBFBD> <EFBFBD><EFBFBD>֧<EFBFBD>׻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PETSKILL_TARGET_OTHERWITHOUTMYSELF,ְ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD>ئ<EFBFBD><EFBFBD>)
PETSKILL_TARGET_WITHOUTMYSELFANDPET, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½
}PETSKILL_TARGETTYPE;
name <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
comment<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
target|name|comment| <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>
*/
void lssproto_S_send(int fd,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_S_SEND, buffer);
}
/*
servertoclient D( int category , int dx , int dy , string data );
(Display)
<EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶ <EFBFBD><EFBFBD>
int category
<EFBFBD><EFBFBD>ë <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>
1 <EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>½<EFBFBD><EFBFBD>ܸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>data<EFBFBD><EFBFBD> ٯ
<EFBFBD><EFBFBD>ئ<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>
2 <EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>data<EFBFBD><EFBFBD> ٯ <EFBFBD><EFBFBD>
ئ<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>
int dx
Ѩ<EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ¾<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD> X<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>
int dy
<EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD> Y
string data
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>category<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ٯ <EFBFBD><EFBFBD><a href="#escaping"><EFBFBD>޵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľئ<EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD>
ئ<EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>
*/
void lssproto_D_send(int fd,int category,int dx,int dy,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, category);
checksum += util_mkint(buffer, dx);
checksum += util_mkint(buffer, dy);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_D_SEND, buffer);
}
/*
servertoclient FS( int flg);
(FlgSet)PS<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>
int flg
0 bit 0: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Off 1: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>On
<EFBFBD>ػ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 bit 0: <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>off 1: <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>On
2 bit 0: DUEL off 1: DUEL On
3 bit 0: ɧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1: <EFBFBD>ɡ<EFBFBD> ū<EFBFBD><EFBFBD><EFBFBD>ƾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ئ<EFBFBD><EFBFBD>ƹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
4 bit 0: ͭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>OK 1: ͭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void lssproto_FS_send(int fd,int flg)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, flg);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_FS_SEND, buffer);
}
/*
servertoclient HL( int flg);
(HeLp)HL<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>
int flg
0: <EFBFBD>ƾ<EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Off 1: <EFBFBD>ƾ<EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>On
*/
void lssproto_HL_send(int fd,int flg)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, flg);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_HL_SEND, buffer);
}
/*
servertoclient PR( int request, int result);
(PartyRequest)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۢ<EFBFBD>Ƽ<EFBFBD>ɱ<EFBFBD>ϣ<EFBFBD>PRë<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>
int request
0: <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1: <EFBFBD><EFBFBD>
int result
0: <EFBFBD><EFBFBD> 1: <EFBFBD><EFBFBD>
*/
void lssproto_PR_send(int fd,int request,int result)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, request);
checksum += util_mkint(buffer, result);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_PR_SEND, buffer);
}
#ifdef _PETS_SELECTCON
void lssproto_PETS_send(int fd,int petarray,int result)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, petarray);
checksum += util_mkint(buffer, result);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_PETST_SEND, buffer);
}
#endif
void lssproto_KS_send(int fd,int petarray,int result)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, petarray);
checksum += util_mkint(buffer, result);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_KS_SEND, buffer);
}
void lssproto_SPET_send(int fd, int standbypet, int result)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, standbypet);
checksum += util_mkint(buffer, result);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_SPET_SEND, buffer);
}
/*
servertoclient PS( int result, int havepetindex, int havepetskill, int toindex);
(PetSkill use result)ʸ<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>PS<EFBFBD>ɱ<EFBFBD>ƻ<EFBFBD>˪<EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
result <EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PS<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>
int result
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0: <EFBFBD><EFBFBD> 1:<EFBFBD><EFBFBD>
int havepetindex
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׾<EFBFBD><EFBFBD><EFBFBD>
int havepetskill
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ë<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׾<EFBFBD><EFBFBD><EFBFBD>
int toindex
<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>indexƥ<EFBFBD><EFBFBD>ئ<EFBFBD>У۶<EFBFBD>Ʊ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ئ<EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = 0
ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = 1 5
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = 6 10 S N <EFBFBD><EFBFBD>0 4<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>-1ƥ˪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
*/
void lssproto_PS_send(int fd,int result,int havepetindex,int havepetskill,int toindex)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, result);
checksum += util_mkint(buffer, havepetindex);
checksum += util_mkint(buffer, havepetskill);
checksum += util_mkint(buffer, toindex);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_PS_SEND, buffer);
}
/*
servertoclient SKUP( int point );
(SKillUP)
<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>
*/
void lssproto_SKUP_send(int fd,int point)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, point);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_SKUP_SEND, buffer);
}
/*
servertoclient WN( int windowtype, int buttontype, int seqno, int objindex, string data );
(Window)
<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>
int windowtype
<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>buttontype <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>
typedef enum
{
WINDOW_MESSAGETYPE_MESSAGE, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_MESSAGEANDLINEINPUT, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_SELECT, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ū<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_PETSELECT, ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ū<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_PARTYSELECT, <EFBFBD><EFBFBD><EFBFBD>޼<EFBFBD> <EFBFBD><EFBFBD>ū<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_PETANDPARTYSELECT, ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޼<EFBFBD> <EFBFBD><EFBFBD>ū<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_ITEMSHOPMENU, <EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ب<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MWSSAGETYPE_ITEMSHOPYMAIN, <EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_LIMITITEMSHOPMAIN, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><EFBFBD> ʧ<EFBFBD><EFBFBD> ة<EFBFBD>м<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_PETSKILLSHOP, ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_WIDEMESSAGE, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_WIDEMESSAGEANDLINEINPUT, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}WINDOW_MESSAGETYPE;
int buttontype
ʾ<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>
#define WINDOW_BUTTONTYPE_NONE (0)
#define WINDOW_BUTTONTYPE_OK (1 << 0)
#define WINDOW_BUTTONTYPE_CANCEL (1 << 1)
#define WINDOW_BUTTONTYPE_YES (1 << 2)
#define WINDOW_BUTTONTYPE_NO (1 << 3)
#define WINDOW_BUTTONTYPE_PREV (1 << 4)
#define WINDOW_BUTTONTYPE_NEXT (1 << 5)
<EFBFBD><EFBFBD>ľ<EFBFBD>ռ<EFBFBD>׬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ˪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>YESʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NOʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>
WINDOW_BUTTONTYPE_YES | WINDOW_BUTTONTYPE_NO (=12)
ƥ˪<EFBFBD>£<EFBFBD>
int seqno
<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>WN<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>NPC<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>
int objindex
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ū<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPCئ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>index<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>-1ئ<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>WN<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>
string data
<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>"\n"ƥ<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>"\n"ƥ<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> 1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
įë<EFBFBD><EFBFBD>Ի񲻯<EFBFBD>ݼ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WNƥ<EFBFBD><EFBFBD>߯<EFBFBD>ϼ<EFBFBD><EFBFBD>ݱ<EFBFBD>߯<EFBFBD>ʣ<EFBFBD>
string data(<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>"\n"ƥ<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><EFBFBD>ئ<EFBFBD>С<EFBFBD>1
<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><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> į
0|1|<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>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߨߨ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>\n<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>\n ݫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \n<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>1
<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>|1|<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>\n<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>\n ݫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \n<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><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> į <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>
string data(ʸ<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>"\n"ƥ<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>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>С<EFBFBD>1 <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>
1 <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> 500 <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1000 ޥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> έ<EFBFBD><EFBFBD>ؤ<EFBFBD>¾<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void lssproto_WN_send(int fd,int windowtype,int buttontype,int seqno,int objindex,char* data)
{
char buffer[65500];
int checksum=0;
#ifdef _NO_WARP
// shan hanjj add Begin
CONNECT_set_seqno(fd,seqno);
CONNECT_set_selectbutton(fd,buttontype);
// shan End
#endif
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, windowtype);
checksum += util_mkint(buffer, buttontype);
checksum += util_mkint(buffer, seqno);
checksum += util_mkint(buffer, objindex);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_WN_SEND, buffer);
}
/*
servertoclient EF( int effect, int level, string option );
(EFfect)
ʪ֧<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>
int effect
<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>
1:<EFBFBD><EFBFBD>
2:ʪ
4:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʪ <EFBFBD><EFBFBD>
int level
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD><EFBFBD>ۨ߷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣۨ<EFBFBD> <EFBFBD> <EFBFBD>ؼ<EFBFBD><EFBFBD>۽<EFBFBD>ë <EFBFBD>ʣ<EFBFBD>
string option
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
/* Arminius
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĶ<EFBFBD><EFBFBD><EFBFBD>
int effect = 10 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
level dont care
option = "pet1x|pet1y|dice1|pet2x|pet2y|dice2" (no makeEscapeString)
*/
void lssproto_EF_send(int fd,int effect,int level,char* option)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, effect);
checksum += util_mkint(buffer, level);
checksum += util_mkstring(buffer, option);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_EF_SEND, buffer);
}
/*
servertoclient SE( int x, int y, int senumber, int sw );
(SoundEffect)
<EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SEë <EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
int x,y
SEë <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
int senumber
<EFBFBD><EFBFBD> į
int sw
ë <EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><EFBFBD><EFBFBD>
0:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void lssproto_SE_send(int fd,int x,int y,int senumber,int sw)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, x);
checksum += util_mkint(buffer, y);
checksum += util_mkint(buffer, senumber);
checksum += util_mkint(buffer, sw);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_SE_SEND, buffer);
}
/*
servertoclient ClientLogin(string result);
ClientLogin<EFBFBD><EFBFBD>߯<EFBFBD>ϣ<EFBFBD>
string result
"ok" <EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> ٯ <EFBFBD>۳<EFBFBD><EFBFBD><EFBFBD> ٯ <EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľئ<EFBFBD>У<EFBFBD>
*/
void lssproto_ClientLogin_send(int fd,char* result)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, result);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_CLIENTLOGIN_SEND, buffer);
}
/*
servertoclient CreateNewChar(string result,string data);
CreateNewChar<EFBFBD><EFBFBD>߯<EFBFBD>ϣ<EFBFBD>
string result
"successful" <EFBFBD><EFBFBD> "failed" <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>
string data
"failed" <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> ٯ
"failed bad parameter"
<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>
*/
void lssproto_CreateNewChar_send(int fd,char* result,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, result);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_CREATENEWCHAR_SEND, buffer);
}
/*
servertoclient CharDelete(string result,string data);
CharDelete <EFBFBD><EFBFBD>߯<EFBFBD>ϣ<EFBFBD>
string result
"successful" <EFBFBD><EFBFBD> "failed" <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>۾޵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>
string data
"failed" <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>
*/
void lssproto_CharDelete_send(int fd,char* result,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, result);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_CHARDELETE_SEND, buffer);
}
/*
servertoclient CharLogin(string result,string data);
CharaLogin<EFBFBD><EFBFBD>߯<EFBFBD>ϣ<EFBFBD>
string result
"successful" <EFBFBD><EFBFBD> "failed" <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>۾޵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>
string data
"failed" <EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ٯ <EFBFBD>۾޵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>
*/
void lssproto_CharLogin_send(int fd,char* result,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, result);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_CHARLOGIN_SEND, buffer);
}
/*
servertoclient CharList(string result,string data);
CharList<EFBFBD><EFBFBD>߯<EFBFBD>ϣ<EFBFBD>
string result
"successful" <EFBFBD><EFBFBD> "failed" <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>۾޵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD><EFBFBD>
string data
result<EFBFBD><EFBFBD>"successful"<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>
result <EFBFBD><EFBFBD> "failed" <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>
dataplace|faceimage|level|maxhp|atk|def|quick|charm|earth|water|fire|wind|logincount|name|place
dataplace
<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>
faceimage
ӿ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> į
level
ƽ<EFBFBD>ҷ¼<EFBFBD><EFBFBD><EFBFBD>ì<EFBFBD><EFBFBD>
maxhp,atk,def,quick,charm
<EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
earth.water,fire,wind
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
logincount
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
name
ƽ<EFBFBD>ҷ¼<EFBFBD> <EFBFBD><EFBFBD>
place
ƽ<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><a
href="#escaping"><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>
*/
void lssproto_CharList_send(int fd,char* result,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, result);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_CHARLIST_SEND, buffer);
}
/*
servertoclient CharLogout(string result , string data);
Logout<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߯<EFBFBD>ϣ<EFBFBD>
string result
"successful" <EFBFBD><EFBFBD> "failed" <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>۾޵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>
string data
"failed" <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>
*/
void lssproto_CharLogout_send(int fd,char* result,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, result);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_CHARLOGOUT_SEND, buffer);
}
/*
servertoclient ProcGet( string data);
ProcGet<EFBFBD><EFBFBD>߯<EFBFBD>ϣ<EFBFBD>
string data
<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>log/proc<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> Ԫ<EFBFBD><EFBFBD>
*/
void lssproto_ProcGet_send(int fd,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_PROCGET_SEND, buffer);
}
/*
servertoclient PlayerNumGet( int logincount, int player);
PlayerNumGet<EFBFBD><EFBFBD>߯<EFBFBD>ϣ<EFBFBD>
int logincount,player
*/
void lssproto_PlayerNumGet_send(int fd,int logincount,int player)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, logincount);
checksum += util_mkint(buffer, player);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_PLAYERNUMGET_SEND, buffer);
}
/*
servertoclient Echo( string test );
Echo<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߯<EFBFBD>ϣ<EFBFBD>
string test
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD> ٯ <EFBFBD>۾޵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>
*/
void lssproto_Echo_send(int fd,char* test)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, test);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_ECHO_SEND, buffer);
}
// CoolFish: Trade 2001/4/18
void lssproto_TD_send(int fd, int index, char* message)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, message);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_TD_SEND, buffer);
}
#ifdef _CHATROOMPROTOCOL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
void lssproto_CHATROOM_send ( int fd , char* message )
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, message);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_CHATROOM_SEND, buffer);
}
#endif
#ifdef _NEWREQUESTPROTOCOL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><><EFBFBD><EFBFBD>ProtocolҪ<6C><D2AA>ϸ<EFBFBD><CFB8>
void lssproto_RESIST_send ( int fd , char* message )
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, message);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_RESIST_SEND, buffer);
}
#endif
#ifdef _OUTOFBATTLESKILL // (<28><><EFBFBD>ɿ<EFBFBD>) Syu ADD <20><>ս<EFBFBD><D5BD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Protocol
void lssproto_BATTLESKILL_send ( int fd , char* message )
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, message);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_BATTLESKILL_SEND, buffer);
}
#endif
void lssproto_NU_send(int fd, int nu)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, nu);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_NU_SEND, buffer);
}
void lssproto_FM_send(int fd, char* message)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, message);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_FM_SEND, buffer);
}
void lssproto_WO_send(int fd,int effect)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, effect);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_WO_SEND, buffer);
}
#ifdef _ITEM_CRACKER
void lssproto_IC_send(int fd, int x, int y)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, x);
checksum += util_mkint(buffer, y);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_IC_SEND, buffer);
}
#endif
#ifdef _MAGIC_NOCAST // <20><><EFBFBD><EFBFBD>:<3A><>Ĭ
void lssproto_NC_send(int fd,int flg)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, flg);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_NC_SEND, buffer);
}
#endif
#ifdef _CHECK_GAMESPEED
void lssproto_CS_send( int fd, int deltimes)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint( buffer, deltimes);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_CS_SEND, buffer);
}
#endif
#ifdef _STREET_VENDOR
void lssproto_STREET_VENDOR_send(int fd,char *message)
{
char buffer[65500];
int checksum = 0;
strcpy(buffer,"");
CONNECT_getCdkey(fd,PersonalKey,4096);
strcat(PersonalKey,_RUNNING_KEY);
checksum += util_mkstring(buffer,message);
util_mkint(buffer,checksum);
util_SendMesg(fd,LSSPROTO_STREET_VENDOR_SEND,buffer);
}
#endif
#ifdef _RIGHTCLICK
void lssproto_RCLICK_send(int fd, int type, char* data)
{
char buffer[65500];
int checksum=0;
print("\n RCLICK_send( type=%d data=%s) ", type, data );
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkint(buffer, type);
checksum += util_mkint(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_RCLICK_SEND, buffer);
}
#endif
#ifdef _JOBDAILY
void lssproto_JOBDAILY_send(int fd,char *data)
{
char buffer[65500];
int checksum = 0;
strcpy(buffer,"");
CONNECT_getCdkey(fd,PersonalKey,4096);
strcat(PersonalKey,_RUNNING_KEY);
//print("tocli_data:%s ",data);
checksum += util_mkstring(buffer,data);
util_mkint(buffer,checksum);
//print("tocli_buffer:%s ",buffer);
util_SendMesg(fd,LSSPROTO_JOBDAILY_SEND,buffer);
}
#endif
#ifdef _TEACHER_SYSTEM
void lssproto_TEACHER_SYSTEM_send(int fd,char *data)
{
char buffer[65500];
int checksum = 0;
strcpy(buffer,"");
CONNECT_getCdkey(fd,PersonalKey,4096);
strcat(PersonalKey,_RUNNING_KEY);
checksum += util_mkstring(buffer,data);
util_mkint(buffer,checksum);
util_SendMesg(fd,LSSPROTO_TEACHER_SYSTEM_SEND,buffer);
}
#endif
#ifdef _ADD_STATUS_2
void lssproto_S2_send(int fd,char* data)
{
char buffer[65500];
int checksum=0;
strcpy(buffer,"");
CONNECT_getCdkey( fd, PersonalKey, 4096);
strcat(PersonalKey, _RUNNING_KEY);
checksum += util_mkstring(buffer, data);
util_mkint(buffer, checksum);
util_SendMesg(fd, LSSPROTO_S2_SEND, buffer);
}
#endif