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

3074 lines
80 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

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

#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<><C7B1><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ë Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׻<EFBFBD><D7BB><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)
<20>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CA <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ±年<C2B1>л<EFBFBD>Ʃئ<C6A9><D8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD> C
ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ëۢ<C3AB><DBA2>ƥ<EFBFBD><C6A5><EFBFBD>£<EFBFBD><C2A3>ӡ<EFBFBD><D3A1><EFBFBD><EFB7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>
string data
<20><><EFBFBD>ɡ<EFBFBD>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ʊ<EFBFBD><C6B1>3<EFBFBD><33> <20><><EFBFBD><EFBFBD> ë<><C3AB><EFBFBD><EFBFBD>Ѩƥئ<C6A5><D8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20>ּ<EFBFBD>ƥؤ<C6A5><D8A4>.<2E><>ľ<EFBFBD><C4BE>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD> <20><> <20><EFBFBD><ECB7B4><EFBFBD>ձ<EFBFBD><D5B1>׻<EFBFBD><D7BB><EFBFBD>'|'ƥ<>ʿ<EFBFBD><CABF><EFBFBD>ľ
<20><><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20>׻<EFBFBD><D7BB><EFBFBD>ƥ<EFBFBD>ʿ<EFBFBD><CABF><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>12<31>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD> <20><>
WHICHTYPE|CHARINDEX|X|Y|DIR|BASEIMG|LEVEL|NAMECOLOR|NAME|SELFTITLE|WALKABLE|HEIGHT|POPUPNAMECOLOR
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥؤ<C6A5><D8A4><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>ƥؤ<C6A5>£<EFBFBD>
WHICHTYPE <20><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>ƽ<EFBFBD>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ּ<EFBFBD>
ƥؤ<C6A5>¾<EFBFBD><C2BE>۳<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
typedef enum
{
CHAR_TYPENONE, <20><>ƥ<EFBFBD><C6A5>ئ<EFBFBD><D8A6>
CHAR_TYPEPLAYER, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPEENEMY, <20><>
CHAR_TYPEPET, ʸ<><CAB8><EFBFBD><EFBFBD>
CHAR_TYPEDOOR, <20><>ʧ
CHAR_TYPEBOX ,
CHAR_TYPEMSG , <20><>
CHAR_TYPEWARP , <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPESHOP , <20><>
CHAR_TYPEHEALER , <20>ס<EFBFBD><D7A1>¡<EFBFBD>
CHAR_TYPEOLDMAN , Ӯ
CHAR_TYPEROOMADMIN, <20><> Dz<><C7B2>
CHAR_TYPETOWNPEOPLE, <20><><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
CHAR_TYPEDENGON, <20><><EFBFBD><EFBFBD>
CHAR_TYPEADM, <20><><EFBFBD><EFBFBD>
CHAR_TYPETEMPLE, Temple master
CHAR_TYPESTORYTELLER, <20><>Ի
CHAR_TYPERANKING, <20><> Dz<>¼<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD> <20><>
CHAR_TYPEOTHERNPC, <20><><EFBFBD><EFBFBD>ְ<EFBFBD><D6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޱ<EFBFBD>ئ<EFBFBD><D8A6>ئ<EFBFBD><D8A6>NPC
CHAR_TYPEPRINTPASSMAN, <20><>ʧ<EFBFBD><CAA7><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC
CHAR_TYPENPCENEMY, <20><><EFBFBD>ó<EFBFBD>
CHAR_TYPEACTION, ʧ<><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ɱ<><C9B1><EFBFBD><EFBFBD>NPC
CHAR_TYPEWINDOWMAN, <20><>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
CHAR_TYPESAVEPOINT, <20><><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD>̼<EFBFBD><CCBC><EFBFBD>
CHAR_TYPEWINDOWHEALER, <20><><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󼰼ס<F3BCB0BC><D7A1>¡<EFBFBD>
CHAR_TYPEITEMSHOP, <20><><EFBFBD><EFBFBD>
CHAR_TYPESTONESHOP, <20><> <20><> ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
CHAR_TYPEDUELRANKING, DUEL<45>¼<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>NPC
CHAR_TYPEWARPMAN, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѩ<EFBFBD><D1A8>NPC
CHAR_TYPEEVENT, <20><>ì<EFBFBD><C3AC><EFBFBD><EFBFBD>NPC
CHAR_TYPEMIC, <20><>ì<EFBFBD><C3AC><EFBFBD><EFBFBD>NPC
CHAR_TYPELUCKYMAN, <20><>ì<EFBFBD><C3AC><EFBFBD><EFBFBD>NPC
CHAR_TYPEBUS, Ѩ<><D1A8>ƹ<EFBFBD><C6B9><EFBFBD>
CHAR_TYPECHARM, <20><>ì<EFBFBD><C3AC><EFBFBD><EFBFBD>NPC
CHAR_TYPENUM,
}CHAR_TYPE;
<20><>ľ<EFBFBD><C4BE>ְ<EFBFBD><D6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧NPC֧<43><D6A7>ƥؤ<C6A5>£<EFBFBD><C2A3>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD><CBAA>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>巴έ<E5B7B4><CEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD> ˪<><CBAA><EFBFBD><EFBFBD><EFBFBD>£۹<C2A3><DBB9><EFBFBD>
Ի<>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸ<EFBFBD><C9B8><EFBFBD><EFBFBD><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20>ɸ<EFBFBD><C9B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><CCA4>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD>ئ<EFBFBD><D8A6>ƽ<EFBFBD>ҷ<EFBFBD>ë <20>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>
<20><><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>ƥؤ<C6A5>£<EFBFBD><C2A3><EFBFBD><EFBFBD>ף<EFBFBD>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ĩ<EFBFBD><C4A9>ëؤ
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>£<EFBFBD>
<20>־<EFBFBD><D6BE>գ<EFBFBD>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ĩ<EFBFBD><C4A9>ëؤ<C3AB><D8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><C2B3>
<20>ʽ<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫
<20>ֽ<EFBFBD>ئ<EFBFBD><D8A6>ľ<EFBFBD><C4BE>ئ<EFBFBD><D8A6>ئ<EFBFBD>У<EFBFBD> SELFTITLE<4C><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ƥؤ<C6A5><D8A4><EFBFBD>׻<EFBFBD><D7BB><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD>(CA)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
<20><>ƥ <20><><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>CHARINDEX<45>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ<EFBFBD>ë
<20><>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD> į<><C4AF>BASEIMG<4D><47> <20><><EFBFBD><EFBFBD><EFBFBD>׻<EFBFBD><D7BB><EFBFBD> į<><C4AF>LEVEL<45><4C>ƽ<EFBFBD><C6BD>
<20>¼<EFBFBD><C2BC><EFBFBD>ì<EFBFBD><C3AC>(0ئ<30><D8A6> <20><><EFBFBD><EFBFBD>ئ<EFBFBD>У۳𼰰<DBB3><F0BCB0B0><EFBFBD>NPCئ<43><D8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
WALKABLE<4C><45>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5B9AB><EFBFBD><EFBFBD>ëɧ<C3AB><C9A7><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><C2B3>绥ƥ<E7BBA5><C6A5><EFBFBD><EFBFBD><30><D8A6>ɧ
<20><><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><C2B3>绥ƥ<E7BBA5><C6A5>ئ<EFBFBD>У<EFBFBD>HEIGHT<48><54><EFBFBD>ν<EFBFBD>ë<EFBFBD>ֹ<EFBFBD><D6B9>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ
ئ<>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>ã<EFBFBD>
ƽ<>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>į<EFBFBD><C4AF><EFBFBD><EFBFBD><a href="#escaping">
<20>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľئ<C4BE><D8A6>ľ<EFBFBD><C4BE>ئ<EFBFBD><D8A6>ئ<EFBFBD>У<EFBFBD>'|'ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>ë
<20><>Ի<EFBFBD><D4BB><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>վ޵<D5BE><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ëݩ<C3AB><DDA9><EFBFBD><EFBFBD><EFBFBD>£۾޵<DBBE><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|'<27><><EFBFBD>þ<EFBFBD><C3BE><EFBFBD> ٯ<><D9AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5BEAE><EFBFBD>¼<EFBFBD>ƥ<EFBFBD><C6A5> <20>ٷ<EFBFBD>ǩ<EFBFBD>˱<EFBFBD>'|'ë<><C3AB>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>У<EFBFBD>˪<EFBFBD><CBAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>֣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>įë<C4AF>޵<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׻<EFBFBD><D7BB><EFBFBD>ƥ<EFBFBD><C6A5>ئ<EFBFBD><D8A6>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>˪<EFBFBD><CBAA><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD>ף<EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>į<EFBFBD><C4AF>ҽ<EFBFBD><D2BD>Ի<EFBFBD><EFBFBD><E5BDBB><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD>ɬ<EFBFBD><C9AC>
<20><><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 󡻥˪<F3A1BBA5><CBAA><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20>׻<EFBFBD><D7BB><EFBFBD>ƥ<EFBFBD>ʿ<EFBFBD><CABF><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>6<EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD> <20><>
INDEX|X|Y|BASEIMG|LEVEL|ITEM1LINEINFO
ƥ<><C6A5> <20><> <20>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> ة<><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD> ƥؤ<C6A5>£<EFBFBD>
INDEX<45><58>ƽ<EFBFBD>ҷ¼<D2B7><C2BC>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7BEAE><EFBFBD><EFBFBD>ئ<EFBFBD><D8A6>INDEXƥؤ<C6A5>£<EFBFBD>
<20><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> ةë<D8A9><C3AB><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>X,Y<><59>ʧ<EFBFBD><CAA7> ة<><D8A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>BASEIMG<4D><47><> į<><C4AF>ITEM1LINEINFO<46><4F>1<EFBFBD><31>
info<66><6F> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׻<EFBFBD><D7BB><EFBFBD><EFBFBD><EFBFBD> ƥؤ<C6A5>£<EFBFBD>ʧ<EFBFBD><CAA7> ة<><D8A9><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD>
<20><> <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD> <20><> <20><> ܷƥ<DCB7><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>ʧ<EFBFBD><CAA7> ة<><D8A9><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>
<20><>CA<43><41> ئ<>У<EFBFBD>ITEM1LINEINFO<46><4F><a href="#escape"><3E>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD>ľ<EFBFBD>£۳𼰾޵<F0BCB0BE><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ܷ<><DCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ë<><C3AB><EFBFBD>
<20>׻<EFBFBD><D7BB><EFBFBD>ƥ<EFBFBD>ʿ<EFBFBD><CABF><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>4<EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD> <20><>
INDEX|X|Y|VALUE
ƥ<><C6A5> <20><> <20>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű年<C5B1>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD> ƥؤ<C6A5>£<EFBFBD> <20><><EFBFBD><EFBFBD>
<20>ͻ<EFBFBD><CDBB><EFBFBD>ٯ<EFBFBD><D9AF>INDEX,X,Y <20><>ʧ<EFBFBD><CAA7> ة<><D8A9> Ԫ<><D4AA>VALUE <20><><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>
<20><EFBFBD>ھ<EFBFBD><DABE><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>ƥؤ<C6A5>£<EFBFBD>ʧ<EFBFBD><CAA7> ة<><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD> ƥؤ<C6A5>£<EFBFBD>
<20>׻<EFBFBD><D7BB><EFBFBD>ƥ<EFBFBD>ʿ<EFBFBD><CABF><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>1<EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
INDEX
<20><><EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ¼<D2B7>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľئ<C4BE>У<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)
έ<><CEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ¼<D2B7>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë<EFBFBD><C3AB>ޥ<EFBFBD><DEA5><EFBFBD>£<EFBFBD>
<20>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>˪<EFBFBD><CBAA><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><>ƽ<EFBFBD>ҷ¼<D2B7><31><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD><CBAA><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ëƥ<C3AB><C6A5><EFBFBD>·<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD>
string data
CHARINDEX|X|Y|ACTION|PARAM1|PARAM2|PARAM3|PARAM4|....ë<><C3AB>
<20><>Ѩƥ<D1A8>ʿ<EFBFBD><CABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>PARAM<41><4D>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD>о<EFBFBD><D0BE><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD>ئ<EFBFBD>£۶<C2A3>Ʊ<EFBFBD><C6B1>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>X,Y<><59><EFBFBD><EFBFBD> ƥ<><C6A5>
<20><>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD>֣<EFBFBD>ؤ<EFBFBD><D8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ë϶<C3AB><CFB6><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD><EFBFBD> ٯ <20><><EFBFBD>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľئ<C4BE>У<EFBFBD>
ACTION PARAM1 PARAM2
PARAM3 PARAM4
Stand:0 <20><>0~7
Walk:1 <20><>0~7
Attack:2 <20><>0~7
Throw:3 <20><>0~7
Damage:4 <20><>0~7
Dead:5 <20><>0~7
UseMagic:6 <20><>0~7
UseItem:7 <20><>0~7
Effect:8 <20><>0~7 <20>ް<EFBFBD><DEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> į
Down:10 (<28><>ľ<EFBFBD><C4BE>) <20><>0~7
Sit:11 (<28><><EFBFBD><EFBFBD>) <20><>0~7
Hand:12 (<28><>ë<EFBFBD><C3AB><EFBFBD><EFBFBD>) <20><>0~7
Pleasure:13 (<28><><EFBFBD><EFBFBD>) <20><>0~7
Angry:14 (<28><><EFBFBD><EFBFBD>) <20><>0~7
Sad:15 ( <20>Ƹ<EFBFBD>) <20><>0~7
Guard:16 (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><>0~7
actionwalk:17 (ʧ<><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><>0~7
nod:18 (<28><>ئ<EFBFBD><D8A6><EFBFBD><EFBFBD>) <20><>0~7
actionstand:19 (ʧ<><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>к̡<D0BA><CCA1><EFBFBD>) <20><>0~7
Battle:20 (<28><> <20><> ) <20><>0~7 BattleNo(-1 ئ<><D8A6> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SideNo HelpNo <20><>ئ<EFBFBD>վ<EFBFBD><D5BE><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD>CA <20><><EFBFBD>ݨ<EFBFBD>ئ<EFBFBD><D8A6><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD>׷<EFBFBD> <20><>
Leader:21 (<28><><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD> ) <20><>0~7 0: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1: <20><>
Watch:22 (<28><> <20><><EFBFBD><EFBFBD>) <20><>0~7 0: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1: <20><>
namecolor:23( 󡼰<><F3A1BCB0><EFBFBD><EFBFBD> ) <20><>0~7 󡼰<><F3A1BCB0> į
Turn:30( <20><> <20><>) <20><>0~7
Warp:31(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><>0~7
ACTION<4F><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƥؤ<C6A5>£<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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD>
<20><><EFBFBD><EFBFBD>˪<EFBFBD><CBAA><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD> <20>£<EFBFBD>
<20><><EFBFBD><EFBFBD>IDë <20>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1>ӡ<EFBFBD><D3A1><EFBFBD><EFBEAE><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><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)
<20><><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD> ë<>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD><CBAA><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD><CBAA>ë
ۢ<><DBA2><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><C2B3>練ئ<E7B7B4>У<EFBFBD><D0A3>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD><D8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ˪<C6A5><CBAA><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10<31><30>ؤ<EFBFBD><D8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7BEAE>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7BEAE>
string data
x ,y, kind ,<2C><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>ë'|'ƥ<>ʿ<EFBFBD><CABF>Ȼ<EFBFBD>ئ<EFBFBD><D8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD>ë
<20><><EFBFBD>ձ<EFBFBD>'|'ƥئ<C6A5><D8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>
x,y<><79>ƽ<EFBFBD>ҷ¾<D2B7><C2BE>ռ<EFBFBD><EFBFBD><E5A7B8><EFBFBD> <20><>kind<6E><64><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>Ѱ<EFBFBD>ƥ<EFBFBD><C6A5>ئ<EFBFBD><D8A6>
<20><>į<EFBFBD><C4AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><E5B5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ë϶<C3AB><CFB6><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>˪<EFBFBD><CBAA>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD>
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ܷ<><EFBFBD><E7BEAE><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>ƥ <20><><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD>ľ<EFBFBD><C4BE>
<20>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
kind<6E><64><EFBFBD><EFBFBD>
E <20><>
P <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
S <20><>
G <20><><EFBFBD><EFBFBD>
I ʧ<><CAA7> ة(<28>۶<EFBFBD>½)
data<74><61> <20><>"12|22|E|13|24|P|14|28|P"
<20><><EFBFBD><EFBFBD> ٯ <20><><EFBFBD>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľئ<C4BE>У<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)
ƽ<>ҷ¼<D2B7><C2BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë˪<C3AB><CBAA><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>į ٯ(<28><> ٯ) <20><>ئ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>£۹<C2A3><DBB9><EFBFBD>Ի <20>ټ<EFBFBD>
1 ٯëέľ<CEAD><C4BE><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD> <20><>2 ٯ <20><><EFBFBD><EFBFBD>ƥؤ<C6A5>£<EFBFBD>
<20><><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׻<EFBFBD><D7BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׻<EFBFBD><D7BB>߷<EFBFBD>į'|'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥؤ<C6A5>£<EFBFBD>
2<><32> <20><><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD> ƥؤ<C6A5>£<EFBFBD>
P <20><><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD>
kubun hp maxhp mp maxmp str tough exp maxexp exp
level attackpower deffencepower
fixdex fixcharm fixluck fixfireat fixwaterat fixearthat fixwindat
gold <20><><EFBFBD><EFBFBD><EABBAF><EFBFBD><EFBFBD>
<20><>į<EFBFBD><C4AF>index <20><> <20><><EFBFBD>ñ<EFBFBD>į
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '|' ƥؤ<C6A5>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>į<EFBFBD><C4AF><EFBFBD><EFBFBD>
<a href="#escaping"><3E>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD>ë
<20>׻<EFBFBD><D7BB><EFBFBD>ƥ<EFBFBD><C6A5>ئ<EFBFBD><D8A6><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>ɧ<EFBFBD><C9A7><EFBFBD><EFBFBD>ľ<EFBFBD>£<EFBFBD>
<20><>ľ<EFBFBD><C4BE>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B7B4>Ʊ<EFBFBD><C6B1>
kubun <20><><EFBFBD><20>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD>ë˪<C3AB><CBAA><EFBFBD><EFBFBD>
<20><EFBFBD><E1B6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>Ȼ<EFBFBD>˪<EFBFBD><CBAA><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD>ɣݨ⻥ <20><><EFBFBD><EFBFBD>hp<68><70>Maxhp<68><70>kubun <20><><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD> <20><><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
kunun int
Hp( )hp int
MaxHp int
Mp(<28><><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD>) int
MaxMp int
Vital( ) int
Str( ) int
Tough(<28><><EFBFBD>) int
Dex(<28>ٶƽ<D9B6>) int
Exp(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)exp int
MaxExp(<28><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) int
Level(<28><>ì<EFBFBD><C3AC>) int
Attack( <20><> ) int
Defense(<28><> ) int
fQuick( <20><><EFBFBD>ٶƽ<D9B6>) int
fCharm( ) int
fLuck(<28><>) int
fEarth(<28><>)fixearthat int
fWater( ) int
fFire(<28><>) int
fWid(<28><>)fixwindat int
Gold(<28><><EFBFBD><EFBFBD>) int
<20><>į<EFBFBD><C4AF>index int
<20><>ب<EFBFBD>޻<EFBFBD><DEBB><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD> int
<20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD> int
<20><> ٯ
<20><><EFBFBD>ñ<EFBFBD>į ٯ
<20><> ( char <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><CCA4> )
P10|20|10|20|10|10|10|1|2|13|13|1|100|10|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|abc|def
C <20><>
floor maxx maxy x y
ë | ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD>˪<EFBFBD>£<EFBFBD>
<20><> ( char <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><CCA4> )
C1024|100|100|10|20
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD>׷<EFBFBD>ʧID1024, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>100x100 X 10,Y 20<32><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ƿ<><C7B7>ƽ<EFBFBD>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> <20><>ئ<EFBFBD>£۳<C2A3><DBB3><EFBFBD>Ѩ<EFBFBD><D1A8>ƽ<EFBFBD>ҷ¼<D2B7><C2BC><EFBFBD>
<20><>ʧ<EFBFBD>ֿ<EFBFBD><D6BF>ʻ<EFBFBD><CABB><EFBFBD><EFBFBD><EFBFBD> ë<>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><C2B3>绥ƥ<E7BBA5><C6A5><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥؤ<C6A5>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><E5BCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׷<EFBFBD>ʧ <20><><EFBFBD><EFBFBD> <20>ƾ<EFBFBD><C6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ
<20>У۷<D0A3><DBB7>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>ء<EFBFBD>ة<EFBFBD><D8A9><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD><D8A6>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD>ë˪<C3AB><CBAA><EFBFBD><EFBFBD>ئ<EFBFBD>ʻ<EFBFBD><CABB><EFBFBD>ئ<EFBFBD><D8A6>ئ<EFBFBD>У<EFBFBD>
I <20><>ʧ<EFBFBD><CAA7> ة
<><CAA7> ة1)|(ʧ<><CAA7> ة2)...(ʧ<><CAA7> ةn)
ʧ<><CAA7> ة<><D8A9> <20><><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1> ܷƥ<DCB7><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD><EFBFBD><E7B9B4>ʧ<EFBFBD><CAA7> ة<><D8A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD><D8A6><EFBFBD>ڶ<EFBFBD>Ʊ<EFBFBD><C6B1>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ
˪<><CBAA><EFBFBD><EFBFBD>ľ<EFBFBD>£۷<C2A3><DBB7><EFBFBD><E7B9B4><EFBFBD><EFBFBD><E7B9B4> <20><><EFBFBD><EFBFBD>
<20><>| <20><>2|<7C><> <20><><EFBFBD><EFBFBD><><CAA7> ة<><D8A9><>߶<EFBFBD> į|<7C><><EFBFBD>õ<EFBFBD> <20><><EFBFBD><EFBFBD>|<7C><><EFBFBD>ø<EFBFBD><C3B8><EFBFBD><><CAA7> ة<><D8A9>ì<EFBFBD><C3AC>|<7C>׷º<D7B7>
ʧ<><CAA7> ة <20><>ġ <20><>ì<EFBFBD><C3AC>ƥ<EFBFBD><C6A5> <20><><EFBFBD><EFBFBD> <20>ʽ<EFBFBD>ľ<EFBFBD>£<EFBFBD>
<20><>2<EFBFBD><32>ġ <20><>ì<EFBFBD><C3AC><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>ʧ<EFBFBD><CAA7> ة<><D8A9> <20><> <20><> <20>ã<EFBFBD>
<20>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> ة <20><>2<EFBFBD><32> <20><> ľ<><C4BE><EFBFBD>ǣ<EFBFBD>
<20><> <20><><EFBFBD>ⷴ 󡼰<><F3A1BCB0>ë׸<C3AB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʧ<><CAA7> ة<><D8A9> <20><>
ʧ<>߶<EFBFBD> į<><C4AF><EFBFBD><EFBFBD> <20><> į<><C4AF>
<20><><EFBFBD>õ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>ʧ<EFBFBD><CAA7> ة<><D8A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>£<EFBFBD>
<20><>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
typedef enum
{
ITEM_FIELD_ALL, <09><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ITEM_FIELD_BATTLE, <09><> <20><><EFBFBD><EFBFBD>
ITEM_FIELD_MAP, ɧ<><C9A7>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}ITEM_FIELDTYPE;
<20><><EFBFBD>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>ʧ<EFBFBD><CAA7> ةë<D8A9><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><C2B3><EFBFBD><E7BCB0> <20>¸<EFBFBD><C2B8>޻<EFBFBD> <20>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>£<EFBFBD>
<20>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
typedef enum
{
ITEM_TARGET_MYSELF, <09><><EFBFBD>м<EFBFBD><D0BC><EFBFBD>
ITEM_TARGET_OTHER, ְ<><D6B0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3>)
ITEM_TARGET_ALLMYSIDE, <20><>
ITEM_TARGET_ALLOTHERSIDE, <09><><EFBFBD><EFBFBD><ECB4A1>
ITEM_TARGET_ALL, <09>
}ITEM_TARGETTYPE;
<font size=+1><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٯ<EFBFBD><D9AF>100ë<30><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>·<EFBFBD><C2B7>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>£<EFBFBD>
ʧ<><CAA7> ة<><D8A9>ì<EFBFBD><C3AC><EFBFBD>۳<EFBFBD><DBB3><EFBFBD><EFBFBD><EFBFBD>ì<EFBFBD><EFBFBD><EFB6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥئ<C6A5><D8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ئ<>У<EFBFBD>
<20>׷º<D7B7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>׷º<D7B7>ë˪<C3AB><CBAA><EFBFBD><EFBFBD><EFBFBD>£۱<C2A3><DBB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1>ɧԻ<C9A7><D4BB>
0bit ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ˪<C6A5><CBAA><EFBFBD><EFBFBD> ئʧ<D8A6><CAA7> ة<><D8A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD><CBAA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۨ߷<DBA8><DFB7><EFBFBD>˪<EFBFBD><CBAA>ƥ<EFBFBD><C6A5>ئ<EFBFBD>У<EFBFBD>
1Bit <20><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> ة<><D8A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>¾<EFBFBD><C2BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2Bit <20><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> ة<><D8A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD> ƥؤ<C6A5>£<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƥ<><C6A5><a href="#escaping"><3E>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><> ( char <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><CCA4> )
<49><D8A4> ئ <20><>|str+2|1|ؤ<><D8A4>\|<7C><>Ԫ|10|2|0
<20><> <20><><EFBFBD><EFBFBD><E2BCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD>ƥ
1 <20><> <20><><EFBFBD><EFBFBD>A
2 <20><> <20><><EFBFBD><EFBFBD>B
3 <20><> <20><><EFBFBD><EFBFBD>C
4 <20><> <20><><EFBFBD><EFBFBD>D
<20><><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD>ף<EFBFBD>ʧ<EFBFBD><CAA7> ة <20><><EFBFBD><20>б<D0B1>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>
<20><>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>׻<EFBFBD><D7BB>߻<EFBFBD>ئ<EFBFBD><D8A6><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD>ƥ˪<C6A5><CBAA><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
S <20>ƽ<E5B5A9><C6BD>
(<28><>ƽ<EFBFBD><C6BD>0)|(<28><>ƽ<EFBFBD><C6BD>1)|(<28><>ƽ<EFBFBD><C6BD>2) ... (<28><>ƽ<EFBFBD><C6BD>n)
<20><>į<EFBFBD><C4AF> Ԫƥ<D4AA><C6A5>ƽ<EFBFBD>ҷ»<D2B7><C2BB>ֻ<EFBFBD><D6BB><EFBFBD> <20><>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë˪<C3AB><CBAA><EFBFBD><EFBFBD><EFBFBD>£۹<C2A3><DBB9><EFBFBD>
Իئ<D4BB><D8A6><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD> ||| <20><>ئ<EFBFBD>¼<EFBFBD>ƥؤ<C6A5>£<EFBFBD>
<20><><EFBFBD>޼<EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
<20><>ƽ<EFBFBD><EFBFBD><EFBCB0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><>ì<EFBFBD><C3AC>
ƥؤ<C6A5>£<EFBFBD>
<20><> ( char <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><CCA4> )
S10|2|20|2|||
T <20><>į
(<28><>į0)|(<28><>į1)|(<28><>į2) ... (<28><>įn)
<20><>į<EFBFBD><C4AF><EFBFBD>޼<EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '|' <20><> <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ƥ<EFBFBD><C6A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><>ë <20>ƻ<EFBFBD><C6BB><EFBFBD>ƽ<EFBFBD>Ҽ<EFBFBD><D2BC>ƻ<EFBFBD><C6BB><EFBFBD>ئ<EFBFBD><D8A6>ئ<EFBFBD>У۾<D0A3>ئ<EFBFBD><D8A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD><CBAA>
<20><><EFBFBD>£<EFBFBD>
<20><><EFBFBD><EFBFBD><E7B9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7B9B4> <20><><EFBFBD><EFBFBD>
<20><>
<20><><EFBFBD><EFBFBD>ƥؤ<C6A5>£<EFBFBD>
<20><> ( ˪<><CBAA>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> char <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥؤ<C6A5><D8A4> )
<54><D8A4>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><>ľ<EFBFBD><C4BE><a href="#escaping"><3E>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
M <20><><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD>
ƽ<>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD> <20><> <20>ʽ<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>ּ<EFBFBD>(<28>ػ<EFBFBD>
<20><>)<29><EFBFBD><E7B9AB>ƥئ<C6A5><D8A6><EFBFBD>ּ<EFBFBD>( <20><>ئ<EFBFBD><D8A6>)<29><>ؤ<EFBFBD>£<EFBFBD><C2A3><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><> <20>ʽ<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD>̫<EFBFBD><CCAB> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD>ë˪<C3AB><CBAA><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>°<EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD>ë <20>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>¼<EFBFBD>ƥ<EFBFBD><C6A5> <20><>HP ,
MP,EXP<58><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>إ<EFBFBD><D8A5><EFBFBD><EFBFBD><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD><CBAA><EFBFBD><EFBFBD>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>M<EFBFBD><4D>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD>ƥؤ<C6A5>£<EFBFBD>2 ٯ <20><><EFBFBD>ϼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>HP<48><50>
<20>ػ<EFBFBD><D8BB><EFBFBD> , <20><><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>MP<4D><50> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>EXPƥؤ<C6A5>£<EFBFBD>
<20><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD> ë<>ƻ<EFBFBD><C6BB>ʣ<EFBFBD>
M54|210|8944909
<20><><EFBFBD><EFBFBD> ƥ<><C6A5>HP<48><50><EFBFBD>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD>54<35><34>MP<4D><50><EFBFBD>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD>210<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8944909
<20><>ئ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>֣۳<D6A3><DBB3><EFBFBD>3<EFBFBD><33> <20><> <20><> <20><> պ<><D5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ľ<EFBFBD><C4BE>
<20>׻<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׻<EFBFBD><D7BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD>M<EFBFBD><4D>Ѩ<EFBFBD><D1A8><EFBFBD>񼰾<EFBFBD><F1BCB0BE><EFBFBD>
Ի<><D4BB>P<EFBFBD><50>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD>ë˪<C3AB><CBAA><EFBFBD>ƻ<EFBFBD><C6BB>ַ<EFBFBD><D6B7>У<EFBFBD><D0A3>׷<EFBFBD><D7B7>ƣ<EFBFBD> <20><>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD>׻<EFBFBD><D7BB><EFBFBD><E5B7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7BBA5>ٱ
<20><>ľ<EFBFBD>£<EFBFBD>
D ƽ<>ҷ¼<D2B7>ID
<20><><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><CCBC>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD><CBAA>ƽ<EFBFBD>ҷ¼<D2B7>index<65>ݹ<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë˪<C3AB>£<EFBFBD>
D1000|912766409<30>羮ƥ˪<C6A5><CBAA>ľ<EFBFBD>£<EFBFBD>
E <20>޼<EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ʊ<><C6B1>)|(<28><><EFBFBD><EFBFBD>)
<20>޼<EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ë˪<C3AB><CBAA><EFBFBD><EFBFBD><EFBFBD>£۸<C2A3> <20><>n/100
<20>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB>ݨ<EFBFBD><DDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>+1<><31><EFBFBD>׸<EFBFBD> ƥ<>޼<EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD>ë Ӭ<><D3AC><EFBFBD>£<EFBFBD>
<20>׷<EFBFBD><D7B7>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD>׼<EFBFBD><D7BC><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD>ئ<EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20>ݼԱ<DDBC><D4B1><EFBFBD>ľ<EFBFBD><C4BE>˪<EFBFBD><CBAA>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD>𼰸<EFBFBD> ƥ<>޼<EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë<EFBFBD><C3AB>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>
J0 J6 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ë˪<C3AB><CBAA><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
0 6 <20><><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>ľʧ<C4BE><CAA7> ة<><D8A9><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>帲ɱ<E5B8B2>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20>ƾ<EFBFBD><C6BE><EFBFBD> <20><> ئ<><D8A6> <20>÷ֻ<C3B7><D6BB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><E5BBAF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ë˪<C3AB><CBAA>
J0|kubun|mp|field|target|name|comment
<20><><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ɡ<EFBFBD>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>£<EFBFBD>
kubun <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ؤ<EFBFBD>¾<EFBFBD> <20>о<EFBFBD><D0BE>ۨ߷<DBA8><DFB7><EFBFBD> <20>У۹<D0A3>ľ<EFBFBD><C4BE><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>Уۨ<D0A3><DBA8><EFBFBD><EFBFBD><EFBFBD>ؤ<EFBFBD>£<EFBFBD>
mp<6D><70><EFBFBD><EFBFBD> <20><> ë <20>ʣ<EFBFBD>
field<6C><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><C2BE><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
typedef enum
{
MAGIC_FIELD_ALL, <09><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MAGIC_FIELD_BATTLE, <09><> <20><><EFBFBD><EFBFBD>
MAGIC_FIELD_MAP, ɧ<><C9A7>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}MAGIC_FIELDTYPE;
target<65><74><EFBFBD><EFBFBD>ľë<C4BE><C3AB><EFBFBD>ޱ<EFBFBD><DEB1><EFBFBD> <20>¾<EFBFBD><C2BE><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
typedef enum
{
MAGIC_TARGET_MYSELF, <09><><EFBFBD>м<EFBFBD><D0BC><EFBFBD>
MAGIC_TARGET_OTHER, ְ<><D6B0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3>)
MAGIC_TARGET_ALLMYSIDE, <20><>
MAGIC_TARGET_ALLOTHERSIDE, <09><><EFBFBD><EFBFBD><ECB4A1>
MAGIC_TARGET_ALL, <09>
MAGIC_TARGET_NONE, <09><><EFBFBD>ּ<EFBFBD> <20><> ئ<>У<EFBFBD> <20><>֧<EFBFBD>׻<EFBFBD><D7BB><EFBFBD><EFBFBD><EFBFBD>
MAGIC_TARGET_OTHERWITHOUTMYSELF,ְ<><D6B0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3>ئ<EFBFBD><D8A6>)
MAGIC_TARGET_WITHOUTMYSELFANDPET, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½
MAGIC_TARGET_WHOLEOTHERSIDE, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}MAGIC_TARGETTYPE;
<font size=+1><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٯ<EFBFBD><D9AF>100ë<30><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>·<EFBFBD><C2B7>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>£<EFBFBD>
name<6D><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
comment<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><>
N0 N3 <20><><EFBFBD>޼<EFBFBD><DEBC>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD>ޱ<EFBFBD>ئ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD> ë˪<C3AB><CBAA><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
N0|kubun|level|charaindex|maxhp|hp|mp|name
kubun <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ؤ<EFBFBD>¾<EFBFBD> <20>о<EFBFBD><D0BE>ۨ߷<DBA8><DFB7><EFBFBD> <20>У۹<D0A3>ľ<EFBFBD><C4BE><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>Уۨ<D0A3><DBA8><EFBFBD><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD> 1bit level 2bit charaindexئ<78><D8A6>
<20><>˪<EFBFBD><CBAA><EFBFBD><EFBFBD>ľ<EFBFBD>£<EFBFBD>
charaindex <20><><EFBFBD><EFBFBD><EFBFBD>޼<EFBFBD>charaindex
level<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD>ì<EFBFBD><C3AC><EFBFBD><EFBFBD>
maxhp<68><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>MAXHP
hp<68><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC>ػ<EFBFBD><D8BB><EFBFBD>HP
mp<6D><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD>
name <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD> <20><><EFBFBD><EFBFBD>
K0 K4 <20><> <20>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD>
hp maxhp mp maxmp str tough exp
level attackpower deffencepower
fixdex fixcharm fixluck fixfireat fixwaterat fixearthat fixwindat
<20><> status
K<><4B> <20><>0 4ë϶<C3AB><CFB6><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ë϶<C3AB><CFB6><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>0<EFBFBD><30> <20><><EFBFBD>չ<EFBFBD><D5B9><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5>ǣ<EFBFBD>
ؤ<><D8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥؤ<C6A5>£<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD> 1bit hp 2bit maxhpئ<70><D8A6>
<20><>˪<EFBFBD><CBAA><EFBFBD><EFBFBD>ľ<EFBFBD>£<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '|' ƥؤ<C6A5>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>į<EFBFBD><C4AF><EFBFBD><EFBFBD>
<a href="#escaping"><3E>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD>ë
<20>׻<EFBFBD><D7BB><EFBFBD>ƥ<EFBFBD><C6A5>ئ<EFBFBD><D8A6><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>ɧ<EFBFBD><C9A7><EFBFBD><EFBFBD>ľ<EFBFBD>£<EFBFBD>
<20><>ľ<EFBFBD><C4BE>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B7B4>Ʊ<EFBFBD><C6B1>
No.( į) int
islive(Ϸ<><CFB7>) int
GRA( <20><> į) int
Hp(<28><>ݼ ) int
MaxHp( <20><>ݼ ) int
Mp int
MapMp int
Exp(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) int
MaxExp(<28><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) int
Level(<28><>ì<EFBFBD><C3AC>) int
Attack( <20><> ) int
Defense(<28><> ) int
Quick(<28>ٶƽ<D9B6>) int
Ai(<28><><EFBFBD><EFBFBD>պ) int
fEarth(<28><>) int
fWater( ) int
fFire(<28><>) int
fWid(<28><>) int
Slot( <20><> <20><>) int
<20><> <20>ʸ<EFBFBD><CAB8>ڰ׷º<D7B7> int
<20><> ٯ
<20><><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD> ٯ
<20><> <20>ʸ<EFBFBD><CAB8>ڰ׷º<D7B7><C2BA><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ë <20><><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׷º<D7B7>ƥ<EFBFBD><C6A5>
1 <20><><EFBFBD><EFBFBD> <20><> <20>ݨ߷<DDA8><DFB7><EFBFBD> <20><><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ئ<EFBFBD>£<EFBFBD>
<20><> ( char <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><CCA4> )
P10|20|10|20|10|10|10|1|2|13|13|1|100|10|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|PC
W0 W4 ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
W0|skillid|field|target|name|comment| x 7
W0 W4 <20><><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>ľ<EFBFBD><C4BE>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD>帲ɱ<E5B8B2>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>£<EFBFBD>
petskillid <20><><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> į<><C4AF>pet_skillinfo.h<><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
field <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>¾<EFBFBD><C2BE><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
typedef enum
{
PETSKILL_FIELD_ALL, <09><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PETSKILL_FIELD_BATTLE, <09><> <20><><EFBFBD><EFBFBD>
PETSKILL_FIELD_MAP, ɧ<><C9A7>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}PETSKILL_FIELDTYPE;
target <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>޻<EFBFBD><DEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
typedef enum
{
PETSKILL_TARGET_MYSELF, <09><><EFBFBD>м<EFBFBD><D0BC><EFBFBD>
PETSKILL_TARGET_OTHER, ְ<><D6B0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3>)
PETSKILL_TARGET_ALLMYSIDE, <20><>
PETSKILL_TARGET_ALLOTHERSIDE, <09><><EFBFBD><EFBFBD><ECB4A1>
PETSKILL_TARGET_ALL, <09>
PETSKILL_TARGET_NONE, <09><><EFBFBD>ּ<EFBFBD> <20><> ئ<>У<EFBFBD> <20><>֧<EFBFBD>׻<EFBFBD><D7BB><EFBFBD><EFBFBD><EFBFBD>
PETSKILL_TARGET_OTHERWITHOUTMYSELF,ְ<><D6B0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3>ئ<EFBFBD><D8A6>)
PETSKILL_TARGET_WITHOUTMYSELFANDPET, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½
}PETSKILL_TARGETTYPE;
name <20><> <20><> <20><><EFBFBD><EFBFBD>
comment<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E5B8B2><EFBFBD><EFBFBD> <20><>
target|name|comment| <20><> <20><><EFBFBD>Ѽ<EFBFBD><D1BC>Ш<EFBFBD><D0A8><EFBFBD>ƥ˪<C6A5><CBAA>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><E6B9B4>ƥ<EFBFBD><C6A5> ƥ <20><> <20><EFBFBD><EABBAF><EFBFBD><EFBFBD> "|"<22><><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
<20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><E9BBA7> <20><><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)
<20><><EFBFBD>Ͼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶ <20><>
int category
<09><>ë <20><><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><C2BE><EFBFBD>
<20><>
1 <20><><EFBFBD>ж<EFBFBD>½<EFBFBD><C2BD>ܸ<EFBFBD><DCB8><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>data<74><61> ٯ
<20><>ئ<EFBFBD><D8A6><EFBFBD>װ<EFBFBD><D7B0><EFBFBD>
2 <20><><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>data<74><61> ٯ <20><>
ئ<><D8A6><EFBFBD>װ<EFBFBD>
int dx
Ѩ<><D1A8>ƽ<EFBFBD>ҷ¾<D2B7><C2BE>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD> X<><58><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E5B7B4>ì<EFBFBD><C3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ϸ
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𼰰<EFBFBD><F0BCB0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD><D8A6> ë<><C3AB>ң<EFBFBD>ƻ<EFBFBD>
<20><><EFBFBD>£<EFBFBD>
int dy
<09>¸<EFBFBD><C2B8><EFBFBD> Y
string data
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>category<72><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD><EFBFBD> ٯ <20><><a href="#escaping"><3E>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľئ<C4BE><D8A6>ľ<EFBFBD><C4BE>
ئ<><D8A6>ئ<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<50><53><EFBFBD><EFBFBD>ɱ<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>׷<EFBFBD><D7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD>ئ<EFBFBD><D8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>˪<EFBFBD><CBAA>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
int flg
0 bit 0: <20><><EFBFBD><EFBFBD>Off 1: <20><><EFBFBD><EFBFBD>On
<20>ػ<EFBFBD> <20><><EFBFBD><EFBFBD> 1 bit 0: <20><> <20><><EFBFBD><EFBFBD>off 1: <20><> <20><><EFBFBD><EFBFBD>On
2 bit 0: DUEL off 1: DUEL On
3 bit 0: ɧ<><C9A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD> 1: <20>ɡ<EFBFBD> ū<><C5AB><EFBFBD>ƾ<EFBFBD><C6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ئ<EFBFBD><D8A6>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD>
4 bit 0: ͭ<><CDAD><EFBFBD><EFBFBD>OK 1: ͭ<><CDAD><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<48><4C><EFBFBD><EFBFBD>ɱ<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>׷<EFBFBD><D7B7>ɡ<EFBFBD> ū<><C5AB><EFBFBD><EFBFBD><EFBFBD>޻<EFBFBD><DEBB><EFBFBD> <20><><EFBFBD>ƾ<EFBFBD><C6BE><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD>ë <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD><CBAA>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
int flg
0: <20>ƾ<EFBFBD><C6BE><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD>Off 1: <20>ƾ<EFBFBD><C6BE><EFBFBD>ƹ<EFBFBD><C6B9><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)<29><><EFBFBD><EFBFBD>ۢ<EFBFBD>Ƽ<EFBFBD>ɱ<EFBFBD>ϣ<EFBFBD>PRë<52>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>ئ<EFBFBD>ʻ<EFBFBD><CABB>ֳ<EFBFBD>ľë<C4BE><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD>ؤ<EFBFBD>£<EFBFBD>
<20>ɡ<EFBFBD> ū<><C5AB> <20><>ݩ<EFBFBD><DDA9> <20>ʻ<EFBFBD> <20><><EFBFBD><EFBFBD> ئ<><D8A6><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
int request
0: <20><><EFBFBD><EFBFBD> 1: <20><>
int result
0: <20><> 1: <20><>
*/
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)ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ë<><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PS<50>帲ɱ<E5B8B2>ƻ<EFBFBD>˪<EFBFBD><CBAA>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
result <20><>½<EFBFBD><C2BD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PS<50>帲ɱ<E5B8B2>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>£۰<C2A3>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ<EFBFBD><C6BE><EFBFBD><EFBFBD><EFBFBD>ľئ<C4BE>У<EFBFBD>
int result
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0: <20><> 1:<3A><>
int havepetindex
<20><> <20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׾<EFBFBD><D7BE><EFBFBD>
int havepetskill
<20><> <20><> ë<><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׾<EFBFBD><D7BE><EFBFBD>
int toindex
<20><><EFBFBD><EFBFBD> ܷë<DCB7><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׾<EFBFBD><D7BE>۳<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧ƽ<D6A7>ҷ¼<D2B7>indexƥ<78><C6A5>ئ<EFBFBD>У۶<D0A3>Ʊ<EFBFBD><C6B1> <20><>ئ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD><EFBFBD> = 0
ʸ<><CAB8><EFBFBD><EFBFBD> = 1 5
<20><><EFBFBD><EFBFBD> = 6 10 S N <20><>0 4<>帲ɱ<E5B8B2>۷<EFBFBD><DBB7>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<09><><EFBFBD>޻<EFBFBD><DEBB><EFBFBD><E5B9BB><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD>ئ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><E7BEAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1ƥ˪<C6A5><CBAA><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)
<20><>ƽ<EFBFBD><C6BD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë<EFBFBD>ӡ<EFBFBD><D3A1>ﻥɧ<EFBBA5><C9A7><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD>¾<EFBFBD>ë϶<C3AB><CFB6><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)
<20><>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɧ<EFBFBD><C9A7><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
int windowtype
<20><>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD><D8A6>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë <20><><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><C2BE>۳<EFBFBD>ľ<EFBFBD><C4BE>buttontype <20><>׬<EFBFBD><D7AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ
<20><>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1> <20><>ɬ<EFBFBD>ý<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
typedef enum
{
WINDOW_MESSAGETYPE_MESSAGE, <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2BCB0>
WINDOW_MESSAGETYPE_MESSAGEANDLINEINPUT, <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_SELECT, <09><> <20><>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_PETSELECT, ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_PARTYSELECT, <09><><EFBFBD>޼<EFBFBD> <20><>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_PETANDPARTYSELECT, ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޼<EFBFBD> <20><>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_ITEMSHOPMENU, <09><><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>ب<EFBFBD><D8A8><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MWSSAGETYPE_ITEMSHOPYMAIN, <09><><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_LIMITITEMSHOPMAIN, <20><><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB> ʧ<><CAA7> ة<>м<EFBFBD><D0BC><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_PETSKILLSHOP, ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_WIDEMESSAGE, <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2BCB0> <20><><EFBFBD><EFBFBD>
WINDOW_MESSAGETYPE_WIDEMESSAGEANDLINEINPUT, <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
}WINDOW_MESSAGETYPE;
int buttontype
ʾ<><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿë϶<C3AB><CFB6><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><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)
<20><>ľ<EFBFBD>ռ<EFBFBD>׬<EFBFBD><D7AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ˪<C6A5><CBAA><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD> <20><><EFBFBD>ɣ<EFBFBD>YESʾ<53><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NOʾ<4F><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>
WINDOW_BUTTONTYPE_YES | WINDOW_BUTTONTYPE_NO (=12)
ƥ˪<C6A5>£<EFBFBD>
int seqno
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> įë<C4AF><C3AB><EFBFBD>ʣ<EFBFBD><CAA3>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>£<EFBFBD>
<20>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WN<57><EFBFBD><E5BBAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë߯<C3AB>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD> įë<C4AF><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߯<EFBFBD><DFAF><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><>ľ<EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPC<50><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƥ<><C6A5><EFBFBD><EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë Ӭ<><D3AC> <20>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
int objindex
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NPCئ<43><D8A6><EFBFBD><EFBFBD>index<65><78>ɡ <20><>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20>˵<EFBFBD> ة<><D8A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1ئ<31><D8A6><EFBFBD><EFBFBD> <20>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>£<EFBFBD>
<20>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>WN<57><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߯<EFBFBD><DFAF><EFBFBD><EFBFBD> <20>У<EFBFBD>
string data
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ë<><C3AB><EFBFBD>ʣ<EFBFBD> <20><><EFBFBD>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>"\n"ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD>ף<EFBFBD><D7A3>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ <20><><EFBFBD><EFBFBD> <20>²<EFBFBD><C2B2><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD>׶˷<D7B6><CBB7><EFBFBD> <20><><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ľ<EFBFBD>£<EFBFBD>
<20><> <20>ü<EFBFBD>ؤ<EFBFBD><D8A4><EFBFBD><EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>"\n"ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE> <20>ټ<EFBFBD><D9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2BCB0><EFBFBD><EFBFBD>
<20><>ئԻ<D8A6><D4BB><EFBFBD>ݱ嶪<DDB1><E5B6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2BCB0><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD> <20>ټ<EFBFBD><D9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>ƥ϶<C6A5>ý<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD>ؤ<EFBFBD><EFBFBD><E7BCB0><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD> <20><><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ئ<EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD>󡾮<EFBFBD>մͱ<D5B4> 1 <20><><EFBFBD><EFBFBD>
įë<C4AF><C3AB>Ի񲻯<D4BB>ݼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WNƥ<4E><C6A5>߯<EFBFBD>ϼ<EFBFBD><CFBC>ݱ<EFBFBD>߯<EFBFBD>ʣ<EFBFBD>
string data(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ë<><C3AB><EFBFBD>ʣ<EFBFBD> <20><><EFBFBD>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>"\n"ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD>ף<EFBFBD><D7A3>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ <20><><EFBFBD><EFBFBD> <20>²<EFBFBD><C2B2><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD>׶˷<D7B6><CBB7><EFBFBD> <20><><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ľ<EFBFBD>£<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>" "ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD>
<20><> <20><><EFBFBD><EFBFBD>
<20><> <20>°׷º<D7B7> <20><><EFBFBD>ߡ<EFBFBD> <20>¨<EFBFBD> 󡼰<><F3A1BCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׷º<D7B7> <20><><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>С<EFBFBD>1
<09>Ҽ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ѽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ì<EFBFBD><C3AC><EFBFBD><EFBFBD>Իئ<D4BB>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʧ<><CAA7> ة<><D8A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʧ<><CAA7> ة <20><><EFBFBD><EFBFBD> <20><>ئ<EFBFBD>а׷º<D7B7> <20><><EFBFBD>¡<EFBFBD><C2A1><EFBFBD> <20><>ئ<EFBFBD>С<EFBFBD><D0A1><EFBFBD> ʧ<><CAA7> ة<><D8A9>ì<EFBFBD><C3AC>
<09><><EFBFBD><EFBFBD> <20><> į ʧ<><CAA7> ة <20><><EFBFBD><EFBFBD> <20><>ئ<EFBFBD>а׷º<D7B7> ʧ<><CAA7> ة<><D8A9>ì<EFBFBD><C3AC> <20><><EFBFBD><EFBFBD> <20><> į
0|1|<7C><>ة<EFBFBD>׻ տ<><D5BF>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD> ۢ<><DBA2><EFBFBD><EFBFBD>|<7C><>ľë<C4BE><C3AB> <20><><EFBFBD>±巴<C2B1><E5B7B4>ì<EFBFBD>
<09><>Իئ<D4BB><D8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>| <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> ة<><D8A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ƥ<><C6A4><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>|
<09><>|<7C><><EFBFBD>ߨ<EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD>ߨߨ<DFA8>|<7C><><EFBFBD><EFBFBD> <20><> <20><>\n<><6E><EFBFBD><EFBFBD> Ъ|<7C><><EFBFBD><EFBFBD>|<7C><>|<7C><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD>ߨߨ<DFA8>| <20><><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>\n ݫ<><EFBFBD><E5B7B4><EFBFBD><EFBFBD> \n<><6E><EFBFBD><EFBFBD>
<20><> <20>£<EFBFBD>
<20><> <20>°׷º<D7B7> <20><><EFBFBD>ߡ<EFBFBD> <20>¨<EFBFBD> 󡼰<><F3A1BCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׷º<D7B7> <20><><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>С<EFBFBD>1
<09>Ҽ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>ئ<EFBFBD><D8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʧ<><CAA7> ة ľ<><C4BE> ľئ<C4BE>а׷º<D7B7> <20><><EFBFBD><EFBFBD> <20><> į ʧ<><CAA7> ة ľ<><C4BE> ľئ<C4BE>а׷º<D7B7>
<09><><EFBFBD><EFBFBD> <20><> į
<09><>|1|<7C><>ة<EFBFBD>׻ <20><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľë <20>Ȼ<EFBFBD><C8BB><EFBFBD>ľ<EFBFBD>£<EFBFBD>| <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD>|
<09><>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ƥ<><C6A4><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>|<7C><>|<7C><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD>ߨߨ<DFA8>|
<09><><EFBFBD><EFBFBD> <20><> <20><>\n<><6E><EFBFBD><EFBFBD> Ъ|<7C><><EFBFBD><EFBFBD>|<7C><>|<7C><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD>ߨߨ<DFA8>| <20><><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>\n ݫ<><EFBFBD><E5B7B4><EFBFBD><EFBFBD> \n<><6E><EFBFBD><EFBFBD>
<20><>ʧ<EFBFBD><CAA7> ة <20><><EFBFBD>£<EFBFBD>
<09>׷º<D7B7> <20><>=<3D><> ؤ<><D8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ľ<EFBFBD>¾<EFBFBD>
<09>Ҽ<EFBFBD> <20><>
<20><><EFBFBD><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ľئ<C4BE>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><> <20><><EFBFBD><EFBFBD>ľ<EFBFBD>¾<EFBFBD><C2BE>׷º<D7B7> <20><> <20><><EFBFBD>ߣ<EFBFBD><DFA3>صڣ<D8B5><DAA3><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> į <20><><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD> ʧ<><CAA7> ة į <20><EFBFBD><E0BEAE>
<20><> <20><><EFBFBD><EFBFBD>ľ<EFBFBD>¾<EFBFBD><C2BE>׷º<D7B7> <20><> <20><><EFBFBD>ߣ<EFBFBD><DFA3>صڣ<D8B5><DAA3><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> į <20><><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD> ʧ<><CAA7> ة į <20><EFBFBD><E0BEAE>
<20><>ʧ<EFBFBD><CAA7> ة¦<D8A9><C2A6><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<09>׷º<D7B7> ¦<><C2A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<3D><>
<09>Ҽ<EFBFBD> <20><> ¦<><C2A6><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʧ<><CAA7> ة<><D8A9><EFBFBD><EFBFBD> <20><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><> ¦<><C2A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><C2BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׷º<D7B7> <20><> <20><><EFBFBD>ߣ<EFBFBD><DFA3>صڣ<D8B5><DAA3><EFBFBD> ʧ<><CAA7> ة<><D8A9>ì<EFBFBD><C3AC> <20><><EFBFBD><EFBFBD> <20><> į <20><><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD>
<20><> ¦<><C2A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><C2BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׷º<D7B7> <20><> <20><><EFBFBD>ߣ<EFBFBD><DFA3>صڣ<D8B5><DAA3><EFBFBD> ʧ<><CAA7> ة<><D8A9>ì<EFBFBD><C3AC> <20><><EFBFBD><EFBFBD> <20><> į <20><><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD>
<20>չ<EFBFBD><D5B9><EFBFBD>ְ<EFBFBD><D6B0>
<09>Ҽ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<09><>ة<EFBFBD>׻ <20><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
string data(ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ë<><C3AB><EFBFBD>ʣ<EFBFBD> <20><><EFBFBD>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>"\n"ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<20><><EFBFBD>ף<EFBFBD><D7A3>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ <20><><EFBFBD><EFBFBD> <20>²<EFBFBD><C2B2><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD>׶˷<D7B6><CBB7><EFBFBD> <20><><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ľ<EFBFBD>£<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>" "ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD>
<20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>
󡼰<><F3A1BCB0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>С<EFBFBD>1 <20>Ҽ<EFBFBD> <20><> <20><><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
1 <20><>ة<EFBFBD>׻ տ<><D5BF> <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> <20><><EFBFBD>Ⱦ<EFBFBD>ƥ<EFBFBD>ʷ<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 500 <20><> <20><><EFBFBD>ߡ<EFBFBD> <20><> <20><> <20><><EFBFBD>ߡ<EFBFBD>
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1000 ޥ<><DEA5><EFBFBD><EFBFBD> έ<><CEAD>ؤ<EFBFBD>¾<EFBFBD><C2BE><EFBFBD> <20><><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)
ʪ֧<CAAA><D6A7>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ئ<EFBFBD><D8A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˪<EFBFBD>£<EFBFBD>
int effect
<20><><EFBFBD><EFBFBD> į<>۹<EFBFBD>ľ<EFBFBD><C4BE>ľë<C4BE><C3AB><EFBFBD><EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ľ<EFBFBD><C4BE><EFBFBD>ʣۨ<CAA3><DBA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʪ<EFBFBD><CAAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><EFBFBD><E7BEAE><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD>
1:<3A><>
2:ʪ
4:<3A><><EFBFBD><EFBFBD>ʪ <20><>
int level
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD><DBBD>ۨ߷<DBA8><DFB7><EFBFBD><EFBFBD>ʣۨ<CAA3> <20><20>ؼ<EFBFBD><D8BC>۽<EFBFBD>ë <20>ʣ<EFBFBD>
string option
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
/* Arminius
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĶ<D3B5><C4B6><EFBFBD>
int effect = 10 <20><><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)
<09>ͷ<EFBFBD><CDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SEë <20><><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
int x,y
SEë <20><><EFBFBD><EFBFBD><E7BCB0> <20><>
int senumber
<20><> į
int sw
ë <20><><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><C2BE><EFBFBD>
0:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1: <20><><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<69><6E>߯<EFBFBD>ϣ<EFBFBD>
string result
"ok" <20><><EFBFBD>е<EFBFBD> ٯ <20>۳<EFBFBD><DBB3><EFBFBD> ٯ <20><><EFBFBD>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľئ<C4BE>У<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<61><72>߯<EFBFBD>ϣ<EFBFBD>
string result
"successful" <20><> "failed" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>۳<EFBFBD><DBB3><EFBFBD> ٯ <20><><EFBFBD>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>
string data
"failed" <20><><EFBFBD>ݷ<EFBFBD> ë<><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޼<EFBFBD>έ<EFBFBD><CEAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ٯ
ƥؤ<C6A5>£<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD>ռ<EFBFBD>߯<EFBFBD>Ϲ<EFBFBD><CFB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥؤ<C6A5>£<EFBFBD>
<20><>Ʊ<EFBFBD><C6B1> ٯ
"failed bad parameter"
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>ë<EFBFBD><C3AB> <20><><EFBFBD>£۳<C2A3>ľ<EFBFBD><C4BE><EFBFBD>ء<EFBFBD>ة<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><C2B6><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥؤ<C6A5>£۳<C2A3><DBB3><EFBFBD> ٯ <20><><EFBFBD>޵<EFBFBD><DEB5><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 <20><>߯<EFBFBD>ϣ<EFBFBD>
string result
"successful" <20><> "failed" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>۾޵<DBBE><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>
string data
"failed" <20><><EFBFBD>ݷ<EFBFBD> ë<><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޼<EFBFBD>έ<EFBFBD><CEAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ٯ
ƥؤ<C6A5>£<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD>ռ<EFBFBD>߯<EFBFBD>Ϲ<EFBFBD><CFB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥؤ<C6A5>£<EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>м<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>޵<EFBFBD><DEB5><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<69><6E>߯<EFBFBD>ϣ<EFBFBD>
string result
"successful" <20><> "failed" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>۾޵<DBBE><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>
string data
"failed" <20><><EFBFBD>ݷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> ٯ <20>۾޵<DBBE><DEB5><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<73><74>߯<EFBFBD>ϣ<EFBFBD>
string result
"successful" <20><> "failed" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>۾޵<DBBE><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD><D8A6>
string data
result<6C><74>"successful"<22><><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>ƽ<EFBFBD>ҷ¼<D2B7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ëë<C3AB><C3AB>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD>ۼ<EFBFBD> ٯ <20>۳<EFBFBD><DBB3><EFBFBD> ٯ ë<><C3AB><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD>
result <20><> "failed" <20><><EFBFBD>ݷ<EFBFBD> ë<><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޼<EFBFBD>έ<EFBFBD><CEAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ٯ ƥ
ؤ<>£<EFBFBD><C2A3><EFBFBD> <20><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><ECB7B4>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Իƥؤ<C6A5>£<EFBFBD>
dataplace|faceimage|level|maxhp|atk|def|quick|charm|earth|water|fire|wind|logincount|name|place
dataplace
<20><><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>۳<EFBFBD>ľƥƽ<C6A5>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ë<EFBFBD><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
faceimage
ӿ<><D3BF> <20><> į
level
ƽ<>ҷ¼<D2B7><C2BC><EFBFBD>ì<EFBFBD><C3AC>
maxhp,atk,def,quick,charm
<20><><EFBFBD>ɷ¶<C9B7><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
earth.water,fire,wind
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
logincount
<20><><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
name
ƽ<>ҷ¼<D2B7> <20><>
place
ƽ<>ҷ¼<D2B7><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
"|" ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD> <20><>ľ<EFBFBD><C4BE>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><a
href="#escaping"><3E>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>£۹<C2A3><DBB9><EFBFBD>ؤ<EFBFBD><D8A4><EFBFBD>׻<EFBFBD><D7BB><EFBFBD>
ƥ<><C6A5>ئ<EFBFBD><D8A6><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<75><EFBFBD><E5B8B2><EFBFBD><EFBFBD>߯<EFBFBD>ϣ<EFBFBD>
string result
"successful" <20><> "failed" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>۾޵<DBBE><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD>У<EFBFBD>
string data
"failed" <20><><EFBFBD>ݱ弰<DDB1><E5BCB0><EFBFBD><EFBFBD> <20><>ؤԻ<D8A4><D4BB><EFBFBD><EFBFBD> <20><> (<28><><EFBFBD><EFBFBD><><C3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><>έ<EFBFBD><CEAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ٯ ƥؤ<C6A5>£۾޵<DBBE><DEB5><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<65><74>߯<EFBFBD>ϣ<EFBFBD>
string data
<09>޵<EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£۱ء<DBB1>ة<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ë˪<C3AB><CBAA><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD> <20><>log/proc<6F><63><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><CCBB><EFBFBD>̤<EFBFBD><CCA4>ľ<EFBFBD><C4BE> <20><> Ԫ<><D4AA>
*/
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<65><74>߯<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<68><EFBFBD><E5B8B2><EFBFBD><EFBFBD>߯<EFBFBD>ϣ<EFBFBD>
string test
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ľ<EFBFBD><C4BE> ٯ <20>۾޵<DBBE><DEB5><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