stoneage8.5/石器时代8.5客户端最新源代码/石器源码/system/lssproto_cli.cpp
2020-06-23 15:53:23 +08:00

3540 lines
121 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

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

/*#ifdef __NEW_PROTOCOL
/* 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>
167 : (Walk)卷?????????????????????叉????????
168 : ??卷???????????????????????????????
169 : ???刪叉??????????????????「?ㄆ???????〈孓?
170 : ??????????W????????????????????????
171 : ???火???卷???????????兝???????????????
172 : ??????????
173 : ?????????卷????卷???MC???????????????MC
174 : ????????????????????????????????????
175 : 卷????┤????卷????????????????
176 :
177 :
178 :
179 : <br><br>
180 : <dl>
181 : <dt>int x,y
182 : <dd>卷?????????????????火?
183 :
184 : <dt>string direction
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 : ????????????1卷1更??▋???????
191 : ?更????????????
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>
199 : ??????「?可?????????????????????去??????
200 : ??????????????????卷??MC?????????OK??????
201 : ??MC???????卷???MC????????????卷?????w?????????
202 : ???????????????????????????????? <a href="#CS_EV">CHAR_EVENT_ALTERRATIVE</a>
203 : ????????????????????阪??????守??????二????????希????????卷???
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>
213 : ??????????????????北????伶???
214 : ?????叉????????????????
215 :
216 : <br><br>
217 : <dl>
218 : <dt>int event
219 : <dd>???????char_base.h????????叉???????<br>
220 : <pre>
221 : typedef enum
222 : {
223 : CHAR_EVENT_NONE, ?????伶???
224 : CHAR_EVENT_NPC, ?叉NPC???
225 : CHAR_EVENT_ENEMY, ?叉???????????
226 : CHAR_EVENT_WARP, ???????
227 : CHAR_EVENT_ALTERRATIVE, ??????阪??????????????????????????
228 : CHAR_EVENTNUM,
229 : }CHAR_EVENT;
230 :
231 : </pre>
232 : CHAR_EVENT_NPC????Μ??NPC??????????????????
233 : ???????EV????????????刪κ??〈??????????<br>
234 : <dt>int seqno
235 : <dd>??????????No?▄?????????????冉??????????????
236 : ???????????????
237 : ?????EV????▋??????????
238 : <dt>int x,y
239 : <dd>希??ㄅ
240 : <dt>int dir
241 : <dd>??????????希??ㄅ??????????????Π??希?可?????-1?
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>
262 : ?????????叉??????????????????????
263 : ??卷???????????????????????????
264 : <br><br>
265 : <dl>
266 : <dt>int x,y
267 : <dd>??????????????????????火?
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>
274 : ????????????可??????????????????
275 : ??卷???????????????????????????
276 : <br><br>
277 : <dl>
278 : <dt>int x,y
279 : <dd>??????????????????????火?
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>
299 : ?????????????????????????
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>
310 : ???????????????κ????????
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>
321 : 兝?·卯?·???????????? EN ???刺??
322 : <dl>
323 : <dt>int x, int y;
324 : <dd>???????????火?
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>
332 : 兝?·卯??·???????????? EN ???刺??
333 : <dl>
334 : <dt>int x, int y;
335 : <dd>???????????火?
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>
355 : ??????????????·卯??????叉???????吻????????叉????????????¥???「▍?叉??????¥???「▍??????????「▍???<br><br>
356 : <ul>
357 : <li>H|?吻?(%X)(0?19)<br>二?????吻??叉<br><br>
358 : <li>E<br>匝???<br><br>
359 : <li>G<br>??<br><br>
360 : <li>N<br>??????<br><br>
361 : <li>T|?吻?(%X)<br>卦??<br><br>
362 : <li>J|?吻?(%X)|?吻?(%X)?
363 : <br>???????吻???????????吻????
364 : ???(0?5)?<br><br>
365 : <li>W|????吻?(%X)|?吻?(%X)<br>
366 : ?????????????????吻?????????吻??
367 : ???(0?7)<br><br>
368 : <li>S|????吻?(%d)?<br>????????????????<br><br>
369 : <li>I|?????吻?(%X)|?吻?(%X)?
370 : <br>???????????????吻???????????????吻????
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)
544 : 叉?????????????
545 : <br><br>
546 : <dl>
547 : <dt>int dir
548 : <dd>???????
549 : <dt>int index
550 : <dd>希??????????牙??index.
551 : </dl>
552 : ???牙????二??????????????????希????
553 : <pre>
554 :
555 : ?????????????
556 : rpcgen C???????????????????二??????
557 : ?????????enum
558 :
559 : ????〈??????????????????
560 : typedef enum
561 : {
562 : SKILL_FIRE,
563 : SKILL_MAGICIAN, ???
564 : SKILL_PRIEST, 齥?
565 : SKILL_ALOTOFTHINGS, ????
566 : ?????
567 : 7(??) + 8 (?? ) + 4*(???????)
568 : SKILL_AVOIDRATEUP, ???????? 3% ?????
569 : SKILL_DETERMINEITEM, ?????
570 :
571 : SKILL_DETERMINOTHERS, ??
572 : 0 ??刪叉???(?)
573 : 1 ?????????????向??
574 : ???????向???????
575 : 2 ?????
576 : 3 NPC
577 : 4 ????
578 : 5 ?
579 :
580 : SKILL_FIRECUT, ??? 5 %
581 : SKILL_THUNDERCUT, ???? 5 %
582 : SKILL_ICECUT, 爪?? 5 %
583 : SKILL_MERCHANT,  ??20% ??100% ?? 5%?????
584 : SKILL_HEALER, 齥?
585 : ?????????吻??????????
586 : 1 ?
587 : 2 ???
588 : 3 ??
589 : 4 ?
590 : 5 ??
591 : 6 ??
592 : 7 HP 1 ???
593 : 8 HP ???????
594 : ????「?
595 : ?????????????
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
605 : ?????????( 100 ??? )??π??? 1 10 ????
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 :
617 : SKILL_FIST, ???
618 : SKILL_SWORD, ???
619 : SKILL_AXE, ???
620 : SKILL_SPEAR, ???
621 : SKILL_BOW, ???
622 : SKILL_CANE, ??
623 :
624 : SKILL_LARGEVOICE, ??? Lv 8
625 : ?????????? TK ?
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>
634 : (useItemDir)???????????????????????????????????????????
635 : ????????????
636 :
637 :
638 : <dl>
639 : <dt>int x,y
640 : <dd> 希?x,y ?火
641 : <dt>int haveitemindex
642 : <dd> ?????????????????????
643 : <dt>int toindex
644 : <dd> Κ?????????????????????????index????????????????
645 : <pre>
646 : 希 = 0
647 : ??? = 1 ?5
648 : ?? = 6 ?10 ?S N ?0?4?▋??希????????
649 : </pre>
650 : ▋?「????希??????????-1?????<br>
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)
664 : ??????????℉????????9??????<br><br>
665 : <dl>
666 : <dt>int x,y
667 : <dd> 希?x,y ?火
668 : <dt>int dir
669 : <dd>??????????℉????? ????℉??????
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)
678 : ?????ㄅ??ㄅ???????????ㄅ????????ㄅ?
679 : 叉????itemindex??????ㄅ??????希?〈?ㄅ??
680 : <br><br>
681 :
682 : <dl>
683 : <dt>int x,y
684 : <dd> 希?x,y ?火
685 : <dt>int itemindex
686 : <dd>ㄅ??????????????
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)
695 : ???ㄅ??SA?????ㄅ??火?乃??<br><br>
696 : <dl>
697 : <dt>int x,y
698 : <dd> 希?x,y ?火
699 : <dt>int amount
700 : <dd>ㄅ??????
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)
708 : ????ㄅ??????ㄅ?叉????
709 : petindex??????ㄅ??????希?〈?ㄅ??
710 : <br><br>
711 :
712 : <dl>
713 : <dt>int x,y
714 : <dd> 希?x,y ?火
715 : <dt>int petindex
716 : <dd>ㄅ???????index????????吻????????????
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>
743 : ??????去/??/?????????????????
744 : ?去???????<br><br>
745 : <dl>
746 : <dt>int fromindex
747 : <dd>?去?????????????
748 : <dt>int toindex
749 : <dd>?????????????
750 : </dl>
751 : ???????二??
752 : <ul>
753 : <li>0 ???????( 卡 )
754 : <li>1 ???????( ▍ )
755 : <li>2 ????????????()
756 : <li>3 ?此??????1
757 : <li>4 ?此??????2
758 : <li>???? ?????
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)
790 : ??????????????????index?希???????
791 : ???????????<br><br>
792 : <dl>
793 : <dt>int index
794 : <dd>??????????????????
795 : <dt>string message
796 : <dd>???????????EUC????????????更
797 : ????????????????????????????
798 : <dt>int color
799 : <dd>???????
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)
832 : ??????????????????????index?希???????
833 : ?????????????????????????<br><br>
834 : <dl>
835 : <dt>int index
836 : <dd>??????????????????
837 : <dt>int petindex
838 : <dd>?吻??????????
839 : <dt>int itemindex
840 : <dd>?吻????????????
841 : <dt>string message
842 : <dd>???????????EUC????????????更
843 : ????????????????????????????
844 : <dt>int color
845 : <dd>???????
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)????????????????????
923 : ?????????????????阪???????????AB??
924 : ??????????????牙???????????????
925 : ?????????
926 : <dl>
927 : <dt>int index
928 : <dd>??????index.??????0????
929 : </dl>
930 : ???????????????叻?刺??????????
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)
937 : ??〈??????????????????????
938 : ???????????????阪??????
939 : ?????AB???????????????牙?????
940 : <dl>
941 : <dt>int x,y
942 : <dd>希?????火
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)
950 : dir ????????????????????????????伶
951 : ???????????????﹐????????????????
952 : ???????????????????????????????
953 : ????????????????????????????即????
954 : ??〈?????(仟??NPC?????)??????〈???NPC?▋
955 : ???????????孓?????????????????NPC?
956 : ??去???????????更??????????ρ??????
957 : TK?????????????
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)
964 : ???????????????刺?????<br><br>
965 : <dl>
966 : <dt>int x,y
967 : <dd>希?????火
968 : <dt>string message
969 : <dd>string ????, "|" ?2????????????????
970 : ???更?????2???????????阪?????2??
971 : ??????<a href="#escaping">?????</a>??????
972 : ?????????????????????
973 : <ul>
974 : <li>P??<br>
975 : !卡?C更???"P"??????????????向
976 : ??????????????????????????
977 : ???更???!卡???????更????????
978 : ??????????????更???!卡?"P"?
979 : ????????刪叉????束???吳????
980 : ???????TK??????????TK???????
981 : ?更??????"P"?????????向???
982 : <br>
983 : 更???????ㄩ
984 : <pre>
985 : "P|???????????!!"
986 : </pre>
987 : <br>
988 : ????????????????束???吳??叉
989 : ???????????更???????????刪叉?
990 : ??更???牙??C????牙?????'!' ?「?更
991 : ??向????????????????'!'???劫
992 : ????????????????「?更??刨?更??
993 : ?????????!??????????????
994 : ???束???吳??????
995 : <table border>
996 : <tr><td>"..."</td><td>?????????希??
997 : </td></tr>
998 :
999 : </table>
1000 : </ul>
1001 : <dt>int color
1002 : <dd>更????
1003 : <dt>int area
1004 : <dd>??????束???吳?????叉????
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>
1072 : ????????????????刺??M????????????
1073 : ????????MC???????????????????
1074 : 卷??????????????希????????????
1075 : <dl>
1076 : <dt>int fl
1077 : <dd>???吻?
1078 : <dt>int x1
1079 : <dd>?X
1080 : <dt>int y1
1081 : <dd>?Y
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>
1129 : ???????????????index CA ????????刺??
1130 : C ?刺??????????????????刺?????
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
1350 : <dd>?????????????????叉?
1351 : <ul>
1352 : <LI>P 「?????
1353 : <LI>C ?火
1354 : <LI>I 「????
1355 : <LI>S 「???
1356 : <LI>T 「?
1357 : <LI>M ?希?????
1358 : <li>E ????????
1359 : <li>K0 - K4 ???????
1360 : <li>D ID
1361 : </ul>
1362 : </dl>
1363 : ??????????????????????????
1364 : ??更?????????????
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>
1746 : (FlgSet)????向????DUEL???????????????????????On/Off???<br><br>
1747 :
1748 : <dl>
1749 : <dt>int flg
1750 : <dd> 0 bit 0: ??Off 1: ??On<br>
1751 : ?????1 bit 0: ·卯代??off 1: ·卯代??On <br>
1752 : 2 bit 0: DUEL off 1: DUEL On<br>
1753 : 3 bit 0: ?二???????? 1: ???????????????????<br>
1754 : 4 bit 0: ???OK 1: ????呀<br>
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>
1775 : (HeLp)??????? 叉??????ON?????兝??·卯?????????<br><br>
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>
1796 : (PartyRequest)???向?or?? ??????<br><br>
1797 :
1798 : <dl>
1799 : <dt>int x,y
1800 : <dd> 希?x,y ?火
1801 : <dt>int request
1802 : <dd>0: ????1: ???????
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>
1825 : (Kyoryu Select)·卯??????︻????<br><br>
1826 :
1827 : <dl>
1828 : <dt>int petarray
1829 : <dd>0 ? 4 ??????︻??????????????????????·卯??????????????????-1?向???
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>
1853 : (action)?凹?????牙????<br><br>
1854 :
1855 : <dl>
1856 : <dt>int x,y
1857 : <dd> 希?x,y ?火
1858 : <dt>int actionno
1859 : <dd>???????????????????????????????????????????(CA)?????
1860 : ???????▄??????????????????吻????????▋?????二??<br>
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>
1866 : <tr><td>出??</td><td>2</td></tr>
1867 : <tr><td>?????</td><td>3</td></tr>
1868 : <tr><td>卷?</td><td>4</td></tr>
1869 : <tr><td>??</td><td>5</td></tr>
1870 : <tr><td>??</td><td>6</td></tr>
1871 : <tr><td>??</td><td>7</td></tr>
1872 : <tr><td>凹?</td><td>8</td></tr>
1873 : <tr><td>听??</td><td>9</td></tr>
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>
1884 : (magic use)???????????????????????????????????????
1885 : ????????????
1886 :
1887 :
1888 : <dl>
1889 : <dt>int x,y
1890 : <dd> 希?x,y ?火
1891 : <dt>int array
1892 : <dd> ?????????????? P ? Jn(n ?吒????)?▋???????????
1893 : <dt>int toindex
1894 : <dd> Κ???????????????????????index????????????????
1895 : <pre>
1896 : 希 = 0
1897 : ??? = 1 ?5
1898 : ?? = 6 ?10 ?S N ?0?4?▋??希????????
1899 : </pre>
1900 : ▋?「????希??????????-1?????<br>
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>
1908 : (PetSkill use )???????????????????????
1909 :
1910 : <dl>
1911 : <dt>int havepetindex
1912 : <dd>?吻???????????
1913 : <dt>int havepetskill
1914 : <dd>?吻?????????
1915 : <dt>int toindex
1916 : <dd> Κ???????????????????????index????????????????
1917 : <pre>
1918 : 希 = 0
1919 : ??? = 1 ?5
1920 : ?? = 6 ?10 ?S N ?0?4?▋??希????????
1921 : </pre>
1922 : ▋?「????希??????????-1?????<br>
1923 : <br>
1924 : <dt>string data
1925 : <dd>至??????????????haveitemindex1|haveitemindex2|haveitemindex3|...<br>
1926 : ??????????吻??向?????
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)
1965 : ??????titleindex ? -1 ???????????????
1966 : ??<br><br>
1967 : <dl>
1968 : <dt>int titleindex
1969 : <dd>?吻?????
1970 : </dl>
1971 : ????Txt??????????????????????????
1972 : ?二ρ????
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)
1981 : ???????<br><br>
1982 : <dl>
1983 : <dt>int titleindex
1984 : <dd>????????????
1985 : </dl>
1986 : ????Txt?????????????????????????????二
1987 : ρ????
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)
1995 : 希?向?????向????<br><br>
1996 : <dl>
1997 : <dt>string data
1998 : <dd>希?向?????EUC????????????????
1999 : ???????????????????1?info?牙??
2000 : ?????????更????????????????
2001 : ????????????
2002 : </dl>
2003 : ??????Txt??????更???二ρ????????????
2004 : 希?CHARINDEX?▋???Ch?????????????????
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
2024 : <dd>???????????0=▍?, 1=??, 2=舌?, 3=???
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)
2032 : ?????〈?向????<br><br>
2033 : <dl>
2034 : <dt>int havepetindex
2035 : <dd>????吻??
2036 : <dt>string data
2037 : <dd>希????????????〈?????
2038 :
2039 : </dl>
2040 : ??????Txt??????更???二ρ????????????
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>
2168 : ?????牙?▋??刺?<br>
2169 : <br>
2170 : <dl>
2171 : <dt>int x,y
2172 : <dd>???????x,y?火
2173 : <dt>int seqno
2174 : <dd>????????seqno?????刺?
2175 : <dt>int objindex
2176 : <dd>????????objindex?????刺?
2177 : <dt>int select
2178 : <dd>??????︻?????????︻??????????WN ?buttontype ?define?可???刺??
2179 : <dt>string data
2180 : <dd>??向?????????????向???????
2181 : ︻????????????︻???吻???1???
2182 : ?????????︻????????????????????????????
2183 : <br><br>??????<br>
2184 : ????ㄩ︻???吻??????????<br>
2185 : ????ㄩ︻?????????吻??????|??<br>
2186 : ??兝 ㄩ??ㄩ1 ??ㄩ2 ?ㄩ3
2187 :
2188 : <br><br><br>?????????<br>
2189 : ??????????(︻?吻?)????????(︻?吻?)?????????(︻?吻?)?πν<br>
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>
2240 : ???????希????????
2241 : ?????????????火?????<br>
2242 : <br>
2243 : <dl>
2244 : <dt>int x,y, dir
2245 : <dd>?火,???
2246 : </dl>
2247 : <br>
2248 : <br>
2249 : <hr>
2250 : <br>
2251 : <!-- ??????????????????? -->
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>
2254 : ???????????????????????????????
2255 : ???????????????????????????????
2256 : ???????????????????????????????
2257 : ???Μ???????????????????????????
2258 : 岌????????????阪??????冉?????????
2259 :
2260 : <br><br>
2261 : <dl>
2262 : <dt>string cdkey
2263 : <dd>CDKEY
2264 : <dt>string passwd
2265 : <dd>????????更?????????????
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>
2285 : ????????????
2286 : <br><br>
2287 : <dl>
2288 : <dt>int dataplacenum
2289 : <dd>????吻???????????????????????????????????牙???????刪κ???
2290 : <dt>string charname
2291 : <dd>????(??????????????更??)?
2292 : ??更??????????????????????????
2293 : <dt>int imgno
2294 : <dd>?????????吻??
2295 : <dt>int faceimgno
2296 : <dd>????吻????????????
2297 : <dt>int vital, str,tgh dex
2298 : <dd>???????
2299 : <dt>int earth, water, fire, wind
2300 : <dd>?﹫π
2301 : <dt>int hometown
2302 : <dd>?0???π?仔????
2303 : <dt>string option
2304 : </table>
2305 : ??????????????????叉?????????π
2306 : ?????????????????????更???????
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>
2339 : ??????
2340 : <br><br>
2341 : <dl>
2342 : <dt>string charname
2343 : <dd>??????????????????????????
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>
2367 : ???????????????????????
2368 : <br><br>
2369 : <dl>
2370 : <dt>string charname
2371 : <dd>???????????????????????????
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>
2392 : ???????台??
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>
2439 : ?????????????????????????
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>
2460 : proc ????台??????????????????????????
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>
2478 : ????????????台???
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>
2496 : ?????????????????????????
2497 : <br><br>
2498 : <dl>
2499 : <dt>string test
2500 : <dd>????更????????????
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>
2518 : ???????????<br><br>
2519 : ??????????????去??????希?????????????????????希??
2520 : ??????????denyaccept()?????????????????????
2521 : ???closeallsockets()??????????????????????
2522 : <br><br>
2523 : <dl>
2524 : <dt>string passwd
2525 : <dd>??????????????????? 叉?????
2526 : <dt>int min
2527 : <dd>????希???????????????希? 叉???
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>
210 : ?·卯??????????ㄅ??????????
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>
248 : ???????EV?▋???刺?????
249 : ????????????????卷????????
250 : ????
251 :
252 : <dl>
253 : <dt>int seqno
254 : <dd>??????EV?seqno?▋????
255 : <dt>int result
256 : <dd>???0:?????自?? 1:?????????????▋??二???????????????
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>
286 : ???????EN??DU?▋???刺???????????卷?????????????????????
287 :
288 : <dl>
289 : <dt>int result
290 : <dd>???0:??????自?or???? 1:???·卯???2:▋??·卯???????·卯????二 ???????????????
291 : <dt>int field
292 : <dd>????????吻??
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>
343 : ·卯???台????????????二ρ?<br>
344 : RS|吻?(10)|?????????(10)|EXP(62),吻?|?????????|EXP,???,?????|?????|?????<br><br>
345 : 吻????π?5希??希????","???????????????????????吻??-2?<br>
346 : 2???4????????吻??0?4)??????π????????????????????","????<br>
347 : ?????????〈?"|"????????????????????????"|"????
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>
350 : ???????台?????????????二ρ?<br>
351 : RD|台?(??)DP(62)|???DP(62)|<br><br>
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>
378 : ·卯???????「?????π??「? ?更?16???<BR>
379 : ???[?吻?]????????????吻?????
380 : 〈??????????〈???????????¥??????????
381 : <br><br>
382 : <h4>
383 : ???????
384 : </h4>
385 : ????????希?「??????更?????????更???????<BR>
386 : ???( BATTLESTR_ADD( 更?? ) )?????????????更????????????????????????<BR>
387 : ????????????「??π????????π????????更??????(???????????)<br>
388 :
389 : <BR>
390 : ???????????ㄩ????????<BR>
391 : ---?????ㄩ??<BR>
392 : ---?????ㄩ二???<BR>
393 : ---?????ㄩ????<BR>
394 : ---?????ㄩ?<BR>
395 : ---?????ㄩ?????<BR>
396 : ---?????ㄩ???<BR>
397 : ---?????ㄩ????????????<BR>
398 : ---?????ㄩ????????????<BR>
399 : ---?????ㄩ???????????<BR>
400 : ---?????ㄩ????<BR>
401 : <br>
402 : <ul>
403 : <li>BH|????二??????<br>
404 : BH|??¥吻?|?¥吻?|???|????|?¥吻?|???|????|???????刺???¥吻??FF?????????????????<br>
405 : <br>
406 :
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>
409 :
410 : (???????) B|BH|attack_0|defense_A|flag_2|dagame_32|counter_0|flag_10|damage_16|FF|<BR>
411 : ???0吻?(attack_0)?A吻????(defense_A)????0x32(damage_32)???????0吻(counter_0)???????(flag_10)????0x16(damage_16)?????????????????伶去???????〈?????????︻????<Br><br>
412 :
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>
415 : <Br>
416 :
417 : <li>BT|?????卦?????<br>
418 : BT|??¥吻?|?¥吻?|???|<br>
419 : ?????????卦????????卦???????????????
420 : ?????????????????????刪叉???<br><br>
421 :
422 : <li>BE|????匝昀????<br>
423 : BE|匝??¥吻?|?¥吻?|???|<br>
424 : ?????????卦????????卦???????????????
425 : ?????????????????????刪叉????????????匝??
426 : ???????BE????????匝????????<br>
427 : <br>
428 :
429 : <li>bg|???????????<br>
430 : bg|?????¥吻?|<br>
431 : ???更?????????????去????????????????更???????????????????更??
432 : ??????????????????<br>
433 : <br>
434 :
435 : <li>BD|?????????阪?????<br>
436 : BD|阪???????吻?|阪???|?????????|??π|<br>
437 : 阪???????????????????????????????????<br>
438 : <br>
439 :
440 : <li>BF|??????????????????<br>
441 : BF|??????吻?|<br>
442 : ?????????????????????????????????????
443 : ??????????<br>
444 : <br>
445 :
446 : <li>BJ|??????????????<br>
447 : BJ|????吻?|?¥?????吻?|?¥?????吻?|?????吻?|?????吻?|???|FF|<br>
448 : ?????????????????????吻???㎝??????????FF?????
449 : <br>
450 : <br>
451 :
452 : <li>BB|??????叫???????<br>
453 : BB|??¥吻?|??叫???|?¥吻?|???|????|?¥吻?|???|FF|<BR>
454 : ?吻???????叫????向???????二???可??<br>
455 : ??叫???????????????????????????????????????<br>
456 :
457 : <br>
458 : <li>BM|??????????阪?????<br>
459 : BM|?????阪??????吻?|?????????|<br>
460 : ??????吻??<br>
461 : ---?ㄩ????????<br>
462 : ---?ㄩ?<br>
463 : ---?ㄩ??<br>
464 : ---?ㄩ??<br>
465 : ---?ㄩ?<br>
466 : ---?ㄩ??佣?<br>
467 : ---?ㄩ??<br>
468 : <br>
469 :
470 : <li>BO|?????????????<br>
471 : BO|??¥吻?|?¥吻?|???|????|?¥吻?|???|FF|<BR>
472 : ?吻???????叫????向???????二???可??<br>
473 : <br>
474 :
475 : <li>BS|????????向?????<br>
476 : BS|????吻?[0?19](%X)|???|??吻?|???|??|?〈|<BR>
477 : ???????????????????????????更???????<br>
478 : ?????????????????????????????????????????BS??????????<br>
479 :
480 : <li>BU|????·卯??兌??????<br>
481 : ????????????????????????┤???ㄈ????????┴??????????????????????·卯??兌?????????????????<br>
482 : <br>
483 :
484 : <li>BV|?????????﹫阪?????<br>
485 : BV|阪????????吻?|阪???﹫吻?|<br>
486 : 阪???﹫吻???<br>
487 : ---?ㄩ?﹫<br>
488 : ---?ㄩ﹫<br>
489 : ---?ㄩ?﹫<br>
490 : ---?ㄩ?﹫<br>
491 : ---?ㄩ?﹫<br>
492 : <br>
493 :
494 : <li>BY|?????▍??????<br>
495 : BY|?¥吻?|??¥吻?|???|????|??¥吻?|???|????|???????刺??二?????向?▔?????<br>
496 : <br>
497 : </ul>
498 :
499 : <h4>
500 : ??????????????
501 : </h4>
502 : <ul>
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>
515 : <br>
516 : <li>BP|????希?????????????????????<br>
517 : BP|希?吻?[0?19](%X)|???(%X)|?????(%X)|???<BR><BR>
518 : ?????ㄩ????????<BR>
519 : ---?????ㄩ希???<BR>
520 : ---?????ㄩ希?自?▄???????<BR>
521 : ---?????ㄩ????????????<BR>
522 : </ul>
523 : <h4>
524 : ?????????叉???????????????????
525 : </h4>
526 : <ul>
527 : <li>BA|??????????????????????Κ??????????????????「???????<br>
528 : BA|?????????(%X)|????(%X)|
529 : <BR><BR>
530 : ?????????????Μ??????吻?????????????????
531 : ?????????????????????????????????????
532 : ??????????????????????????于??????????????????????<BR>
533 : ??????????「??????????????????????
534 : ??????????????????
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>
725 : ??????S I ?「??????????▋?????叉???????吻???????
726 : 佃???????????
727 :
728 : <dl>
729 : <dt>string data
730 : <dd>??????
731 : ????????????????????
732 : ???????????????????????
733 : ??????????S I???????可????!卡?????????????
734 : 至?????????????吻????????刪κ???<br>
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)
765 : ?????????????????MI?可????
766 : ??????????????二ρ??????????
767 : ??????????SI?????????????
768 : ??阪??????(?????????阪?????)??
769 : ???????????去?????????????二ρ?????
770 : ??????????????????????????????
771 : ???阪???????守?????????
772 : ???阪??????????????????????????
773 : ??????????????????????????????????
774 : ?????????阪???????
775 : ?吻???吻?阪?????????????二ρ???
776 :
777 : <dl>
778 : <dt>int fromindex
779 : <dd>?去?????????????
780 : <dt>int toindex
781 : <dd>?????????????
782 : </dl>
783 : ??????MI?可?????
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 : ????????????????????????????????
809 : ????????二???????????????????
810 : ?????????????????T???????????????
811 : <dl>
812 : <dt>int aindex
813 : <dd>??????????????????????叻叉????
814 : ??????????????????
815 : <dt>string text
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 ?????????????吻???宇??????
822 : <dt>int color
823 : <dd>?
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)
853 : ?????????????仕?牙????<br><br>
854 : <dl>
855 : <dt>int objindex
856 : <dd>??????????吻??
857 : <dt>int graphicsno
858 : <dd>仕????????吻?
859 : <dt>int x,y
860 : <dd>???ㄅ?????
861 : <dt>int dir;
862 : <dd>?????????????
863 : <dt>int flg
864 : <dd>?????(0)??????(1)?
865 : <dt>int no
866 : <dd>?吻??
867 : <dt>string cdata
868 : <dd>C ?????向????????????????????????????????????
869 : ?????????????????????????????????
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>
883 : ???????????????????????「???
884 : <dl>
885 : <dt>string data
886 : <dd>?????牙????????????????????????????〈?
887 : ???????????????????????????
888 : ????希???????
889 : ???????????????
890 : <code>??|匠?|...</code>???????
891 :
892 : ?希???????????????
893 : <br>
894 : <code>????|?〈(更??)|????π|duelpoint|???|??吻?
895 : </code>
896 : <br>
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冉??????????
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>
914 : AB?Μ▍吭?num ??希??????????吻???????向?????
915 : data???AB?????<br>
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
1014 : <dd>????????????????-1 ?????????
1015 : ?????????????<br>
1016 : <dt>string
1017 : <dd>string ????, "|" ?2????????????????
1018 : ???更?????2???????????阪?????2??
1019 : ??????<a href="#escaping">?????</a>??????
1020 : ?????????????????????
1021 : <ul>
1022 : <li>"P" ???<br>
1023 : ??????????希??????????????
1024 : ??????????????????????
1025 : <pre>
1026 : "P|?????"
1027 : </pre>
1028 : <li>"F"???<br>
1029 : <pre>
1030 : F|charaindex|?????
1031 : </pre>
1032 : ???更????????叉???charaindex??????
1033 : ??????牙???<br>
1034 :
1035 : </ul>
1036 : <dt>color
1037 : <dd>????????叉???
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)
1137 : ??????? CA ????????????????????? C
1138 : ????????????????????????
1139 : <br><br>
1140 : <dl>
1141 : <dt>string data
1142 : <dd> ??????? ???3?????????????
1143 : ?????.???????????????'|'?????
1144 : ????
1145 :
1146 : <ul>
1147 : <li>?????????????12???<br>
1148 : ????????
1149 :
1150 : <code>WHICHTYPE|CHARINDEX|X|Y|DIR|BASEIMG|LEVEL|NAMECOLOR|NAME|SELFTITLE|WALKABLE|HEIGHT|POPUPNAMECOLOR</code>
1151 : ???????????????????????????<br>
1152 :
1153 : WHICHTYPE ????????????????????
1154 : ????????????????????叉???????<br>
1155 : <pre>
1156 : typedef enum
1157 : {
1158 : CHAR_TYPENONE, ?????
1159 : CHAR_TYPEPLAYER, ?????
1160 : CHAR_TYPEENEMY, ?
1161 : CHAR_TYPEPET, ???
1162 : CHAR_TYPEDOOR, ??
1163 : CHAR_TYPEBOX , ??
1164 : CHAR_TYPEMSG , ?即
1165 : CHAR_TYPEWARP , ??????
1166 : CHAR_TYPESHOP , ?
1167 : CHAR_TYPEHEALER , ????
1168 : CHAR_TYPEOLDMAN , ??
1169 : CHAR_TYPEROOMADMIN, 自去?
1170 : CHAR_TYPETOWNPEOPLE, ?????
1171 : CHAR_TYPEDENGON, ??吭
1172 : CHAR_TYPEADM, ??吭
1173 : CHAR_TYPETEMPLE, Temple master
1174 : CHAR_TYPESTORYTELLER, ???
1175 : CHAR_TYPERANKING, 自去?????牙???
1176 : CHAR_TYPEOTHERNPC, ??兝???▋?????NPC
1177 : CHAR_TYPEPRINTPASSMAN, ????????牙??NPC
1178 : CHAR_TYPENPCENEMY, ?叉?
1179 : CHAR_TYPEACTION, ??????劫???NPC
1180 : CHAR_TYPEWINDOWMAN, ?????牙??NPC??????)
1181 : CHAR_TYPESAVEPOINT, ???????
1182 : CHAR_TYPEWINDOWHEALER, ?????????????
1183 : CHAR_TYPEITEMSHOP, ??
1184 : CHAR_TYPESTONESHOP, 吸?????????
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 :
1196 : ???兝???????NPC????????????
1197 : ????????吳?????「???????
1198 : ?????????????????????????
1199 : ?????????????????????????
1200 : ??????????????????????????
1201 : ??????牙????????????????
1202 : ???????????????????牙?????
1203 : 阪??????????????????守去????
1204 : ??????????? SELFTITLE??????????
1205 : ?????????????????????????
1206 : ?????????????????(CA)???????
1207 : ??牙???CHARINDEX?????????????叻
1208 : 叉???吻??BASEIMG?牙????吻??LEVEL???
1209 : ?????(0??牙??????π?NPC?????)
1210 : WALKABLE?1??????二?????????0??二
1211 : ???????????HEIGHT????????????
1212 : ?????叉?
1213 :
1214 : ????????〈?????<a href="#escaping">
1215 : ?????</a>???????????'|'??????
1216 : ?????????????????????????'
1217 : |'????更?????????????Μ??'|'??
1218 : ????????????????〈??????
1219 : ????????????????????
1220 : ????????????????????? 叉
1221 : ???????〈????????<br>
1222 :
1223 : <Li>?????????????6???<br>
1224 : ????????
1225 : <code>INDEX|X|Y|BASEIMG|LEVEL|ITEM1LINEINFO</code>
1226 : ??????????????????????
1227 : INDEX?????????????????INDEX????
1228 : ??????????????X,Y?????????
1229 : ???ㄅ?BASEIMG????吻??ITEM1LINEINFO?1?
1230 : info?牙????????????????????
1231 : ?牙??????????????????????
1232 : ?CA?????ITEM1LINEINFO?<a href="#escape">????
1233 : ?</a>????????????????????
1234 :
1235 : <Li>?????????????4???<br>
1236 : ????????
1237 : <code>INDEX|X|Y|VALUE</code>
1238 : ????????????????????????
1239 : ?????INDEX,X,Y ??????可??VALUE ????
1240 : ??????????????????????????
1241 : <li>?????????????1???<br>
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)
1255 : ???吳?????????????┤?????
1256 : ?????????????????????
1257 : ?????1?????????????????????????
1258 : ???????<br><br>
1259 :
1260 : <dl>
1261 : <dt>string data
1262 : <dd>CHARINDEX|X|Y|ACTION|PARAM1|PARAM2|PARAM3|PARAM4|....??
1263 : ?????????????PARAM????????????
1264 : ????????????????????X,Y??ㄅ??
1265 : ???????????????ㄅ?叉???
1266 : ??更?????????????
1267 : <table border>
1268 : <tr><td>ACTION</td><td>PARAM1</td><td>PARAM2</td>
1269 : <td>PARAM3</td><td>PARAM4</td></tr>
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>
1295 :
1296 : </table>
1297 : ACTION?π????????牙??Ψ???????
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)
1307 : data ??????,?????????????
1308 : 佃?????????
1309 : ??ID????????????????????????????
1310 : ?????
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)
1317 : ??????????????????????????????
1318 : ????????????????????????????
1319 : ????10卷????????1希?????<br><br>
1320 :
1321 : <dl>
1322 : <dt>string data
1323 : <dd>x ,y, kind ,???π?'|'????????????
1324 : ???'|'????????
1325 : x,y???????‧▋?ㄅ?kind????????π????
1326 : ???????????岌???叉???????????
1327 : ????????????????????阪??????
1328 : ?????????
1329 : <table border>
1330 : <tr><td>kind?π</td><td>??</td></tr>
1331 : <tr><td>E</td><td>?</td></tr>
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>
1338 : data??ㄩ<code>"12|22|E|13|24|P|14|28|P"</code>
1339 : ??更?????????????
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)
1371 : ??????????????
1372 : ???? ??????更?(?更?)?? ?????????????
1373 : 1更?????????????希?????2更????????
1374 : ??????????????????????'|'?????????
1375 : 2????????????????<br>
1376 : <br>
1377 : <UL>
1378 : <LI>P 「?????<br><br>
1379 : kubun hp maxhp mp maxmp str tough exp maxexp exp
1380 : level attackpower deffencepower
1381 : fixdex fixcharm fixluck fixfireat fixwaterat fixearthat fixwindat
1382 : gold 至????
1383 : ??index ?〈 ?? <br>
1384 :
1385 : ????? '|' ???????〈?????
1386 : <a href="#escaping">?????</a>?????
1387 : ??????????二????<br>
1388 : ?????π??????<br>
1389 : kubun ???向?????〈????????
1390 : ?????????????????????????吻?向?????????
1391 : ?????????hp?Maxhp?kubun ????????宇???????<br>
1392 : <table border>
1393 : <tr><td>kunun</td><td>int</td></tr>
1394 : <tr><td>Hp(▍?)hp</td><td>int</td></tr>
1395 : <tr><td>MaxHp</td><td>int</td></tr>
1396 : <tr><td>Mp(???)</td><td>int</td></tr>
1397 : <tr><td>MaxMp</td><td>int</td></tr>
1398 : <tr><td>Vital(▍?)</td><td>int</td></tr>
1399 : <tr><td>Str(??)</td><td>int</td></tr>
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>
1404 : <tr><td>Level(???)</td><td>int</td></tr>
1405 : <tr><td>Attack(???)</td><td>int</td></tr>
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>
1409 : <tr><td>fLuck(?)</td><td>int</td></tr>
1410 : <tr><td>fEarth()fixearthat</td><td>int</td></tr>
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>
1415 : <tr><td>??index</td><td>int</td></tr>
1416 : <tr><td>????????</td><td>int</td></tr>
1417 : <tr><td>?〈</td><td>更??</td></tr>
1418 : <tr><td>??</td><td>更??</td></tr>
1419 : </table>
1420 : ?▍?( char ????????? )<br>
1421 : <code>
1422 : P10|20|10|20|10|10|10|1|2|13|13|1|100|10|???|abc|def
1423 : </code>
1424 : <br><br>
1425 : <li>C ?火<br><br>
1426 : floor maxx maxy x y<br>
1427 : ? | ???????<br>
1428 : ?▍?( char ????????? )<br>
1429 : <code>
1430 : C1024|100|100|10|20
1431 : </code>
1432 : ?????????ID1024, ???100x100 X 10,Y 20???
1433 : ?????????????????????????????
1434 : ????????火????????ρ???????????
1435 : ??????????卷???????????ㄅ??????
1436 : ?????????????ν?????????????
1437 : ???????????????π????????????
1438 :
1439 :
1440 : <br><br>
1441 : <LI>I 「????<br><br>
1442 : (????1)|(????2)...(????n)<br>
1443 : ????????????????????
1444 : ?????????????????6???????????
1445 : ????????????????<br>
1446 : <br>
1447 : ?〈|?〈2|????|?????。?|???吻?|??守?|?▋|???????|????<br>
1448 : <br>
1449 : <ul>
1450 : <li>???????????去??阪?????
1451 : <li>?〈2???????????????守??向??叉?
1452 : ?????????????2???向????
1453 : <li>??????〈??▔?????
1454 : <li>?????。??
1455 : <li>???吻?????吻??
1456 : <li>??守????????????????????守??向?????
1457 : ????????????????叉???????<br>
1458 : <pre>
1459 : typedef enum
1460 : {
1461 : ITEM_FIELD_ALL, ????????
1462 : ITEM_FIELD_BATTLE, ·卯???
1463 : ITEM_FIELD_MAP, 二?????
1464 :
1465 : }ITEM_FIELDTYPE;
1466 : </pre>
1467 : <br>
1468 : <li>?▋??????????????????▋?向?????
1469 : ????????????叉???????
1470 : <pre>
1471 : typedef enum
1472 : {
1473 : ITEM_TARGET_MYSELF, 希??
1474 : ITEM_TARGET_OTHER, 兝??希??)
1475 : ITEM_TARGET_ALLMYSIDE, ?「▍
1476 : ITEM_TARGET_ALLOTHERSIDE, ?¥「▍
1477 : ITEM_TARGET_ALL, 「?
1478 : }ITEM_TARGETTYPE;
1479 : </pre>
1480 : <font size=+1>?????100?℉?????????▋????</font><br>
1481 : <li>?????????????????????????
1482 : <li>????????????????????▋?????二??<br>
1483 : <table border=1>
1484 : <tr><td>0bit?</td><td>?????????守????????????守?????????????</td></tr>
1485 : <tr><td>1Bit?</td><td>???????????????</td></tr>
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>
1493 : ?▍?( char ????????? )<br>
1494 : <code>
1495 : I?? ? |str+2|1|??\|??|10|2|0
1496 : </code>
1497 : ?????π?????π?
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>
1504 : ???????????牙????希??????5???????
1505 : ?????????????┤????????
1506 :
1507 : <br><br>
1508 : <LI>S 「???<br><br>
1509 : (???0)|(???1)|(???2) ... (???n)<br>
1510 : ??可????????????????希???????
1511 : ?????? ||| ????????
1512 : ??????????<br>
1513 : ????????|???<br>
1514 : ????<br>
1515 : ?▍?( char ????????? )<br>
1516 : <code>
1517 : S10|2|20|2|||
1518 : </code>
1519 :
1520 : <br><br>
1521 : <LI>T ?<br><br>
1522 : (?0)|(?1)|(?2) ... (?n)<br><br>
1523 : ??????????? '|' ??㎝??????㎝???
1524 : ?????????????????????????希?
1525 : ???<br>
1526 : ????????????<br>
1527 : ?〈<br>
1528 : ??????<br>
1529 : ?▍?( ?????? char ?????????? )<br>
1530 : <code>
1531 : T??|?????
1532 : </code>
1533 : ???<a href="#escaping">?????</a>???<br>
1534 :
1535 : <br>
1536 : <LI>M ?希?????<br><br>
1537 : ????????????????池呎?阪??????(??
1538 : π)????????(??π??)?????????????
1539 : ?阪?????????「????????????????
1540 : ???????????▏??????????叻?HP ,
1541 : MP,EXP?π???????????????????????
1542 : ?????M????????2更????????????HP?
1543 : ??π , ?匠?????MP???????EXP????
1544 : ????▍??????
1545 : <code>
1546 : M54|210|8944909
1547 : </code>
1548 : ?????HP???π?54?MP???π?210???π?8944909
1549 : ???????????3??叻?阪?池冉???????
1550 : ?????????????????????M???????
1551 : ??P?????「???????????????????
1552 : ??????????????????????????
1553 : ????
1554 :
1555 : <br><br>
1556 : <li>D ????ID<br><br>
1557 : ??????????????index??????????
1558 : <code>D1000|912766409</code>????????
1559 : <br><br>
1560 : <li>E ???????????)|(?)<br><br>
1561 : ???????????????n/100<br>
1562 : ???????????π??????????卷卷???+1???????????????刪κ???
1563 : ??????π???????????
1564 : ???????????????????????????????
1565 :
1566 : <br><br>
1567 : <li>J0 ?J6 ?????<br><br>
1568 : ??????????<br>
1569 : 0 ?6 ???????????????▋??????????????卡?司???此?
1570 : ????????叉??????????「???????????<br>
1571 : <code>J0|kubun|mp|field|target|name|comment</code><br>
1572 : ????????????????<br>
1573 : kubun ??????????????????????????????????????
1574 : mp?????牙??<br>
1575 : field????????????????????叉???????<br>
1576 : <pre>
1577 : typedef enum
1578 : {
1579 : MAGIC_FIELD_ALL, ????????
1580 : MAGIC_FIELD_BATTLE, ·卯???
1581 : MAGIC_FIELD_MAP, 二?????
1582 :
1583 : }MAGIC_FIELDTYPE;
1584 : </pre>
1585 : target????▋?????????????????叉???????<br>
1586 : <pre>
1587 : typedef enum
1588 : {
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, 阬?????「▍
1598 : }MAGIC_TARGETTYPE;
1599 : </pre>
1600 : <font size=+1>?????100?℉?????????▋????</font><br>
1601 : <br>
1602 : name???<br>
1603 : comment????。??<br>
1604 : <br>
1605 : <br>
1606 : <li>N0 ? N3 ????????<br><br>
1607 : ???????????????<br>
1608 : <code>N0|kubun|level|charaindex|maxhp|hp|mp|name</code>
1609 : <br>
1610 : kubun ?????????????????????????????????「??????<br>
1611 : 2???????????????????????1bit ? level 2bit ?charaindex???
1612 : ??????<br>
1613 : charaindex ????charaindex<br>
1614 : level????????<br>
1615 : maxhp????MAXHP<br>
1616 : hp???????HP<br>
1617 : mp??????<br>
1618 : name ?????〈?<br>
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
1625 : ?〈 status<br>
1626 : K???0?4?叉?????????叉?????
1627 : ?????????0??????????????????
1628 : ?????????1??「??????
1629 : 2???????????????????????1bit ? hp 2bit ?maxhp???
1630 : ??????<br>
1631 : ????? '|' ???????〈?????
1632 : <a href="#escaping">?????</a>?????
1633 : ??????????二????<br>
1634 : ?????π??????
1635 : <table border>
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>
1641 : <tr><td>Mp</td><td>int</td></tr>
1642 : <tr><td>MapMp</td><td>int</td></tr>
1643 : <tr><td>Exp(??π)</td><td>int</td></tr>
1644 : <tr><td>MaxExp(??????π)</td><td>int</td></tr>
1645 : <tr><td>Level(???)</td><td>int</td></tr>
1646 : <tr><td>Attack(???)</td><td>int</td></tr>
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>
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>
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>
1658 : </table>
1659 : <br>
1660 : ?〈阪????????????????〈?阪???????????????
1661 : 1 ??阪???????阪?自?????<br>
1662 : <br>
1663 : <br>
1664 : <br>
1665 : ?▍?( char ????????? )<br>
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>
1674 : W0 ? W4 ??????????▋??????<br>
1675 : petskillid ????????吻??pet_skillinfo.h?叉???????<br>
1676 : field ??????????????????????????叉???????<br>
1677 : <pre>
1678 : typedef enum
1679 : {
1680 : PETSKILL_FIELD_ALL, ????????
1681 : PETSKILL_FIELD_BATTLE, ·卯???
1682 : PETSKILL_FIELD_MAP, 二?????
1683 :
1684 : }PETSKILL_FIELDTYPE;
1685 :
1686 : </pre>
1687 : target ?????▋????????????????????叉???????<br>
1688 : <pre>
1689 : typedef enum
1690 : {
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, 希??????
1699 : }PETSKILL_TARGETTYPE;
1700 : </pre>
1701 : <br>
1702 : name ????〈?<br>
1703 : comment?????▋??。??<br>
1704 : target|name|comment| ?????希??????????
1705 : ?????????代????兌?????"|"???㎝???
1706 : ???????????牙????<br>
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)
1717 : ?????牙????<br><br>
1718 :
1719 : <dl>
1720 : <dt>int category
1721 : <dd>??牙????
1722 : <table border>
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>
1728 : </table>
1729 : <dt>int dx
1730 : <dd>?????????????▋?ㄅX??吧????????伶
1731 : ???ㄅ??????????π???????ㄅ????
1732 : 丙????
1733 : <dt>int dy
1734 : <dd>?▋?ㄅY
1735 : <dt>string data
1736 : <dd>牙????????category????????
1737 : ??更???<a href="#escaping">?????</a>??????
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>
1761 : (FlgSet)PS????????????????希?┤??????????<br><br>
1762 : <dl>
1763 : <dt>int flg
1764 : <dd> 0 bit 0: ??Off 1: ??On<br>
1765 : ?????1 bit 0: ·卯代??off 1: ·卯代??On <br>
1766 : 2 bit 0: DUEL off 1: DUEL On<br>
1767 : 3 bit 0: ?二???????? 1: ???????????????????<br>
1768 : 4 bit 0: ???OK 1: ????呀<br>
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>
1786 : (HeLp)HL????????????????·卯????????阪????????????<br><br>
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>
1809 : (PartyRequest)????????PR??????????????????????????
1810 : ??????﹀???兌????????
1811 : <br><br>
1812 :
1813 : <dl>
1814 : <dt>int request
1815 : <dd>0: ?? 1:向?
1816 : <dt>int result
1817 : <dd>0: ? 1: ?
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>
1836 : ???????KS?▋??刺??????????????????????
1837 : ?????????????????????
1838 : ???·卯???︻????????????????????????ㄅ??????︻??????????
1839 : ???????????????
1840 : <br><br>
1841 :
1842 : <dl>
1843 : <dt>int petarray
1844 : <dd>????吻?
1845 : <dt>int result
1846 : <dd>0: ?????︻?????????? 1:?
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>
1936 : (PetSkill use result)?????????????????PS?▋??????????
1937 : result ??????????PS?▋?????????????????????
1938 :
1939 : <dl>
1940 : <dt>int result
1941 : <dd>???0: ? 1:?
1942 : <dt>int havepetindex
1943 : <dd>?吻???????????
1944 : <dt>int havepetskill
1945 : <dd>?吻?????????
1946 : <dt>int toindex
1947 : <dd> Κ???????????????????????index????????????????
1948 : <pre>
1949 : 希 = 0
1950 : ??? = 1 ?5
1951 : ?? = 6 ?10 ?S N ?0?4?▋??希????????
1952 : </pre>
1953 : ▋?「????希??????????-1?????<br>
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)
2013 : ????????????????二ρ????????????叉???
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>
2049 : ??????牙???????????????二ρ???<br>
2050 : <br>
2051 : <dl>
2052 : <dt>int windowtype
2053 : <dd>??????????????????????牙???????buttontype ???????
2054 : ???????叉???<br>
2055 : ??????????? 叉??????<br>
2056 : <pre>
2057 : typedef enum
2058 : {
2059 : WINDOW_MESSAGETYPE_MESSAGE, ???????
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, ???﹐???????????????
2068 : WINDOW_MESSAGETYPE_PETSKILLSHOP, ?????????????
2069 : WINDOW_MESSAGETYPE_WIDEMESSAGE, ?????????????
2070 : WINDOW_MESSAGETYPE_WIDEMESSAGEANDLINEINPUT, ????????向???????
2071 :
2072 : }WINDOW_MESSAGETYPE;
2073 : </pre>
2074 :
2075 : <dt>int buttontype
2076 : <dd>??????叉??????????????叉???????<br>
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>
2086 : ??????????????????YES????NO?????????<br>
2087 : WINDOW_BUTTONTYPE_YES | WINDOW_BUTTONTYPE_NO (=12)<br>
2088 : ????
2089 :
2090 : <dt>int seqno
2091 : <dd>????????吻??????????????
2092 : ???????WN???????????????刺??????吻?????刺????
2093 : ?????????????NPC?????????????刪κ????????
2094 : <dt>int objindex
2095 : <dd>?????????????NPC???index??宇??????
2096 : ????????????-1???向?????
2097 : ?????????????向???WN?????????π?????刺?????
2098 : <dt>string data
2099 : <dd>?????????????????????"\n"??????????????
2100 : ????????????????牙??????????去????????
2101 : ︻?????????????"\n"?????????????????????
2102 : ?????????????????????????叉?????㎝??
2103 : ????????????????︻????????〈???? 1 ??
2104 : 吻???????︻?????WN??刺????刺??
2105 : <dt>string data(????
2106 : <dd>?????????????????????"\n"??????????????
2107 : ????????????????牙??????????去????????
2108 : ?????????"?"?????????
2109 : <br><br><dd>????<br>
2110 : ???????????ㄩ?????〈????????????ㄩ???ㄩ1??
2111 : ???〈????????????????︻??????????℉??????????囝??????
2112 : ???????????????????????????????????ㄩ?????ㄩ???????????
2113 : πν???吻??。???????????????????????????πν???吻??。?
2114 : <br><br>
2115 : 0|1|????????|?????????????|???????????|?????|?????????????
2116 : ℉??????????|???????|?????????????????????????|
2117 : ?|???|?????|??????\n??兌?|??|?|??|?????|??????\n?????岌\n???
2118 :
2119 : <br><dd><br>????<br>
2120 : ???????????ㄩ?????〈????????????ㄩ???ㄩ1??
2121 : ???〈????????????????????????????????|?囝??????
2122 : ?????????????????πν???吻??。???????????????????
2123 : πν???吻??。??
2124 :
2125 : <br><br>
2126 : ?|1|?????叫??|?????????????????????????????|???????|
2127 : ???????????????????????|?|??|?????|
2128 : ??????\n??兌?|??|?|??|?????|??????\n?????岌\n???
2129 : <br><dd><br>?????????<br>
2130 : ??????=??????????????<br>
2131 : ???〈?<br>
2132 : ?????????????????????????囝??????<br>
2133 : ?〈????????????守???自?????πν???吻??????????????吻??????<br>
2134 : ?〈????????????守???自?????πν???吻??????????????吻??????<br>
2135 : <br><dd><br>?????????<br>
2136 : ???????=???
2137 : ???〈?????????????????????????|?囝??????<br>
2138 : ?〈??????????????守???自?????????????πν???吻?????????<br>
2139 : ?〈??????????????守???自?????????????πν???吻?????????<br>
2140 :
2141 :
2142 : <br><dd><br>???兝?<br>
2143 : ???〈??????
2144 :
2145 : <br><br>
2146 : ?????叫??|????????????
2147 :
2148 : <br><br><br>
2149 : <dt>string data(??????????
2150 : <dd>?????????????????????"\n"??????????????
2151 : ????????????????牙??????????去????????
2152 : ?????????"?"?????????
2153 : <br><br><dd>??????台?<br>
2154 : 〈??????????ㄩ0 ???ㄩ1?????〈??????????
2155 : ???πν??。?????πν??。?
2156 : <br><br>
2157 : 1?????????????????????????????????
2158 : ???????500????????? ??????????
2159 : ???1000???伶???????????
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>
2198 : ????????????????「▍????牙???????<br>
2199 : <br>
2200 : <dl>
2201 : <dt>int effect
2202 : <dd>??吻???????℉?????????????台???????????????????????
2203 : <ul>
2204 : <li>1:?
2205 : <li>2:
2206 : <li>4:????叉?
2207 : </ul>
2208 : <dt>int level
2209 : <dd>??????????????牙?????牙??
2210 : <dt>string option
2211 : <dd>?????
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>
2220 : ???????SE??????????<br>
2221 : <br>
2222 : <dl>
2223 : <dt>int x,y
2224 : <dd>SE?伶???火?
2225 : <dt>int senumber
2226 : <dd>???吻?
2227 : <dt>int sw
2228 : <dd>???????????
2229 : <ul>
2230 : <li>0:??
2231 : <li>1:???
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>
2272 : ClientLogin?刺??
2273 : <br><br>
2274 : <dl>
2275 : <dt>string result
2276 : <dd>"ok" ???更?????更?????????????
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>
2315 : CreateNewChar?刺??
2316 : <br><br>
2317 : <dl>
2318 : <dt>string result
2319 : <dd>"successful" ? "failed" ????????更???????
2320 : ?????
2321 : <dt>string data
2322 : <dd>"failed" ???????????希?更?
2323 : ????????????????刺?????????
2324 : ???更??
2325 : <pre>
2326 : "failed bad parameter"
2327 : </pre>
2328 : ?????????????叉???????吳?????
2329 : ???????????????????????????
2330 : ?????????更????????????
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>
2350 : CharDelete ?刺??
2351 : <br><br>
2352 : <dl>
2353 : <dt>string result
2354 : <dd>"successful" ? "failed" ???????????????
2355 : <dt>string data
2356 : <dd>"failed" ???????????希?更?
2357 : ????????????????刺?????????
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>
2377 : CharaLogin?刺??
2378 : <br><br>
2379 : <dl>
2380 : <dt>string result
2381 : <dd>"successful" ? "failed" ???????????????
2382 : <dt>string data
2383 : <dd>"failed" ??? ?????更????????????
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>
2397 : CharList?刺??
2398 : <br><br>
2399 : <dl>
2400 : <dt>string result
2401 : <dd>"successful" ? "failed" ??????????????
2402 : <dt>string data
2403 : <dd>result?"successful"??????????????卒㎏???
2404 : ???????????〈????????????????
2405 : ???更?????更????????????????????
2406 : result ? "failed" ???????????希?更???
2407 : ?????????????????????????<br>
2408 : dataplace|faceimage|level|maxhp|atk|def|quick|charm|earth|water|fire|wind|logincount|name|place<br>
2409 :
2410 : <dl>
2411 : <dt>dataplace
2412 : <dd>????????吻?????????????????吻????叉???
2413 : <dt>faceimage
2414 : <dd>????吻?
2415 : <dt>level
2416 : <dd>???????
2417 : <dt>maxhp,atk,def,quick,charm
2418 : <dd>???????
2419 : <dt>earth.water,fire,wind
2420 : <dd>?﹫π
2421 : <dt>logincount
2422 : <dd>????????
2423 : <dt>name
2424 : <dd>?????〈
2425 : <dt>place
2426 : <dd>???????
2427 : </dl>
2428 : "|" ???????? ?????????<a
2429 : href="#escaping">?????</a>????????????
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>
2446 : Logout?▋??刺??
2447 : <br><br>
2448 : <dl>
2449 : <dt>string result
2450 : <dd>"successful" ? "failed" ???????????????
2451 : <dt>string data
2452 : <dd>"failed" ??????????????(┤)???
2453 : ???希?更???????????????
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>
2466 : ProcGet?刺??
2467 : <br><br>
2468 : <dl>
2469 : <dt>string data
2470 : <dd>???????????????????????????log/proc????????????可??
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>
2484 : PlayerNumGet?刺??
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>
2507 : Echo?▋??刺??
2508 : <dl>
2509 : <dt>string test
2510 : <dd>????向????更????????????
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