3074 lines
80 KiB
C
3074 lines
80 KiB
C
#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>0ئ<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>1ʧ<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> )
|
||
|
||
Iؤ<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>P<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> )
|
||
|
||
Tؤ<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>P տ<><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>P <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>P <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>P տ<><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
|