stoneage8.5/石器时代8.5客户端最新源代码/石器源码/system/lssproto_cli.cpp

3540 lines
121 KiB
C++
Raw Permalink Normal View History

2020-06-23 15:53:23 +08:00
/*#ifdef __NEW_PROTOCOL
2020-06-23 15:27:59 +08:00
/* output by ./lsgen.perl 0.41 ( 1998 May)
* made Mon Jun 12 11:17:33 2000
* user kawata
* host unicorn.lan.titan.co.jp
* file /opt/kawata/sa/bin/output/lssproto_cli.c
* util output/lssproto_util.c , output/lssproto_util.h
* src /opt/kawata/sa/bin/../doc/lssproto.html
*//*
#define _LSSPROTOCLI_C_
#include <windows.h>
#include "../systeminc/version.h"
#include "../systeminc/lssproto_cli.h"
void lssproto_SetClientLogFiles( char *r , char *w )
{
lssproto_strcpysafe( lssproto_readlogfilename , r , sizeof( lssproto_readlogfilename ) );
lssproto_strcpysafe( lssproto_writelogfilename , w , sizeof( lssproto_writelogfilename ) );
}
int lssproto_InitClient( int (*writefunc)(int,char*,int) ,int bufsiz ,int fd)
{
int i;
if( (void*)writefunc == NULL){lssproto.write_func = lssproto_default_write_wrap;} else {lssproto.write_func = writefunc;}
lssproto_AllocateCommonWork(bufsiz);
lssproto_stringwrapper = (char**)MALLOC(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*)MALLOC( bufsiz );
if( lssproto_stringwrapper[i] == NULL){
for(i=0;i<MAXLSRPCARGS;i++){FREE( lssproto_stringwrapper[i]);return -1;}
}
}
return 0;
}
void lssproto_CleanupClient( void )
{
int i;
// Nuke start
/*{
int i;
if (NJT_dummy) FREE(NJT_dummy);
for (i=0;i<NJT_MAX;i++) if (NJT[i]) FREE(NJT[i]);
}*/
/*
// Nuke end
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 );
}
#else
*/
/* output by ./lsgen.perl 0.41 ( 1998 May)
* made Mon Jun 12 11:17:33 2000
* user kawata
* host unicorn.lan.titan.co.jp
* file /opt/kawata/sa/bin/output/lssproto_cli.c
* util output/lssproto_util.c , output/lssproto_util.h
* src /opt/kawata/sa/bin/../doc/lssproto.html
*/
#define _LSSPROTOCLI_C_
#include <windows.h>
#include "../systeminc/version.h"
#include "../systeminc/lssproto_cli.h"
// nuke: TNJ: ttom & nuke & jongan : prevent packet cheat
//extern char *NJT_dummy;
//extern char *NJT[NJT_MAX];
/*#define JNT \
((lssproto.work[0]+lssproto.work[1]+lssproto.work[2]+lssproto.work[3]+ \
lssproto.work[4]+lssproto.work[5]+lssproto.work[6]+lssproto.work[7])%NJT_MAX)
#define TNJ { if(NJT[JNT]) lssproto.work=NJT[JNT]; }
*/
//cary
void old_lssproto_FC_send( int fd )
{
lssproto_CreateHeader( lssproto.work , "FC" );
lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
}
//end
/*
166 : <LI><a name="CS_W"><font color=red>clienttoserver W( int x, int y, string direction);<br></font></a>
2020-06-23 15:53:23 +08:00
167 : (Walk)?????????????????????????????
168 : ?????????????????????????????????
169 : ??????????????????????????????
170 : ??????????W????????????????????????
171 : ????????????????????????????????
2020-06-23 15:27:59 +08:00
172 : ??????????
2020-06-23 15:53:23 +08:00
173 : ????????????????MC???????????????MC
2020-06-23 15:27:59 +08:00
174 : ????????????????????????????????????
2020-06-23 15:53:23 +08:00
175 : ????????????????????????
2020-06-23 15:27:59 +08:00
176 :
177 :
178 :
179 : <br><br>
180 : <dl>
181 : <dt>int x,y
2020-06-23 15:53:23 +08:00
182 : <dd>??????????????????
2020-06-23 15:27:59 +08:00
183 :
184 : <dt>string direction
2020-06-23 15:53:23 +08:00
185 : <dd>????? a,b,c,d,e,f,g,h?????????
186 : a?(dx,dy)=(0,-1)???????? h??(-1,-1)
187 : A,B,C,D,E,F,G,H ??????????????
188 : ???????????????? "ccae"???
189 : ?????????????????"G"??
190 : ????????????11?????????
191 : ?????????????
2020-06-23 15:27:59 +08:00
192 :
193 : </dl>
194 : <br>
195 : <br>
196 : <hr>
197 : <br>
*/
void old_lssproto_W_send( int fd,int x,int y,char* direction )
{
lssproto_CreateHeader( lssproto.work , "W" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( direction ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
198 : <LI><a name="CS_W2"><font color=red>clienttoserver w( int x, int y, string direction);<br></font></a>
2020-06-23 15:53:23 +08:00
199 : ??????????????????????????????????
200 : ????????????????????MC?????????OK??????
201 : ??MC??????????MC?????????????????w?????????
202 : ???????????????????????????????? <a href="#CS_EV">CHAR_EVENT_ALTERRATIVE</a>
203 : ???????????????????????????????????????????????????
2020-06-23 15:27:59 +08:00
204 : <br>
205 : <br>
206 : <hr>
207 : <br>
208 :
*/
void old_lssproto_w_send( int fd,int x,int y,char* direction )
{
lssproto_CreateHeader( lssproto.work , "w" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( direction ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
212 : <LI><a name="CS_EV"><font color=red>clienttoserver EV( int event,int seqno,int x, int y, int dir);<br></font></a>
2020-06-23 15:53:23 +08:00
213 : ?????????????????????????
214 : ?????????????????????
2020-06-23 15:27:59 +08:00
215 :
216 : <br><br>
217 : <dl>
218 : <dt>int event
2020-06-23 15:53:23 +08:00
219 : <dd>???????char_base.h???????????????<br>
2020-06-23 15:27:59 +08:00
220 : <pre>
221 : typedef enum
222 : {
2020-06-23 15:53:23 +08:00
223 : CHAR_EVENT_NONE, ????????
224 : CHAR_EVENT_NPC, ?NPC???
225 : CHAR_EVENT_ENEMY, ????????????
2020-06-23 15:27:59 +08:00
226 : CHAR_EVENT_WARP, ???????
2020-06-23 15:53:23 +08:00
227 : CHAR_EVENT_ALTERRATIVE, ????????????????????????????????
2020-06-23 15:27:59 +08:00
228 : CHAR_EVENTNUM,
229 : }CHAR_EVENT;
230 :
231 : </pre>
2020-06-23 15:53:23 +08:00
232 : CHAR_EVENT_NPC????Μ??NPC??????????????????
233 : ???????EV????????????κ????????????<br>
2020-06-23 15:27:59 +08:00
234 : <dt>int seqno
2020-06-23 15:53:23 +08:00
235 : <dd>??????????No????????????????????????????
2020-06-23 15:27:59 +08:00
236 : ???????????????
2020-06-23 15:53:23 +08:00
237 : ?????EV??????????????
2020-06-23 15:27:59 +08:00
238 : <dt>int x,y
2020-06-23 15:53:23 +08:00
239 : <dd>??
2020-06-23 15:27:59 +08:00
240 : <dt>int dir
2020-06-23 15:53:23 +08:00
241 : <dd>??????????????????????????Π????????-1?
2020-06-23 15:27:59 +08:00
242 : </dl>
243 : <br>
244 : <br>
245 : <hr>
246 : <br>
*/
void old_lssproto_EV_send( int fd,int event,int seqno,int x,int y,int dir )
{
lssproto_CreateHeader( lssproto.work , "EV" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( event ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( seqno ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dir ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
261 : <LI><a name="CS_EN"><font color=red>clienttoserver EN( int x, int y );<br></font></a>
2020-06-23 15:53:23 +08:00
262 : ???????????????????????????????
263 : ?????????????????????????????
2020-06-23 15:27:59 +08:00
264 : <br><br>
265 : <dl>
266 : <dt>int x,y
2020-06-23 15:53:23 +08:00
267 : <dd>???????????????????????
2020-06-23 15:27:59 +08:00
268 : </dl>
269 : <br>
270 : <br>
271 : <hr>
272 : <br>
*/
void old_lssproto_EN_send( int fd,int x,int y )
{
lssproto_CreateHeader( lssproto.work , "EN" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
273 : <LI><a name="CS_DU"><font color=red>clienttoserver DU( int x, int y);<br></font></a>
2020-06-23 15:53:23 +08:00
274 : ??????????????????????????????
275 : ?????????????????????????????
2020-06-23 15:27:59 +08:00
276 : <br><br>
277 : <dl>
278 : <dt>int x,y
2020-06-23 15:53:23 +08:00
279 : <dd>???????????????????????
2020-06-23 15:27:59 +08:00
280 : </dl>
281 : <br>
282 : <br>
283 : <hr>
284 : <br>
*/
void old_lssproto_DU_send( int fd,int x,int y )
{
lssproto_CreateHeader( lssproto.work , "DU" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
298 : <LI><a name="CS_EO"><font color=red>clienttoserver EO( int dummy );<br></font></a>
2020-06-23 15:53:23 +08:00
299 : ?????????????????????????
2020-06-23 15:27:59 +08:00
300 : <dl>
301 : <dt>int dummy
302 : <dd>???????????????
303 : </dL>
304 : <br>
305 : <br>
306 : <hr>
307 : <br>
308 :
*/
void old_lssproto_EO_send( int fd,int dummy )
{
lssproto_CreateHeader( lssproto.work , "EO" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dummy ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
309 : <LI><a name="CS_BU"><font color=red>clienttoserver BU( int dummy );<br></font></a>
2020-06-23 15:53:23 +08:00
310 : ???????????????κ????????
2020-06-23 15:27:59 +08:00
311 : <dl>
312 : <dt>int dummy
313 : <dd>???????????????
314 : </dL>
315 : <br>
316 : <br>
317 : <hr>
318 : <br>
319 :
*/
void old_lssproto_BU_send( int fd,int dummy )
{
lssproto_CreateHeader( lssproto.work , "BU" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dummy ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
320 : <LI><a name="CS_JB"><font color=red>clienttoserver JB( int x, int y );<br></font></a>
2020-06-23 15:53:23 +08:00
321 : ?·?·???????????? EN ?????
2020-06-23 15:27:59 +08:00
322 : <dl>
323 : <dt>int x, int y;
2020-06-23 15:53:23 +08:00
324 : <dd>????????????
2020-06-23 15:27:59 +08:00
325 : </dL>
326 : <br>
327 : <br>
328 : <hr>
329 : <br>
330 :
*/
void old_lssproto_JB_send( int fd,int x,int y )
{
lssproto_CreateHeader( lssproto.work , "JB" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
331 : <LI><a name="CS_LB"><font color=red>clienttoserver LB( int x, int y );<br></font></a>
2020-06-23 15:53:23 +08:00
332 : ?·??·???????????? EN ?????
2020-06-23 15:27:59 +08:00
333 : <dl>
334 : <dt>int x, int y;
2020-06-23 15:53:23 +08:00
335 : <dd>????????????
2020-06-23 15:27:59 +08:00
336 : </dL>
337 : <br>
338 : <br>
339 : <hr>
340 : <br>
341 :
*/
void old_lssproto_LB_send( int fd,int x,int y )
{
lssproto_CreateHeader( lssproto.work , "LB" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
354 : <LI><a name="CS_B"><font color=red>clienttoserver B( string command );<br></font></a>
2020-06-23 15:53:23 +08:00
355 : ??????????????·???????????????????????????????????????????????????????????<br><br>
2020-06-23 15:27:59 +08:00
356 : <ul>
2020-06-23 15:53:23 +08:00
357 : <li>H|??(%X)(0?19)<br>???????<br><br>
358 : <li>E<br>???<br><br>
359 : <li>G<br>??<br><br>
2020-06-23 15:27:59 +08:00
360 : <li>N<br>??????<br><br>
2020-06-23 15:53:23 +08:00
361 : <li>T|??(%X)<br>??<br><br>
362 : <li>J|??(%X)|??(%X)?
363 : <br>??????????????????????
2020-06-23 15:27:59 +08:00
364 : ???(0?5)?<br><br>
2020-06-23 15:53:23 +08:00
365 : <li>W|?????(%X)|??(%X)<br>
366 : ????????????????????????????
2020-06-23 15:27:59 +08:00
367 : ???(0?7)<br><br>
2020-06-23 15:53:23 +08:00
368 : <li>S|?????(%d)?<br>????????????????<br><br>
369 : <li>I|??????(%X)|??(%X)?
370 : <br>??????????????????????????????????
2020-06-23 15:27:59 +08:00
371 : ???(5?19)?<br><br>
372 : </ul>
373 : <br>
374 : <br>
375 : <br>
376 :
*/
void old_lssproto_B_send( int fd,char* command )
{
lssproto_CreateHeader( lssproto.work , "B" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( command ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
542 : <LI><a name="SKD"><font color=red>clienttoserver SKD( int dir , int index );<br></font></a>
543 : (SKillDir)
2020-06-23 15:53:23 +08:00
544 : ?????????????
2020-06-23 15:27:59 +08:00
545 : <br><br>
546 : <dl>
547 : <dt>int dir
2020-06-23 15:53:23 +08:00
548 : <dd>???????
2020-06-23 15:27:59 +08:00
549 : <dt>int index
2020-06-23 15:53:23 +08:00
550 : <dd>????????????index.
2020-06-23 15:27:59 +08:00
551 : </dl>
2020-06-23 15:53:23 +08:00
552 : ?????????????????????????????
2020-06-23 15:27:59 +08:00
553 : <pre>
554 :
555 : ?????????????
2020-06-23 15:53:23 +08:00
556 : rpcgen C?????????????????????????
2020-06-23 15:27:59 +08:00
557 : ?????????enum
558 :
2020-06-23 15:53:23 +08:00
559 : ??????????????????????
2020-06-23 15:27:59 +08:00
560 : typedef enum
561 : {
562 : SKILL_FIRE,
2020-06-23 15:53:23 +08:00
563 : SKILL_MAGICIAN, ???
564 : SKILL_PRIEST, ?
2020-06-23 15:27:59 +08:00
565 : SKILL_ALOTOFTHINGS, ????
2020-06-23 15:53:23 +08:00
566 : ?????
567 : 7(??) + 8 (?? ) + 4*(???????)
2020-06-23 15:27:59 +08:00
568 : SKILL_AVOIDRATEUP, ???????? 3% ?????
2020-06-23 15:53:23 +08:00
569 : SKILL_DETERMINEITEM, ?????
2020-06-23 15:27:59 +08:00
570 :
2020-06-23 15:53:23 +08:00
571 : SKILL_DETERMINOTHERS, ??
572 : 0 ?????(?)
573 : 1 ???????????????
574 : ??????????????
2020-06-23 15:27:59 +08:00
575 : 2 ?????
576 : 3 NPC
577 : 4 ????
2020-06-23 15:53:23 +08:00
578 : 5 ?
2020-06-23 15:27:59 +08:00
579 :
580 : SKILL_FIRECUT, ??? 5 %
581 : SKILL_THUNDERCUT, ???? 5 %
2020-06-23 15:53:23 +08:00
582 : SKILL_ICECUT, ?? 5 %
583 : SKILL_MERCHANT, ??20% ??100% ?? 5%?????
584 : SKILL_HEALER, ?
585 : ???????????????????
586 : 1 ?
2020-06-23 15:27:59 +08:00
587 : 2 ???
2020-06-23 15:53:23 +08:00
588 : 3 ??
589 : 4 ?
2020-06-23 15:27:59 +08:00
590 : 5 ??
591 : 6 ??
592 : 7 HP 1 ???
593 : 8 HP ???????
2020-06-23 15:53:23 +08:00
594 : ?????
595 : ?????????????
2020-06-23 15:27:59 +08:00
596 : 0 0
597 : 1 50
598 : 2 57
599 : 3 64
600 : 4 71
601 : 5 78
602 : 6 85
603 : 7 92
604 : 8 100
2020-06-23 15:53:23 +08:00
605 : ?????????( 100 ??? )??π??? 1 10 ????
2020-06-23 15:27:59 +08:00
606 : ??? + ?????
607 : 0 0
608 : 1 1
609 : 2 2
610 : 3 3
611 : 4 4
612 : 5 5
613 : 6 6
614 : 7 7
615 : 8 8
616 :
2020-06-23 15:53:23 +08:00
617 : SKILL_FIST, ???
618 : SKILL_SWORD, ???
619 : SKILL_AXE, ???
620 : SKILL_SPEAR, ???
621 : SKILL_BOW, ???
622 : SKILL_CANE, ??
2020-06-23 15:27:59 +08:00
623 :
2020-06-23 15:53:23 +08:00
624 : SKILL_LARGEVOICE, ??? Lv 8
625 : ?????????? TK ?
2020-06-23 15:27:59 +08:00
626 : SKILL_NUM
627 : }SKILL_ID;
628 : </pre>
629 : <br>
630 : <hr>
631 : <br>
632 :
*/
void old_lssproto_SKD_send( int fd,int dir,int index )
{
lssproto_CreateHeader( lssproto.work , "SKD" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dir ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( index ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
633 : <li><a name="CS_ID"><font color=red>clienttoserver ID( int x, int y, int haveitemindex,int toindex);<br></font></a>
2020-06-23 15:53:23 +08:00
634 : (useItemDir)???????????????????????????????????????????
635 : ????????????
2020-06-23 15:27:59 +08:00
636 :
637 :
638 : <dl>
639 : <dt>int x,y
2020-06-23 15:53:23 +08:00
640 : <dd> ?x,y ?
2020-06-23 15:27:59 +08:00
641 : <dt>int haveitemindex
2020-06-23 15:53:23 +08:00
642 : <dd> ?????????????????????
2020-06-23 15:27:59 +08:00
643 : <dt>int toindex
2020-06-23 15:53:23 +08:00
644 : <dd> Κ?????????????????????????index????????????????
2020-06-23 15:27:59 +08:00
645 : <pre>
2020-06-23 15:53:23 +08:00
646 : = 0
2020-06-23 15:27:59 +08:00
647 : ??? = 1 ?5
2020-06-23 15:53:23 +08:00
648 : ?? = 6 ?10 ?S N ?0?4???????????
2020-06-23 15:27:59 +08:00
649 : </pre>
2020-06-23 15:53:23 +08:00
650 : ???????????????-1?????<br>
2020-06-23 15:27:59 +08:00
651 : <br>
652 : </dl>
653 : <br>
654 : <br>
655 : <hr>
656 : <br>
657 :
658 :
659 :
660 :
661 :
*/
void old_lssproto_ID_send( int fd,int x,int y,int haveitemindex,int toindex )
{
lssproto_CreateHeader( lssproto.work , "ID" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( haveitemindex ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( toindex ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
662 : <LI><a name="PI"><font color=red>clienttoserver PI( int x, int y,int dir );<br></font></a>
663 : (PickupItem)
2020-06-23 15:53:23 +08:00
664 : ??????????????????9??????<br><br>
2020-06-23 15:27:59 +08:00
665 : <dl>
666 : <dt>int x,y
2020-06-23 15:53:23 +08:00
667 : <dd> ?x,y ?
2020-06-23 15:27:59 +08:00
668 : <dt>int dir
2020-06-23 15:53:23 +08:00
669 : <dd>??????????????? ??????????
2020-06-23 15:27:59 +08:00
670 : </dl>
671 : <br>
672 : <hr>
673 : <br>
674 :
675 :
*/
void old_lssproto_PI_send( int fd,int x,int y,int dir )
{
lssproto_CreateHeader( lssproto.work , "PI" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dir ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
676 : <LI><a name="DI"><font color=red>clienttoserver DI( int x, int y, int itemindex);<br></font></a>
677 : (DropItem)
2020-06-23 15:53:23 +08:00
678 : ???????????????????????????
679 : ????itemindex????????????????
2020-06-23 15:27:59 +08:00
680 : <br><br>
681 :
682 : <dl>
683 : <dt>int x,y
2020-06-23 15:53:23 +08:00
684 : <dd> ?x,y ?
2020-06-23 15:27:59 +08:00
685 : <dt>int itemindex
2020-06-23 15:53:23 +08:00
686 : <dd>??????????????
2020-06-23 15:27:59 +08:00
687 : </dl>
688 : <br>
689 : <hr>
690 : <br>
691 :
692 :
*/
void old_lssproto_DI_send( int fd,int x,int y,int itemindex )
{
lssproto_CreateHeader( lssproto.work , "DI" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( itemindex ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
693 : <LI><a name="DG"><font color=red>clienttoserver DG( int x, int y, int amount );<br></font></a>
694 : (DropGold)
2020-06-23 15:53:23 +08:00
695 : ?????SA??????????<br><br>
2020-06-23 15:27:59 +08:00
696 : <dl>
697 : <dt>int x,y
2020-06-23 15:53:23 +08:00
698 : <dd> ?x,y ?
2020-06-23 15:27:59 +08:00
699 : <dt>int amount
2020-06-23 15:53:23 +08:00
700 : <dd>??????
2020-06-23 15:27:59 +08:00
701 : </dl>
702 : <br>
703 : <hr>
704 : <br>
705 :
*/
void old_lssproto_DG_send( int fd,int x,int y,int amount )
{
lssproto_CreateHeader( lssproto.work , "DG" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( amount ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
706 : <LI><a name="DP"><font color=red>clienttoserver DP( int x, int y,int petindex);<br></font></a>
707 : (DropPet)
2020-06-23 15:53:23 +08:00
708 : ???????????????
709 : petindex????????????????
2020-06-23 15:27:59 +08:00
710 : <br><br>
711 :
712 : <dl>
713 : <dt>int x,y
2020-06-23 15:53:23 +08:00
714 : <dd> ?x,y ?
2020-06-23 15:27:59 +08:00
715 : <dt>int petindex
2020-06-23 15:53:23 +08:00
716 : <dd>???????index????????????????????
2020-06-23 15:27:59 +08:00
717 : </dl>
718 : <br>
719 : <hr>
720 : <br>
721 :
*/
void old_lssproto_DP_send( int fd,int x,int y,int petindex )
{
lssproto_CreateHeader( lssproto.work , "DP" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( petindex ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
741 : <LI><a name="MI"><font color=red>clienttoserver MI( int fromindex , int toindex);<br></font></a>
742 : (MoveItem)<br>
2020-06-23 15:53:23 +08:00
743 : ??????/??/?????????????????
744 : ????????<br><br>
2020-06-23 15:27:59 +08:00
745 : <dl>
746 : <dt>int fromindex
2020-06-23 15:53:23 +08:00
747 : <dd>??????????????
2020-06-23 15:27:59 +08:00
748 : <dt>int toindex
2020-06-23 15:53:23 +08:00
749 : <dd>?????????????
2020-06-23 15:27:59 +08:00
750 : </dl>
2020-06-23 15:53:23 +08:00
751 : ?????????
2020-06-23 15:27:59 +08:00
752 : <ul>
2020-06-23 15:53:23 +08:00
753 : <li>0 ???????( )
754 : <li>1 ???????( )
755 : <li>2 ????????????()
756 : <li>3 ???????1
757 : <li>4 ???????2
758 : <li>???? ?????
2020-06-23 15:27:59 +08:00
759 : </ul>
760 : <br>
761 : <hr>
762 : <br>
*/
void old_lssproto_MI_send( int fd,int fromindex,int toindex )
{
lssproto_CreateHeader( lssproto.work , "MI" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( fromindex ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( toindex ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
788 : <LI><a name="CS_MSG"><font color=red>clienttoserver MSG( int index , string message , int color );<br></font></a>
789 : (MeSsaGe)
2020-06-23 15:53:23 +08:00
790 : ??????????????????index????????
2020-06-23 15:27:59 +08:00
791 : ???????????<br><br>
792 : <dl>
793 : <dt>int index
2020-06-23 15:53:23 +08:00
794 : <dd>??????????????????
2020-06-23 15:27:59 +08:00
795 : <dt>string message
2020-06-23 15:53:23 +08:00
796 : <dd>???????????EUC????????????
797 : ????????????????????????????
2020-06-23 15:27:59 +08:00
798 : <dt>int color
2020-06-23 15:53:23 +08:00
799 : <dd>???????
2020-06-23 15:27:59 +08:00
800 : </dl>
801 : <br>
802 : <br>
803 : <hr>
804 : <br>
805 :
*/
void old_lssproto_MSG_send( int fd,int index,char* message,int color )
{
lssproto_CreateHeader( lssproto.work , "MSG" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( index ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( message ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( color ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
830 : <LI><a name="CS_PMSG"><font color=red>clienttoserver PMSG( int index, int petindex, int itemindex, string message , int color );<br></font></a>
831 : (PetMeSsaGe)
2020-06-23 15:53:23 +08:00
832 : ??????????????????????index????????
833 : ?????????????????????????<br><br>
2020-06-23 15:27:59 +08:00
834 : <dl>
835 : <dt>int index
2020-06-23 15:53:23 +08:00
836 : <dd>??????????????????
2020-06-23 15:27:59 +08:00
837 : <dt>int petindex
2020-06-23 15:53:23 +08:00
838 : <dd>???????????
2020-06-23 15:27:59 +08:00
839 : <dt>int itemindex
2020-06-23 15:53:23 +08:00
840 : <dd>?????????????
2020-06-23 15:27:59 +08:00
841 : <dt>string message
2020-06-23 15:53:23 +08:00
842 : <dd>???????????EUC????????????
843 : ????????????????????????????
2020-06-23 15:27:59 +08:00
844 : <dt>int color
2020-06-23 15:53:23 +08:00
845 : <dd>???????
2020-06-23 15:27:59 +08:00
846 : </dl>
847 : <br>
848 : <br>
849 : <hr>
850 : <br>
*/
void old_lssproto_PMSG_send( int fd,int index,int petindex,int itemindex,char* message,int color )
{
lssproto_CreateHeader( lssproto.work , "PMSG" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( index ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( petindex ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( itemindex ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( message ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( color ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
void old_lssproto_AB_send( int fd )
{
lssproto_CreateHeader( lssproto.work , "AB" );
lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
921 : <LI><a name="DAB"><font color=red>clienttoserver DAB( int index );</font></a><br>
922 : (DeleteAddressBookitem)????????????????????
2020-06-23 15:53:23 +08:00
923 : ????????????????????????????AB??
924 : ?????????????????????????????
925 : ?????????
2020-06-23 15:27:59 +08:00
926 : <dl>
927 : <dt>int index
2020-06-23 15:53:23 +08:00
928 : <dd>??????index.??????0????
2020-06-23 15:27:59 +08:00
929 : </dl>
2020-06-23 15:53:23 +08:00
930 : ??????????????????????????
2020-06-23 15:27:59 +08:00
931 : <br>
932 : <hr>
933 : <br>
934 :
*/
void old_lssproto_DAB_send( int fd,int index )
{
lssproto_CreateHeader( lssproto.work , "DAB" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( index ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
935 : <LI><a name="AAB"><font color=red>clienttoserver AAB( int x, int y );</font></a><br>
936 : (AddAddressBookitem)
2020-06-23 15:53:23 +08:00
937 : ????????????????????????
938 : ?????????????????????
939 : ?????AB????????????????????
2020-06-23 15:27:59 +08:00
940 : <dl>
941 : <dt>int x,y
2020-06-23 15:53:23 +08:00
942 : <dd>?????
2020-06-23 15:27:59 +08:00
943 : </dl>
944 : <br>
945 : <hr>
946 : <br>
947 :
*/
void old_lssproto_AAB_send( int fd,int x,int y )
{
lssproto_CreateHeader( lssproto.work , "AAB" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
948 : <LI><a name="L"><font color=red>clienttoserver L( int dir);</font></a><br>
949 : (Look)
2020-06-23 15:53:23 +08:00
950 : dir ????????????????????????????
951 : ???????????????????????????????
952 : ???????????????????????????????
953 : ????????????????????????????????
954 : ???????(??NPC?????)?????????NPC?
955 : ????????????????????????????NPC?
956 : ???????????????????????ρ??????
957 : TK?????????????
2020-06-23 15:27:59 +08:00
958 : <br>
959 : <hr>
960 : <br>
961 :
*/
void old_lssproto_L_send( int fd,int dir )
{
lssproto_CreateHeader( lssproto.work , "L" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dir ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
962 : <LI><a name="C2STK"><font color=red>clienttoserver TK( int x, int y, string message ,int color, int area);<br></font></a>
963 : (TalK)
2020-06-23 15:53:23 +08:00
964 : ????????????????????<br><br>
2020-06-23 15:27:59 +08:00
965 : <dl>
966 : <dt>int x,y
2020-06-23 15:53:23 +08:00
967 : <dd>?????
2020-06-23 15:27:59 +08:00
968 : <dt>string message
2020-06-23 15:53:23 +08:00
969 : <dd>string ????, "|" ?2????????????????
970 : ????????2????????????????2??
2020-06-23 15:27:59 +08:00
971 : ??????<a href="#escaping">?????</a>??????
972 : ?????????????????????
973 : <ul>
974 : <li>P??<br>
2020-06-23 15:53:23 +08:00
975 : ?C更???"P"??????????????
2020-06-23 15:27:59 +08:00
976 : ??????????????????????????
2020-06-23 15:53:23 +08:00
977 : ?????????????????????
978 : ??????????????????"P"?
979 : ???????????????????
980 : ???????TK??????????TK???????
981 : ???????"P"????????????
2020-06-23 15:27:59 +08:00
982 : <br>
2020-06-23 15:53:23 +08:00
983 : ???????
2020-06-23 15:27:59 +08:00
984 : <pre>
2020-06-23 15:53:23 +08:00
985 : "P|???????????!!"
2020-06-23 15:27:59 +08:00
986 : </pre>
987 : <br>
2020-06-23 15:53:23 +08:00
988 : ?????????????????????
989 : ???????????????????????
990 : ???????C?????????'!' ??
991 : ??????????????????'!'???
992 : ??????????????????????
993 : ?????????!??????????????
994 : ????????????
2020-06-23 15:27:59 +08:00
995 : <table border>
2020-06-23 15:53:23 +08:00
996 : <tr><td>"..."</td><td>???????????
2020-06-23 15:27:59 +08:00
997 : </td></tr>
998 :
999 : </table>
1000 : </ul>
1001 : <dt>int color
2020-06-23 15:53:23 +08:00
1002 : <dd>????
2020-06-23 15:27:59 +08:00
1003 : <dt>int area
2020-06-23 15:53:23 +08:00
1004 : <dd>??????????????????
2020-06-23 15:27:59 +08:00
1005 :
1006 : </dl>
1007 : <br>
1008 : <hr>
1009 : <br>
1010 :
*/
void old_lssproto_TK_send( int fd,int x,int y,char* message,int color,int area )
{
lssproto_CreateHeader( lssproto.work , "TK" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( message ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( color ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( area ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1071 : <LI><a name="CS_M"><font color=red>clienttoserver M(int fl , int x1 , int y1 , int x2, int y2 );<br></font></a>
2020-06-23 15:53:23 +08:00
1072 : ??????????????????M????????????
1073 : ????????MC???????????????????
1074 : ??????????????????????????
2020-06-23 15:27:59 +08:00
1075 : <dl>
1076 : <dt>int fl
2020-06-23 15:53:23 +08:00
1077 : <dd>????
2020-06-23 15:27:59 +08:00
1078 : <dt>int x1
2020-06-23 15:53:23 +08:00
1079 : <dd>?X
2020-06-23 15:27:59 +08:00
1080 : <dt>int y1
2020-06-23 15:53:23 +08:00
1081 : <dd>?Y
2020-06-23 15:27:59 +08:00
1082 : <dt>int x2
1083 : <dd>??X
1084 : <dt>int y2
1085 : <dd>??Y
1086 : </dl>
1087 : <br>
1088 : <hr>
1089 : <br>
1090 :
*/
void old_lssproto_M_send( int fd,int fl,int x1,int y1,int x2,int y2 )
{
lssproto_CreateHeader( lssproto.work , "M" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( fl ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x1 ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y1 ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x2 ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y2 ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1128 : <LI><a name="C2SC"><font color=red>clienttoserver C( int index );<bR></font></a>
2020-06-23 15:53:23 +08:00
1129 : ???????????????index CA ??????????
1130 : C ????????????????????????
2020-06-23 15:27:59 +08:00
1131 : <br>
1132 : <hr>
1133 : <br>
1134 :
*/
void old_lssproto_C_send( int fd,int index )
{
lssproto_CreateHeader( lssproto.work , "C" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( index ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1345 : <LI><a name="CS_S"><font color=red>clienttoserver S( string category );<br></font></a>
1346 : (Status)
1347 : ???????????????
1348 : <dl>
1349 : <dt>string category
2020-06-23 15:53:23 +08:00
1350 : <dd>??????????????????
2020-06-23 15:27:59 +08:00
1351 : <ul>
2020-06-23 15:53:23 +08:00
1352 : <LI>P ?????
1353 : <LI>C ?
1354 : <LI>I ????
1355 : <LI>S ???
1356 : <LI>T ?
1357 : <LI>M ??????
2020-06-23 15:27:59 +08:00
1358 : <li>E ????????
1359 : <li>K0 - K4 ???????
1360 : <li>D ID
1361 : </ul>
1362 : </dl>
2020-06-23 15:53:23 +08:00
1363 : ??????????????????????????
1364 : ???????????????
2020-06-23 15:27:59 +08:00
1365 : <br>
1366 : <hr>
1367 : <br>
1368 :
*/
void old_lssproto_S_send( int fd,char* category )
{
lssproto_CreateHeader( lssproto.work , "S" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( category ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1745 : <li><a name="CS_FS"><font color=red>clienttoserver FS( int flg);<br></font></a>
2020-06-23 15:53:23 +08:00
1746 : (FlgSet)????????DUEL???????????????????????On/Off???<br><br>
2020-06-23 15:27:59 +08:00
1747 :
1748 : <dl>
1749 : <dt>int flg
1750 : <dd> 0 bit 0: ??Off 1: ??On<br>
2020-06-23 15:53:23 +08:00
1751 : ?????1 bit 0: ·??off 1: ·??On <br>
2020-06-23 15:27:59 +08:00
1752 : 2 bit 0: DUEL off 1: DUEL On<br>
2020-06-23 15:53:23 +08:00
1753 : 3 bit 0: ????????? 1: ???????????????????<br>
1754 : 4 bit 0: ???OK 1: ????<br>
2020-06-23 15:27:59 +08:00
1755 : </dl>
1756 : <br>
1757 : <br>
1758 : <hr>
1759 : <br>
*/
void old_lssproto_FS_send( int fd,int flg )
{
lssproto_CreateHeader( lssproto.work , "FS" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( flg ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1774 : <li><a name="CS_HL"><font color=red>clienttoserver HL( int flg);<br></font></a>
2020-06-23 15:53:23 +08:00
1775 : (HeLp)??????? ??????ON???????·?????????<br><br>
2020-06-23 15:27:59 +08:00
1776 :
1777 : <dl>
1778 : <dt>int flg
1779 : <dd> 0: ??????Off 1: ??????On<br>
1780 : </dl>
1781 : <br>
1782 : <br>
1783 : <hr>
1784 : <br>
*/
void old_lssproto_HL_send( int fd,int flg )
{
lssproto_CreateHeader( lssproto.work , "HL" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( flg ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1795 : <li><a name="CS_PR"><font color=red>clienttoserver PR( int x, int y,int request);<br></font></a>
2020-06-23 15:53:23 +08:00
1796 : (PartyRequest)????or?? ??????<br><br>
2020-06-23 15:27:59 +08:00
1797 :
1798 : <dl>
1799 : <dt>int x,y
2020-06-23 15:53:23 +08:00
1800 : <dd> ?x,y ?
2020-06-23 15:27:59 +08:00
1801 : <dt>int request
2020-06-23 15:53:23 +08:00
1802 : <dd>0: ????1: ???????
2020-06-23 15:27:59 +08:00
1803 : </dl>
1804 : <br>
1805 : <br>
1806 : <hr>
1807 : <br>
*/
void old_lssproto_PR_send( int fd,int x,int y,int request )
{
lssproto_CreateHeader( lssproto.work , "PR" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( request ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1824 : <li><a name="CS_KS"><font color=red>clienttoserver KS( int petarray);<br></font></a>
2020-06-23 15:53:23 +08:00
1825 : (Kyoryu Select)·??????????<br><br>
2020-06-23 15:27:59 +08:00
1826 :
1827 : <dl>
1828 : <dt>int petarray
2020-06-23 15:53:23 +08:00
1829 : <dd>0 ? 4 ????????????????????????????·??????????????????-1????
2020-06-23 15:27:59 +08:00
1830 : </dl>
1831 : <br>
1832 : <br>
1833 : <hr>
1834 : <br>
*/
void old_lssproto_KS_send( int fd,int petarray )
{
lssproto_CreateHeader( lssproto.work , "KS" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( petarray ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1852 : <li><a name="CS_AC"><font color=red>clienttoserver AC( int x, int y, int actionno);<br></font></a>
2020-06-23 15:53:23 +08:00
1853 : (action)??????????<br><br>
2020-06-23 15:27:59 +08:00
1854 :
1855 : <dl>
1856 : <dt>int x,y
2020-06-23 15:53:23 +08:00
1857 : <dd> ?x,y ?
2020-06-23 15:27:59 +08:00
1858 : <dt>int actionno
2020-06-23 15:53:23 +08:00
1859 : <dd>???????????????????????????????????????????(CA)?????
1860 : ????????????????????????????????????????<br>
2020-06-23 15:27:59 +08:00
1861 : <br>
1862 : <table border=1>
1863 : <tr><td>action</td><td>no</td></tr>
1864 : <tr><td>??</td><td>0</td></tr>
1865 : <tr><td>????</td><td>1</td></tr>
2020-06-23 15:53:23 +08:00
1866 : <tr><td>??</td><td>2</td></tr>
2020-06-23 15:27:59 +08:00
1867 : <tr><td>?????</td><td>3</td></tr>
2020-06-23 15:53:23 +08:00
1868 : <tr><td>?</td><td>4</td></tr>
2020-06-23 15:27:59 +08:00
1869 : <tr><td>??</td><td>5</td></tr>
2020-06-23 15:53:23 +08:00
1870 : <tr><td>??</td><td>6</td></tr>
2020-06-23 15:27:59 +08:00
1871 : <tr><td>??</td><td>7</td></tr>
2020-06-23 15:53:23 +08:00
1872 : <tr><td>?</td><td>8</td></tr>
1873 : <tr><td>??</td><td>9</td></tr>
2020-06-23 15:27:59 +08:00
1874 : <tr><td>???</td><td>10</td></tr>
1875 : <tr><td>????</td><td>11</td></tr>
1876 : <tr><td>???</td><td>12</td></tr>
1877 : </table>
1878 : </dl>
1879 : <br>
1880 : <br>
1881 : <hr>
1882 : <br>
*/
void old_lssproto_AC_send( int fd,int x,int y,int actionno )
{
lssproto_CreateHeader( lssproto.work , "AC" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( actionno ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1883 : <li><a name="CS_MU"><font color=red>clienttoserver MU( int x, int y, int array, int toindex);<br></font></a>
2020-06-23 15:53:23 +08:00
1884 : (magic use)???????????????????????????????????????
1885 : ????????????
2020-06-23 15:27:59 +08:00
1886 :
1887 :
1888 : <dl>
1889 : <dt>int x,y
2020-06-23 15:53:23 +08:00
1890 : <dd> ?x,y ?
2020-06-23 15:27:59 +08:00
1891 : <dt>int array
2020-06-23 15:53:23 +08:00
1892 : <dd> ?????????????? P ? Jn(n ?????)????????????
2020-06-23 15:27:59 +08:00
1893 : <dt>int toindex
2020-06-23 15:53:23 +08:00
1894 : <dd> Κ???????????????????????index????????????????
2020-06-23 15:27:59 +08:00
1895 : <pre>
2020-06-23 15:53:23 +08:00
1896 : = 0
2020-06-23 15:27:59 +08:00
1897 : ??? = 1 ?5
2020-06-23 15:53:23 +08:00
1898 : ?? = 6 ?10 ?S N ?0?4???????????
2020-06-23 15:27:59 +08:00
1899 : </pre>
2020-06-23 15:53:23 +08:00
1900 : ???????????????-1?????<br>
2020-06-23 15:27:59 +08:00
1901 : <br>
1902 : </dl>
1903 : <br>
1904 : <br>
1905 : <hr>
1906 : <br>
*/
void old_lssproto_MU_send( int fd,int x,int y,int array,int toindex )
{
lssproto_CreateHeader( lssproto.work , "MU" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( array ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( toindex ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1907 : <li><a name="CS_PS"><font color=red>clienttoserver PS( int havepetindex, int havepetskill, int toindex, string data);<br></font></a>
2020-06-23 15:53:23 +08:00
1908 : (PetSkill use )???????????????????????
2020-06-23 15:27:59 +08:00
1909 :
1910 : <dl>
1911 : <dt>int havepetindex
2020-06-23 15:53:23 +08:00
1912 : <dd>????????????
2020-06-23 15:27:59 +08:00
1913 : <dt>int havepetskill
2020-06-23 15:53:23 +08:00
1914 : <dd>??????????
2020-06-23 15:27:59 +08:00
1915 : <dt>int toindex
2020-06-23 15:53:23 +08:00
1916 : <dd> Κ???????????????????????index????????????????
2020-06-23 15:27:59 +08:00
1917 : <pre>
2020-06-23 15:53:23 +08:00
1918 : = 0
2020-06-23 15:27:59 +08:00
1919 : ??? = 1 ?5
2020-06-23 15:53:23 +08:00
1920 : ?? = 6 ?10 ?S N ?0?4???????????
2020-06-23 15:27:59 +08:00
1921 : </pre>
2020-06-23 15:53:23 +08:00
1922 : ???????????????-1?????<br>
2020-06-23 15:27:59 +08:00
1923 : <br>
1924 : <dt>string data
2020-06-23 15:53:23 +08:00
1925 : <dd>??????????????haveitemindex1|haveitemindex2|haveitemindex3|...<br>
1926 : ?????????????????
2020-06-23 15:27:59 +08:00
1927 :
1928 : </dl>
1929 :
1930 : <br>
1931 : <br>
1932 : <hr>
1933 : <br>
1934 :
*/
void old_lssproto_PS_send( int fd,int havepetindex,int havepetskill,int toindex,char* data )
{
lssproto_CreateHeader( lssproto.work , "PS" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( havepetindex ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( havepetskill ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( toindex ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( data ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1963 : <LI><a name="ST"><font color=red>clienttoserver ST( int titleindex );<br></font></a>
1964 : (SelectTitle)
2020-06-23 15:53:23 +08:00
1965 : ??????titleindex ? -1 ???????????????
2020-06-23 15:27:59 +08:00
1966 : ??<br><br>
1967 : <dl>
1968 : <dt>int titleindex
2020-06-23 15:53:23 +08:00
1969 : <dd>??????
2020-06-23 15:27:59 +08:00
1970 : </dl>
1971 : ????Txt??????????????????????????
2020-06-23 15:53:23 +08:00
1972 : ?ρ????
2020-06-23 15:27:59 +08:00
1973 : <br>
1974 : <br>
1975 : <hr>
1976 : <br>
1977 :
1978 :
*/
void old_lssproto_ST_send( int fd,int titleindex )
{
lssproto_CreateHeader( lssproto.work , "ST" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( titleindex ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1979 : <LI><a name="DT"><font color=red>clienttoserver DT( int titleindex );<br></font></a>
1980 : (DeleteTitle)
2020-06-23 15:53:23 +08:00
1981 : ???????<br><br>
2020-06-23 15:27:59 +08:00
1982 : <dl>
1983 : <dt>int titleindex
2020-06-23 15:53:23 +08:00
1984 : <dd>????????????
2020-06-23 15:27:59 +08:00
1985 : </dl>
2020-06-23 15:53:23 +08:00
1986 : ????Txt?????????????????????????????
1987 : ρ????
2020-06-23 15:27:59 +08:00
1988 : <br>
1989 : <br>
1990 : <hr>
1991 : <br>
1992 :
*/
void old_lssproto_DT_send( int fd,int titleindex )
{
lssproto_CreateHeader( lssproto.work , "DT" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( titleindex ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
1993 : <LI><a name="FT"><font color=red>clienttoserver FT( string data );<br></font></a>
1994 : (inputFreeTitle)
2020-06-23 15:53:23 +08:00
1995 : ??????????<br><br>
2020-06-23 15:27:59 +08:00
1996 : <dl>
1997 : <dt>string data
2020-06-23 15:53:23 +08:00
1998 : <dd>??????EUC????????????????
1999 : ???????????????????1?info???
2000 : ?????????????????????????
2001 : ????????????
2020-06-23 15:27:59 +08:00
2002 : </dl>
2020-06-23 15:53:23 +08:00
2003 : ??????Txt?????????ρ????????????
2004 : ?CHARINDEX????Ch?????????????????
2020-06-23 15:27:59 +08:00
2005 : ???
2006 : <br>
2007 : <br>
2008 : <hr>
2009 : <br>
2010 :
*/
void old_lssproto_FT_send( int fd,char* data )
{
lssproto_CreateHeader( lssproto.work , "FT" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( data ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
2019 : <LI><a name="C2SSKUP"><font color=red>clienttoserver SKUP( int skillid );<br></font></a>
2020 : (SKillUP)
2021 : ??????????????<br><br>
2022 : <dl>
2023 : <dt>int skillid
2020-06-23 15:53:23 +08:00
2024 : <dd>???????????0=?, 1=??, 2=?, 3=???
2020-06-23 15:27:59 +08:00
2025 : </dl>
2026 : <br>
2027 : <hr>
2028 : <br>
2029 :
*/
void old_lssproto_SKUP_send( int fd,int skillid )
{
lssproto_CreateHeader( lssproto.work , "SKUP" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( skillid ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
2030 : <LI><a name="CS_KN"><font color=red>clienttoserver KN( int havepetindex, string data );<br></font></a>
2031 : (inputKyoryuName)
2020-06-23 15:53:23 +08:00
2032 : ??????????<br><br>
2020-06-23 15:27:59 +08:00
2033 : <dl>
2034 : <dt>int havepetindex
2020-06-23 15:53:23 +08:00
2035 : <dd>??????
2020-06-23 15:27:59 +08:00
2036 : <dt>string data
2020-06-23 15:53:23 +08:00
2037 : <dd>?????????????????
2020-06-23 15:27:59 +08:00
2038 :
2039 : </dl>
2020-06-23 15:53:23 +08:00
2040 : ??????Txt?????????ρ????????????
2020-06-23 15:27:59 +08:00
2041 : ???????????????????
2042 : <br>
2043 : <br>
2044 : <hr>
2045 : <br>
2046 :
*/
void old_lssproto_KN_send( int fd,int havepetindex,char* data )
{
lssproto_CreateHeader( lssproto.work , "KN" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( havepetindex ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( data ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
2166 : <LI><a name="CS_WN"><font color=red>clienttoserver WN( int x, int y, int seqno, int objindex, int select, string data );<br></font></a>
2167 : <br>
2020-06-23 15:53:23 +08:00
2168 : ?????????<br>
2020-06-23 15:27:59 +08:00
2169 : <br>
2170 : <dl>
2171 : <dt>int x,y
2020-06-23 15:53:23 +08:00
2172 : <dd>???????x,y?
2020-06-23 15:27:59 +08:00
2173 : <dt>int seqno
2020-06-23 15:53:23 +08:00
2174 : <dd>????????seqno??????
2020-06-23 15:27:59 +08:00
2175 : <dt>int objindex
2020-06-23 15:53:23 +08:00
2176 : <dd>????????objindex??????
2020-06-23 15:27:59 +08:00
2177 : <dt>int select
2020-06-23 15:53:23 +08:00
2178 : <dd>?????????????????????????WN ?buttontype ?define??????
2020-06-23 15:27:59 +08:00
2179 : <dt>string data
2020-06-23 15:53:23 +08:00
2180 : <dd>??????????????????????
2181 : ??????????????????1???
2182 : ?????????????????????????????????????
2183 : <br><br>??????<br>
2184 : ?????????????????<br>
2185 : ???????????????????|??<br>
2186 : ?? ??1 ??2 ?3
2020-06-23 15:27:59 +08:00
2187 :
2020-06-23 15:53:23 +08:00
2188 : <br><br><br>?????????<br>
2189 : ??????????(??)????????(??)?????????(??)?πν<br>
2020-06-23 15:27:59 +08:00
2190 :
2191 : </dl>
2192 : <br>
2193 : <br>
2194 : <hr>
2195 : <br>
*/
void old_lssproto_WN_send( int fd,int x,int y,int seqno,int objindex,int select,char* data )
{
lssproto_CreateHeader( lssproto.work , "WN" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( seqno ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( objindex ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( select ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( data ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
2238 : <LI><a name="CS_SP"><font color=red>clienttoserver SP( int x, int y, int dir );<br></font></a>
2239 : (SetPosition)<br>
2020-06-23 15:53:23 +08:00
2240 : ???????????????
2241 : ??????????????????<br>
2020-06-23 15:27:59 +08:00
2242 : <br>
2243 : <dl>
2244 : <dt>int x,y, dir
2020-06-23 15:53:23 +08:00
2245 : <dd>?,???
2020-06-23 15:27:59 +08:00
2246 : </dl>
2247 : <br>
2248 : <br>
2249 : <hr>
2250 : <br>
2020-06-23 15:53:23 +08:00
2251 : <!-- ??????????????????? -->
2020-06-23 15:27:59 +08:00
2252 :
*/
void old_lssproto_SP_send( int fd,int x,int y,int dir )
{
lssproto_CreateHeader( lssproto.work , "SP" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( x ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( y ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dir ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
2253 : <LI><a name="CS_CLIENTLOGIN"><font color=red>clienttoserver ClientLogin(string cdkey,string passwd);<br></font></a>
2020-06-23 15:53:23 +08:00
2254 : ???????????????????????????????
2255 : ???????????????????????????????
2256 : ???????????????????????????????
2257 : ???Μ???????????????????????????
2258 : ???????????????????????????
2020-06-23 15:27:59 +08:00
2259 :
2260 : <br><br>
2261 : <dl>
2262 : <dt>string cdkey
2263 : <dd>CDKEY
2264 : <dt>string passwd
2020-06-23 15:53:23 +08:00
2265 : <dd>?????????????????????
2020-06-23 15:27:59 +08:00
2266 : </dl>
2267 : <br>
2268 : <hr>
2269 : <br>
2270 :
*/
void old_lssproto_ClientLogin_send( int fd,char* cdkey,char* passwd )
{
lssproto_CreateHeader( lssproto.work , "ClientLogin" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( cdkey ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( passwd ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
2284 : <LI><a name="CS_CREATENEWCHAR"><font color=red>clienttoserver CreateNewChar(int dataplacenum, string charname,int imgno , int faceimgno, int vital, int str, int tgh, int dex, int earth, int water, int fire, int wind, int hometown);<br></font></a>
2020-06-23 15:53:23 +08:00
2285 : ????????????
2020-06-23 15:27:59 +08:00
2286 : <br><br>
2287 : <dl>
2288 : <dt>int dataplacenum
2020-06-23 15:53:23 +08:00
2289 : <dd>??????????????????????????????????????????????κ???
2020-06-23 15:27:59 +08:00
2290 : <dt>string charname
2020-06-23 15:53:23 +08:00
2291 : <dd>????(????????????????)?
2292 : ????????????????????????????
2020-06-23 15:27:59 +08:00
2293 : <dt>int imgno
2020-06-23 15:53:23 +08:00
2294 : <dd>???????????
2020-06-23 15:27:59 +08:00
2295 : <dt>int faceimgno
2020-06-23 15:53:23 +08:00
2296 : <dd>????????????????
2020-06-23 15:27:59 +08:00
2297 : <dt>int vital, str,tgh dex
2298 : <dd>???????
2299 : <dt>int earth, water, fire, wind
2020-06-23 15:53:23 +08:00
2300 : <dd>?π
2020-06-23 15:27:59 +08:00
2301 : <dt>int hometown
2020-06-23 15:53:23 +08:00
2302 : <dd>?0???π?????
2020-06-23 15:27:59 +08:00
2303 : <dt>string option
2304 : </table>
2020-06-23 15:53:23 +08:00
2305 : ???????????????????????????π
2306 : ????????????????????????????
2020-06-23 15:27:59 +08:00
2307 : ?????
2308 : </dl>
2309 : <br>
2310 : <hr>
2311 : <br>
2312 :
2313 :
*/
void old_lssproto_CreateNewChar_send( int fd,int dataplacenum,char* charname,int imgno,int faceimgno,int vital,int str,int tgh,int dex,int earth,int water,int fire,int wind,int hometown )
{
//cary
if(imgno>=100239)
return;
//end
lssproto_CreateHeader( lssproto.work , "CreateNewChar" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dataplacenum ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( charname ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( imgno ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( faceimgno ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( vital ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( str ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( tgh ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( dex ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( earth ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( water ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( fire ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( wind ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( hometown ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
}
/*
2338 : <LI><a name="CS_CHARDELETE"><font color=red>clienttoserver CharDelete(string charname);<br></font></a>
2020-06-23 15:53:23 +08:00
2339 : ??????
2020-06-23 15:27:59 +08:00
2340 : <br><br>
2341 : <dl>
2342 : <dt>string charname
2020-06-23 15:53:23 +08:00
2343 : <dd>??????????????????????????
2020-06-23 15:27:59 +08:00
2344 : </dl>
2345 : <br>
2346 : <br>
2347 : <hr>
2348 : <br>
*/
void old_lssproto_CharDelete_send( int fd,char* charname )
{
lssproto_CreateHeader( lssproto.work , "CharDelete" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( charname ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
}
/*
2366 : <LI><a name="CS_CHARLOGIN"><font color=red>clienttoserver CharLogin(string charname);<br></font></a>
2020-06-23 15:53:23 +08:00
2367 : ???????????????????????
2020-06-23 15:27:59 +08:00
2368 : <br><br>
2369 : <dl>
2370 : <dt>string charname
2020-06-23 15:53:23 +08:00
2371 : <dd>???????????????????????????
2020-06-23 15:27:59 +08:00
2372 : </dl>
2373 : <br>
2374 : <hr>
2375 : <br>
*/
void old_lssproto_CharLogin_send( int fd,char* charname )
{
lssproto_CreateHeader( lssproto.work , "CharLogin" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( charname ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
}
/*
2391 : <LI><a name="CS_CHARLIST"><font color=red>clienttoserver CharList( void );<br></font></a>
2020-06-23 15:53:23 +08:00
2392 : ?????????
2020-06-23 15:27:59 +08:00
2393 : <br><br>
2394 : <hr>
2395 : <br>
*/
void old_lssproto_CharList_send( int fd )
{
lssproto_CreateHeader( lssproto.work , "CharList" );
lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
// TNJ;
}
/*
2438 : <LI><a name="CS_CHARLOGOUT"><font color=red>clienttoserver CharLogout(void);<br></font></a>
2020-06-23 15:53:23 +08:00
2439 : ?????????????????????????
2020-06-23 15:27:59 +08:00
2440 : ?????
2441 : <br>
2442 : <hr>
2443 : <br>
2444 :
*/
void old_lssproto_CharLogout_send( int fd )
{
lssproto_CreateHeader( lssproto.work , "CharLogout" );
lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
}
/*
2459 : <LI><a name="CS_PROCGET"><font color=red>clienttoserver ProcGet(void);<br></font></a>
2020-06-23 15:53:23 +08:00
2460 : proc ??????????????????????????????
2020-06-23 15:27:59 +08:00
2461 : <br>
2462 : <hr>
2463 : <br>
2464 :
*/
void old_lssproto_ProcGet_send( int fd )
{
lssproto_CreateHeader( lssproto.work , "ProcGet" );
lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
}
/*
2477 : <LI><a name="CS_PLAYERNUMGET"><font color=red>clienttoserver PlayerNumGet(void);<br></font></a>
2020-06-23 15:53:23 +08:00
2478 : ???????????????
2020-06-23 15:27:59 +08:00
2479 : <br>
2480 : <hr>
2481 : <br>
2482 :
*/
void old_lssproto_PlayerNumGet_send( int fd )
{
lssproto_CreateHeader( lssproto.work , "PlayerNumGet" );
lssproto_strcatsafe( lssproto.work , "" ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
}
/*
2495 : <LI><a name="CS_ECHO"><font color=red>clienttoserver Echo( string test);<br></font></a>
2020-06-23 15:53:23 +08:00
2496 : ?????????????????????????
2020-06-23 15:27:59 +08:00
2497 : <br><br>
2498 : <dl>
2499 : <dt>string test
2020-06-23 15:53:23 +08:00
2500 : <dd>????????????????
2020-06-23 15:27:59 +08:00
2501 : </dl>
2502 : <br>
2503 : <hr>
2504 : <br>
2505 :
*/
void old_lssproto_Echo_send( int fd,char* test )
{
lssproto_CreateHeader( lssproto.work , "Echo" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( test ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
}
/*
2517 : <LI><a name="CS_SHUTDOWN"><font color=red>clienttoserver Shutdown( string passwd, int min);<br></font></a>
2020-06-23 15:53:23 +08:00
2518 : ???????????<br><br>
2519 : ???????????????????????????????????????????
2520 : ??????????denyaccept()?????????????????????
2521 : ???closeallsockets()??????????????????????
2020-06-23 15:27:59 +08:00
2522 : <br><br>
2523 : <dl>
2524 : <dt>string passwd
2020-06-23 15:53:23 +08:00
2525 : <dd>??????????????????? ?????
2020-06-23 15:27:59 +08:00
2526 : <dt>int min
2020-06-23 15:53:23 +08:00
2527 : <dd>???????????????????? ???
2020-06-23 15:27:59 +08:00
2528 : </dl>
2529 : <br>
2530 : <hr>
2531 : <br>
2532 :
*/
void old_lssproto_Shutdown_send( int fd,char* passwd,int min )
{
lssproto_CreateHeader( lssproto.work , "Shutdown" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( passwd ) ,lssproto.workbufsize );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_int( min ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
}
// Robin 2001/04/10 trade
void old_lssproto_TD_send( int fd,char* message )
{
lssproto_CreateHeader( lssproto.work , "TD" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( message ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
}
void old_lssproto_FM_send( int fd,char* message )
{
lssproto_CreateHeader( lssproto.work , "FM" );
lssproto_strcatsafe( lssproto.work , lssproto_mkstr_string( message ) ,lssproto.workbufsize );
lssproto_Send( fd , lssproto.work );
}
int lssproto_ClientDispatchMessage(int fd ,char*line)
{
int msgid;
char funcname[1024];
lssproto_strcpysafe( lssproto.work , line,lssproto.workbufsize );
lssproto_splitString( lssproto.work);
lssproto_GetMessageInfo( &msgid , funcname , sizeof(funcname),lssproto.token_list);
/*
209 : <LI><a name="SC_XYD"><font color=blue>servertoclient XYD( int x, int y, int dir );<br></font></a>
2020-06-23 15:53:23 +08:00
210 : ?·????????????????????
2020-06-23 15:27:59 +08:00
211 : <br><br>
*/
if( strcmp( funcname , "XYD" ) == 0 ){
int x;
int y;
int dir;
x = lssproto_demkstr_int( lssproto.token_list[2] );
y = lssproto_demkstr_int( lssproto.token_list[3] );
dir = lssproto_demkstr_int( lssproto.token_list[4] );
lssproto_XYD_recv( fd,x,y,dir);
return 0;
}
/*
247 : <LI><a name="SC_EV"><font color=blue>servertoclient EV(int seqno,int result);<br></font></a>
2020-06-23 15:53:23 +08:00
248 : ???????EV?????????
249 : ????????????????????????
250 : ????
2020-06-23 15:27:59 +08:00
251 :
252 : <dl>
253 : <dt>int seqno
2020-06-23 15:53:23 +08:00
254 : <dd>??????EV?seqno?????
2020-06-23 15:27:59 +08:00
255 : <dt>int result
2020-06-23 15:53:23 +08:00
256 : <dd>???0:??????? 1:??????????????????????????????
2020-06-23 15:27:59 +08:00
257 : </dL>
258 : <br>
259 : <hr>
260 : <br>
*/
if( strcmp( funcname , "EV" ) == 0 ){
int seqno;
int result;
seqno = lssproto_demkstr_int( lssproto.token_list[2] );
result = lssproto_demkstr_int( lssproto.token_list[3] );
lssproto_EV_recv( fd,seqno,result);
return 0;
}
/*
285 : <LI><a name="SC_EN"><font color=blue>servertoclient EN(int result,int field);<br></font></a>
2020-06-23 15:53:23 +08:00
286 : ???????EN??DU????????????????????????????????????
2020-06-23 15:27:59 +08:00
287 :
288 : <dl>
289 : <dt>int result
2020-06-23 15:53:23 +08:00
290 : <dd>???0:???????or???? 1:???·???2:??·???????·???? ???????????????
2020-06-23 15:27:59 +08:00
291 : <dt>int field
2020-06-23 15:53:23 +08:00
292 : <dd>??????????
2020-06-23 15:27:59 +08:00
293 : </dL>
294 : <br>
295 : <hr>
296 : <br>
297 :
*/
if( strcmp( funcname , "EN" ) == 0 ){
int result;
int field;
result = lssproto_demkstr_int( lssproto.token_list[2] );
field = lssproto_demkstr_int( lssproto.token_list[3] );
lssproto_EN_recv( fd,result,field);
return 0;
}
/*
342 : <LI><a name="SC_RS"><font color=blue>servertoclient RS( string data );<br></font></a>
2020-06-23 15:53:23 +08:00
343 : ·???????????????ρ?<br>
344 : RS|?(10)|?????????(10)|EXP(62),?|?????????|EXP,???,?????|?????|?????<br><br>
345 : ????π?5??????","?????????????????????????-2?<br>
346 : 2???4??????????0?4)??????π????????????????????","????<br>
347 : ??????????"|"????????????????????????"|"????
2020-06-23 15:27:59 +08:00
348 :
*/
if( strcmp( funcname , "RS" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_RS_recv( fd,data);
return 0;
}
/*
349 : <LI><a name="SC_RD"><font color=blue>servertoclient RD( string data );<br></font></a>
2020-06-23 15:53:23 +08:00
350 : ????????????????????ρ?<br>
351 : RD|?(??)DP(62)|???DP(62)|<br><br>
2020-06-23 15:27:59 +08:00
352 :
353 :
*/
if( strcmp( funcname , "RD" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_RD_recv( fd,data);
return 0;
}
/*
377 : <LI><a name="SC_B"><font color=blue>servertoclient B( string command );<br></font></a>
2020-06-23 15:53:23 +08:00
378 : ·????????????π??? ??16???<BR>
379 : ???[??]?????????????????
380 : ???????????????????????????????
2020-06-23 15:27:59 +08:00
381 : <br><br>
382 : <h4>
383 : ???????
384 : </h4>
2020-06-23 15:53:23 +08:00
385 : ???????????????????????????????<BR>
386 : ???( BATTLESTR_ADD( ?? ) )?????????????????????????????????????<BR>
387 : ??????????????π????????π??????????????(???????????)<br>
2020-06-23 15:27:59 +08:00
388 :
389 : <BR>
2020-06-23 15:53:23 +08:00
390 : ???????????????????<BR>
391 : ---???????<BR>
392 : ---????????<BR>
393 : ---?????????<BR>
394 : ---??????<BR>
395 : ---??????????<BR>
396 : ---????????<BR>
397 : ---?????????????????<BR>
398 : ---?????????????????<BR>
399 : ---????????????????<BR>
400 : ---?????????<BR>
2020-06-23 15:27:59 +08:00
401 : <br>
402 : <ul>
2020-06-23 15:53:23 +08:00
403 : <li>BH|??????????<br>
404 : BH|???|??|???|????|??|???|????|????????????FF?????????????????<br>
2020-06-23 15:27:59 +08:00
405 : <br>
406 :
2020-06-23 15:53:23 +08:00
407 : (???) B|BH|attack_0|defense_A|flag_2|damage_32|defense_B|flag_2|damage_32|FF|<BR>
408 : ???0?(attack_0)A吻(defense_A)?0x32???????(damage_32)???B吻(defense_B)????????0x32????(damage_32)??????????<Br><Br>
2020-06-23 15:27:59 +08:00
409 :
410 : (???????) B|BH|attack_0|defense_A|flag_2|dagame_32|counter_0|flag_10|damage_16|FF|<BR>
2020-06-23 15:53:23 +08:00
411 : ???0?(attack_0)?A吻????(defense_A)????0x32(damage_32)???????0(counter_0)???????(flag_10)????0x16(damage_16)?????????????????????????????????????<Br><br>
2020-06-23 15:27:59 +08:00
412 :
2020-06-23 15:53:23 +08:00
413 : (?????) B|BH|attack_0|defense_A|flag_202|dagame_32|gardian_B|FF|<BR>
414 : ???0?(attack_0)?A吻????(defense_A)????0x32(damage_32)?????????B吻????????????????????<Br><Br>
2020-06-23 15:27:59 +08:00
415 : <Br>
416 :
2020-06-23 15:53:23 +08:00
417 : <li>BT|??????????<br>
418 : BT|???|??|???|<br>
419 : ????????????????????????????????
420 : ????????????????????????<br><br>
2020-06-23 15:27:59 +08:00
421 :
2020-06-23 15:53:23 +08:00
422 : <li>BE|????????<br>
423 : BE|???|??|???|<br>
424 : ????????????????????????????????
425 : ???????????????????????????????????
426 : ???????BE????????????????<br>
2020-06-23 15:27:59 +08:00
427 : <br>
428 :
429 : <li>bg|???????????<br>
2020-06-23 15:53:23 +08:00
430 : bg|??????|<br>
431 : ?????????????????????????????????????????????????????
2020-06-23 15:27:59 +08:00
432 : ??????????????????<br>
433 : <br>
434 :
2020-06-23 15:53:23 +08:00
435 : <li>BD|??????????????<br>
436 : BD|????????|???|?????????|??π|<br>
437 : ???????????????????????????????????<br>
2020-06-23 15:27:59 +08:00
438 : <br>
439 :
440 : <li>BF|??????????????????<br>
2020-06-23 15:53:23 +08:00
441 : BF|???????|<br>
442 : ?????????????????????????????????????
443 : ??????????<br>
2020-06-23 15:27:59 +08:00
444 : <br>
445 :
2020-06-23 15:53:23 +08:00
446 : <li>BJ|??????????????<br>
447 : BJ|?????|???????|???????|??????|??????|???|FF|<br>
448 : ??????????????????????????????????FF?????
2020-06-23 15:27:59 +08:00
449 : <br>
450 : <br>
451 :
2020-06-23 15:53:23 +08:00
452 : <li>BB|?????????????<br>
453 : BB|???|?????|??|???|????|??|???|FF|<BR>
454 : ????????????????????????<br>
455 : ?????????????????????????????????????????<br>
2020-06-23 15:27:59 +08:00
456 :
457 : <br>
2020-06-23 15:53:23 +08:00
458 : <li>BM|???????????????<br>
459 : BM|????????????|?????????|<br>
460 : ????????<br>
461 : ---?????????<br>
462 : ---??<br>
463 : ---???<br>
464 : ---???<br>
465 : ---??<br>
466 : ---????<br>
467 : ---???<br>
2020-06-23 15:27:59 +08:00
468 : <br>
469 :
470 : <li>BO|?????????????<br>
2020-06-23 15:53:23 +08:00
471 : BO|???|??|???|????|??|???|FF|<BR>
472 : ????????????????????????<br>
2020-06-23 15:27:59 +08:00
473 : <br>
474 :
2020-06-23 15:53:23 +08:00
475 : <li>BS|?????????????<br>
476 : BS|?????[0?19](%X)|???|???|???|??|?|<BR>
477 : ??????????????????????????????????<br>
478 : ?????????????????????????????????????????BS??????????<br>
2020-06-23 15:27:59 +08:00
479 :
2020-06-23 15:53:23 +08:00
480 : <li>BU|????·????????<br>
481 : ?????????????????????????????????????????????????????????·???????????????????<br>
2020-06-23 15:27:59 +08:00
482 : <br>
483 :
2020-06-23 15:53:23 +08:00
484 : <li>BV|??????????????<br>
485 : BV|?????????|????|<br>
486 : ??????<br>
487 : ---??<br>
488 : ---?<br>
489 : ---??<br>
490 : ---??<br>
491 : ---??<br>
2020-06-23 15:27:59 +08:00
492 : <br>
493 :
2020-06-23 15:53:23 +08:00
494 : <li>BY|???????????<br>
495 : BY|??|???|???|????|???|???|????|????????????????????<br>
2020-06-23 15:27:59 +08:00
496 : <br>
497 : </ul>
498 :
499 : <h4>
500 : ??????????????
501 : </h4>
502 : <ul>
2020-06-23 15:53:23 +08:00
503 : <li>BC|????????????????????????????????<br>
504 : BC|?[0?19](%X)|????(%s)|???(%X)|???(%X)|HP(%X)|???(%X)|???<BR><BR>
505 : ?????????????<BR>
506 : ---???????<BR>
507 : ---??????<BR>
508 : ---??????????????<BR>
509 : ---??????<BR>
510 : ---???????<BR>
511 : ---???????<BR>
512 : ---??????<BR>
513 : ---????????<BR>
514 : ---???????<BR>
2020-06-23 15:27:59 +08:00
515 : <br>
2020-06-23 15:53:23 +08:00
516 : <li>BP|?????????????????????????<br>
517 : BP|??[0?19](%X)|???(%X)|?????(%X)|???<BR><BR>
518 : ?????????????<BR>
519 : ---????????<BR>
520 : ---??????????????<BR>
521 : ---?????????????????<BR>
2020-06-23 15:27:59 +08:00
522 : </ul>
523 : <h4>
2020-06-23 15:53:23 +08:00
524 : ????????????????????????????
2020-06-23 15:27:59 +08:00
525 : </h4>
526 : <ul>
2020-06-23 15:53:23 +08:00
527 : <li>BA|??????????????????????Κ?????????????????????????<br>
2020-06-23 15:27:59 +08:00
528 : BA|?????????(%X)|????(%X)|
529 : <BR><BR>
2020-06-23 15:53:23 +08:00
530 : ?????????????Μ???????????????????????
2020-06-23 15:27:59 +08:00
531 : ?????????????????????????????????????
2020-06-23 15:53:23 +08:00
532 : ????????????????????????????????????????????????<BR>
533 : ????????????????????????????????
534 : ??????????????????
2020-06-23 15:27:59 +08:00
535 : </ul>
536 : <br>
537 : <br>
538 : <hr>
539 : <br>
540 :
541 :
*/
if( strcmp( funcname , "B" ) == 0 ){
char* command;
command = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_B_recv( fd,command);
return 0;
}
/*
722 : <LI><a name="SC_I"><font color=blue>servertoclient I( string data );<br></font></a>
723 : (item)<br>
724 : <br>
2020-06-23 15:53:23 +08:00
725 : ??????S I ??????????????????????????????
726 : ???????????
2020-06-23 15:27:59 +08:00
727 :
728 : <dl>
729 : <dt>string data
2020-06-23 15:53:23 +08:00
730 : <dd>??????
731 : ????????????????????
2020-06-23 15:27:59 +08:00
732 : ???????????????????????
2020-06-23 15:53:23 +08:00
733 : ??????????S I????????????????????????
734 : ?????????????????????κ???<br>
2020-06-23 15:27:59 +08:00
735 : </dl>
736 : <br>
737 : <hr>
738 : <br>
739 : <br>
740 :
*/
if( strcmp( funcname , "I" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_I_recv( fd,data);
return 0;
}
/*
763 : <LI><a name="SI"><font color=blue>servertoclient SI( int fromindex, int toindex );</font><br>
764 : (SwapItem)
2020-06-23 15:53:23 +08:00
765 : ?????????????????MI?????
766 : ??????????????ρ??????????
767 : ??????????SI?????????????
768 : ????????(??????????????)??
769 : ????????????????????????ρ?????
770 : ??????????????????????????????
771 : ???????????????????
772 : ?????????????????????????????
773 : ??????????????????????????????????
774 : ????????????????
775 : ??????????????????ρ???
2020-06-23 15:27:59 +08:00
776 :
777 : <dl>
778 : <dt>int fromindex
2020-06-23 15:53:23 +08:00
779 : <dd>??????????????
2020-06-23 15:27:59 +08:00
780 : <dt>int toindex
2020-06-23 15:53:23 +08:00
781 : <dd>?????????????
2020-06-23 15:27:59 +08:00
782 : </dl>
2020-06-23 15:53:23 +08:00
783 : ??????MI??????
2020-06-23 15:27:59 +08:00
784 : <br>
785 : <hr>
786 : <br>
787 :
*/
if( strcmp( funcname , "SI" ) == 0 ){
int fromindex;
int toindex;
fromindex = lssproto_demkstr_int( lssproto.token_list[2] );
toindex = lssproto_demkstr_int( lssproto.token_list[3] );
lssproto_SI_recv( fd,fromindex,toindex);
return 0;
}
/*
806 : <LI><a name="SC_MSG"><font color=blue>servertoclient MSG( int aindex , string text , int color );</font></a><br>
807 : (MeSsaGe)
808 : ????????????????????????????????
2020-06-23 15:53:23 +08:00
809 : ???????????????????????????
810 : ?????????????????T???????????????
2020-06-23 15:27:59 +08:00
811 : <dl>
812 : <dt>int aindex
2020-06-23 15:53:23 +08:00
813 : <dd>??????????????????????????
2020-06-23 15:27:59 +08:00
814 : ??????????????????
815 : <dt>string text
2020-06-23 15:53:23 +08:00
816 : <dd>???????????????????????????????mm/dd hh:mm|text...|graphicsno|lv|name|itemgraphicsno
817 : ??????????????????????????????????????????
818 : ????-1???????????????????????mm/dd hh:mm|text|-1
819 : ??????????????????????????????
820 : lv???????????????????????????????????????????
821 : itemgraphicsno ??????????????????????
2020-06-23 15:27:59 +08:00
822 : <dt>int color
2020-06-23 15:53:23 +08:00
823 : <dd>?
2020-06-23 15:27:59 +08:00
824 : <dt>
825 : </dl>
826 : <br>
827 : <hr>
828 : <br>
829 :
*/
if( strcmp( funcname , "MSG" ) == 0 ){
int aindex;
char* text;
int color;
aindex = lssproto_demkstr_int( lssproto.token_list[2] );
text = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] ));
color = lssproto_demkstr_int( lssproto.token_list[4] );
lssproto_MSG_recv( fd,aindex,text,color);
return 0;
}
/*
851 : <LI><a name="SC_PME"><font color=blue>servertoclient PME( int objindex, int graphicsno, int x, int y, int dir, int flg, int no, string cdata );<br></font></a>
852 : (PetMeSsaEffect)
2020-06-23 15:53:23 +08:00
853 : ??????????????????<br><br>
2020-06-23 15:27:59 +08:00
854 : <dl>
855 : <dt>int objindex
2020-06-23 15:53:23 +08:00
856 : <dd>????????????
2020-06-23 15:27:59 +08:00
857 : <dt>int graphicsno
2020-06-23 15:53:23 +08:00
858 : <dd>?????????
2020-06-23 15:27:59 +08:00
859 : <dt>int x,y
2020-06-23 15:53:23 +08:00
860 : <dd>????????
2020-06-23 15:27:59 +08:00
861 : <dt>int dir;
2020-06-23 15:53:23 +08:00
862 : <dd>?????????????
2020-06-23 15:27:59 +08:00
863 : <dt>int flg
864 : <dd>?????(0)??????(1)?
865 : <dt>int no
2020-06-23 15:53:23 +08:00
866 : <dd>???
2020-06-23 15:27:59 +08:00
867 : <dt>string cdata
2020-06-23 15:53:23 +08:00
868 : <dd>C ?????????????????????????????????????????
869 : ?????????????????????????????????
2020-06-23 15:27:59 +08:00
870 : ????????C ??????????
871 : </dl>
872 : <br>
873 : <br>
874 : <hr>
875 : <br>
876 :
*/
if( strcmp( funcname , "PME" ) == 0 ){
int objindex;
int graphicsno;
int x;
int y;
int dir;
int flg;
int no;
char* cdata;
objindex = lssproto_demkstr_int( lssproto.token_list[2] );
graphicsno = lssproto_demkstr_int( lssproto.token_list[3] );
x = lssproto_demkstr_int( lssproto.token_list[4] );
y = lssproto_demkstr_int( lssproto.token_list[5] );
dir = lssproto_demkstr_int( lssproto.token_list[6] );
flg = lssproto_demkstr_int( lssproto.token_list[7] );
no = lssproto_demkstr_int( lssproto.token_list[8] );
cdata = lssproto_wrapStringAddr( lssproto_stringwrapper[8] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[9] ));
lssproto_PME_recv( fd,objindex,graphicsno,x,y,dir,flg,no,cdata);
return 0;
}
/*
882 : <LI><a name="SC_AB"><font color=blue>servertoclient AB( string data );</font></a><br>
2020-06-23 15:53:23 +08:00
883 : ??????????????????????????
2020-06-23 15:27:59 +08:00
884 : <dl>
885 : <dt>string data
2020-06-23 15:53:23 +08:00
886 : <dd>??????????????????????????????????
2020-06-23 15:27:59 +08:00
887 : ???????????????????????????
2020-06-23 15:53:23 +08:00
888 : ???????????
889 : ???????????????
890 : <code>??|?|...</code>???????
2020-06-23 15:27:59 +08:00
891 :
2020-06-23 15:53:23 +08:00
892 : ????????????????
2020-06-23 15:27:59 +08:00
893 : <br>
2020-06-23 15:53:23 +08:00
894 : <code>????|?(??)|????π|duelpoint|???|???
2020-06-23 15:27:59 +08:00
895 : </code>
896 : <br>
2020-06-23 15:53:23 +08:00
897 : ?????? N???????????? 4(N-1)+1??
898 : ????????????????????????????
899 : ?????????????????????????<a
900 : href="#escaping">?????</a>???????????
901 : ????0????????1????????????
902 : ??π?????????????????????
903 : setup.cf?? servernumber=n ?n?π??????
904 : ?????????????????????AB
905 : ???????????????????????
906 : ???????????????????????
907 : 2??????????
2020-06-23 15:27:59 +08:00
908 :
909 : </dl>
910 : <br>
911 : <hr>
912 : <br>
*/
if( strcmp( funcname , "AB" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_AB_recv( fd,data);
return 0;
}
/*
913 : <LI><a name="SC_ABI"><font color=blue>servertoclient ABI( int num, string data );</font></a><br>
2020-06-23 15:53:23 +08:00
914 : AB?Μ?num ????????????????????????
915 : data???AB?????<br>
2020-06-23 15:27:59 +08:00
916 : <br>
917 : <br>
918 : <hr>
919 : <br>
920 :
*/
if( strcmp( funcname , "ABI" ) == 0 ){
int num;
char* data;
num = lssproto_demkstr_int( lssproto.token_list[2] );
data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] ));
lssproto_ABI_recv( fd,num,data);
return 0;
}
/*
1011 : <LI><a name="S2CTK"><font color=blue>servertoclient TK( int index,string message ,int color);<br></font></a>
1012 : <dl>
1013 : <dt>index
2020-06-23 15:53:23 +08:00
1014 : <dd>????????????????-1 ?????????
2020-06-23 15:27:59 +08:00
1015 : ?????????????<br>
1016 : <dt>string
2020-06-23 15:53:23 +08:00
1017 : <dd>string ????, "|" ?2????????????????
1018 : ????????2????????????????2??
2020-06-23 15:27:59 +08:00
1019 : ??????<a href="#escaping">?????</a>??????
1020 : ?????????????????????
1021 : <ul>
1022 : <li>"P" ???<br>
2020-06-23 15:53:23 +08:00
1023 : ????????????????????????
2020-06-23 15:27:59 +08:00
1024 : ??????????????????????
1025 : <pre>
1026 : "P|?????"
1027 : </pre>
1028 : <li>"F"???<br>
1029 : <pre>
1030 : F|charaindex|?????
1031 : </pre>
2020-06-23 15:53:23 +08:00
1032 : ??????????????charaindex??????
1033 : ?????????<br>
2020-06-23 15:27:59 +08:00
1034 :
1035 : </ul>
1036 : <dt>color
2020-06-23 15:53:23 +08:00
1037 : <dd>???????????
2020-06-23 15:27:59 +08:00
1038 : </dl>
1039 : <br>
1040 : <hr>
1041 : <br>
1042 :
*/
if( strcmp( funcname , "TK" ) == 0 ){
int index;
char* message;
int color;
index = lssproto_demkstr_int( lssproto.token_list[2] );
message = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] ));
color = lssproto_demkstr_int( lssproto.token_list[4] );
lssproto_TK_recv( fd,index,message,color);
return 0;
}
if( strcmp( funcname , "MC" ) == 0 ){
int fl;
int x1;
int y1;
int x2;
int y2;
int tilesum;
int objsum;
int eventsum;
char* data;
fl = lssproto_demkstr_int( lssproto.token_list[2] );
x1 = lssproto_demkstr_int( lssproto.token_list[3] );
y1 = lssproto_demkstr_int( lssproto.token_list[4] );
x2 = lssproto_demkstr_int( lssproto.token_list[5] );
y2 = lssproto_demkstr_int( lssproto.token_list[6] );
tilesum = lssproto_demkstr_int( lssproto.token_list[7] );
objsum = lssproto_demkstr_int( lssproto.token_list[8] );
eventsum = lssproto_demkstr_int( lssproto.token_list[9] );
data = lssproto_wrapStringAddr( lssproto_stringwrapper[9] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[10] ));
#ifdef __SKYISLAND
extern void SkyIslandSetNo( int fl);
SkyIslandSetNo( fl);
#endif
lssproto_MC_recv( fd,fl,x1,y1,x2,y2,tilesum,objsum,eventsum,data);
return 0;
}
if( strcmp( funcname , "M" ) == 0 ){
int fl;
int x1;
int y1;
int x2;
int y2;
char* data;
fl = lssproto_demkstr_int( lssproto.token_list[2] );
x1 = lssproto_demkstr_int( lssproto.token_list[3] );
y1 = lssproto_demkstr_int( lssproto.token_list[4] );
x2 = lssproto_demkstr_int( lssproto.token_list[5] );
y2 = lssproto_demkstr_int( lssproto.token_list[6] );
data = lssproto_wrapStringAddr( lssproto_stringwrapper[6] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[7] ));
lssproto_M_recv( fd,fl,x1,y1,x2,y2,data);
return 0;
}
/*
1135 : <LI><a name="S2CC"><font color=blue>servertoclient C( string data );<bR></font></a>
1136 : (Characters)
2020-06-23 15:53:23 +08:00
1137 : ??????? CA ????????????????????? C
2020-06-23 15:27:59 +08:00
1138 : ????????????????????????
1139 : <br><br>
1140 : <dl>
1141 : <dt>string data
2020-06-23 15:53:23 +08:00
1142 : <dd> ??????? ???3?????????????
1143 : ?????.???????????????'|'?????
2020-06-23 15:27:59 +08:00
1144 : ????
1145 :
1146 : <ul>
2020-06-23 15:53:23 +08:00
1147 : <li>?????????????12???<br>
1148 : ????????
2020-06-23 15:27:59 +08:00
1149 :
1150 : <code>WHICHTYPE|CHARINDEX|X|Y|DIR|BASEIMG|LEVEL|NAMECOLOR|NAME|SELFTITLE|WALKABLE|HEIGHT|POPUPNAMECOLOR</code>
1151 : ???????????????????????????<br>
1152 :
2020-06-23 15:53:23 +08:00
1153 : WHICHTYPE ????????????????????
1154 : ???????????????????????????<br>
2020-06-23 15:27:59 +08:00
1155 : <pre>
1156 : typedef enum
1157 : {
1158 : CHAR_TYPENONE, ?????
1159 : CHAR_TYPEPLAYER, ?????
2020-06-23 15:53:23 +08:00
1160 : CHAR_TYPEENEMY, ?
2020-06-23 15:27:59 +08:00
1161 : CHAR_TYPEPET, ???
1162 : CHAR_TYPEDOOR, ??
2020-06-23 15:53:23 +08:00
1163 : CHAR_TYPEBOX , ??
1164 : CHAR_TYPEMSG , ?
2020-06-23 15:27:59 +08:00
1165 : CHAR_TYPEWARP , ??????
2020-06-23 15:53:23 +08:00
1166 : CHAR_TYPESHOP , ?
2020-06-23 15:27:59 +08:00
1167 : CHAR_TYPEHEALER , ????
2020-06-23 15:53:23 +08:00
1168 : CHAR_TYPEOLDMAN , ??
1169 : CHAR_TYPEROOMADMIN, ?
2020-06-23 15:27:59 +08:00
1170 : CHAR_TYPETOWNPEOPLE, ?????
2020-06-23 15:53:23 +08:00
1171 : CHAR_TYPEDENGON, ??
1172 : CHAR_TYPEADM, ??
2020-06-23 15:27:59 +08:00
1173 : CHAR_TYPETEMPLE, Temple master
1174 : CHAR_TYPESTORYTELLER, ???
2020-06-23 15:53:23 +08:00
1175 : CHAR_TYPERANKING, ????????
1176 : CHAR_TYPEOTHERNPC, ??????????NPC
1177 : CHAR_TYPEPRINTPASSMAN, ??????????NPC
1178 : CHAR_TYPENPCENEMY, ??
1179 : CHAR_TYPEACTION, ?????????NPC
1180 : CHAR_TYPEWINDOWMAN, ???????NPC??????)
2020-06-23 15:27:59 +08:00
1181 : CHAR_TYPESAVEPOINT, ???????
1182 : CHAR_TYPEWINDOWHEALER, ?????????????
2020-06-23 15:53:23 +08:00
1183 : CHAR_TYPEITEMSHOP, ??
1184 : CHAR_TYPESTONESHOP, ?????????
2020-06-23 15:27:59 +08:00
1185 : CHAR_TYPEDUELRANKING, DUEL?????NPC
1186 : CHAR_TYPEWARPMAN, ?????NPC
1187 : CHAR_TYPEEVENT, ????NPC
1188 : CHAR_TYPEMIC, ????NPC
1189 : CHAR_TYPELUCKYMAN, ????NPC
1190 : CHAR_TYPEBUS, ??????
1191 : CHAR_TYPECHARM, ????NPC
1192 : CHAR_TYPENUM,
1193 : }CHAR_TYPE;
1194 : </pre>
1195 :
2020-06-23 15:53:23 +08:00
1196 : ??????????NPC????????????
1197 : ????????????????????
1198 : ?????????????????????????
1199 : ?????????????????????????
2020-06-23 15:27:59 +08:00
1200 : ??????????????????????????
2020-06-23 15:53:23 +08:00
1201 : ??????????????????????
1202 : ????????????????????????
1203 : ??????????????????????
2020-06-23 15:27:59 +08:00
1204 : ??????????? SELFTITLE??????????
2020-06-23 15:53:23 +08:00
1205 : ?????????????????????????
2020-06-23 15:27:59 +08:00
1206 : ?????????????????(CA)???????
2020-06-23 15:53:23 +08:00
1207 : ?????CHARINDEX?????????????
1208 : ?????BASEIMG???????LEVEL???
1209 : ?????(0????????π?NPC?????)
1210 : WALKABLE?1???????????????0??
2020-06-23 15:27:59 +08:00
1211 : ???????????HEIGHT????????????
2020-06-23 15:53:23 +08:00
1212 : ??????
2020-06-23 15:27:59 +08:00
1213 :
2020-06-23 15:53:23 +08:00
1214 : ?????????????<a href="#escaping">
2020-06-23 15:27:59 +08:00
1215 : ?????</a>???????????'|'??????
2020-06-23 15:53:23 +08:00
1216 : ?????????????????????????'
1217 : |'?????????????????Μ??'|'??
1218 : ??????????????????????
1219 : ????????????????????
1220 : ????????????????????? 
1221 : ???????????????<br>
2020-06-23 15:27:59 +08:00
1222 :
2020-06-23 15:53:23 +08:00
1223 : <Li>?????????????6???<br>
1224 : ????????
2020-06-23 15:27:59 +08:00
1225 : <code>INDEX|X|Y|BASEIMG|LEVEL|ITEM1LINEINFO</code>
2020-06-23 15:53:23 +08:00
1226 : ??????????????????????
2020-06-23 15:27:59 +08:00
1227 : INDEX?????????????????INDEX????
2020-06-23 15:53:23 +08:00
1228 : ??????????????X,Y?????????
1229 : ????BASEIMG??????ITEM1LINEINFO?1?
1230 : info?????????????????????
1231 : ???????????????????????
2020-06-23 15:27:59 +08:00
1232 : ?CA?????ITEM1LINEINFO?<a href="#escape">????
2020-06-23 15:53:23 +08:00
1233 : ?</a>????????????????????
2020-06-23 15:27:59 +08:00
1234 :
2020-06-23 15:53:23 +08:00
1235 : <Li>?????????????4???<br>
1236 : ????????
2020-06-23 15:27:59 +08:00
1237 : <code>INDEX|X|Y|VALUE</code>
2020-06-23 15:53:23 +08:00
1238 : ????????????????????????
1239 : ?????INDEX,X,Y ????????VALUE ????
1240 : ??????????????????????????
1241 : <li>?????????????1???<br>
2020-06-23 15:27:59 +08:00
1242 : <code>INDEX</code>
1243 : ??????C????????
1244 : </ul>
1245 : </dl>
1246 : <br>
1247 : <br>
1248 : <hr>
1249 : <br>
1250 :
1251 :
1252 :
*/
if( strcmp( funcname , "C" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_C_recv( fd,data);
return 0;
}
/*
1253 : <LI><a name="SC_CA"><font color=blue>servertoclient CA( string data );<br></font></a>
1254 : (CharacterAction)
2020-06-23 15:53:23 +08:00
1255 : ?????????????????????
1256 : ?????????????????????
1257 : ?????1?????????????????????????
1258 : ???????<br><br>
2020-06-23 15:27:59 +08:00
1259 :
1260 : <dl>
1261 : <dt>string data
1262 : <dd>CHARINDEX|X|Y|ACTION|PARAM1|PARAM2|PARAM3|PARAM4|....??
1263 : ?????????????PARAM????????????
2020-06-23 15:53:23 +08:00
1264 : ????????????????????X,Y????
1265 : ???????????????????
1266 : ???????????????
2020-06-23 15:27:59 +08:00
1267 : <table border>
1268 : <tr><td>ACTION</td><td>PARAM1</td><td>PARAM2</td>
1269 : <td>PARAM3</td><td>PARAM4</td></tr>
2020-06-23 15:53:23 +08:00
1270 : <tr><td>Stand:0</td><td>??0~7</td><td></td><td></td><td></td></tr>
1271 : <tr><td>Walk:1</td><td>??0~7</td><td></td><td></td><td></td></tr>
1272 : <tr><td>Attack:2</td><td>??0~7</td><td></td><td></td><td></td></tr>
1273 : <tr><td>Throw:3</td><td>??0~7</td><td></td><td></td><td></td></tr>
1274 : <tr><td>Damage:4</td><td>??0~7</td><td></td><td></td></tr>
1275 : <tr><td>Dead:5</td><td>??0~7</td><td></td><td></td><td></td></tr>
1276 : <tr><td>UseMagic:6</td><td>??0~7</td></tr>
1277 : <tr><td>UseItem:7</td><td>??0~7</td></tr>
1278 : <tr><td>Effect:8</td><td>??0~7</td><td>??????</td></tr>
1279 : <tr><td>Down:10 (??)</td><td>??0~7</td></tr>
1280 : <tr><td>Sit:11 (??)</td><td>??0~7</td></tr>
1281 : <tr><td>Hand:12 (??)</td><td>??0~7</td></tr>
1282 : <tr><td>Pleasure:13 (??)</td><td>??0~7</td></tr>
1283 : <tr><td>Angry:14 (?)</td><td>??0~7</td></tr>
1284 : <tr><td>Sad:15 (??)</td><td>??0~7</td></tr>
1285 : <tr><td>Guard:16 (???)</td><td>??0~7</td></tr>
1286 : <tr><td>actionwalk:17 (???????)</td><td>??0~7</td></tr>
1287 : <tr><td>nod:18 (????)</td><td>??0~7</td></tr>
1288 : <tr><td>actionstand:19 (???????????)</td><td>??0~7</td></tr>
1289 : <tr><td>Battle:20 (·?)</td><td>??0~7</td><td>BattleNo(-1 ????</td><td>SideNo</td><td>HelpNo?????????CA牙????????????</td></tr>
1290 : <tr><td>Leader:21 (?????)</td><td>??0~7</td><td>0:? 1:</td></tr>
1291 : <tr><td>Watch:22 (·?·)</td><td>??0~7</td><td>0:? 1:</td></tr>
1292 : <tr><td>namecolor:23(???)</td><td>??0~7</td><td>???</td></tr>
1293 : <tr><td>Turn:30(???)</td><td>??0~7</td><td></td></tr>
1294 : <tr><td>Warp:31(???)</td><td>??0~7</td><td></td></tr>
2020-06-23 15:27:59 +08:00
1295 :
1296 : </table>
2020-06-23 15:53:23 +08:00
1297 : ACTION?π??????????Ψ???????
2020-06-23 15:27:59 +08:00
1298 : </dl>
1299 : <br>
1300 : <br>
1301 : <hr>
1302 : <br>
1303 :
1304 :
*/
if( strcmp( funcname , "CA" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_CA_recv( fd,data);
return 0;
}
/*
1305 : <LI><a name="CD"><font color=blue>servertoclient CD( string data );<bR></font></a>
1306 : (CharacterDelete)
2020-06-23 15:53:23 +08:00
1307 : data ??????,?????????????
1308 : ?????????
1309 : ??ID????????????????????????????
1310 : ?????
2020-06-23 15:27:59 +08:00
1311 : <br>
1312 : <hr>
1313 : <br>
1314 :
*/
if( strcmp( funcname , "CD" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_CD_recv( fd,data);
return 0;
}
/*
1315 : <LI><a name="R"><font color=blue>servertoclient R( string data );<br></font></a>
1316 : (Radar)
2020-06-23 15:53:23 +08:00
1317 : ??????????????????????????????
1318 : ????????????????????????????
1319 : ????10????????1?????<br><br>
2020-06-23 15:27:59 +08:00
1320 :
1321 : <dl>
1322 : <dt>string data
2020-06-23 15:53:23 +08:00
1323 : <dd>x ,y, kind ,???π?'|'????????????
2020-06-23 15:27:59 +08:00
1324 : ???'|'????????
2020-06-23 15:53:23 +08:00
1325 : x,y?????????kind????????π????
1326 : ?????????????????????????
1327 : ??????????????????????????
2020-06-23 15:27:59 +08:00
1328 : ?????????
1329 : <table border>
2020-06-23 15:53:23 +08:00
1330 : <tr><td>kind?π</td><td>??</td></tr>
1331 : <tr><td>E</td><td>?</td></tr>
2020-06-23 15:27:59 +08:00
1332 : <tr><td>P</td><td>?????</td></tr>
1333 : <tr><td>S</td><td>?</td></tr>
1334 : <tr><td>G</td><td>??</td></tr>
1335 : <tr><td>I</td><td>????(???)</td></tr>
1336 : </table>
1337 : </dl>
2020-06-23 15:53:23 +08:00
1338 : data??<code>"12|22|E|13|24|P|14|28|P"</code>
1339 : ???????????????
2020-06-23 15:27:59 +08:00
1340 : <br>
1341 : <br>
1342 : <hr>
1343 : <br>
1344 :
*/
if( strcmp( funcname , "R" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_R_recv( fd,data);
return 0;
}
/*
1369 : <LI><a name="SC_S"><font color=blue>servertoclient S( string data );<br></font></a>
1370 : (Status)
2020-06-23 15:53:23 +08:00
1371 : ??????????????
1372 : ???? ???????(??)?? ?????????????
1373 : 1??????????????????2????????
1374 : ??????????????????????'|'?????????
1375 : 2????????????????<br>
2020-06-23 15:27:59 +08:00
1376 : <br>
1377 : <UL>
2020-06-23 15:53:23 +08:00
1378 : <LI>P ?????<br><br>
2020-06-23 15:27:59 +08:00
1379 : kubun hp maxhp mp maxmp str tough exp maxexp exp
1380 : level attackpower deffencepower
1381 : fixdex fixcharm fixluck fixfireat fixwaterat fixearthat fixwindat
2020-06-23 15:53:23 +08:00
1382 : gold ????
1383 : ??index ? ?? <br>
2020-06-23 15:27:59 +08:00
1384 :
2020-06-23 15:53:23 +08:00
1385 : ????? '|' ????????????
2020-06-23 15:27:59 +08:00
1386 : <a href="#escaping">?????</a>?????
2020-06-23 15:53:23 +08:00
1387 : ??????????????<br>
1388 : ?????π??????<br>
1389 : kubun ????????????????
1390 : ???????????????????????????????????
1391 : ?????????hp?Maxhp?kubun ???????????????<br>
2020-06-23 15:27:59 +08:00
1392 : <table border>
1393 : <tr><td>kunun</td><td>int</td></tr>
2020-06-23 15:53:23 +08:00
1394 : <tr><td>Hp(?)hp</td><td>int</td></tr>
2020-06-23 15:27:59 +08:00
1395 : <tr><td>MaxHp</td><td>int</td></tr>
2020-06-23 15:53:23 +08:00
1396 : <tr><td>Mp(???)</td><td>int</td></tr>
2020-06-23 15:27:59 +08:00
1397 : <tr><td>MaxMp</td><td>int</td></tr>
2020-06-23 15:53:23 +08:00
1398 : <tr><td>Vital(?)</td><td>int</td></tr>
2020-06-23 15:27:59 +08:00
1399 : <tr><td>Str(??)</td><td>int</td></tr>
2020-06-23 15:53:23 +08:00
1400 : <tr><td>Tough(?)</td><td>int</td></tr>
1401 : <tr><td>Dex(???)</td><td>int</td></tr>
1402 : <tr><td>Exp(??π)exp</td><td>int</td></tr>
1403 : <tr><td>MaxExp(??????π)</td><td>int</td></tr>
2020-06-23 15:27:59 +08:00
1404 : <tr><td>Level(???)</td><td>int</td></tr>
1405 : <tr><td>Attack(???)</td><td>int</td></tr>
2020-06-23 15:53:23 +08:00
1406 : <tr><td>Defense(??)</td><td>int</td></tr>
1407 : <tr><td>fQuick(????)</td><td>int</td></tr>
1408 : <tr><td>fCharm(?)</td><td>int</td></tr>
2020-06-23 15:27:59 +08:00
1409 : <tr><td>fLuck(?)</td><td>int</td></tr>
2020-06-23 15:53:23 +08:00
1410 : <tr><td>fEarth()fixearthat</td><td>int</td></tr>
2020-06-23 15:27:59 +08:00
1411 : <tr><td>fWater(?)</td><td>int</td></tr>
1412 : <tr><td>fFire(?)</td><td>int</td></tr>
1413 : <tr><td>fWid(?)fixwindat</td><td>int</td></tr>
1414 : <tr><td>Gold(??)</td><td>int</td></tr>
2020-06-23 15:53:23 +08:00
1415 : <tr><td>??index</td><td>int</td></tr>
2020-06-23 15:27:59 +08:00
1416 : <tr><td>????????</td><td>int</td></tr>
2020-06-23 15:53:23 +08:00
1417 : <tr><td>?</td><td>??</td></tr>
1418 : <tr><td>??</td><td>??</td></tr>
2020-06-23 15:27:59 +08:00
1419 : </table>
2020-06-23 15:53:23 +08:00
1420 : ??( char ????????? )<br>
2020-06-23 15:27:59 +08:00
1421 : <code>
1422 : P10|20|10|20|10|10|10|1|2|13|13|1|100|10|???|abc|def
1423 : </code>
1424 : <br><br>
2020-06-23 15:53:23 +08:00
1425 : <li>C ?<br><br>
2020-06-23 15:27:59 +08:00
1426 : floor maxx maxy x y<br>
2020-06-23 15:53:23 +08:00
1427 : ? | ???????<br>
1428 : ??( char ????????? )<br>
2020-06-23 15:27:59 +08:00
1429 : <code>
1430 : C1024|100|100|10|20
1431 : </code>
2020-06-23 15:53:23 +08:00
1432 : ?????????ID1024, ???100x100 X 10,Y 20???
1433 : ?????????????????????????????
1434 : ????????????????ρ???????????
1435 : ???????????????????????????
1436 : ?????????????ν?????????????
1437 : ???????????????π????????????
2020-06-23 15:27:59 +08:00
1438 :
1439 :
1440 : <br><br>
2020-06-23 15:53:23 +08:00
1441 : <LI>I ????<br><br>
2020-06-23 15:27:59 +08:00
1442 : (????1)|(????2)...(????n)<br>
2020-06-23 15:53:23 +08:00
1443 : ????????????????????
2020-06-23 15:27:59 +08:00
1444 : ?????????????????6???????????
2020-06-23 15:53:23 +08:00
1445 : ????????????????<br>
2020-06-23 15:27:59 +08:00
1446 : <br>
2020-06-23 15:53:23 +08:00
1447 : ?|?2|????|??????|????|???|?|???????|????<br>
2020-06-23 15:27:59 +08:00
1448 : <br>
1449 : <ul>
2020-06-23 15:53:23 +08:00
1450 : <li>??????????????????
1451 : <li>?2????????????????????
1452 : ?????????????2???????
1453 : <li>?????????????
1454 : <li>???????
1455 : <li>??????????
1456 : <li>?????????????????????????????
1457 : ???????????????????????<br>
2020-06-23 15:27:59 +08:00
1458 : <pre>
1459 : typedef enum
1460 : {
2020-06-23 15:53:23 +08:00
1461 : ITEM_FIELD_ALL, ????????
1462 : ITEM_FIELD_BATTLE, ·???
1463 : ITEM_FIELD_MAP, ?????
2020-06-23 15:27:59 +08:00
1464 :
1465 : }ITEM_FIELDTYPE;
1466 : </pre>
1467 : <br>
2020-06-23 15:53:23 +08:00
1468 : <li>?????????????????????????
1469 : ???????????????????
2020-06-23 15:27:59 +08:00
1470 : <pre>
1471 : typedef enum
1472 : {
2020-06-23 15:53:23 +08:00
1473 : ITEM_TARGET_MYSELF, ??
1474 : ITEM_TARGET_OTHER, ????)
1475 : ITEM_TARGET_ALLMYSIDE, ?
1476 : ITEM_TARGET_ALLOTHERSIDE, ?
1477 : ITEM_TARGET_ALL, ?
2020-06-23 15:27:59 +08:00
1478 : }ITEM_TARGETTYPE;
1479 : </pre>
2020-06-23 15:53:23 +08:00
1480 : <font size=+1>?????100??????????????</font><br>
1481 : <li>?????????????????????????
1482 : <li>???????????????????????????<br>
2020-06-23 15:27:59 +08:00
1483 : <table border=1>
2020-06-23 15:53:23 +08:00
1484 : <tr><td>0bit?</td><td>??????????????????????????????????</td></tr>
1485 : <tr><td>1Bit?</td><td>???????????????</td></tr>
2020-06-23 15:27:59 +08:00
1486 : <tr><td>2Bit?</td><td>??????????????1????????</td></tr>
1487 : </table>
1488 : <br>
1489 : <br>
1490 : </ul>
1491 : <br>
1492 : ??????<a href="#escaping">?????</a>???<br>
2020-06-23 15:53:23 +08:00
1493 : ??( char ????????? )<br>
2020-06-23 15:27:59 +08:00
1494 : <code>
2020-06-23 15:53:23 +08:00
1495 : I?? ? |str+2|1|??\|??|10|2|0
2020-06-23 15:27:59 +08:00
1496 : </code>
2020-06-23 15:53:23 +08:00
1497 : ?????π?????π?
2020-06-23 15:27:59 +08:00
1498 : <table border>
1499 : <tr><td>1</td><td>????A</td></tr>
1500 : <tr><td>2</td><td>????B</td></tr>
1501 : <tr><td>3</td><td>????C</td></tr>
1502 : <tr><td>4</td><td>????D</td></tr>
1503 : </table>
2020-06-23 15:53:23 +08:00
1504 : ?????????????????????5???????
1505 : ?????????????????????
2020-06-23 15:27:59 +08:00
1506 :
1507 : <br><br>
2020-06-23 15:53:23 +08:00
1508 : <LI>S ???<br><br>
2020-06-23 15:27:59 +08:00
1509 : (???0)|(???1)|(???2) ... (???n)<br>
2020-06-23 15:53:23 +08:00
1510 : ?????????????????????????
2020-06-23 15:27:59 +08:00
1511 : ?????? ||| ????????
2020-06-23 15:53:23 +08:00
1512 : ??????????<br>
1513 : ????????|???<br>
2020-06-23 15:27:59 +08:00
1514 : ????<br>
2020-06-23 15:53:23 +08:00
1515 : ??( char ????????? )<br>
2020-06-23 15:27:59 +08:00
1516 : <code>
1517 : S10|2|20|2|||
1518 : </code>
1519 :
1520 : <br><br>
2020-06-23 15:53:23 +08:00
1521 : <LI>T ?<br><br>
1522 : (?0)|(?1)|(?2) ... (?n)<br><br>
1523 : ??????????? '|' ???????????
1524 : ??????????????????????????
2020-06-23 15:27:59 +08:00
1525 : ???<br>
2020-06-23 15:53:23 +08:00
1526 : ????????????<br>
1527 : ?<br>
2020-06-23 15:27:59 +08:00
1528 : ??????<br>
2020-06-23 15:53:23 +08:00
1529 : ??( ?????? char ?????????? )<br>
2020-06-23 15:27:59 +08:00
1530 : <code>
1531 : T??|?????
1532 : </code>
1533 : ???<a href="#escaping">?????</a>???<br>
1534 :
1535 : <br>
2020-06-23 15:53:23 +08:00
1536 : <LI>M ??????<br><br>
1537 : ???????????????????????(??
1538 : π)????????(??π??)?????????????
1539 : ??????????????????????????
1540 : ??????????????????????HP ,
1541 : MP,EXP?π???????????????????????
1542 : ?????M????????2????????????HP?
1543 : ??π , ??????MP???????EXP????
1544 : ??????????
2020-06-23 15:27:59 +08:00
1545 : <code>
1546 : M54|210|8944909
1547 : </code>
2020-06-23 15:53:23 +08:00
1548 : ?????HP???π?54?MP???π?210???π?8944909
1549 : ???????????3???????????
1550 : ?????????????????????M???????
1551 : ??P????????????????????????
1552 : ??????????????????????????
2020-06-23 15:27:59 +08:00
1553 : ????
1554 :
1555 : <br><br>
1556 : <li>D ????ID<br><br>
1557 : ??????????????index??????????
1558 : <code>D1000|912766409</code>????????
1559 : <br><br>
2020-06-23 15:53:23 +08:00
1560 : <li>E ???????????)|(?)<br><br>
1561 : ???????????????n/100<br>
1562 : ???????????π?????????????+1???????????????κ???
1563 : ??????π???????????
1564 : ???????????????????????????????
2020-06-23 15:27:59 +08:00
1565 :
1566 : <br><br>
2020-06-23 15:53:23 +08:00
1567 : <li>J0 ?J6 ?????<br><br>
1568 : ??????????<br>
1569 : 0 ?6 ??????????????????????????????????
1570 : ?????????????????????????????<br>
2020-06-23 15:27:59 +08:00
1571 : <code>J0|kubun|mp|field|target|name|comment</code><br>
1572 : ????????????????<br>
2020-06-23 15:53:23 +08:00
1573 : kubun ??????????????????????????????????????
1574 : mp???????<br>
1575 : field???????????????????????????<br>
2020-06-23 15:27:59 +08:00
1576 : <pre>
1577 : typedef enum
1578 : {
2020-06-23 15:53:23 +08:00
1579 : MAGIC_FIELD_ALL, ????????
1580 : MAGIC_FIELD_BATTLE, ·???
1581 : MAGIC_FIELD_MAP, ?????
2020-06-23 15:27:59 +08:00
1582 :
1583 : }MAGIC_FIELDTYPE;
1584 : </pre>
2020-06-23 15:53:23 +08:00
1585 : target????????????????????????????<br>
2020-06-23 15:27:59 +08:00
1586 : <pre>
1587 : typedef enum
1588 : {
2020-06-23 15:53:23 +08:00
1589 : MAGIC_TARGET_MYSELF, ??
1590 : MAGIC_TARGET_OTHER, ????)
1591 : MAGIC_TARGET_ALLMYSIDE, ?
1592 : MAGIC_TARGET_ALLOTHERSIDE, ?
1593 : MAGIC_TARGET_ALL, ?
1594 : MAGIC_TARGET_NONE, Κ????????????
1595 : MAGIC_TARGET_OTHERWITHOUTMYSELF,??????)
1596 : MAGIC_TARGET_WITHOUTMYSELFANDPET, ??????
1597 : MAGIC_TARGET_WHOLEOTHERSIDE, ?????
2020-06-23 15:27:59 +08:00
1598 : }MAGIC_TARGETTYPE;
1599 : </pre>
2020-06-23 15:53:23 +08:00
1600 : <font size=+1>?????100??????????????</font><br>
2020-06-23 15:27:59 +08:00
1601 : <br>
2020-06-23 15:53:23 +08:00
1602 : name???<br>
1603 : comment??????<br>
2020-06-23 15:27:59 +08:00
1604 : <br>
1605 : <br>
1606 : <li>N0 ? N3 ????????<br><br>
2020-06-23 15:53:23 +08:00
1607 : ???????????????<br>
2020-06-23 15:27:59 +08:00
1608 : <code>N0|kubun|level|charaindex|maxhp|hp|mp|name</code>
1609 : <br>
2020-06-23 15:53:23 +08:00
1610 : kubun ???????????????????????????????????????<br>
1611 : 2???????????????????????1bit ? level 2bit ?charaindex???
1612 : ??????<br>
2020-06-23 15:27:59 +08:00
1613 : charaindex ????charaindex<br>
2020-06-23 15:53:23 +08:00
1614 : level????????<br>
1615 : maxhp????MAXHP<br>
1616 : hp???????HP<br>
1617 : mp??????<br>
1618 : name ??????<br>
2020-06-23 15:27:59 +08:00
1619 : <br><br>
1620 :
1621 : <LI>K0?K4 ???????<br><br>
1622 : hp maxhp mp maxmp str tough exp
1623 : level attackpower deffencepower
1624 : fixdex fixcharm fixluck fixfireat fixwaterat fixearthat fixwindat
2020-06-23 15:53:23 +08:00
1625 : ? status<br>
1626 : K???0?4???????????????
1627 : ?????????0??????????????????
1628 : ?????????1????????
1629 : 2???????????????????????1bit ? hp 2bit ?maxhp???
1630 : ??????<br>
1631 : ????? '|' ????????????
2020-06-23 15:27:59 +08:00
1632 : <a href="#escaping">?????</a>?????
2020-06-23 15:53:23 +08:00
1633 : ??????????????<br>
1634 : ?????π??????
2020-06-23 15:27:59 +08:00
1635 : <table border>
2020-06-23 15:53:23 +08:00
1636 : <tr><td>No.(?)</td><td>int</td></tr>
1637 : <tr><td>islive(?)</td><td>int</td></tr>
1638 : <tr><td>GRA(???)</td><td>int</td></tr>
1639 : <tr><td>Hp(??)</td><td>int</td></tr>
1640 : <tr><td>MaxHp(????)</td><td>int</td></tr>
2020-06-23 15:27:59 +08:00
1641 : <tr><td>Mp</td><td>int</td></tr>
1642 : <tr><td>MapMp</td><td>int</td></tr>
2020-06-23 15:53:23 +08:00
1643 : <tr><td>Exp(??π)</td><td>int</td></tr>
1644 : <tr><td>MaxExp(??????π)</td><td>int</td></tr>
2020-06-23 15:27:59 +08:00
1645 : <tr><td>Level(???)</td><td>int</td></tr>
1646 : <tr><td>Attack(???)</td><td>int</td></tr>
2020-06-23 15:53:23 +08:00
1647 : <tr><td>Defense(??)</td><td>int</td></tr>
1648 : <tr><td>Quick(???)</td><td>int</td></tr>
1649 : <tr><td>Ai(?)</td><td>int</td></tr>
1650 : <tr><td>fEarth()</td><td>int</td></tr>
2020-06-23 15:27:59 +08:00
1651 : <tr><td>fWater(?)</td><td>int</td></tr>
1652 : <tr><td>fFire(?)</td><td>int</td></tr>
1653 : <tr><td>fWid(?)</td><td>int</td></tr>
2020-06-23 15:53:23 +08:00
1654 : <tr><td>Slot(???)</td><td>int</td></tr>
1655 : <tr><td>???????</td><td>int</td></tr>
1656 : <tr><td>?</td><td>??</td></tr>
1657 : <tr><td>????????</td><td>??</td></tr>
2020-06-23 15:27:59 +08:00
1658 : </table>
1659 : <br>
2020-06-23 15:53:23 +08:00
1660 : ?????????????????????????????????
1661 : 1 ???????????????<br>
2020-06-23 15:27:59 +08:00
1662 : <br>
1663 : <br>
1664 : <br>
2020-06-23 15:53:23 +08:00
1665 : ??( char ????????? )<br>
2020-06-23 15:27:59 +08:00
1666 : <code>
1667 : P10|20|10|20|10|10|10|1|2|13|13|1|100|10|???|PC
1668 : </code>
1669 :
1670 : <br><br>
1671 :
1672 : <LI>W0?W4 ????????<br><br>
1673 : <code>W0|skillid|field|target|name|comment| x 7</code><br>
2020-06-23 15:53:23 +08:00
1674 : W0 ? W4 ????????????????<br>
1675 : petskillid ??????????pet_skillinfo.h????????<br>
1676 : field ?????????????????????????????????<br>
2020-06-23 15:27:59 +08:00
1677 : <pre>
1678 : typedef enum
1679 : {
2020-06-23 15:53:23 +08:00
1680 : PETSKILL_FIELD_ALL, ????????
1681 : PETSKILL_FIELD_BATTLE, ·???
1682 : PETSKILL_FIELD_MAP, ?????
2020-06-23 15:27:59 +08:00
1683 :
1684 : }PETSKILL_FIELDTYPE;
1685 :
1686 : </pre>
2020-06-23 15:53:23 +08:00
1687 : target ????????????????????????????????<br>
2020-06-23 15:27:59 +08:00
1688 : <pre>
1689 : typedef enum
1690 : {
2020-06-23 15:53:23 +08:00
1691 : PETSKILL_TARGET_MYSELF, ??
1692 : PETSKILL_TARGET_OTHER, ????)
1693 : PETSKILL_TARGET_ALLMYSIDE, ?
1694 : PETSKILL_TARGET_ALLOTHERSIDE, ?
1695 : PETSKILL_TARGET_ALL, ?
1696 : PETSKILL_TARGET_NONE, Κ????????????
1697 : PETSKILL_TARGET_OTHERWITHOUTMYSELF,??????)
1698 : PETSKILL_TARGET_WITHOUTMYSELFANDPET, ??????
2020-06-23 15:27:59 +08:00
1699 : }PETSKILL_TARGETTYPE;
1700 : </pre>
1701 : <br>
2020-06-23 15:53:23 +08:00
1702 : name ?????<br>
1703 : comment?????????<br>
1704 : target|name|comment| ???????????????
1705 : ??????????????????"|"??????
1706 : ???????????????<br>
2020-06-23 15:27:59 +08:00
1707 : <br><br>
1708 :
1709 : </ul>
1710 :
1711 : <br>
1712 : <hr>
1713 : <br>
1714 :
*/
if( strcmp( funcname , "S" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_S_recv( fd,data);
return 0;
}
/*
1715 : <LI><a name="D"><font color=blue>servertoclient D( int category , int dx , int dy , string data );<br></font></a>
1716 : (Display)
2020-06-23 15:53:23 +08:00
1717 : ?????????<br><br>
2020-06-23 15:27:59 +08:00
1718 :
1719 : <dl>
1720 : <dt>int category
2020-06-23 15:53:23 +08:00
1721 : <dd>??????
2020-06-23 15:27:59 +08:00
1722 : <table border>
2020-06-23 15:53:23 +08:00
1723 : <tr><td>π</td><td>??</td></tr>
1724 : <tr><td>1</td><td>???????????data??
1725 : ?????π?</td></tr>
1726 : <tr><td>2</td><td>?????????data????
1727 : ???π</td></tr>
2020-06-23 15:27:59 +08:00
1728 : </table>
1729 : <dt>int dx
2020-06-23 15:53:23 +08:00
1730 : <dd>??????????????X??????????
1731 : ?????????????π???????????
1732 : ????
2020-06-23 15:27:59 +08:00
1733 : <dt>int dy
2020-06-23 15:53:23 +08:00
1734 : <dd>??Y
2020-06-23 15:27:59 +08:00
1735 : <dt>string data
2020-06-23 15:53:23 +08:00
1736 : <dd>????????category????????
1737 : ?????<a href="#escaping">?????</a>??????
2020-06-23 15:27:59 +08:00
1738 : ?????
1739 : </dl>
1740 : <br>
1741 : <br>
1742 : <br>
1743 : <hr>
1744 : <br>
*/
if( strcmp( funcname , "D" ) == 0 ){
int category;
int dx;
int dy;
char* data;
category = lssproto_demkstr_int( lssproto.token_list[2] );
dx = lssproto_demkstr_int( lssproto.token_list[3] );
dy = lssproto_demkstr_int( lssproto.token_list[4] );
data = lssproto_wrapStringAddr( lssproto_stringwrapper[4] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[5] ));
lssproto_D_recv( fd,category,dx,dy,data);
return 0;
}
/*
1760 : <li><a name="SC_FS"><font color=blue>servertoclient FS( int flg);<br></font></a>
2020-06-23 15:53:23 +08:00
1761 : (FlgSet)PS???????????????????????????<br><br>
2020-06-23 15:27:59 +08:00
1762 : <dl>
1763 : <dt>int flg
1764 : <dd> 0 bit 0: ??Off 1: ??On<br>
2020-06-23 15:53:23 +08:00
1765 : ?????1 bit 0: ·??off 1: ·??On <br>
2020-06-23 15:27:59 +08:00
1766 : 2 bit 0: DUEL off 1: DUEL On<br>
2020-06-23 15:53:23 +08:00
1767 : 3 bit 0: ????????? 1: ???????????????????<br>
1768 : 4 bit 0: ???OK 1: ????<br>
2020-06-23 15:27:59 +08:00
1769 : </dl>
1770 : <br>
1771 : <br>
1772 : <hr>
1773 : <br>
*/
if( strcmp( funcname , "FS" ) == 0 ){
int flg;
flg = lssproto_demkstr_int( lssproto.token_list[2] );
lssproto_FS_recv( fd,flg);
return 0;
}
/*
1785 : <li><a name="SC_HL"><font color=blue>servertoclient HL( int flg);<br></font></a>
2020-06-23 15:53:23 +08:00
1786 : (HeLp)HL????????????????·????????????????????<br><br>
2020-06-23 15:27:59 +08:00
1787 : <dl>
1788 : <dt>int flg
1789 : <dd> 0: ??????Off 1: ??????On<br>
1790 : </dl>
1791 : <br>
1792 : <br>
1793 : <hr>
1794 : <br>
*/
if( strcmp( funcname , "HL" ) == 0 ){
int flg;
flg = lssproto_demkstr_int( lssproto.token_list[2] );
lssproto_HL_recv( fd,flg);
return 0;
}
/*
1808 : <li><a name="SC_PR"><font color=blue>servertoclient PR( int request, int result);<br></font></a>
2020-06-23 15:53:23 +08:00
1809 : (PartyRequest)????????PR??????????????????????????
1810 : ?????????????????
2020-06-23 15:27:59 +08:00
1811 : <br><br>
1812 :
1813 : <dl>
1814 : <dt>int request
2020-06-23 15:53:23 +08:00
1815 : <dd>0: ?? 1:?
2020-06-23 15:27:59 +08:00
1816 : <dt>int result
2020-06-23 15:53:23 +08:00
1817 : <dd>0: ? 1: ?
2020-06-23 15:27:59 +08:00
1818 : </dl>
1819 : <br>
1820 : <br>
1821 : <br>
1822 : <hr>
1823 : <br>
*/
if( strcmp( funcname , "PR" ) == 0 ){
int request;
int result;
request = lssproto_demkstr_int( lssproto.token_list[2] );
result = lssproto_demkstr_int( lssproto.token_list[3] );
lssproto_PR_recv( fd,request,result);
return 0;
}
/*
1835 : <li><a name="SC_KS"><font color=blue>servertoclient KS( int petarray,int result);<br></font></a>
2020-06-23 15:53:23 +08:00
1836 : ???????KS?????????????????????????
2020-06-23 15:27:59 +08:00
1837 : ?????????????????????
2020-06-23 15:53:23 +08:00
1838 : ???·???????????????????????????????????????????
2020-06-23 15:27:59 +08:00
1839 : ???????????????
1840 : <br><br>
1841 :
1842 : <dl>
1843 : <dt>int petarray
2020-06-23 15:53:23 +08:00
1844 : <dd>?????
2020-06-23 15:27:59 +08:00
1845 : <dt>int result
2020-06-23 15:53:23 +08:00
1846 : <dd>0: ??????????????? 1:?
2020-06-23 15:27:59 +08:00
1847 : </dl>
1848 : <br>
1849 : <br>
1850 : <hr>
1851 : <br>
*/
if( strcmp( funcname , "KS" ) == 0 ){
int petarray;
int result;
petarray = lssproto_demkstr_int( lssproto.token_list[2] );
result = lssproto_demkstr_int( lssproto.token_list[3] );
lssproto_KS_recv( fd,petarray,result);
return 0;
}
/*
1935 : <li><a name="SC_PS"><font color=blue>servertoclient PS( int result, int havepetindex, int havepetskill, int toindex);<br></font></a>
2020-06-23 15:53:23 +08:00
1936 : (PetSkill use result)?????????????????PS???????????
1937 : result ??????????PS??????????????????????
2020-06-23 15:27:59 +08:00
1938 :
1939 : <dl>
1940 : <dt>int result
2020-06-23 15:53:23 +08:00
1941 : <dd>???0: ? 1:?
2020-06-23 15:27:59 +08:00
1942 : <dt>int havepetindex
2020-06-23 15:53:23 +08:00
1943 : <dd>????????????
2020-06-23 15:27:59 +08:00
1944 : <dt>int havepetskill
2020-06-23 15:53:23 +08:00
1945 : <dd>??????????
2020-06-23 15:27:59 +08:00
1946 : <dt>int toindex
2020-06-23 15:53:23 +08:00
1947 : <dd> Κ???????????????????????index????????????????
2020-06-23 15:27:59 +08:00
1948 : <pre>
2020-06-23 15:53:23 +08:00
1949 : = 0
2020-06-23 15:27:59 +08:00
1950 : ??? = 1 ?5
2020-06-23 15:53:23 +08:00
1951 : ?? = 6 ?10 ?S N ?0?4???????????
2020-06-23 15:27:59 +08:00
1952 : </pre>
2020-06-23 15:53:23 +08:00
1953 : ???????????????-1?????<br>
2020-06-23 15:27:59 +08:00
1954 : <br>
1955 :
1956 : </dl>
1957 :
1958 : <br>
1959 : <br>
1960 : <hr>
1961 : <br>
1962 :
*/
if( strcmp( funcname , "PS" ) == 0 ){
int result;
int havepetindex;
int havepetskill;
int toindex;
result = lssproto_demkstr_int( lssproto.token_list[2] );
havepetindex = lssproto_demkstr_int( lssproto.token_list[3] );
havepetskill = lssproto_demkstr_int( lssproto.token_list[4] );
toindex = lssproto_demkstr_int( lssproto.token_list[5] );
lssproto_PS_recv( fd,result,havepetindex,havepetskill,toindex);
return 0;
}
/*
2011 : <LI><a name="S2CSKUP"><font color=blue>servertoclient SKUP( int point );<br></font></a>
2012 : (SKillUP)
2020-06-23 15:53:23 +08:00
2013 : ????????????????ρ???????????????
2020-06-23 15:27:59 +08:00
2014 : <br>
2015 : <br>
2016 : <hr>
2017 : <br>
2018 :
*/
if( strcmp( funcname , "SKUP" ) == 0 ){
int point;
point = lssproto_demkstr_int( lssproto.token_list[2] );
lssproto_SKUP_recv( fd,point);
return 0;
}
/*
2047 : <LI><a name="SC_WN"><font color=blue>servertoclient WN( int windowtype, int buttontype, int seqno, int objindex, string data );<br></font></a>
2048 : (Window)<br>
2020-06-23 15:53:23 +08:00
2049 : ?????????????????????ρ???<br>
2020-06-23 15:27:59 +08:00
2050 : <br>
2051 : <dl>
2052 : <dt>int windowtype
2020-06-23 15:53:23 +08:00
2053 : <dd>?????????????????????????????buttontype ???????
2054 : ??????????<br>
2055 : ??????????? ??????<br>
2020-06-23 15:27:59 +08:00
2056 : <pre>
2057 : typedef enum
2058 : {
2059 : WINDOW_MESSAGETYPE_MESSAGE, ???????
2020-06-23 15:53:23 +08:00
2060 : WINDOW_MESSAGETYPE_MESSAGEANDLINEINPUT, ?????????
2061 : WINDOW_MESSAGETYPE_SELECT, ??????
2062 : WINDOW_MESSAGETYPE_PETSELECT, ?????????
2063 : WINDOW_MESSAGETYPE_PARTYSELECT, ????????
2064 : WINDOW_MESSAGETYPE_PETANDPARTYSELECT, ????????????
2065 : WINDOW_MESSAGETYPE_ITEMSHOPMENU, ????????????
2066 : WINDOW_MWSSAGETYPE_ITEMSHOPYMAIN, ???????????
2067 : WINDOW_MESSAGETYPE_LIMITITEMSHOPMAIN, ??????????????????
2020-06-23 15:27:59 +08:00
2068 : WINDOW_MESSAGETYPE_PETSKILLSHOP, ?????????????
2020-06-23 15:53:23 +08:00
2069 : WINDOW_MESSAGETYPE_WIDEMESSAGE, ?????????????
2070 : WINDOW_MESSAGETYPE_WIDEMESSAGEANDLINEINPUT, ???????????????
2020-06-23 15:27:59 +08:00
2071 :
2072 : }WINDOW_MESSAGETYPE;
2073 : </pre>
2074 :
2075 : <dt>int buttontype
2020-06-23 15:53:23 +08:00
2076 : <dd>???????????????????????????<br>
2020-06-23 15:27:59 +08:00
2077 : <pre>
2078 : #define WINDOW_BUTTONTYPE_NONE (0)
2079 : #define WINDOW_BUTTONTYPE_OK (1 << 0)
2080 : #define WINDOW_BUTTONTYPE_CANCEL (1 << 1)
2081 : #define WINDOW_BUTTONTYPE_YES (1 << 2)
2082 : #define WINDOW_BUTTONTYPE_NO (1 << 3)
2083 : #define WINDOW_BUTTONTYPE_PREV (1 << 4)
2084 : #define WINDOW_BUTTONTYPE_NEXT (1 << 5)
2085 : </pre>
2020-06-23 15:53:23 +08:00
2086 : ??????????????????YES????NO?????????<br>
2020-06-23 15:27:59 +08:00
2087 : WINDOW_BUTTONTYPE_YES | WINDOW_BUTTONTYPE_NO (=12)<br>
2088 : ????
2089 :
2090 : <dt>int seqno
2020-06-23 15:53:23 +08:00
2091 : <dd>??????????????????????
2092 : ???????WN??????????????????????????????
2093 : ?????????????NPC?????????????κ????????
2020-06-23 15:27:59 +08:00
2094 : <dt>int objindex
2020-06-23 15:53:23 +08:00
2095 : <dd>?????????????NPC???index????????
2096 : ????????????-1????????
2097 : ????????????????WN?????????π??????????
2020-06-23 15:27:59 +08:00
2098 : <dt>string data
2020-06-23 15:53:23 +08:00
2099 : <dd>?????????????????????"\n"??????????????
2100 : ??????????????????????????????????
2101 : ?????????????"\n"?????????????????????
2102 : ????????????????????????????????
2103 : ???????????????????????????? 1 ??
2104 : ????????????WN????????
2105 : <dt>string data(????
2106 : <dd>?????????????????????"\n"??????????????
2107 : ??????????????????????????????????
2108 : ?????????"?"?????????
2020-06-23 15:27:59 +08:00
2109 : <br><br><dd>????<br>
2020-06-23 15:53:23 +08:00
2110 : ???????????????????????????????1??
2111 : ?????????????????????????????????????????????
2112 : ???????????????????????????????????????????????????
2113 : πν????????????????????????????????πν??????
2020-06-23 15:27:59 +08:00
2114 : <br><br>
2020-06-23 15:53:23 +08:00
2115 : 0|1|????????|?????????????|???????????|?????|?????????????
2116 : ??????????|???????|?????????????????????????|
2117 : ?|???|?????|??????\n???|??|?|??|?????|??????\n?????\n???
2020-06-23 15:27:59 +08:00
2118 :
2119 : <br><dd><br>????<br>
2020-06-23 15:53:23 +08:00
2120 : ???????????????????????????????1??
2121 : ???????????????????????????????????|???????
2122 : ?????????????????πν????????????????????????
2123 : πν???????
2020-06-23 15:27:59 +08:00
2124 :
2125 : <br><br>
2020-06-23 15:53:23 +08:00
2126 : ?|1|???????|?????????????????????????????|???????|
2020-06-23 15:27:59 +08:00
2127 : ???????????????????????|?|??|?????|
2020-06-23 15:53:23 +08:00
2128 : ??????\n???|??|?|??|?????|??????\n?????\n???
2020-06-23 15:27:59 +08:00
2129 : <br><dd><br>?????????<br>
2130 : ??????=??????????????<br>
2020-06-23 15:53:23 +08:00
2131 : ????<br>
2132 : ???????????????????????????????<br>
2133 : ?????????????????????πν???????????????????????<br>
2134 : ?????????????????????πν???????????????????????<br>
2135 : <br><dd><br>?????????<br>
2136 : ???????=???
2137 : ????????????????????????????|???????<br>
2138 : ???????????????????????????????πν????????????<br>
2139 : ???????????????????????????????πν????????????<br>
2020-06-23 15:27:59 +08:00
2140 :
2141 :
2020-06-23 15:53:23 +08:00
2142 : <br><dd><br>????<br>
2143 : ?????????
2020-06-23 15:27:59 +08:00
2144 :
2145 : <br><br>
2020-06-23 15:53:23 +08:00
2146 : ???????|????????????
2020-06-23 15:27:59 +08:00
2147 :
2148 : <br><br><br>
2149 : <dt>string data(??????????
2020-06-23 15:53:23 +08:00
2150 : <dd>?????????????????????"\n"??????????????
2151 : ??????????????????????????????????
2152 : ?????????"?"?????????
2153 : <br><br><dd>???????<br>
2154 : ??????????0 ???1???????????????
2155 : ???πν???????πν???
2020-06-23 15:27:59 +08:00
2156 : <br><br>
2157 : 1?????????????????????????????????
2020-06-23 15:53:23 +08:00
2158 : ???????500????????? ??????????
2159 : ???1000??????????????
2020-06-23 15:27:59 +08:00
2160 : </dl>
2161 : <br>
2162 : <br>
2163 : <hr>
2164 : <br>
2165 :
*/
if( strcmp( funcname , "WN" ) == 0 ){
int windowtype;
int buttontype;
int seqno;
int objindex;
char* data;
windowtype = lssproto_demkstr_int( lssproto.token_list[2] );
buttontype = lssproto_demkstr_int( lssproto.token_list[3] );
seqno = lssproto_demkstr_int( lssproto.token_list[4] );
objindex = lssproto_demkstr_int( lssproto.token_list[5] );
data = lssproto_wrapStringAddr( lssproto_stringwrapper[5] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[6] ));
lssproto_WN_recv( fd,windowtype,buttontype,seqno,objindex,data);
return 0;
}
/*
2196 : <LI><a name="SC_EF"><font color=blue>servertoclient EF( int effect, int level, string option );<br></font></a>
2197 : (EFfect)<br>
2020-06-23 15:53:23 +08:00
2198 : ???????????????????????????<br>
2020-06-23 15:27:59 +08:00
2199 : <br>
2200 : <dl>
2201 : <dt>int effect
2020-06-23 15:53:23 +08:00
2202 : <dd>?????????????????????????????????????????????
2020-06-23 15:27:59 +08:00
2203 : <ul>
2204 : <li>1:?
2020-06-23 15:53:23 +08:00
2205 : <li>2:
2206 : <li>4:?????
2020-06-23 15:27:59 +08:00
2207 : </ul>
2208 : <dt>int level
2020-06-23 15:53:23 +08:00
2209 : <dd>?????????????????????
2020-06-23 15:27:59 +08:00
2210 : <dt>string option
2020-06-23 15:53:23 +08:00
2211 : <dd>?????
2020-06-23 15:27:59 +08:00
2212 : </dl>
2213 : <br>
2214 : <br>
2215 : <hr>
2216 : <br>
2217 :
*/
if( strcmp( funcname , "EF" ) == 0 ){
int effect;
int level;
char* option;
effect = lssproto_demkstr_int( lssproto.token_list[2] );
level = lssproto_demkstr_int( lssproto.token_list[3] );
option = lssproto_wrapStringAddr( lssproto_stringwrapper[3] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[4] ));
lssproto_EF_recv( fd,effect,level,option);
return 0;
}
/*
2218 : <LI><a name="SC_SE"><font color=blue>servertoclient SE( int x, int y, int senumber, int sw );<br></font></a>
2219 : (SoundEffect)<br>
2020-06-23 15:53:23 +08:00
2220 : ???????SE??????????<br>
2020-06-23 15:27:59 +08:00
2221 : <br>
2222 : <dl>
2223 : <dt>int x,y
2020-06-23 15:53:23 +08:00
2224 : <dd>SE?????
2020-06-23 15:27:59 +08:00
2225 : <dt>int senumber
2020-06-23 15:53:23 +08:00
2226 : <dd>????
2020-06-23 15:27:59 +08:00
2227 : <dt>int sw
2020-06-23 15:53:23 +08:00
2228 : <dd>???????????
2020-06-23 15:27:59 +08:00
2229 : <ul>
2020-06-23 15:53:23 +08:00
2230 : <li>0:??
2231 : <li>1:???
2020-06-23 15:27:59 +08:00
2232 : </ul>
2233 : </dl>
2234 : <br>
2235 : <br>
2236 : <hr>
2237 : <br>
*/
if( strcmp( funcname , "SE" ) == 0 ){
int x;
int y;
int senumber;
int sw;
x = lssproto_demkstr_int( lssproto.token_list[2] );
y = lssproto_demkstr_int( lssproto.token_list[3] );
senumber = lssproto_demkstr_int( lssproto.token_list[4] );
sw = lssproto_demkstr_int( lssproto.token_list[5] );
lssproto_SE_recv( fd,x,y,senumber,sw);
return 0;
}
/*
2271 : <LI><a name="SC_CLIENTLOGIN"><font color=blue>servertoclient ClientLogin(string result);<br></font></a>
2020-06-23 15:53:23 +08:00
2272 : ClientLogin???
2020-06-23 15:27:59 +08:00
2273 : <br><br>
2274 : <dl>
2275 : <dt>string result
2020-06-23 15:53:23 +08:00
2276 : <dd>"ok" ?????????????????????
2020-06-23 15:27:59 +08:00
2277 : </dl>
2278 : <br>
2279 : <br>
2280 : <hr>
2281 : <br>
2282 :
2283 :
*/
if( strcmp( funcname , "ClientLogin" ) == 0 ){
char* result;
result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_ClientLogin_recv( fd,result);
return 0;
}
/*
2314 : <LI><a name="SC_CREATENEWCHAR"><font color=blue>servertoclient CreateNewChar(string result,string data);<br></font></a>
2020-06-23 15:53:23 +08:00
2315 : CreateNewChar???
2020-06-23 15:27:59 +08:00
2316 : <br><br>
2317 : <dl>
2318 : <dt>string result
2020-06-23 15:53:23 +08:00
2319 : <dd>"successful" ? "failed" ???????????????
2020-06-23 15:27:59 +08:00
2320 : ?????
2321 : <dt>string data
2020-06-23 15:53:23 +08:00
2322 : <dd>"failed" ?????????????
2323 : ?????????????????????????
2324 : ?????
2020-06-23 15:27:59 +08:00
2325 : <pre>
2326 : "failed bad parameter"
2327 : </pre>
2020-06-23 15:53:23 +08:00
2328 : ?????????????????????????
2329 : ???????????????????????????
2330 : ?????????????????????
2020-06-23 15:27:59 +08:00
2331 :
2332 : </dl>
2333 : <br>
2334 : <br>
2335 : <hr>
2336 : <br>
2337 :
*/
if( strcmp( funcname , "CreateNewChar" ) == 0 ){
char* result;
char* data;
result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] ));
lssproto_CreateNewChar_recv( fd,result,data);
return 0;
}
/*
2349 : <LI><a name="SC_CHARDELETE"><font color=blue>servertoclient CharDelete(string result,string data);<br></font></a>
2020-06-23 15:53:23 +08:00
2350 : CharDelete ???
2020-06-23 15:27:59 +08:00
2351 : <br><br>
2352 : <dl>
2353 : <dt>string result
2354 : <dd>"successful" ? "failed" ???????????????
2355 : <dt>string data
2020-06-23 15:53:23 +08:00
2356 : <dd>"failed" ?????????????
2357 : ?????????????????????????
2020-06-23 15:27:59 +08:00
2358 : ??????????????????????
2359 : </dl>
2360 : <br>
2361 : <br>
2362 : <hr>
2363 : <br>
2364 :
2365 :
*/
if( strcmp( funcname , "CharDelete" ) == 0 ){
char* result;
char* data;
result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] ));
lssproto_CharDelete_recv( fd,result,data);
return 0;
}
/*
2376 : <LI><a name="SC_CHARLOGIN"><font color=blue>servertoclient CharLogin(string result,string data);<br></font></a>
2020-06-23 15:53:23 +08:00
2377 : CharaLogin???
2020-06-23 15:27:59 +08:00
2378 : <br><br>
2379 : <dl>
2380 : <dt>string result
2381 : <dd>"successful" ? "failed" ???????????????
2382 : <dt>string data
2020-06-23 15:53:23 +08:00
2383 : <dd>"failed" ??? ?????????????????
2020-06-23 15:27:59 +08:00
2384 : </dl>
2385 : <br>
2386 : <br>
2387 : <hr>
2388 : <br>
2389 :
2390 :
*/
if( strcmp( funcname , "CharLogin" ) == 0 ){
char* result;
char* data;
result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] ));
lssproto_CharLogin_recv( fd,result,data);
return 0;
}
/*
2396 : <LI><a name="SC_CHARLIST"><font color=blue>servertoclient CharList(string result,string data);<br></font></a>
2020-06-23 15:53:23 +08:00
2397 : CharList???
2020-06-23 15:27:59 +08:00
2398 : <br><br>
2399 : <dl>
2400 : <dt>string result
2401 : <dd>"successful" ? "failed" ??????????????
2402 : <dt>string data
2020-06-23 15:53:23 +08:00
2403 : <dd>result?"successful"?????????????????
2404 : ???????????????????????????
2405 : ????????????????????????????
2406 : result ? "failed" ???????????????
2407 : ?????????????????????????<br>
2020-06-23 15:27:59 +08:00
2408 : dataplace|faceimage|level|maxhp|atk|def|quick|charm|earth|water|fire|wind|logincount|name|place<br>
2409 :
2410 : <dl>
2411 : <dt>dataplace
2020-06-23 15:53:23 +08:00
2412 : <dd>????????????????????????????????
2020-06-23 15:27:59 +08:00
2413 : <dt>faceimage
2020-06-23 15:53:23 +08:00
2414 : <dd>?????
2020-06-23 15:27:59 +08:00
2415 : <dt>level
2416 : <dd>???????
2417 : <dt>maxhp,atk,def,quick,charm
2418 : <dd>???????
2419 : <dt>earth.water,fire,wind
2020-06-23 15:53:23 +08:00
2420 : <dd>?π
2020-06-23 15:27:59 +08:00
2421 : <dt>logincount
2422 : <dd>????????
2423 : <dt>name
2020-06-23 15:53:23 +08:00
2424 : <dd>?????
2020-06-23 15:27:59 +08:00
2425 : <dt>place
2020-06-23 15:53:23 +08:00
2426 : <dd>???????
2020-06-23 15:27:59 +08:00
2427 : </dl>
2020-06-23 15:53:23 +08:00
2428 : "|" ???????? ?????????<a
2429 : href="#escaping">?????</a>????????????
2020-06-23 15:27:59 +08:00
2430 : ??????<br>
2431 :
2432 : </dl>
2433 : <br>
2434 : <br>
2435 : <hr>
2436 : <br>
2437 :
*/
if( strcmp( funcname , "CharList" ) == 0 ){
char* result;
char* data;
result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] ));
lssproto_CharList_recv( fd,result,data);
return 0;
}
/*
2445 : <LI><a name="SC_CHARLOGOUT"><font color=blue>servertoclient CharLogout(string result , string data);<br></font></a>
2020-06-23 15:53:23 +08:00
2446 : Logout?????
2020-06-23 15:27:59 +08:00
2447 : <br><br>
2448 : <dl>
2449 : <dt>string result
2450 : <dd>"successful" ? "failed" ???????????????
2451 : <dt>string data
2020-06-23 15:53:23 +08:00
2452 : <dd>"failed" ??????????????()???
2453 : ???????????????????
2020-06-23 15:27:59 +08:00
2454 : </dl>
2455 : <br>
2456 : <br>
2457 : <hr>
2458 : <br>
*/
if( strcmp( funcname , "CharLogout" ) == 0 ){
char* result;
char* data;
result = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] ));
lssproto_CharLogout_recv( fd,result,data);
return 0;
}
/*
2465 : <LI><a name="SC_PROCGET"><font color=blue>servertoclient ProcGet( string data);<br></font></a>
2020-06-23 15:53:23 +08:00
2466 : ProcGet???
2020-06-23 15:27:59 +08:00
2467 : <br><br>
2468 : <dl>
2469 : <dt>string data
2020-06-23 15:53:23 +08:00
2470 : <dd>???????????????????????????log/proc??????????????
2020-06-23 15:27:59 +08:00
2471 : </dl>
2472 : <br>
2473 : <br>
2474 : <hr>
2475 : <br>
2476 :
*/
if( strcmp( funcname , "ProcGet" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_ProcGet_recv( fd,data);
return 0;
}
/*
2483 : <LI><a name="SC_PLAYERNUMGET"><font color=blue>servertoclient PlayerNumGet( int logincount, int player);<br></font></a>
2020-06-23 15:53:23 +08:00
2484 : PlayerNumGet???
2020-06-23 15:27:59 +08:00
2485 : <br><br>
2486 : <dl>
2487 : <dt>int logincount,player
2488 : <dd>
2489 : </dl>
2490 : <br>
2491 : <br>
2492 : <hr>
2493 : <br>
2494 :
*/
if( strcmp( funcname , "PlayerNumGet" ) == 0 ){
int logincount;
int player;
logincount = lssproto_demkstr_int( lssproto.token_list[2] );
player = lssproto_demkstr_int( lssproto.token_list[3] );
lssproto_PlayerNumGet_recv( fd,logincount,player);
return 0;
}
/*
2506 : <LI><a name="SC_ECHO"><font color=blue>servertoclient Echo( string test );<br></font></a>
2020-06-23 15:53:23 +08:00
2507 : Echo?????
2020-06-23 15:27:59 +08:00
2508 : <dl>
2509 : <dt>string test
2020-06-23 15:53:23 +08:00
2510 : <dd>????????????????????
2020-06-23 15:27:59 +08:00
2511 : </dl>
2512 : <br>
2513 : <br>
2514 : <hr>
2515 : <br>
2516 :
*/
if( strcmp( funcname , "Echo" ) == 0 ){
char* test;
test = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_Echo_recv( fd,test);
return 0;
}
//-------------------------------------------------------
// Add Command Count
// Robin 2001/04/06
//-------------------------------------------------------
if( strcmp( funcname , "NU" ) == 0 ){
int AddCount;
AddCount = lssproto_demkstr_int( lssproto.token_list[2] );
lssproto_NU_recv( fd, AddCount);
return 0;
}
// Robin 04/12 trade
if( strcmp( funcname , "TD" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[2] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[3] ));
lssproto_TD_recv( fd, data);
return 0;
}
// Robin 0529 family
if( strcmp( funcname , "FM" ) == 0 ){
char* data;
data = lssproto_wrapStringAddr( lssproto_stringwrapper[1] , lssproto.workbufsize , lssproto_demkstr_string( lssproto.token_list[2] ));
lssproto_FM_recv( fd, data);
//lssproto_FM_recv( fd, lssproto_stringwrapper[0] );
return 0;
}
return -1;
}
void lssproto_SetClientLogFiles( char *r , char *w )
{
lssproto_strcpysafe( lssproto_readlogfilename , r , sizeof( lssproto_readlogfilename ) );
lssproto_strcpysafe( lssproto_writelogfilename , w , sizeof( lssproto_writelogfilename ) );
}
int lssproto_InitClient( int (*writefunc)(int,char*,int) ,int bufsiz ,int fd)
{
int i;
if( (void*)writefunc == NULL){lssproto.write_func = lssproto_default_write_wrap;} else {lssproto.write_func = writefunc;}
lssproto_AllocateCommonWork(bufsiz);
lssproto_stringwrapper = (char**)MALLOC(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*)MALLOC( bufsiz );
if( lssproto_stringwrapper[i] == NULL){
for(i=0;i<MAXLSRPCARGS;i++){FREE( lssproto_stringwrapper[i]);return -1;}
}
}
return 0;
}
void lssproto_CleanupClient( void )
{
int i;
// Nuke start
/*{
int i;
if (NJT_dummy) FREE(NJT_dummy);
for (i=0;i<NJT_MAX;i++) if (NJT[i]) FREE(NJT[i]);
}*/
// Nuke end
FREE( lssproto.work );
lssproto.work = NULL;
FREE( lssproto.arraywork);
lssproto.arraywork = NULL;
FREE( lssproto.escapework );
lssproto.escapework = NULL;
FREE( lssproto.val_str);
lssproto.val_str = NULL;
FREE( lssproto.token_list );
lssproto.token_list = NULL;
FREE( lssproto.cryptwork );
lssproto.cryptwork = NULL;
FREE( lssproto.jencodecopy );
lssproto.jencodecopy = NULL;
FREE( lssproto.jencodeout );
lssproto.jencodeout = NULL;
FREE( lssproto.compresswork );
lssproto.compresswork = NULL;
for(i=0;i<MAXLSRPCARGS;i++){
FREE( lssproto_stringwrapper[i]);
lssproto_stringwrapper[i] = NULL;
}
FREE( lssproto_stringwrapper );
lssproto_stringwrapper = NULL;
}
/* end of the generated client code */
//#endif